/*!
 * jQuery JavaScript Library v1.6.1
 * http://jquery.com/
 *
 * Copyright 2011, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2011, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu May 12 15:04:36 2011 -0400
 */
(function(window,undefined){var document=window.document,navigator=window.navigator,location=window.location;var jQuery=(function(){var jQuery=function(selector,context){return new jQuery.fn.init(selector,context,rootjQuery);},_jQuery=window.jQuery,_$=window.$,rootjQuery,quickExpr=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,rnotwhite=/\S/,trimLeft=/^\s+/,trimRight=/\s+$/,rdigit=/\d/,rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,rvalidchars=/^[\],:{}\s]*$/,rvalidescape=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rvalidtokens=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rvalidbraces=/(?:^|:|,)(?:\s*\[)+/g,rwebkit=/(webkit)[ \/]([\w.]+)/,ropera=/(opera)(?:.*version)?[ \/]([\w.]+)/,rmsie=/(msie) ([\w.]+)/,rmozilla=/(mozilla)(?:.*? rv:([\w.]+))?/,userAgent=navigator.userAgent,browserMatch,readyList,DOMContentLoaded,toString=Object.prototype.toString,hasOwn=Object.prototype.hasOwnProperty,push=Array.prototype.push,slice=Array.prototype.slice,trim=String.prototype.trim,indexOf=Array.prototype.indexOf,class2type={};jQuery.fn=jQuery.prototype={constructor:jQuery,init:function(selector,context,rootjQuery){var match,elem,ret,doc;if(!selector){return this;}
if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this;}
if(selector==="body"&&!context&&document.body){this.context=document;this[0]=document.body;this.selector=selector;this.length=1;return this;}
if(typeof selector==="string"){if(selector.charAt(0)==="<"&&selector.charAt(selector.length-1)===">"&&selector.length>=3){match=[null,selector,null];}else{match=quickExpr.exec(selector);}
if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;doc=(context?context.ownerDocument||context:document);ret=rsingleTag.exec(selector);if(ret){if(jQuery.isPlainObject(context)){selector=[document.createElement(ret[1])];jQuery.fn.attr.call(selector,context,true);}else{selector=[doc.createElement(ret[1])];}}else{ret=jQuery.buildFragment([match[1]],[doc]);selector=(ret.cacheable?jQuery.clone(ret.fragment):ret.fragment).childNodes;}
return jQuery.merge(this,selector);}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){if(elem.id!==match[2]){return rootjQuery.find(selector);}
this.length=1;this[0]=elem;}
this.context=document;this.selector=selector;return this;}}else if(!context||context.jquery){return(context||rootjQuery).find(selector);}else{return this.constructor(context).find(selector);}}else if(jQuery.isFunction(selector)){return rootjQuery.ready(selector);}
if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context;}
return jQuery.makeArray(selector,this);},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length;},toArray:function(){return slice.call(this,0);},get:function(num){return num==null?this.toArray():(num<0?this[this.length+num]:this[num]);},pushStack:function(elems,name,selector){var ret=this.constructor();if(jQuery.isArray(elems)){push.apply(ret,elems);}else{jQuery.merge(ret,elems);}
ret.prevObject=this;ret.context=this.context;if(name==="find"){ret.selector=this.selector+(this.selector?" ":"")+selector;}else if(name){ret.selector=this.selector+"."+name+"("+selector+")";}
return ret;},each:function(callback,args){return jQuery.each(this,callback,args);},ready:function(fn){jQuery.bindReady();readyList.done(fn);return this;},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1);},first:function(){return this.eq(0);},last:function(){return this.eq(-1);},slice:function(){return this.pushStack(slice.apply(this,arguments),"slice",slice.call(arguments).join(","));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},end:function(){return this.prevObject||this.constructor(null);},push:push,sort:[].sort,splice:[].splice};jQuery.fn.init.prototype=jQuery.fn;jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
if(typeof target!=="object"&&!jQuery.isFunction(target)){target={};}
if(length===i){target=this;--i;}
for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue;}
if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[];}else{clone=src&&jQuery.isPlainObject(src)?src:{};}
target[name]=jQuery.extend(deep,clone,copy);}else if(copy!==undefined){target[name]=copy;}}}}
return target;};jQuery.extend({noConflict:function(deep){if(window.$===jQuery){window.$=_$;}
if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery;}
return jQuery;},isReady:false,readyWait:1,holdReady:function(hold){if(hold){jQuery.readyWait++;}else{jQuery.ready(true);}},ready:function(wait){if((wait===true&&!--jQuery.readyWait)||(wait!==true&&!jQuery.isReady)){if(!document.body){return setTimeout(jQuery.ready,1);}
jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return;}
readyList.resolveWith(document,[jQuery]);if(jQuery.fn.trigger){jQuery(document).trigger("ready").unbind("ready");}}},bindReady:function(){if(readyList){return;}
readyList=jQuery._Deferred();if(document.readyState==="complete"){return setTimeout(jQuery.ready,1);}
if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);window.addEventListener("load",jQuery.ready,false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",DOMContentLoaded);window.attachEvent("onload",jQuery.ready);var toplevel=false;try{toplevel=window.frameElement==null;}catch(e){}
if(document.documentElement.doScroll&&toplevel){doScrollCheck();}}},isFunction:function(obj){return jQuery.type(obj)==="function";},isArray:Array.isArray||function(obj){return jQuery.type(obj)==="array";},isWindow:function(obj){return obj&&typeof obj==="object"&&"setInterval"in obj;},isNaN:function(obj){return obj==null||!rdigit.test(obj)||isNaN(obj);},type:function(obj){return obj==null?String(obj):class2type[toString.call(obj)]||"object";},isPlainObject:function(obj){if(!obj||jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false;}
if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){return false;}
var key;for(key in obj){}
return key===undefined||hasOwn.call(obj,key);},isEmptyObject:function(obj){for(var name in obj){return false;}
return true;},error:function(msg){throw msg;},parseJSON:function(data){if(typeof data!=="string"||!data){return null;}
data=jQuery.trim(data);if(window.JSON&&window.JSON.parse){return window.JSON.parse(data);}
if(rvalidchars.test(data.replace(rvalidescape,"@").replace(rvalidtokens,"]").replace(rvalidbraces,""))){return(new Function("return "+data))();}
jQuery.error("Invalid JSON: "+data);},parseXML:function(data,xml,tmp){if(window.DOMParser){tmp=new DOMParser();xml=tmp.parseFromString(data,"text/xml");}else{xml=new ActiveXObject("Microsoft.XMLDOM");xml.async="false";xml.loadXML(data);}
tmp=xml.documentElement;if(!tmp||!tmp.nodeName||tmp.nodeName==="parsererror"){jQuery.error("Invalid XML: "+data);}
return xml;},noop:function(){},globalEval:function(data){if(data&&rnotwhite.test(data)){(window.execScript||function(data){window["eval"].call(window,data);})(data);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()===name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length,isObj=length===undefined||jQuery.isFunction(object);if(args){if(isObj){for(name in object){if(callback.apply(object[name],args)===false){break;}}}else{for(;i<length;){if(callback.apply(object[i++],args)===false){break;}}}}else{if(isObj){for(name in object){if(callback.call(object[name],name,object[name])===false){break;}}}else{for(;i<length;){if(callback.call(object[i],i,object[i++])===false){break;}}}}
return object;},trim:trim?function(text){return text==null?"":trim.call(text);}:function(text){return text==null?"":text.toString().replace(trimLeft,"").replace(trimRight,"");},makeArray:function(array,results){var ret=results||[];if(array!=null){var type=jQuery.type(array);if(array.length==null||type==="string"||type==="function"||type==="regexp"||jQuery.isWindow(array)){push.call(ret,array);}else{jQuery.merge(ret,array);}}
return ret;},inArray:function(elem,array){if(indexOf){return indexOf.call(array,elem);}
for(var i=0,length=array.length;i<length;i++){if(array[i]===elem){return i;}}
return-1;},merge:function(first,second){var i=first.length,j=0;if(typeof second.length==="number"){for(var l=second.length;j<l;j++){first[i++]=second[j];}}else{while(second[j]!==undefined){first[i++]=second[j++];}}
first.length=i;return first;},grep:function(elems,callback,inv){var ret=[],retVal;inv=!!inv;for(var i=0,length=elems.length;i<length;i++){retVal=!!callback(elems[i],i);if(inv!==retVal){ret.push(elems[i]);}}
return ret;},map:function(elems,callback,arg){var value,key,ret=[],i=0,length=elems.length,isArray=elems instanceof jQuery||length!==undefined&&typeof length==="number"&&((length>0&&elems[0]&&elems[length-1])||length===0||jQuery.isArray(elems));if(isArray){for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret[ret.length]=value;}}}else{for(key in elems){value=callback(elems[key],key,arg);if(value!=null){ret[ret.length]=value;}}}
return ret.concat.apply([],ret);},guid:1,proxy:function(fn,context){if(typeof context==="string"){var tmp=fn[context];context=fn;fn=tmp;}
if(!jQuery.isFunction(fn)){return undefined;}
var args=slice.call(arguments,2),proxy=function(){return fn.apply(context,args.concat(slice.call(arguments)));};proxy.guid=fn.guid=fn.guid||proxy.guid||jQuery.guid++;return proxy;},access:function(elems,key,value,exec,fn,pass){var length=elems.length;if(typeof key==="object"){for(var k in key){jQuery.access(elems,k,key[k],exec,fn,value);}
return elems;}
if(value!==undefined){exec=!pass&&exec&&jQuery.isFunction(value);for(var i=0;i<length;i++){fn(elems[i],key,exec?value.call(elems[i],i,fn(elems[i],key)):value,pass);}
return elems;}
return length?fn(elems[0],key):undefined;},now:function(){return(new Date()).getTime();},uaMatch:function(ua){ua=ua.toLowerCase();var match=rwebkit.exec(ua)||ropera.exec(ua)||rmsie.exec(ua)||ua.indexOf("compatible")<0&&rmozilla.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"};},sub:function(){function jQuerySub(selector,context){return new jQuerySub.fn.init(selector,context);}
jQuery.extend(true,jQuerySub,this);jQuerySub.superclass=this;jQuerySub.fn=jQuerySub.prototype=this();jQuerySub.fn.constructor=jQuerySub;jQuerySub.sub=this.sub;jQuerySub.fn.init=function init(selector,context){if(context&&context instanceof jQuery&&!(context instanceof jQuerySub)){context=jQuerySub(context);}
return jQuery.fn.init.call(this,selector,context,rootjQuerySub);};jQuerySub.fn.init.prototype=jQuerySub.fn;var rootjQuerySub=jQuerySub(document);return jQuerySub;},browser:{}});jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase();});browserMatch=jQuery.uaMatch(userAgent);if(browserMatch.browser){jQuery.browser[browserMatch.browser]=true;jQuery.browser.version=browserMatch.version;}
if(jQuery.browser.webkit){jQuery.browser.safari=true;}
if(rnotwhite.test("\xA0")){trimLeft=/^[\s\xA0]+/;trimRight=/[\s\xA0]+$/;}
rootjQuery=jQuery(document);if(document.addEventListener){DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);jQuery.ready();};}else if(document.attachEvent){DOMContentLoaded=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",DOMContentLoaded);jQuery.ready();}};}
function doScrollCheck(){if(jQuery.isReady){return;}
try{document.documentElement.doScroll("left");}catch(e){setTimeout(doScrollCheck,1);return;}
jQuery.ready();}
return jQuery;})();var
promiseMethods="done fail isResolved isRejected promise then always pipe".split(" "),sliceDeferred=[].slice;jQuery.extend({_Deferred:function(){var
callbacks=[],fired,firing,cancelled,deferred={done:function(){if(!cancelled){var args=arguments,i,length,elem,type,_fired;if(fired){_fired=fired;fired=0;}
for(i=0,length=args.length;i<length;i++){elem=args[i];type=jQuery.type(elem);if(type==="array"){deferred.done.apply(deferred,elem);}else if(type==="function"){callbacks.push(elem);}}
if(_fired){deferred.resolveWith(_fired[0],_fired[1]);}}
return this;},resolveWith:function(context,args){if(!cancelled&&!fired&&!firing){args=args||[];firing=1;try{while(callbacks[0]){callbacks.shift().apply(context,args);}}
finally{fired=[context,args];firing=0;}}
return this;},resolve:function(){deferred.resolveWith(this,arguments);return this;},isResolved:function(){return!!(firing||fired);},cancel:function(){cancelled=1;callbacks=[];return this;}};return deferred;},Deferred:function(func){var deferred=jQuery._Deferred(),failDeferred=jQuery._Deferred(),promise;jQuery.extend(deferred,{then:function(doneCallbacks,failCallbacks){deferred.done(doneCallbacks).fail(failCallbacks);return this;},always:function(){return deferred.done.apply(deferred,arguments).fail.apply(this,arguments);},fail:failDeferred.done,rejectWith:failDeferred.resolveWith,reject:failDeferred.resolve,isRejected:failDeferred.isResolved,pipe:function(fnDone,fnFail){return jQuery.Deferred(function(newDefer){jQuery.each({done:[fnDone,"resolve"],fail:[fnFail,"reject"]},function(handler,data){var fn=data[0],action=data[1],returned;if(jQuery.isFunction(fn)){deferred[handler](function(){returned=fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().then(newDefer.resolve,newDefer.reject);}else{newDefer[action](returned);}});}else{deferred[handler](newDefer[action]);}});}).promise();},promise:function(obj){if(obj==null){if(promise){return promise;}
promise=obj={};}
var i=promiseMethods.length;while(i--){obj[promiseMethods[i]]=deferred[promiseMethods[i]];}
return obj;}});deferred.done(failDeferred.cancel).fail(deferred.cancel);delete deferred.cancel;if(func){func.call(deferred,deferred);}
return deferred;},when:function(firstParam){var args=arguments,i=0,length=args.length,count=length,deferred=length<=1&&firstParam&&jQuery.isFunction(firstParam.promise)?firstParam:jQuery.Deferred();function resolveFunc(i){return function(value){args[i]=arguments.length>1?sliceDeferred.call(arguments,0):value;if(!(--count)){deferred.resolveWith(deferred,sliceDeferred.call(args,0));}};}
if(length>1){for(;i<length;i++){if(args[i]&&jQuery.isFunction(args[i].promise)){args[i].promise().then(resolveFunc(i),deferred.reject);}else{--count;}}
if(!count){deferred.resolveWith(deferred,args);}}else if(deferred!==firstParam){deferred.resolveWith(deferred,length?[firstParam]:[]);}
return deferred.promise();}});jQuery.support=(function(){var div=document.createElement("div"),documentElement=document.documentElement,all,a,select,opt,input,marginDiv,support,fragment,body,bodyStyle,tds,events,eventName,i,isSupported;div.setAttribute("className","t");div.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";all=div.getElementsByTagName("*");a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return{};}
select=document.createElement("select");opt=select.appendChild(document.createElement("option"));input=div.getElementsByTagName("input")[0];support={leadingWhitespace:(div.firstChild.nodeType===3),tbody:!div.getElementsByTagName("tbody").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/top/.test(a.getAttribute("style")),hrefNormalized:(a.getAttribute("href")==="/a"),opacity:/^0.55$/.test(a.style.opacity),cssFloat:!!a.style.cssFloat,checkOn:(input.value==="on"),optSelected:opt.selected,getSetAttribute:div.className!=="t",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};input.checked=true;support.noCloneChecked=input.cloneNode(true).checked;select.disabled=true;support.optDisabled=!opt.disabled;try{delete div.test;}catch(e){support.deleteExpando=false;}
if(!div.addEventListener&&div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function click(){support.noCloneEvent=false;div.detachEvent("onclick",click);});div.cloneNode(true).fireEvent("onclick");}
input=document.createElement("input");input.value="t";input.setAttribute("type","radio");support.radioValue=input.value==="t";input.setAttribute("checked","checked");div.appendChild(input);fragment=document.createDocumentFragment();fragment.appendChild(div.firstChild);support.checkClone=fragment.cloneNode(true).cloneNode(true).lastChild.checked;div.innerHTML="";div.style.width=div.style.paddingLeft="1px";body=document.createElement("body");bodyStyle={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(i in bodyStyle){body.style[i]=bodyStyle[i];}
body.appendChild(div);documentElement.insertBefore(body,documentElement.firstChild);support.appendChecked=input.checked;support.boxModel=div.offsetWidth===2;if("zoom"in div.style){div.style.display="inline";div.style.zoom=1;support.inlineBlockNeedsLayout=(div.offsetWidth===2);div.style.display="";div.innerHTML="<div style='width:4px;'></div>";support.shrinkWrapBlocks=(div.offsetWidth!==2);}
div.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";tds=div.getElementsByTagName("td");isSupported=(tds[0].offsetHeight===0);tds[0].style.display="";tds[1].style.display="none";support.reliableHiddenOffsets=isSupported&&(tds[0].offsetHeight===0);div.innerHTML="";if(document.defaultView&&document.defaultView.getComputedStyle){marginDiv=document.createElement("div");marginDiv.style.width="0";marginDiv.style.marginRight="0";div.appendChild(marginDiv);support.reliableMarginRight=(parseInt((document.defaultView.getComputedStyle(marginDiv,null)||{marginRight:0}).marginRight,10)||0)===0;}
body.innerHTML="";documentElement.removeChild(body);if(div.attachEvent){for(i in{submit:1,change:1,focusin:1}){eventName="on"+i;isSupported=(eventName in div);if(!isSupported){div.setAttribute(eventName,"return;");isSupported=(typeof div[eventName]==="function");}
support[i+"Bubbles"]=isSupported;}}
return support;})();jQuery.boxModel=jQuery.support.boxModel;var rbrace=/^(?:\{.*\}|\[.*\])$/,rmultiDash=/([a-z])([A-Z])/g;jQuery.extend({cache:{},uuid:0,expando:"jQuery"+(jQuery.fn.jquery+Math.random()).replace(/\D/g,""),noData:{"embed":true,"object":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000","applet":true},hasData:function(elem){elem=elem.nodeType?jQuery.cache[elem[jQuery.expando]]:elem[jQuery.expando];return!!elem&&!isEmptyDataObject(elem);},data:function(elem,name,data,pvt){if(!jQuery.acceptData(elem)){return;}
var internalKey=jQuery.expando,getByName=typeof name==="string",thisCache,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[jQuery.expando]:elem[jQuery.expando]&&jQuery.expando;if((!id||(pvt&&id&&!cache[id][internalKey]))&&getByName&&data===undefined){return;}
if(!id){if(isNode){elem[jQuery.expando]=id=++jQuery.uuid;}else{id=jQuery.expando;}}
if(!cache[id]){cache[id]={};if(!isNode){cache[id].toJSON=jQuery.noop;}}
if(typeof name==="object"||typeof name==="function"){if(pvt){cache[id][internalKey]=jQuery.extend(cache[id][internalKey],name);}else{cache[id]=jQuery.extend(cache[id],name);}}
thisCache=cache[id];if(pvt){if(!thisCache[internalKey]){thisCache[internalKey]={};}
thisCache=thisCache[internalKey];}
if(data!==undefined){thisCache[jQuery.camelCase(name)]=data;}
if(name==="events"&&!thisCache[name]){return thisCache[internalKey]&&thisCache[internalKey].events;}
return getByName?thisCache[jQuery.camelCase(name)]:thisCache;},removeData:function(elem,name,pvt){if(!jQuery.acceptData(elem)){return;}
var internalKey=jQuery.expando,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[jQuery.expando]:jQuery.expando;if(!cache[id]){return;}
if(name){var thisCache=pvt?cache[id][internalKey]:cache[id];if(thisCache){delete thisCache[name];if(!isEmptyDataObject(thisCache)){return;}}}
if(pvt){delete cache[id][internalKey];if(!isEmptyDataObject(cache[id])){return;}}
var internalCache=cache[id][internalKey];if(jQuery.support.deleteExpando||cache!=window){delete cache[id];}else{cache[id]=null;}
if(internalCache){cache[id]={};if(!isNode){cache[id].toJSON=jQuery.noop;}
cache[id][internalKey]=internalCache;}else if(isNode){if(jQuery.support.deleteExpando){delete elem[jQuery.expando];}else if(elem.removeAttribute){elem.removeAttribute(jQuery.expando);}else{elem[jQuery.expando]=null;}}},_data:function(elem,name,data){return jQuery.data(elem,name,data,true);},acceptData:function(elem){if(elem.nodeName){var match=jQuery.noData[elem.nodeName.toLowerCase()];if(match){return!(match===true||elem.getAttribute("classid")!==match);}}
return true;}});jQuery.fn.extend({data:function(key,value){var data=null;if(typeof key==="undefined"){if(this.length){data=jQuery.data(this[0]);if(this[0].nodeType===1){var attr=this[0].attributes,name;for(var i=0,l=attr.length;i<l;i++){name=attr[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.substring(5));dataAttr(this[0],name,data[name]);}}}}
return data;}else if(typeof key==="object"){return this.each(function(){jQuery.data(this,key);});}
var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length){data=jQuery.data(this[0],key);data=dataAttr(this[0],key,data);}
return data===undefined&&parts[1]?this.data(parts[0]):data;}else{return this.each(function(){var $this=jQuery(this),args=[parts[0],value];$this.triggerHandler("setData"+parts[1]+"!",args);jQuery.data(this,key,value);$this.triggerHandler("changeData"+parts[1]+"!",args);});}},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});}});function dataAttr(elem,key,data){if(data===undefined&&elem.nodeType===1){var name="data-"+key.replace(rmultiDash,"$1-$2").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:!jQuery.isNaN(data)?parseFloat(data):rbrace.test(data)?jQuery.parseJSON(data):data;}catch(e){}
jQuery.data(elem,key,data);}else{data=undefined;}}
return data;}
function isEmptyDataObject(obj){for(var name in obj){if(name!=="toJSON"){return false;}}
return true;}
function handleQueueMarkDefer(elem,type,src){var deferDataKey=type+"defer",queueDataKey=type+"queue",markDataKey=type+"mark",defer=jQuery.data(elem,deferDataKey,undefined,true);if(defer&&(src==="queue"||!jQuery.data(elem,queueDataKey,undefined,true))&&(src==="mark"||!jQuery.data(elem,markDataKey,undefined,true))){setTimeout(function(){if(!jQuery.data(elem,queueDataKey,undefined,true)&&!jQuery.data(elem,markDataKey,undefined,true)){jQuery.removeData(elem,deferDataKey,true);defer.resolve();}},0);}}
jQuery.extend({_mark:function(elem,type){if(elem){type=(type||"fx")+"mark";jQuery.data(elem,type,(jQuery.data(elem,type,undefined,true)||0)+1,true);}},_unmark:function(force,elem,type){if(force!==true){type=elem;elem=force;force=false;}
if(elem){type=type||"fx";var key=type+"mark",count=force?0:((jQuery.data(elem,key,undefined,true)||1)-1);if(count){jQuery.data(elem,key,count,true);}else{jQuery.removeData(elem,key,true);handleQueueMarkDefer(elem,type,"mark");}}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type,undefined,true);if(data){if(!q||jQuery.isArray(data)){q=jQuery.data(elem,type,jQuery.makeArray(data),true);}else{q.push(data);}}
return q||[];}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),fn=queue.shift(),defer;if(fn==="inprogress"){fn=queue.shift();}
if(fn){if(type==="fx"){queue.unshift("inprogress");}
fn.call(elem,function(){jQuery.dequeue(elem,type);});}
if(!queue.length){jQuery.removeData(elem,type+"queue",true);handleQueueMarkDefer(elem,type,"queue");}}});jQuery.fn.extend({queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
if(data===undefined){return jQuery.queue(this[0],type);}
return this.each(function(){var queue=jQuery.queue(this,type,data);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type);}});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});},delay:function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(){var elem=this;setTimeout(function(){jQuery.dequeue(elem,type);},time);});},clearQueue:function(type){return this.queue(type||"fx",[]);},promise:function(type,object){if(typeof type!=="string"){object=type;type=undefined;}
type=type||"fx";var defer=jQuery.Deferred(),elements=this,i=elements.length,count=1,deferDataKey=type+"defer",queueDataKey=type+"queue",markDataKey=type+"mark",tmp;function resolve(){if(!(--count)){defer.resolveWith(elements,[elements]);}}
while(i--){if((tmp=jQuery.data(elements[i],deferDataKey,undefined,true)||(jQuery.data(elements[i],queueDataKey,undefined,true)||jQuery.data(elements[i],markDataKey,undefined,true))&&jQuery.data(elements[i],deferDataKey,jQuery._Deferred(),true))){count++;tmp.done(resolve);}}
resolve();return defer.promise();}});var rclass=/[\n\t\r]/g,rspace=/\s+/,rreturn=/\r/g,rtype=/^(?:button|input)$/i,rfocusable=/^(?:button|input|object|select|textarea)$/i,rclickable=/^a(?:rea)?$/i,rboolean=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,rinvalidChar=/\:/,formHook,boolHook;jQuery.fn.extend({attr:function(name,value){return jQuery.access(this,name,value,true,jQuery.attr);},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name);});},prop:function(name,value){return jQuery.access(this,name,value,true,jQuery.prop);},removeProp:function(name){name=jQuery.propFix[name]||name;return this.each(function(){try{this[name]=undefined;delete this[name];}catch(e){}});},addClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.addClass(value.call(this,i,self.attr("class")||""));});}
if(value&&typeof value==="string"){var classNames=(value||"").split(rspace);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1){if(!elem.className){elem.className=value;}else{var className=" "+elem.className+" ",setClass=elem.className;for(var c=0,cl=classNames.length;c<cl;c++){if(className.indexOf(" "+classNames[c]+" ")<0){setClass+=" "+classNames[c];}}
elem.className=jQuery.trim(setClass);}}}}
return this;},removeClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.removeClass(value.call(this,i,self.attr("class")));});}
if((value&&typeof value==="string")||value===undefined){var classNames=(value||"").split(rspace);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1&&elem.className){if(value){var className=(" "+elem.className+" ").replace(rclass," ");for(var c=0,cl=classNames.length;c<cl;c++){className=className.replace(" "+classNames[c]+" "," ");}
elem.className=jQuery.trim(className);}else{elem.className="";}}}}
return this;},toggleClass:function(value,stateVal){var type=typeof value,isBool=typeof stateVal==="boolean";if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.toggleClass(value.call(this,i,self.attr("class"),stateVal),stateVal);});}
return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),state=stateVal,classNames=value.split(rspace);while((className=classNames[i++])){state=isBool?state:!self.hasClass(className);self[state?"addClass":"removeClass"](className);}}else if(type==="undefined"||type==="boolean"){if(this.className){jQuery._data(this,"__className__",this.className);}
this.className=this.className||value===false?"":jQuery._data(this,"__className__")||"";}});},hasClass:function(selector){var className=" "+selector+" ";for(var i=0,l=this.length;i<l;i++){if((" "+this[i].className+" ").replace(rclass," ").indexOf(className)>-1){return true;}}
return false;},val:function(value){var hooks,ret,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.nodeName.toLowerCase()]||jQuery.valHooks[elem.type];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret;}
return(elem.value||"").replace(rreturn,"");}
return undefined;}
var isFunction=jQuery.isFunction(value);return this.each(function(i){var self=jQuery(this),val;if(this.nodeType!==1){return;}
if(isFunction){val=value.call(this,i,self.val());}else{val=value;}
if(val==null){val="";}else if(typeof val==="number"){val+="";}else if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+"";});}
hooks=jQuery.valHooks[this.nodeName.toLowerCase()]||jQuery.valHooks[this.type];if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){this.value=val;}});}});jQuery.extend({valHooks:{option:{get:function(elem){var val=elem.attributes.value;return!val||val.specified?elem.value:elem.text;}},select:{get:function(elem){var value,index=elem.selectedIndex,values=[],options=elem.options,one=elem.type==="select-one";if(index<0){return null;}
for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected&&(jQuery.support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value;}
values.push(value);}}
if(one&&!values.length&&options.length){return jQuery(options[index]).val();}
return values;},set:function(elem,value){var values=jQuery.makeArray(value);jQuery(elem).find("option").each(function(){this.selected=jQuery.inArray(jQuery(this).val(),values)>=0;});if(!values.length){elem.selectedIndex=-1;}
return values;}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attrFix:{tabindex:"tabIndex"},attr:function(elem,name,value,pass){var nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return undefined;}
if(pass&&name in jQuery.attrFn){return jQuery(elem)[name](value);}
if(!("getAttribute"in elem)){return jQuery.prop(elem,name,value);}
var ret,hooks,notxml=nType!==1||!jQuery.isXMLDoc(elem);name=notxml&&jQuery.attrFix[name]||name;hooks=jQuery.attrHooks[name];if(!hooks){if(rboolean.test(name)&&(typeof value==="boolean"||value===undefined||value.toLowerCase()===name.toLowerCase())){hooks=boolHook;}else if(formHook&&(jQuery.nodeName(elem,"form")||rinvalidChar.test(name))){hooks=formHook;}}
if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name);return undefined;}else if(hooks&&"set"in hooks&&notxml&&(ret=hooks.set(elem,value,name))!==undefined){return ret;}else{elem.setAttribute(name,""+value);return value;}}else if(hooks&&"get"in hooks&&notxml){return hooks.get(elem,name);}else{ret=elem.getAttribute(name);return ret===null?undefined:ret;}},removeAttr:function(elem,name){var propName;if(elem.nodeType===1){name=jQuery.attrFix[name]||name;if(jQuery.support.getSetAttribute){elem.removeAttribute(name);}else{jQuery.attr(elem,name,"");elem.removeAttributeNode(elem.getAttributeNode(name));}
if(rboolean.test(name)&&(propName=jQuery.propFix[name]||name)in elem){elem[propName]=false;}}},attrHooks:{type:{set:function(elem,value){if(rtype.test(elem.nodeName)&&elem.parentNode){jQuery.error("type property can't be changed");}else if(!jQuery.support.radioValue&&value==="radio"&&jQuery.nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val;}
return value;}}},tabIndex:{get:function(elem){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?parseInt(attributeNode.value,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:undefined;}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(elem,name,value){var nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return undefined;}
var ret,hooks,notxml=nType!==1||!jQuery.isXMLDoc(elem);name=notxml&&jQuery.propFix[name]||name;hooks=jQuery.propHooks[name];if(value!==undefined){if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret;}else{return(elem[name]=value);}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==undefined){return ret;}else{return elem[name];}}},propHooks:{}});boolHook={get:function(elem,name){return elem[jQuery.propFix[name]||name]?name.toLowerCase():undefined;},set:function(elem,value,name){var propName;if(value===false){jQuery.removeAttr(elem,name);}else{propName=jQuery.propFix[name]||name;if(propName in elem){elem[propName]=value;}
elem.setAttribute(name,name.toLowerCase());}
return name;}};jQuery.attrHooks.value={get:function(elem,name){if(formHook&&jQuery.nodeName(elem,"button")){return formHook.get(elem,name);}
return elem.value;},set:function(elem,value,name){if(formHook&&jQuery.nodeName(elem,"button")){return formHook.set(elem,value,name);}
elem.value=value;}};if(!jQuery.support.getSetAttribute){jQuery.attrFix=jQuery.propFix;formHook=jQuery.attrHooks.name=jQuery.valHooks.button={get:function(elem,name){var ret;ret=elem.getAttributeNode(name);return ret&&ret.nodeValue!==""?ret.nodeValue:undefined;},set:function(elem,value,name){var ret=elem.getAttributeNode(name);if(ret){ret.nodeValue=value;return value;}}};jQuery.each(["width","height"],function(i,name){jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{set:function(elem,value){if(value===""){elem.setAttribute(name,"auto");return value;}}});});}
if(!jQuery.support.hrefNormalized){jQuery.each(["href","src","width","height"],function(i,name){jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{get:function(elem){var ret=elem.getAttribute(name,2);return ret===null?undefined:ret;}});});}
if(!jQuery.support.style){jQuery.attrHooks.style={get:function(elem){return elem.style.cssText.toLowerCase()||undefined;},set:function(elem,value){return(elem.style.cssText=""+value);}};}
if(!jQuery.support.optSelected){jQuery.propHooks.selected=jQuery.extend(jQuery.propHooks.selected,{get:function(elem){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex;}}}});}
if(!jQuery.support.checkOn){jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={get:function(elem){return elem.getAttribute("value")===null?"on":elem.value;}};});}
jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]=jQuery.extend(jQuery.valHooks[this],{set:function(elem,value){if(jQuery.isArray(value)){return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>=0);}}});});var hasOwn=Object.prototype.hasOwnProperty,rnamespaces=/\.(.*)$/,rformElems=/^(?:textarea|input|select)$/i,rperiod=/\./g,rspaces=/ /g,rescape=/[^\w\s.|`]/g,fcleanup=function(nm){return nm.replace(rescape,"\\$&");};jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType===3||elem.nodeType===8){return;}
if(handler===false){handler=returnFalse;}else if(!handler){return;}
var handleObjIn,handleObj;if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;}
if(!handler.guid){handler.guid=jQuery.guid++;}
var elemData=jQuery._data(elem);if(!elemData){return;}
var events=elemData.events,eventHandle=elemData.handle;if(!events){elemData.events=events={};}
if(!eventHandle){elemData.handle=eventHandle=function(e){return typeof jQuery!=="undefined"&&(!e||jQuery.event.triggered!==e.type)?jQuery.event.handle.apply(eventHandle.elem,arguments):undefined;};}
eventHandle.elem=elem;types=types.split(" ");var type,i=0,namespaces;while((type=types[i++])){handleObj=handleObjIn?jQuery.extend({},handleObjIn):{handler:handler,data:data};if(type.indexOf(".")>-1){namespaces=type.split(".");type=namespaces.shift();handleObj.namespace=namespaces.slice(0).sort().join(".");}else{namespaces=[];handleObj.namespace="";}
handleObj.type=type;if(!handleObj.guid){handleObj.guid=handler.guid;}
var handlers=events[type],special=jQuery.event.special[type]||{};if(!handlers){handlers=events[type]=[];if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle,false);}else if(elem.attachEvent){elem.attachEvent("on"+type,eventHandle);}}}
if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid;}}
handlers.push(handleObj);jQuery.event.global[type]=true;}
elem=null;},global:{},remove:function(elem,types,handler,pos){if(elem.nodeType===3||elem.nodeType===8){return;}
if(handler===false){handler=returnFalse;}
var ret,type,fn,j,i=0,all,namespaces,namespace,special,eventType,handleObj,origType,elemData=jQuery.hasData(elem)&&jQuery._data(elem),events=elemData&&elemData.events;if(!elemData||!events){return;}
if(types&&types.type){handler=types.handler;types=types.type;}
if(!types||typeof types==="string"&&types.charAt(0)==="."){types=types||"";for(type in events){jQuery.event.remove(elem,type+types);}
return;}
types=types.split(" ");while((type=types[i++])){origType=type;handleObj=null;all=type.indexOf(".")<0;namespaces=[];if(!all){namespaces=type.split(".");type=namespaces.shift();namespace=new RegExp("(^|\\.)"+
jQuery.map(namespaces.slice(0).sort(),fcleanup).join("\\.(?:.*\\.)?")+"(\\.|$)");}
eventType=events[type];if(!eventType){continue;}
if(!handler){for(j=0;j<eventType.length;j++){handleObj=eventType[j];if(all||namespace.test(handleObj.namespace)){jQuery.event.remove(elem,origType,handleObj.handler,j);eventType.splice(j--,1);}}
continue;}
special=jQuery.event.special[type]||{};for(j=pos||0;j<eventType.length;j++){handleObj=eventType[j];if(handler.guid===handleObj.guid){if(all||namespace.test(handleObj.namespace)){if(pos==null){eventType.splice(j--,1);}
if(special.remove){special.remove.call(elem,handleObj);}}
if(pos!=null){break;}}}
if(eventType.length===0||pos!=null&&eventType.length===1){if(!special.teardown||special.teardown.call(elem,namespaces)===false){jQuery.removeEvent(elem,type,elemData.handle);}
ret=null;delete events[type];}}
if(jQuery.isEmptyObject(events)){var handle=elemData.handle;if(handle){handle.elem=null;}
delete elemData.events;delete elemData.handle;if(jQuery.isEmptyObject(elemData)){jQuery.removeData(elem,undefined,true);}}},customEvent:{"getData":true,"setData":true,"changeData":true},trigger:function(event,data,elem,onlyHandlers){var type=event.type||event,namespaces=[],exclusive;if(type.indexOf("!")>=0){type=type.slice(0,-1);exclusive=true;}
if(type.indexOf(".")>=0){namespaces=type.split(".");type=namespaces.shift();namespaces.sort();}
if((!elem||jQuery.event.customEvent[type])&&!jQuery.event.global[type]){return;}
event=typeof event==="object"?event[jQuery.expando]?event:new jQuery.Event(type,event):new jQuery.Event(type);event.type=type;event.exclusive=exclusive;event.namespace=namespaces.join(".");event.namespace_re=new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.)?")+"(\\.|$)");if(onlyHandlers||!elem){event.preventDefault();event.stopPropagation();}
if(!elem){jQuery.each(jQuery.cache,function(){var internalKey=jQuery.expando,internalCache=this[internalKey];if(internalCache&&internalCache.events&&internalCache.events[type]){jQuery.event.trigger(event,data,internalCache.handle.elem);}});return;}
if(elem.nodeType===3||elem.nodeType===8){return;}
event.result=undefined;event.target=elem;data=data?jQuery.makeArray(data):[];data.unshift(event);var cur=elem,ontype=type.indexOf(":")<0?"on"+type:"";do{var handle=jQuery._data(cur,"handle");event.currentTarget=cur;if(handle){handle.apply(cur,data);}
if(ontype&&jQuery.acceptData(cur)&&cur[ontype]&&cur[ontype].apply(cur,data)===false){event.result=false;event.preventDefault();}
cur=cur.parentNode||cur.ownerDocument||cur===event.target.ownerDocument&&window;}while(cur&&!event.isPropagationStopped());if(!event.isDefaultPrevented()){var old,special=jQuery.event.special[type]||{};if((!special._default||special._default.call(elem.ownerDocument,event)===false)&&!(type==="click"&&jQuery.nodeName(elem,"a"))&&jQuery.acceptData(elem)){try{if(ontype&&elem[type]){old=elem[ontype];if(old){elem[ontype]=null;}
jQuery.event.triggered=type;elem[type]();}}catch(ieError){}
if(old){elem[ontype]=old;}
jQuery.event.triggered=undefined;}}
return event.result;},handle:function(event){event=jQuery.event.fix(event||window.event);var handlers=((jQuery._data(this,"events")||{})[event.type]||[]).slice(0),run_all=!event.exclusive&&!event.namespace,args=Array.prototype.slice.call(arguments,0);args[0]=event;event.currentTarget=this;for(var j=0,l=handlers.length;j<l;j++){var handleObj=handlers[j];if(run_all||event.namespace_re.test(handleObj.namespace)){event.handler=handleObj.handler;event.data=handleObj.data;event.handleObj=handleObj;var ret=handleObj.handler.apply(this,args);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
if(event.isImmediatePropagationStopped()){break;}}}
return event.result;},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[jQuery.expando]){return event;}
var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
if(!event.target){event.target=event.srcElement||document;}
if(event.target.nodeType===3){event.target=event.target.parentNode;}
if(!event.relatedTarget&&event.fromElement){event.relatedTarget=event.fromElement===event.target?event.toElement:event.fromElement;}
if(event.pageX==null&&event.clientX!=null){var eventDocument=event.target.ownerDocument||document,doc=eventDocument.documentElement,body=eventDocument.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0);}
if(event.which==null&&(event.charCode!=null||event.keyCode!=null)){event.which=event.charCode!=null?event.charCode:event.keyCode;}
if(!event.metaKey&&event.ctrlKey){event.metaKey=event.ctrlKey;}
if(!event.which&&event.button!==undefined){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));}
return event;},guid:1E8,proxy:jQuery.proxy,special:{ready:{setup:jQuery.bindReady,teardown:jQuery.noop},live:{add:function(handleObj){jQuery.event.add(this,liveConvert(handleObj.origType,handleObj.selector),jQuery.extend({},handleObj,{handler:liveHandler,guid:handleObj.handler.guid}));},remove:function(handleObj){jQuery.event.remove(this,liveConvert(handleObj.origType,handleObj.selector),handleObj);}},beforeunload:{setup:function(data,namespaces,eventHandle){if(jQuery.isWindow(this)){this.onbeforeunload=eventHandle;}},teardown:function(namespaces,eventHandle){if(this.onbeforeunload===eventHandle){this.onbeforeunload=null;}}}}};jQuery.removeEvent=document.removeEventListener?function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle,false);}}:function(elem,type,handle){if(elem.detachEvent){elem.detachEvent("on"+type,handle);}};jQuery.Event=function(src,props){if(!this.preventDefault){return new jQuery.Event(src,props);}
if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=(src.defaultPrevented||src.returnValue===false||src.getPreventDefault&&src.getPreventDefault())?returnTrue:returnFalse;}else{this.type=src;}
if(props){jQuery.extend(this,props);}
this.timeStamp=jQuery.now();this[jQuery.expando]=true;};function returnFalse(){return false;}
function returnTrue(){return true;}
jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return;}
if(e.preventDefault){e.preventDefault();}else{e.returnValue=false;}},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e){return;}
if(e.stopPropagation){e.stopPropagation();}
e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;event.type=event.data;try{if(parent&&parent!==document&&!parent.parentNode){return;}
while(parent&&parent!==this){parent=parent.parentNode;}
if(parent!==this){jQuery.event.handle.apply(this,arguments);}}catch(e){}},delegate=function(event){event.type=event.data;jQuery.event.handle.apply(this,arguments);};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(orig,fix){jQuery.event.special[orig]={setup:function(data){jQuery.event.add(this,fix,data&&data.selector?delegate:withinElement,orig);},teardown:function(data){jQuery.event.remove(this,fix,data&&data.selector?delegate:withinElement);}};});if(!jQuery.support.submitBubbles){jQuery.event.special.submit={setup:function(data,namespaces){if(!jQuery.nodeName(this,"form")){jQuery.event.add(this,"click.specialSubmit",function(e){var elem=e.target,type=elem.type;if((type==="submit"||type==="image")&&jQuery(elem).closest("form").length){trigger("submit",this,arguments);}});jQuery.event.add(this,"keypress.specialSubmit",function(e){var elem=e.target,type=elem.type;if((type==="text"||type==="password")&&jQuery(elem).closest("form").length&&e.keyCode===13){trigger("submit",this,arguments);}});}else{return false;}},teardown:function(namespaces){jQuery.event.remove(this,".specialSubmit");}};}
if(!jQuery.support.changeBubbles){var changeFilters,getVal=function(elem){var type=elem.type,val=elem.value;if(type==="radio"||type==="checkbox"){val=elem.checked;}else if(type==="select-multiple"){val=elem.selectedIndex>-1?jQuery.map(elem.options,function(elem){return elem.selected;}).join("-"):"";}else if(jQuery.nodeName(elem,"select")){val=elem.selectedIndex;}
return val;},testChange=function testChange(e){var elem=e.target,data,val;if(!rformElems.test(elem.nodeName)||elem.readOnly){return;}
data=jQuery._data(elem,"_change_data");val=getVal(elem);if(e.type!=="focusout"||elem.type!=="radio"){jQuery._data(elem,"_change_data",val);}
if(data===undefined||val===data){return;}
if(data!=null||val){e.type="change";e.liveFired=undefined;jQuery.event.trigger(e,arguments[1],elem);}};jQuery.event.special.change={filters:{focusout:testChange,beforedeactivate:testChange,click:function(e){var elem=e.target,type=jQuery.nodeName(elem,"input")?elem.type:"";if(type==="radio"||type==="checkbox"||jQuery.nodeName(elem,"select")){testChange.call(this,e);}},keydown:function(e){var elem=e.target,type=jQuery.nodeName(elem,"input")?elem.type:"";if((e.keyCode===13&&!jQuery.nodeName(elem,"textarea"))||(e.keyCode===32&&(type==="checkbox"||type==="radio"))||type==="select-multiple"){testChange.call(this,e);}},beforeactivate:function(e){var elem=e.target;jQuery._data(elem,"_change_data",getVal(elem));}},setup:function(data,namespaces){if(this.type==="file"){return false;}
for(var type in changeFilters){jQuery.event.add(this,type+".specialChange",changeFilters[type]);}
return rformElems.test(this.nodeName);},teardown:function(namespaces){jQuery.event.remove(this,".specialChange");return rformElems.test(this.nodeName);}};changeFilters=jQuery.event.special.change.filters;changeFilters.focus=changeFilters.beforeactivate;}
function trigger(type,elem,args){var event=jQuery.extend({},args[0]);event.type=type;event.originalEvent={};event.liveFired=undefined;jQuery.event.handle.call(elem,event);if(event.isDefaultPrevented()){args[0].preventDefault();}}
if(!jQuery.support.focusinBubbles){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var attaches=0;jQuery.event.special[fix]={setup:function(){if(attaches++===0){document.addEventListener(orig,handler,true);}},teardown:function(){if(--attaches===0){document.removeEventListener(orig,handler,true);}}};function handler(donor){var e=jQuery.event.fix(donor);e.type=fix;e.originalEvent={};jQuery.event.trigger(e,null,e.target);if(e.isDefaultPrevented()){donor.preventDefault();}}});}
jQuery.each(["bind","one"],function(i,name){jQuery.fn[name]=function(type,data,fn){var handler;if(typeof type==="object"){for(var key in type){this[name](key,data,type[key],fn);}
return this;}
if(arguments.length===2||data===false){fn=data;data=undefined;}
if(name==="one"){handler=function(event){jQuery(this).unbind(event,handler);return fn.apply(this,arguments);};handler.guid=fn.guid||jQuery.guid++;}else{handler=fn;}
if(type==="unload"&&name!=="one"){this.one(type,data,fn);}else{for(var i=0,l=this.length;i<l;i++){jQuery.event.add(this[i],type,handler,data);}}
return this;};});jQuery.fn.extend({unbind:function(type,fn){if(typeof type==="object"&&!type.preventDefault){for(var key in type){this.unbind(key,type[key]);}}else{for(var i=0,l=this.length;i<l;i++){jQuery.event.remove(this[i],type,fn);}}
return this;},delegate:function(selector,types,data,fn){return this.live(types,data,fn,selector);},undelegate:function(selector,types,fn){if(arguments.length===0){return this.unbind("live");}else{return this.die(types,null,fn,selector);}},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){return jQuery.event.trigger(type,data,this[0],true);}},toggle:function(fn){var args=arguments,guid=fn.guid||jQuery.guid++,i=0,toggler=function(event){var lastToggle=(jQuery.data(this,"lastToggle"+fn.guid)||0)%i;jQuery.data(this,"lastToggle"+fn.guid,lastToggle+1);event.preventDefault();return args[lastToggle].apply(this,arguments)||false;};toggler.guid=guid;while(i<args.length){args[i++].guid=guid;}
return this.click(toggler);},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver);}});var liveMap={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};jQuery.each(["live","die"],function(i,name){jQuery.fn[name]=function(types,data,fn,origSelector){var type,i=0,match,namespaces,preType,selector=origSelector||this.selector,context=origSelector?this:jQuery(this.context);if(typeof types==="object"&&!types.preventDefault){for(var key in types){context[name](key,data,types[key],selector);}
return this;}
if(name==="die"&&!types&&origSelector&&origSelector.charAt(0)==="."){context.unbind(origSelector);return this;}
if(data===false||jQuery.isFunction(data)){fn=data||returnFalse;data=undefined;}
types=(types||"").split(" ");while((type=types[i++])!=null){match=rnamespaces.exec(type);namespaces="";if(match){namespaces=match[0];type=type.replace(rnamespaces,"");}
if(type==="hover"){types.push("mouseenter"+namespaces,"mouseleave"+namespaces);continue;}
preType=type;if(liveMap[type]){types.push(liveMap[type]+namespaces);type=type+namespaces;}else{type=(liveMap[type]||type)+namespaces;}
if(name==="live"){for(var j=0,l=context.length;j<l;j++){jQuery.event.add(context[j],"live."+liveConvert(type,selector),{data:data,selector:selector,handler:fn,origType:type,origHandler:fn,preType:preType});}}else{context.unbind("live."+liveConvert(type,selector),fn);}}
return this;};});function liveHandler(event){var stop,maxLevel,related,match,handleObj,elem,j,i,l,data,close,namespace,ret,elems=[],selectors=[],events=jQuery._data(this,"events");if(event.liveFired===this||!events||!events.live||event.target.disabled||event.button&&event.type==="click"){return;}
if(event.namespace){namespace=new RegExp("(^|\\.)"+event.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");}
event.liveFired=this;var live=events.live.slice(0);for(j=0;j<live.length;j++){handleObj=live[j];if(handleObj.origType.replace(rnamespaces,"")===event.type){selectors.push(handleObj.selector);}else{live.splice(j--,1);}}
match=jQuery(event.target).closest(selectors,event.currentTarget);for(i=0,l=match.length;i<l;i++){close=match[i];for(j=0;j<live.length;j++){handleObj=live[j];if(close.selector===handleObj.selector&&(!namespace||namespace.test(handleObj.namespace))&&!close.elem.disabled){elem=close.elem;related=null;if(handleObj.preType==="mouseenter"||handleObj.preType==="mouseleave"){event.type=handleObj.preType;related=jQuery(event.relatedTarget).closest(handleObj.selector)[0];if(related&&jQuery.contains(elem,related)){related=elem;}}
if(!related||related!==elem){elems.push({elem:elem,handleObj:handleObj,level:close.level});}}}}
for(i=0,l=elems.length;i<l;i++){match=elems[i];if(maxLevel&&match.level>maxLevel){break;}
event.currentTarget=match.elem;event.data=match.handleObj.data;event.handleObj=match.handleObj;ret=match.handleObj.origHandler.apply(match.elem,arguments);if(ret===false||event.isPropagationStopped()){maxLevel=match.level;if(ret===false){stop=false;}
if(event.isImmediatePropagationStopped()){break;}}}
return stop;}
function liveConvert(type,selector){return(type&&type!=="*"?type+".":"")+selector.replace(rperiod,"`").replace(rspaces,"&");}
jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){if(fn==null){fn=data;data=null;}
return arguments.length>0?this.bind(name,data,fn):this.trigger(name);};if(jQuery.attrFn){jQuery.attrFn[name]=true;}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true,rBackslash=/\\/g,rNonWord=/\W/;[0,0].sort(function(){baseHasDuplicate=false;return 0;});var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;var origContext=context;if(context.nodeType!==1&&context.nodeType!==9){return[];}
if(!selector||typeof selector!=="string"){return results;}
var m,set,checkSet,extra,ret,cur,pop,i,prune=true,contextXML=Sizzle.isXML(context),parts=[],soFar=selector;do{chunker.exec("");m=chunker.exec(soFar);if(m){soFar=m[3];parts.push(m[1]);if(m[2]){extra=m[3];break;}}}while(m);if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector]){selector+=parts.shift();}
set=posProcess(selector,set);}}}else{if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0];}
if(context){ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);set=ret.expr?Sizzle.filter(ret.expr,ret.set):ret.set;if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
while(parts.length){cur=parts.pop();pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
if(pop==null){pop=context;}
Expr.relative[cur](checkSet,pop,contextXML);}}else{checkSet=parts=[];}}
if(!checkSet){checkSet=set;}
if(!checkSet){Sizzle.error(cur||selector);}
if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context&&context.nodeType===1){for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&Sizzle.contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
if(extra){Sizzle(extra,origContext,results,seed);Sizzle.uniqueSort(results);}
return results;};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate=baseHasDuplicate;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}
return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.matchesSelector=function(node,expr){return Sizzle(expr,null,null,[node]).length>0;};Sizzle.find=function(expr,context,isXML){var set;if(!expr){return[];}
for(var i=0,l=Expr.order.length;i<l;i++){var match,type=Expr.order[i];if((match=Expr.leftMatch[type].exec(expr))){var left=match[1];match.splice(1,1);if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(rBackslash,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
if(!set){set=typeof context.getElementsByTagName!=="undefined"?context.getElementsByTagName("*"):[];}
return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var match,anyFound,old=expr,result=[],curLoop=set,isXMLFilter=set&&set[0]&&Sizzle.isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){var found,item,filter=Expr.filter[type],left=match[1];anyFound=false;match.splice(1,1);if(left.substr(left.length-1)==="\\"){continue;}
if(curLoop===result){result=[];}
if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
if(found!==undefined){if(!inplace){curLoop=result;}
expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
break;}}}
if(expr===old){if(anyFound==null){Sizzle.error(expr);}else{break;}}
old=expr;}
return curLoop;};Sizzle.error=function(msg){throw"Syntax error, unrecognized expression: "+msg;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");},type:function(elem){return elem.getAttribute("type");}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!rNonWord.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag){part=part.toLowerCase();}
for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?elem||false:elem===part;}}
if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part){var elem,isPartStr=typeof part==="string",i=0,l=checkSet.length;if(isPartStr&&!rNonWord.test(part)){part=part.toLowerCase();for(;i<l;i++){elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false;}}}else{for(;i<l;i++){elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck;}
checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck;}
checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m&&m.parentNode?[m]:[];}},NAME:function(match,context){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
return ret.length===0?null:ret;}},TAG:function(match,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(match[1]);}}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(rBackslash,"")+" ";if(isXML){return match;}
for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n\r]/g," ").indexOf(match)>=0)){if(!inplace){result.push(elem);}}else if(inplace){curLoop[i]=false;}}}
return false;},ID:function(match){return match[1].replace(rBackslash,"");},TAG:function(match,curLoop){return match[1].replace(rBackslash,"").toLowerCase();},CHILD:function(match){if(match[1]==="nth"){if(!match[2]){Sizzle.error(match[0]);}
match[2]=match[2].replace(/^\+|\s*/g,'');var test=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(match[2]==="even"&&"2n"||match[2]==="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
else if(match[2]){Sizzle.error(match[0]);}
match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1]=match[1].replace(rBackslash,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
match[4]=(match[4]||match[5]||"").replace(rBackslash,"");if(match[2]==="~="){match[4]=" "+match[4]+" ";}
return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){if(elem.parentNode){elem.parentNode.selectedIndex;}
return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return(/h\d/i).test(elem.nodeName);},text:function(elem){var attr=elem.getAttribute("type"),type=elem.type;return elem.nodeName.toLowerCase()==="input"&&"text"===type&&(attr===type||attr===null);},radio:function(elem){return elem.nodeName.toLowerCase()==="input"&&"radio"===elem.type;},checkbox:function(elem){return elem.nodeName.toLowerCase()==="input"&&"checkbox"===elem.type;},file:function(elem){return elem.nodeName.toLowerCase()==="input"&&"file"===elem.type;},password:function(elem){return elem.nodeName.toLowerCase()==="input"&&"password"===elem.type;},submit:function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&"submit"===elem.type;},image:function(elem){return elem.nodeName.toLowerCase()==="input"&&"image"===elem.type;},reset:function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&"reset"===elem.type;},button:function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&"button"===elem.type||name==="button";},input:function(elem){return(/input|select|textarea|button/i).test(elem.nodeName);},focus:function(elem){return elem===elem.ownerDocument.activeElement;}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0===i;},eq:function(elem,i,match){return match[3]-0===i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||Sizzle.getText([elem])||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var j=0,l=not.length;j<l;j++){if(not[j]===elem){return false;}}
return true;}else{Sizzle.error(name);}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case"only":case"first":while((node=node.previousSibling)){if(node.nodeType===1){return false;}}
if(type==="first"){return true;}
node=elem;case"last":while((node=node.nextSibling)){if(node.nodeType===1){return false;}}
return true;case"nth":var first=match[2],last=match[3];if(first===1&&last===0){return true;}
var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
parent.sizcache=doneName;}
var diff=elem.nodeIndex-last;if(first===0){return diff===0;}else{return(diff%first===0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName.toLowerCase()===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!==check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS,fescape=function(all,num){return"\\"+(num-0+1);};for(var type in Expr.match){Expr.match[type]=new RegExp(Expr.match[type].source+(/(?![^\[]*\])(?![^\(]*\))/.source));Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source.replace(/\\(\d+)/g,fescape));}
var makeArray=function(array,results){array=Array.prototype.slice.call(array,0);if(results){results.push.apply(results,array);return results;}
return array;};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType;}catch(e){makeArray=function(array,results){var i=0,ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var l=array.length;i<l;i++){ret.push(array[i]);}}else{for(;array[i];i++){ret.push(array[i]);}}}
return ret;};}
var sortOrder,siblingCheck;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0;}
if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1;}
return a.compareDocumentPosition(b)&4?-1:1;};}else{sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0;}else if(a.sourceIndex&&b.sourceIndex){return a.sourceIndex-b.sourceIndex;}
var al,bl,ap=[],bp=[],aup=a.parentNode,bup=b.parentNode,cur=aup;if(aup===bup){return siblingCheck(a,b);}else if(!aup){return-1;}else if(!bup){return 1;}
while(cur){ap.unshift(cur);cur=cur.parentNode;}
cur=bup;while(cur){bp.unshift(cur);cur=cur.parentNode;}
al=ap.length;bl=bp.length;for(var i=0;i<al&&i<bl;i++){if(ap[i]!==bp[i]){return siblingCheck(ap[i],bp[i]);}}
return i===al?siblingCheck(a,bp[i],-1):siblingCheck(ap[i],b,1);};siblingCheck=function(a,b,ret){if(a===b){return ret;}
var cur=a.nextSibling;while(cur){if(cur===b){return-1;}
cur=cur.nextSibling;}
return 1;};}
Sizzle.getText=function(elems){var ret="",elem;for(var i=0;elems[i];i++){elem=elems[i];if(elem.nodeType===3||elem.nodeType===4){ret+=elem.nodeValue;}else if(elem.nodeType!==8){ret+=Sizzle.getText(elem.childNodes);}}
return ret;};(function(){var form=document.createElement("div"),id="script"+(new Date()).getTime(),root=document.documentElement;form.innerHTML="<a name='"+id+"'/>";root.insertBefore(form,root.firstChild);if(document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
root.removeChild(form);root=form=null;})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
results=tmp;}
return results;};}
div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}
div=null;})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div"),id="__sizzle__";div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&!Sizzle.isXML(context)){var match=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(query);if(match&&(context.nodeType===1||context.nodeType===9)){if(match[1]){return makeArray(context.getElementsByTagName(query),extra);}else if(match[2]&&Expr.find.CLASS&&context.getElementsByClassName){return makeArray(context.getElementsByClassName(match[2]),extra);}}
if(context.nodeType===9){if(query==="body"&&context.body){return makeArray([context.body],extra);}else if(match&&match[3]){var elem=context.getElementById(match[3]);if(elem&&elem.parentNode){if(elem.id===match[3]){return makeArray([elem],extra);}}else{return makeArray([],extra);}}
try{return makeArray(context.querySelectorAll(query),extra);}catch(qsaError){}}else if(context.nodeType===1&&context.nodeName.toLowerCase()!=="object"){var oldContext=context,old=context.getAttribute("id"),nid=old||id,hasParent=context.parentNode,relativeHierarchySelector=/^\s*[+~]/.test(query);if(!old){context.setAttribute("id",nid);}else{nid=nid.replace(/'/g,"\\$&");}
if(relativeHierarchySelector&&hasParent){context=context.parentNode;}
try{if(!relativeHierarchySelector||hasParent){return makeArray(context.querySelectorAll("[id='"+nid+"'] "+query),extra);}}catch(pseudoError){}finally{if(!old){oldContext.removeAttribute("id");}}}}
return oldSizzle(query,context,extra,seed);};for(var prop in oldSizzle){Sizzle[prop]=oldSizzle[prop];}
div=null;})();}
(function(){var html=document.documentElement,matches=html.matchesSelector||html.mozMatchesSelector||html.webkitMatchesSelector||html.msMatchesSelector;if(matches){var disconnectedMatch=!matches.call(document.createElement("div"),"div"),pseudoWorks=false;try{matches.call(document.documentElement,"[test!='']:sizzle");}catch(pseudoError){pseudoWorks=true;}
Sizzle.matchesSelector=function(node,expr){expr=expr.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!Sizzle.isXML(node)){try{if(pseudoWorks||!Expr.match.PSEUDO.test(expr)&&!/!=/.test(expr)){var ret=matches.call(node,expr);if(ret||!disconnectedMatch||node.document&&node.document.nodeType!==11){return ret;}}}catch(e){}}
return Sizzle(expr,null,null,[node]).length>0;};}})();(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){return;}
div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return;}
Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};div=null;})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
if(elem.nodeName.toLowerCase()===cur){match=elem;break;}
elem=elem[dir];}
checkSet[i]=match;}}}
function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
elem=elem[dir];}
checkSet[i]=match;}}}
if(document.documentElement.contains){Sizzle.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):true);};}else if(document.documentElement.compareDocumentPosition){Sizzle.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16);};}else{Sizzle.contains=function(){return false;};}
Sizzle.isXML=function(elem){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false;};var posProcess=function(selector,context){var match,tmpSet=[],later="",root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;})();var runtil=/Until$/,rparentsprev=/^(?:parents|prevUntil|prevAll)/,rmultiselector=/,/,isSimple=/^.[^:#\[\.,]*$/,slice=Array.prototype.slice,POS=jQuery.expr.match.POS,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.fn.extend({find:function(selector){var self=this,i,l;if(typeof selector!=="string"){return jQuery(selector).filter(function(){for(i=0,l=self.length;i<l;i++){if(jQuery.contains(self[i],this)){return true;}}});}
var ret=this.pushStack("","find",selector),length,n,r;for(i=0,l=this.length;i<l;i++){length=ret.length;jQuery.find(selector,this[i],ret);if(i>0){for(n=length;n<ret.length;n++){for(r=0;r<length;r++){if(ret[r]===ret[n]){ret.splice(n--,1);break;}}}}}
return ret;},has:function(target){var targets=jQuery(target);return this.filter(function(){for(var i=0,l=targets.length;i<l;i++){if(jQuery.contains(this,targets[i])){return true;}}});},not:function(selector){return this.pushStack(winnow(this,selector,false),"not",selector);},filter:function(selector){return this.pushStack(winnow(this,selector,true),"filter",selector);},is:function(selector){return!!selector&&(typeof selector==="string"?jQuery.filter(selector,this).length>0:this.filter(selector).length>0);},closest:function(selectors,context){var ret=[],i,l,cur=this[0];if(jQuery.isArray(selectors)){var match,selector,matches={},level=1;if(cur&&selectors.length){for(i=0,l=selectors.length;i<l;i++){selector=selectors[i];if(!matches[selector]){matches[selector]=POS.test(selector)?jQuery(selector,context||this.context):selector;}}
while(cur&&cur.ownerDocument&&cur!==context){for(selector in matches){match=matches[selector];if(match.jquery?match.index(cur)>-1:jQuery(cur).is(match)){ret.push({selector:selector,elem:cur,level:level});}}
cur=cur.parentNode;level++;}}
return ret;}
var pos=POS.test(selectors)||typeof selectors!=="string"?jQuery(selectors,context||this.context):0;for(i=0,l=this.length;i<l;i++){cur=this[i];while(cur){if(pos?pos.index(cur)>-1:jQuery.find.matchesSelector(cur,selectors)){ret.push(cur);break;}else{cur=cur.parentNode;if(!cur||!cur.ownerDocument||cur===context||cur.nodeType===11){break;}}}}
ret=ret.length>1?jQuery.unique(ret):ret;return this.pushStack(ret,"closest",selectors);},index:function(elem){if(!elem||typeof elem==="string"){return jQuery.inArray(this[0],elem?jQuery(elem):this.parent().children());}
return jQuery.inArray(elem.jquery?elem[0]:elem,this);},add:function(selector,context){var set=typeof selector==="string"?jQuery(selector,context):jQuery.makeArray(selector&&selector.nodeType?[selector]:selector),all=jQuery.merge(this.get(),set);return this.pushStack(isDisconnected(set[0])||isDisconnected(all[0])?all:jQuery.unique(all));},andSelf:function(){return this.add(this.prevObject);}});function isDisconnected(node){return!node||!node.parentNode||node.parentNode.nodeType===11;}
jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null;},parents:function(elem){return jQuery.dir(elem,"parentNode");},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until);},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until);},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until);},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until),args=slice.call(arguments);if(!runtil.test(name)){selector=until;}
if(selector&&typeof selector==="string"){ret=jQuery.filter(selector,ret);}
ret=this.length>1&&!guaranteedUnique[name]?jQuery.unique(ret):ret;if((this.length>1||rmultiselector.test(selector))&&rparentsprev.test(name)){ret=ret.reverse();}
return this.pushStack(ret,name,args.join(","));};});jQuery.extend({filter:function(expr,elems,not){if(not){expr=":not("+expr+")";}
return elems.length===1?jQuery.find.matchesSelector(elems[0],expr)?[elems[0]]:[]:jQuery.find.matches(expr,elems);},dir:function(elem,dir,until){var matched=[],cur=elem[dir];while(cur&&cur.nodeType!==9&&(until===undefined||cur.nodeType!==1||!jQuery(cur).is(until))){if(cur.nodeType===1){matched.push(cur);}
cur=cur[dir];}
return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir]){if(cur.nodeType===1&&++num===result){break;}}
return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){r.push(n);}}
return r;}});function winnow(elements,qualifier,keep){qualifier=qualifier||0;if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){var retVal=!!qualifier.call(elem,i,elem);return retVal===keep;});}else if(qualifier.nodeType){return jQuery.grep(elements,function(elem,i){return(elem===qualifier)===keep;});}else if(typeof qualifier==="string"){var filtered=jQuery.grep(elements,function(elem){return elem.nodeType===1;});if(isSimple.test(qualifier)){return jQuery.filter(qualifier,filtered,!keep);}else{qualifier=jQuery.filter(qualifier,filtered);}}
return jQuery.grep(elements,function(elem,i){return(jQuery.inArray(elem,qualifier)>=0)===keep;});}
var rinlinejQuery=/ jQuery\d+="(?:\d+|null)"/g,rleadingWhitespace=/^\s+/,rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&#?\w+;/,rnocache=/<(?:script|object|embed|option|style)/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptType=/\/(java|ecma)script/i,rcleanScript=/^\s*<!(?:\[CDATA\[|\-\-)/,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;if(!jQuery.support.htmlSerialize){wrapMap._default=[1,"div<div>","</div>"];}
jQuery.fn.extend({text:function(text){if(jQuery.isFunction(text)){return this.each(function(i){var self=jQuery(this);self.text(text.call(this,i,self.text()));});}
if(typeof text!=="object"&&text!==undefined){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));}
return jQuery.text(this);},wrapAll:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i));});}
if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0]);}
wrap.map(function(){var elem=this;while(elem.firstChild&&elem.firstChild.nodeType===1){elem=elem.firstChild;}
return elem;}).append(this);}
return this;},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i));});}
return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html);}else{self.append(html);}});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes);}}).end();},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.appendChild(elem);}});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.insertBefore(elem,this.firstChild);}});},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});}else if(arguments.length){var set=jQuery(arguments[0]);set.push.apply(set,this.toArray());return this.pushStack(set,"before",arguments);}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});}else if(arguments.length){var set=this.pushStack(this,"after",arguments);set.push.apply(set,jQuery(arguments[0]).toArray());return set;}},remove:function(selector,keepData){for(var i=0,elem;(elem=this[i])!=null;i++){if(!selector||jQuery.filter(selector,[elem]).length){if(!keepData&&elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));jQuery.cleanData([elem]);}
if(elem.parentNode){elem.parentNode.removeChild(elem);}}}
return this;},empty:function(){for(var i=0,elem;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));}
while(elem.firstChild){elem.removeChild(elem.firstChild);}}
return this;},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents);});},html:function(value){if(value===undefined){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(rinlinejQuery,""):null;}else if(typeof value==="string"&&!rnocache.test(value)&&(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(var i=0,l=this.length;i<l;i++){if(this[i].nodeType===1){jQuery.cleanData(this[i].getElementsByTagName("*"));this[i].innerHTML=value;}}}catch(e){this.empty().append(value);}}else if(jQuery.isFunction(value)){this.each(function(i){var self=jQuery(this);self.html(value.call(this,i,self.html()));});}else{this.empty().append(value);}
return this;},replaceWith:function(value){if(this[0]&&this[0].parentNode){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this),old=self.html();self.replaceWith(value.call(this,i,old));});}
if(typeof value!=="string"){value=jQuery(value).detach();}
return this.each(function(){var next=this.nextSibling,parent=this.parentNode;jQuery(this).remove();if(next){jQuery(next).before(value);}else{jQuery(parent).append(value);}});}else{return this.length?this.pushStack(jQuery(jQuery.isFunction(value)?value():value),"replaceWith",value):this;}},detach:function(selector){return this.remove(selector,true);},domManip:function(args,table,callback){var results,first,fragment,parent,value=args[0],scripts=[];if(!jQuery.support.checkClone&&arguments.length===3&&typeof value==="string"&&rchecked.test(value)){return this.each(function(){jQuery(this).domManip(args,table,callback,true);});}
if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);args[0]=value.call(this,i,table?self.html():undefined);self.domManip(args,table,callback);});}
if(this[0]){parent=value&&value.parentNode;if(jQuery.support.parentNode&&parent&&parent.nodeType===11&&parent.childNodes.length===this.length){results={fragment:parent};}else{results=jQuery.buildFragment(args,this,scripts);}
fragment=results.fragment;if(fragment.childNodes.length===1){first=fragment=fragment.firstChild;}else{first=fragment.firstChild;}
if(first){table=table&&jQuery.nodeName(first,"tr");for(var i=0,l=this.length,lastIndex=l-1;i<l;i++){callback.call(table?root(this[i],first):this[i],results.cacheable||(l>1&&i<lastIndex)?jQuery.clone(fragment,true,true):fragment);}}
if(scripts.length){jQuery.each(scripts,evalScript);}}
return this;}});function root(elem,cur){return jQuery.nodeName(elem,"table")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}
function cloneCopyEvent(src,dest){if(dest.nodeType!==1||!jQuery.hasData(src)){return;}
var internalKey=jQuery.expando,oldData=jQuery.data(src),curData=jQuery.data(dest,oldData);if((oldData=oldData[internalKey])){var events=oldData.events;curData=curData[internalKey]=jQuery.extend({},oldData);if(events){delete curData.handle;curData.events={};for(var type in events){for(var i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type+(events[type][i].namespace?".":"")+events[type][i].namespace,events[type][i],events[type][i].data);}}}}}
function cloneFixAttributes(src,dest){var nodeName;if(dest.nodeType!==1){return;}
if(dest.clearAttributes){dest.clearAttributes();}
if(dest.mergeAttributes){dest.mergeAttributes(src);}
nodeName=dest.nodeName.toLowerCase();if(nodeName==="object"){dest.outerHTML=src.outerHTML;}else if(nodeName==="input"&&(src.type==="checkbox"||src.type==="radio")){if(src.checked){dest.defaultChecked=dest.checked=src.checked;}
if(dest.value!==src.value){dest.value=src.value;}}else if(nodeName==="option"){dest.selected=src.defaultSelected;}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue;}
dest.removeAttribute(jQuery.expando);}
jQuery.buildFragment=function(args,nodes,scripts){var fragment,cacheable,cacheresults,doc=(nodes&&nodes[0]?nodes[0].ownerDocument||nodes[0]:document);if(args.length===1&&typeof args[0]==="string"&&args[0].length<512&&doc===document&&args[0].charAt(0)==="<"&&!rnocache.test(args[0])&&(jQuery.support.checkClone||!rchecked.test(args[0]))){cacheable=true;cacheresults=jQuery.fragments[args[0]];if(cacheresults&&cacheresults!==1){fragment=cacheresults;}}
if(!fragment){fragment=doc.createDocumentFragment();jQuery.clean(args,doc,fragment,scripts);}
if(cacheable){jQuery.fragments[args[0]]=cacheresults?fragment:1;}
return{fragment:fragment,cacheable:cacheable};};jQuery.fragments={};jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector),parent=this.length===1&&this[0].parentNode;if(parent&&parent.nodeType===11&&parent.childNodes.length===1&&insert.length===1){insert[original](this[0]);return this;}else{for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery(insert[i])[original](elems);ret=ret.concat(elems);}
return this.pushStack(ret,name,insert.selector);}};});function getAll(elem){if("getElementsByTagName"in elem){return elem.getElementsByTagName("*");}else if("querySelectorAll"in elem){return elem.querySelectorAll("*");}else{return[];}}
function fixDefaultChecked(elem){if(elem.type==="checkbox"||elem.type==="radio"){elem.defaultChecked=elem.checked;}}
function findInputs(elem){if(jQuery.nodeName(elem,"input")){fixDefaultChecked(elem);}else if(elem.getElementsByTagName){jQuery.grep(elem.getElementsByTagName("input"),fixDefaultChecked);}}
jQuery.extend({clone:function(elem,dataAndEvents,deepDataAndEvents){var clone=elem.cloneNode(true),srcElements,destElements,i;if((!jQuery.support.noCloneEvent||!jQuery.support.noCloneChecked)&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){cloneFixAttributes(elem,clone);srcElements=getAll(elem);destElements=getAll(clone);for(i=0;srcElements[i];++i){cloneFixAttributes(srcElements[i],destElements[i]);}}
if(dataAndEvents){cloneCopyEvent(elem,clone);if(deepDataAndEvents){srcElements=getAll(elem);destElements=getAll(clone);for(i=0;srcElements[i];++i){cloneCopyEvent(srcElements[i],destElements[i]);}}}
return clone;},clean:function(elems,context,fragment,scripts){var checkScriptType;context=context||document;if(typeof context.createElement==="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;}
var ret=[],j;for(var i=0,elem;(elem=elems[i])!=null;i++){if(typeof elem==="number"){elem+="";}
if(!elem){continue;}
if(typeof elem==="string"){if(!rhtml.test(elem)){elem=context.createTextNode(elem);}else{elem=elem.replace(rxhtmlTag,"<$1></$2>");var tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,depth=wrap[0],div=context.createElement("div");div.innerHTML=wrap[1]+elem+wrap[2];while(depth--){div=div.lastChild;}
if(!jQuery.support.tbody){var hasBody=rtbody.test(elem),tbody=tag==="table"&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]==="<table>"&&!hasBody?div.childNodes:[];for(j=tbody.length-1;j>=0;--j){if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){tbody[j].parentNode.removeChild(tbody[j]);}}}
if(!jQuery.support.leadingWhitespace&&rleadingWhitespace.test(elem)){div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[0]),div.firstChild);}
elem=div.childNodes;}}
var len;if(!jQuery.support.appendChecked){if(elem[0]&&typeof(len=elem.length)==="number"){for(j=0;j<len;j++){findInputs(elem[j]);}}else{findInputs(elem);}}
if(elem.nodeType){ret.push(elem);}else{ret=jQuery.merge(ret,elem);}}
if(fragment){checkScriptType=function(elem){return!elem.type||rscriptType.test(elem.type);};for(i=0;ret[i];i++){if(scripts&&jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1){var jsTags=jQuery.grep(ret[i].getElementsByTagName("script"),checkScriptType);ret.splice.apply(ret,[i+1,0].concat(jsTags));}
fragment.appendChild(ret[i]);}}}
return ret;},cleanData:function(elems){var data,id,cache=jQuery.cache,internalKey=jQuery.expando,special=jQuery.event.special,deleteExpando=jQuery.support.deleteExpando;for(var i=0,elem;(elem=elems[i])!=null;i++){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]){continue;}
id=elem[jQuery.expando];if(id){data=cache[id]&&cache[id][internalKey];if(data&&data.events){for(var type in data.events){if(special[type]){jQuery.event.remove(elem,type);}else{jQuery.removeEvent(elem,type,data.handle);}}
if(data.handle){data.handle.elem=null;}}
if(deleteExpando){delete elem[jQuery.expando];}else if(elem.removeAttribute){elem.removeAttribute(jQuery.expando);}
delete cache[id];}}}});function evalScript(i,elem){if(elem.src){jQuery.ajax({url:elem.src,async:false,dataType:"script"});}else{jQuery.globalEval((elem.text||elem.textContent||elem.innerHTML||"").replace(rcleanScript,"/*$0*/"));}
if(elem.parentNode){elem.parentNode.removeChild(elem);}}
var ralpha=/alpha\([^)]*\)/i,ropacity=/opacity=([^)]*)/,rdashAlpha=/-([a-z])/ig,rupper=/([A-Z]|^ms)/g,rnumpx=/^-?\d+(?:px)?$/i,rnum=/^-?\d/,rrelNum=/^[+\-]=/,rrelNumFilter=/[^+\-\.\de]+/g,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssWidth=["Left","Right"],cssHeight=["Top","Bottom"],curCSS,getComputedStyle,currentStyle,fcamelCase=function(all,letter){return letter.toUpperCase();};jQuery.fn.css=function(name,value){if(arguments.length===2&&value===undefined){return this;}
return jQuery.access(this,name,value,true,function(elem,name,value){return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name);});};jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity","opacity");return ret===""?"1":ret;}else{return elem.style.opacity;}}}},cssNumber:{"zIndex":true,"fontWeight":true,"opacity":true,"zoom":true,"lineHeight":true,"widows":true,"orphans":true},cssProps:{"float":jQuery.support.cssFloat?"cssFloat":"styleFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return;}
var ret,type,origName=jQuery.camelCase(name),style=elem.style,hooks=jQuery.cssHooks[origName];name=jQuery.cssProps[origName]||origName;if(value!==undefined){type=typeof value;if(type==="number"&&isNaN(value)||value==null){return;}
if(type==="string"&&rrelNum.test(value)){value=+value.replace(rrelNumFilter,"")+parseFloat(jQuery.css(elem,name));}
if(type==="number"&&!jQuery.cssNumber[origName]){value+="px";}
if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value))!==undefined){try{style[name]=value;}catch(e){}}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret;}
return style[name];}},css:function(elem,name,extra){var ret,hooks;name=jQuery.camelCase(name);hooks=jQuery.cssHooks[name];name=jQuery.cssProps[name]||name;if(name==="cssFloat"){name="float";}
if(hooks&&"get"in hooks&&(ret=hooks.get(elem,true,extra))!==undefined){return ret;}else if(curCSS){return curCSS(elem,name);}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
callback.call(elem);for(name in options){elem.style[name]=old[name];}},camelCase:function(string){return string.replace(rdashAlpha,fcamelCase);}});jQuery.curCSS=jQuery.css;jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){var val;if(computed){if(elem.offsetWidth!==0){val=getWH(elem,name,extra);}else{jQuery.swap(elem,cssShow,function(){val=getWH(elem,name,extra);});}
if(val<=0){val=curCSS(elem,name,name);if(val==="0px"&&currentStyle){val=currentStyle(elem,name,name);}
if(val!=null){return val===""||val==="auto"?"0px":val;}}
if(val<0||val==null){val=elem.style[name];return val===""||val==="auto"?"0px":val;}
return typeof val==="string"?val:val+"px";}},set:function(elem,value){if(rnumpx.test(value)){value=parseFloat(value);if(value>=0){return value+"px";}}else{return value;}}};});if(!jQuery.support.opacity){jQuery.cssHooks.opacity={get:function(elem,computed){return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":computed?"1":"";},set:function(elem,value){var style=elem.style,currentStyle=elem.currentStyle;style.zoom=1;var opacity=jQuery.isNaN(value)?"":"alpha(opacity="+value*100+")",filter=currentStyle&&currentStyle.filter||style.filter||"";style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):filter+" "+opacity;}};}
jQuery(function(){if(!jQuery.support.reliableMarginRight){jQuery.cssHooks.marginRight={get:function(elem,computed){var ret;jQuery.swap(elem,{"display":"inline-block"},function(){if(computed){ret=curCSS(elem,"margin-right","marginRight");}else{ret=elem.style.marginRight;}});return ret;}};}});if(document.defaultView&&document.defaultView.getComputedStyle){getComputedStyle=function(elem,name){var ret,defaultView,computedStyle;name=name.replace(rupper,"-$1").toLowerCase();if(!(defaultView=elem.ownerDocument.defaultView)){return undefined;}
if((computedStyle=defaultView.getComputedStyle(elem,null))){ret=computedStyle.getPropertyValue(name);if(ret===""&&!jQuery.contains(elem.ownerDocument.documentElement,elem)){ret=jQuery.style(elem,name);}}
return ret;};}
if(document.documentElement.currentStyle){currentStyle=function(elem,name){var left,ret=elem.currentStyle&&elem.currentStyle[name],rsLeft=elem.runtimeStyle&&elem.runtimeStyle[name],style=elem.style;if(!rnumpx.test(ret)&&rnum.test(ret)){left=style.left;if(rsLeft){elem.runtimeStyle.left=elem.currentStyle.left;}
style.left=name==="fontSize"?"1em":(ret||0);ret=style.pixelLeft+"px";style.left=left;if(rsLeft){elem.runtimeStyle.left=rsLeft;}}
return ret===""?"auto":ret;};}
curCSS=getComputedStyle||currentStyle;function getWH(elem,name,extra){var which=name==="width"?cssWidth:cssHeight,val=name==="width"?elem.offsetWidth:elem.offsetHeight;if(extra==="border"){return val;}
jQuery.each(which,function(){if(!extra){val-=parseFloat(jQuery.css(elem,"padding"+this))||0;}
if(extra==="margin"){val+=parseFloat(jQuery.css(elem,"margin"+this))||0;}else{val-=parseFloat(jQuery.css(elem,"border"+this+"Width"))||0;}});return val;}
if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.hidden=function(elem){var width=elem.offsetWidth,height=elem.offsetHeight;return(width===0&&height===0)||(!jQuery.support.reliableHiddenOffsets&&(elem.style.display||jQuery.css(elem,"display"))==="none");};jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem);};}
var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rhash=/#.*$/,rheaders=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,rinput=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,rlocalProtocol=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rquery=/\?/,rscript=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,rselectTextarea=/^(?:select|textarea)/i,rspacesAjax=/\s+/,rts=/([?&])_=[^&]*/,rurl=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,_load=jQuery.fn.load,prefilters={},transports={},ajaxLocation,ajaxLocParts;try{ajaxLocation=location.href;}catch(e){ajaxLocation=document.createElement("a");ajaxLocation.href="";ajaxLocation=ajaxLocation.href;}
ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[];function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*";}
if(jQuery.isFunction(func)){var dataTypes=dataTypeExpression.toLowerCase().split(rspacesAjax),i=0,length=dataTypes.length,dataType,list,placeBefore;for(;i<length;i++){dataType=dataTypes[i];placeBefore=/^\+/.test(dataType);if(placeBefore){dataType=dataType.substr(1)||"*";}
list=structure[dataType]=structure[dataType]||[];list[placeBefore?"unshift":"push"](func);}}};}
function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,dataType,inspected){dataType=dataType||options.dataTypes[0];inspected=inspected||{};inspected[dataType]=true;var list=structure[dataType],i=0,length=list?list.length:0,executeOnly=(structure===prefilters),selection;for(;i<length&&(executeOnly||!selection);i++){selection=list[i](options,originalOptions,jqXHR);if(typeof selection==="string"){if(!executeOnly||inspected[selection]){selection=undefined;}else{options.dataTypes.unshift(selection);selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,selection,inspected);}}}
if((executeOnly||!selection)&&!inspected["*"]){selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,"*",inspected);}
return selection;}
jQuery.fn.extend({load:function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments);}else if(!this.length){return this;}
var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
var type="GET";if(params){if(jQuery.isFunction(params)){callback=params;params=undefined;}else if(typeof params==="object"){params=jQuery.param(params,jQuery.ajaxSettings.traditional);type="POST";}}
var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(jqXHR,status,responseText){responseText=jqXHR.responseText;if(jqXHR.isResolved()){jqXHR.done(function(r){responseText=r;});self.html(selector?jQuery("<div>").append(responseText.replace(rscript,"")).find(selector):responseText);}
if(callback){self.each(callback,[responseText,status,jqXHR]);}}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||rselectTextarea.test(this.nodeName)||rinput.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val.replace(rCRLF,"\r\n")};}):{name:elem.name,value:val.replace(rCRLF,"\r\n")};}).get();}});jQuery.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined;}
return jQuery.ajax({type:method,url:url,data:data,success:callback,dataType:type});};});jQuery.extend({getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},ajaxSetup:function(target,settings){if(!settings){settings=target;target=jQuery.extend(true,jQuery.ajaxSettings,settings);}else{jQuery.extend(true,target,jQuery.ajaxSettings,settings);}
for(var field in{context:1,url:1}){if(field in settings){target[field]=settings[field];}else if(field in jQuery.ajaxSettings){target[field]=jQuery.ajaxSettings[field];}}
return target;},ajaxSettings:{url:ajaxLocation,isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":window.String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML}},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined;}
options=options||{};var
s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=callbackContext!==s&&(callbackContext.nodeType||callbackContext instanceof jQuery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery._Deferred(),statusCode=s.statusCode||{},ifModifiedKey,requestHeaders={},requestHeadersNames={},responseHeadersString,responseHeaders,transport,timeoutTimer,parts,state=0,fireGlobals,i,jqXHR={readyState:0,setRequestHeader:function(name,value){if(!state){var lname=name.toLowerCase();name=requestHeadersNames[lname]=requestHeadersNames[lname]||name;requestHeaders[name]=value;}
return this;},getAllResponseHeaders:function(){return state===2?responseHeadersString:null;},getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while((match=rheaders.exec(responseHeadersString))){responseHeaders[match[1].toLowerCase()]=match[2];}}
match=responseHeaders[key.toLowerCase()];}
return match===undefined?null:match;},overrideMimeType:function(type){if(!state){s.mimeType=type;}
return this;},abort:function(statusText){statusText=statusText||"abort";if(transport){transport.abort(statusText);}
done(0,statusText);return this;}};function done(status,statusText,responses,headers){if(state===2){return;}
state=2;if(timeoutTimer){clearTimeout(timeoutTimer);}
transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status?4:0;var isSuccess,success,error,response=responses?ajaxHandleResponses(s,jqXHR,responses):undefined,lastModified,etag;if(status>=200&&status<300||status===304){if(s.ifModified){if((lastModified=jqXHR.getResponseHeader("Last-Modified"))){jQuery.lastModified[ifModifiedKey]=lastModified;}
if((etag=jqXHR.getResponseHeader("Etag"))){jQuery.etag[ifModifiedKey]=etag;}}
if(status===304){statusText="notmodified";isSuccess=true;}else{try{success=ajaxConvert(s,response);statusText="success";isSuccess=true;}catch(e){statusText="parsererror";error=e;}}}else{error=statusText;if(!statusText||status){statusText="error";if(status<0){status=0;}}}
jqXHR.status=status;jqXHR.statusText=statusText;if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);}
jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger("ajax"+(isSuccess?"Success":"Error"),[jqXHR,s,isSuccess?success:error]);}
completeDeferred.resolveWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!(--jQuery.active)){jQuery.event.trigger("ajaxStop");}}}
deferred.promise(jqXHR);jqXHR.success=jqXHR.done;jqXHR.error=jqXHR.fail;jqXHR.complete=completeDeferred.done;jqXHR.statusCode=function(map){if(map){var tmp;if(state<2){for(tmp in map){statusCode[tmp]=[statusCode[tmp],map[tmp]];}}else{tmp=map[jqXHR.status];jqXHR.then(tmp,tmp);}}
return this;};s.url=((url||s.url)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//");s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().split(rspacesAjax);if(s.crossDomain==null){parts=rurl.exec(s.url.toLowerCase());s.crossDomain=!!(parts&&(parts[1]!=ajaxLocParts[1]||parts[2]!=ajaxLocParts[2]||(parts[3]||(parts[1]==="http:"?80:443))!=(ajaxLocParts[3]||(ajaxLocParts[1]==="http:"?80:443))));}
if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional);}
inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(state===2){return false;}
fireGlobals=s.global;s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart");}
if(!s.hasContent){if(s.data){s.url+=(rquery.test(s.url)?"&":"?")+s.data;}
ifModifiedKey=s.url;if(s.cache===false){var ts=jQuery.now(),ret=s.url.replace(rts,"$1_="+ts);s.url=ret+((ret===s.url)?(rquery.test(s.url)?"&":"?")+"_="+ts:"");}}
if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType);}
if(s.ifModified){ifModifiedKey=ifModifiedKey||s.url;if(jQuery.lastModified[ifModifiedKey]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[ifModifiedKey]);}
if(jQuery.etag[ifModifiedKey]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[ifModifiedKey]);}}
jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", */*; q=0.01":""):s.accepts["*"]);for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i]);}
if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||state===2)){jqXHR.abort();return false;}
for(i in{success:1,error:1,complete:1}){jqXHR[i](s[i]);}
transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport");}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s]);}
if(s.async&&s.timeout>0){timeoutTimer=setTimeout(function(){jqXHR.abort("timeout");},s.timeout);}
try{state=1;transport.send(requestHeaders,done);}catch(e){if(status<2){done(-1,e);}else{jQuery.error(e);}}}
return jqXHR;},param:function(a,traditional){var s=[],add=function(key,value){value=jQuery.isFunction(value)?value():value;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value);};if(traditional===undefined){traditional=jQuery.ajaxSettings.traditional;}
if(jQuery.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){jQuery.each(a,function(){add(this.name,this.value);});}else{for(var prefix in a){buildParams(prefix,a[prefix],traditional,add);}}
return s.join("&").replace(r20,"+");}});function buildParams(prefix,obj,traditional,add){if(jQuery.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v);}else{buildParams(prefix+"["+(typeof v==="object"||jQuery.isArray(v)?i:"")+"]",v,traditional,add);}});}else if(!traditional&&obj!=null&&typeof obj==="object"){for(var name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add);}}else{add(prefix,obj);}}
jQuery.extend({active:0,lastModified:{},etag:{}});function ajaxHandleResponses(s,jqXHR,responses){var contents=s.contents,dataTypes=s.dataTypes,responseFields=s.responseFields,ct,type,finalDataType,firstDataType;for(type in responseFields){if(type in responses){jqXHR[responseFields[type]]=responses[type];}}
while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("content-type");}}
if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break;}}}
if(dataTypes[0]in responses){finalDataType=dataTypes[0];}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break;}
if(!firstDataType){firstDataType=type;}}
finalDataType=finalDataType||firstDataType;}
if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType);}
return responses[finalDataType];}}
function ajaxConvert(s,response){if(s.dataFilter){response=s.dataFilter(response,s.dataType);}
var dataTypes=s.dataTypes,converters={},i,key,length=dataTypes.length,tmp,current=dataTypes[0],prev,conversion,conv,conv1,conv2;for(i=1;i<length;i++){if(i===1){for(key in s.converters){if(typeof key==="string"){converters[key.toLowerCase()]=s.converters[key];}}}
prev=current;current=dataTypes[i];if(current==="*"){current=prev;}else if(prev!=="*"&&prev!==current){conversion=prev+" "+current;conv=converters[conversion]||converters["* "+current];if(!conv){conv2=undefined;for(conv1 in converters){tmp=conv1.split(" ");if(tmp[0]===prev||tmp[0]==="*"){conv2=converters[tmp[1]+" "+current];if(conv2){conv1=converters[conv1];if(conv1===true){conv=conv2;}else if(conv2===true){conv=conv1;}
break;}}}}
if(!(conv||conv2)){jQuery.error("No conversion from "+conversion.replace(" "," to "));}
if(conv!==true){response=conv?conv(response):conv2(conv1(response));}}}
return response;}
var jsc=jQuery.now(),jsre=/(\=)\?(&|$)|\?\?/i;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return jQuery.expando+"_"+(jsc++);}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var inspectData=s.contentType==="application/x-www-form-urlencoded"&&(typeof s.data==="string");if(s.dataTypes[0]==="jsonp"||s.jsonp!==false&&(jsre.test(s.url)||inspectData&&jsre.test(s.data))){var responseContainer,jsonpCallback=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,previous=window[jsonpCallback],url=s.url,data=s.data,replace="$1"+jsonpCallback+"$2";if(s.jsonp!==false){url=url.replace(jsre,replace);if(s.url===url){if(inspectData){data=data.replace(jsre,replace);}
if(s.data===data){url+=(/\?/.test(url)?"&":"?")+s.jsonp+"="+jsonpCallback;}}}
s.url=url;s.data=data;window[jsonpCallback]=function(response){responseContainer=[response];};jqXHR.always(function(){window[jsonpCallback]=previous;if(responseContainer&&jQuery.isFunction(previous)){window[jsonpCallback](responseContainer[0]);}});s.converters["script json"]=function(){if(!responseContainer){jQuery.error(jsonpCallback+" was not called");}
return responseContainer[0];};s.dataTypes[0]="json";return"script";}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(text){jQuery.globalEval(text);return text;}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false;}
if(s.crossDomain){s.type="GET";s.global=false;}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,head=document.head||document.getElementsByTagName("head")[0]||document.documentElement;return{send:function(_,callback){script=document.createElement("script");script.async="async";if(s.scriptCharset){script.charset=s.scriptCharset;}
script.src=s.url;script.onload=script.onreadystatechange=function(_,isAbort){if(isAbort||!script.readyState||/loaded|complete/.test(script.readyState)){script.onload=script.onreadystatechange=null;if(head&&script.parentNode){head.removeChild(script);}
script=undefined;if(!isAbort){callback(200,"success");}}};head.insertBefore(script,head.firstChild);},abort:function(){if(script){script.onload(0,1);}}};}});var
xhrOnUnloadAbort=window.ActiveXObject?function(){for(var key in xhrCallbacks){xhrCallbacks[key](0,1);}}:false,xhrId=0,xhrCallbacks;function createStandardXHR(){try{return new window.XMLHttpRequest();}catch(e){}}
function createActiveXHR(){try{return new window.ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}
jQuery.ajaxSettings.xhr=window.ActiveXObject?function(){return!this.isLocal&&createStandardXHR()||createActiveXHR();}:createStandardXHR;(function(xhr){jQuery.extend(jQuery.support,{ajax:!!xhr,cors:!!xhr&&("withCredentials"in xhr)});})(jQuery.ajaxSettings.xhr());if(jQuery.support.ajax){jQuery.ajaxTransport(function(s){if(!s.crossDomain||jQuery.support.cors){var callback;return{send:function(headers,complete){var xhr=s.xhr(),handle,i;if(s.username){xhr.open(s.type,s.url,s.async,s.username,s.password);}else{xhr.open(s.type,s.url,s.async);}
if(s.xhrFields){for(i in s.xhrFields){xhr[i]=s.xhrFields[i];}}
if(s.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(s.mimeType);}
if(!s.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";}
try{for(i in headers){xhr.setRequestHeader(i,headers[i]);}}catch(_){}
xhr.send((s.hasContent&&s.data)||null);callback=function(_,isAbort){var status,statusText,responseHeaders,responses,xml;try{if(callback&&(isAbort||xhr.readyState===4)){callback=undefined;if(handle){xhr.onreadystatechange=jQuery.noop;if(xhrOnUnloadAbort){delete xhrCallbacks[handle];}}
if(isAbort){if(xhr.readyState!==4){xhr.abort();}}else{status=xhr.status;responseHeaders=xhr.getAllResponseHeaders();responses={};xml=xhr.responseXML;if(xml&&xml.documentElement){responses.xml=xml;}
responses.text=xhr.responseText;try{statusText=xhr.statusText;}catch(e){statusText="";}
if(!status&&s.isLocal&&!s.crossDomain){status=responses.text?200:404;}else if(status===1223){status=204;}}}}catch(firefoxAccessException){if(!isAbort){complete(-1,firefoxAccessException);}}
if(responses){complete(status,statusText,responses,responseHeaders);}};if(!s.async||xhr.readyState===4){callback();}else{handle=++xhrId;if(xhrOnUnloadAbort){if(!xhrCallbacks){xhrCallbacks={};jQuery(window).unload(xhrOnUnloadAbort);}
xhrCallbacks[handle]=callback;}
xhr.onreadystatechange=callback;}},abort:function(){if(callback){callback(0,1);}}};}});}
var elemdisplay={},iframe,iframeDoc,rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],fxNow,requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame;jQuery.fn.extend({show:function(speed,easing,callback){var elem,display;if(speed||speed===0){return this.animate(genFx("show",3),speed,easing,callback);}else{for(var i=0,j=this.length;i<j;i++){elem=this[i];if(elem.style){display=elem.style.display;if(!jQuery._data(elem,"olddisplay")&&display==="none"){display=elem.style.display="";}
if(display===""&&jQuery.css(elem,"display")==="none"){jQuery._data(elem,"olddisplay",defaultDisplay(elem.nodeName));}}}
for(i=0;i<j;i++){elem=this[i];if(elem.style){display=elem.style.display;if(display===""||display==="none"){elem.style.display=jQuery._data(elem,"olddisplay")||"";}}}
return this;}},hide:function(speed,easing,callback){if(speed||speed===0){return this.animate(genFx("hide",3),speed,easing,callback);}else{for(var i=0,j=this.length;i<j;i++){if(this[i].style){var display=jQuery.css(this[i],"display");if(display!=="none"&&!jQuery._data(this[i],"olddisplay")){jQuery._data(this[i],"olddisplay",display);}}}
for(i=0;i<j;i++){if(this[i].style){this[i].style.display="none";}}
return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2,callback){var bool=typeof fn==="boolean";if(jQuery.isFunction(fn)&&jQuery.isFunction(fn2)){this._toggle.apply(this,arguments);}else if(fn==null||bool){this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();});}else{this.animate(genFx("toggle",3),fn,fn2,callback);}
return this;},fadeTo:function(speed,to,easing,callback){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:to},speed,easing,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);if(jQuery.isEmptyObject(prop)){return this.each(optall.complete,[false]);}
prop=jQuery.extend({},prop);return this[optall.queue===false?"each":"queue"](function(){if(optall.queue===false){jQuery._mark(this);}
var opt=jQuery.extend({},optall),isElement=this.nodeType===1,hidden=isElement&&jQuery(this).is(":hidden"),name,val,p,display,e,parts,start,end,unit;opt.animatedProperties={};for(p in prop){name=jQuery.camelCase(p);if(p!==name){prop[name]=prop[p];delete prop[p];}
val=prop[name];if(jQuery.isArray(val)){opt.animatedProperties[name]=val[1];val=prop[name]=val[0];}else{opt.animatedProperties[name]=opt.specialEasing&&opt.specialEasing[name]||opt.easing||'swing';}
if(val==="hide"&&hidden||val==="show"&&!hidden){return opt.complete.call(this);}
if(isElement&&(name==="height"||name==="width")){opt.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(jQuery.css(this,"display")==="inline"&&jQuery.css(this,"float")==="none"){if(!jQuery.support.inlineBlockNeedsLayout){this.style.display="inline-block";}else{display=defaultDisplay(this.nodeName);if(display==="inline"){this.style.display="inline-block";}else{this.style.display="inline";this.style.zoom=1;}}}}}
if(opt.overflow!=null){this.style.overflow="hidden";}
for(p in prop){e=new jQuery.fx(this,opt,p);val=prop[p];if(rfxtypes.test(val)){e[val==="toggle"?hidden?"show":"hide":val]();}else{parts=rfxnum.exec(val);start=e.cur();if(parts){end=parseFloat(parts[2]);unit=parts[3]||(jQuery.cssNumber[p]?"":"px");if(unit!=="px"){jQuery.style(this,p,(end||1)+unit);start=((end||1)/e.cur())*start;jQuery.style(this,p,start+unit);}
if(parts[1]){end=((parts[1]==="-="?-1:1)*end)+start;}
e.custom(start,end,unit);}else{e.custom(start,val,"");}}}
return true;});},stop:function(clearQueue,gotoEnd){if(clearQueue){this.queue([]);}
this.each(function(){var timers=jQuery.timers,i=timers.length;if(!gotoEnd){jQuery._unmark(true,this);}
while(i--){if(timers[i].elem===this){if(gotoEnd){timers[i](true);}
timers.splice(i,1);}}});if(!gotoEnd){this.dequeue();}
return this;}});function createFxNow(){setTimeout(clearFxNow,0);return(fxNow=jQuery.now());}
function clearFxNow(){fxNow=undefined;}
function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(noUnmark){if(opt.queue!==false){jQuery.dequeue(this);}else if(noUnmark!==false){jQuery._unmark(this);}
if(jQuery.isFunction(opt.old)){opt.old.call(this);}};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;options.orig=options.orig||{};}});jQuery.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this);}
(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop];}
var parsed,r=jQuery.css(this.elem,this.prop);return isNaN(parsed=parseFloat(r))?!r||r==="auto"?0:r:parsed;},custom:function(from,to,unit){var self=this,fx=jQuery.fx,raf;this.startTime=fxNow||createFxNow();this.start=from;this.end=to;this.unit=unit||this.unit||(jQuery.cssNumber[this.prop]?"":"px");this.now=this.start;this.pos=this.state=0;function t(gotoEnd){return self.step(gotoEnd);}
t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){if(requestAnimationFrame){timerId=1;raf=function(){if(timerId){requestAnimationFrame(raf);fx.tick();}};requestAnimationFrame(raf);}else{timerId=setInterval(fx.tick,fx.interval);}}},show:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=fxNow||createFxNow(),done=true,elem=this.elem,options=this.options,i,n;if(gotoEnd||t>=options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();options.animatedProperties[this.prop]=true;for(i in options.animatedProperties){if(options.animatedProperties[i]!==true){done=false;}}
if(done){if(options.overflow!=null&&!jQuery.support.shrinkWrapBlocks){jQuery.each(["","X","Y"],function(index,value){elem.style["overflow"+value]=options.overflow[index];});}
if(options.hide){jQuery(elem).hide();}
if(options.hide||options.show){for(var p in options.animatedProperties){jQuery.style(elem,p,options.orig[p]);}}
options.complete.call(elem);}
return false;}else{if(options.duration==Infinity){this.now=t;}else{n=t-this.startTime;this.state=n/options.duration;this.pos=jQuery.easing[options.animatedProperties[this.prop]](this.state,n,0,1,options.duration);this.now=this.start+((this.end-this.start)*this.pos);}
this.update();}
return true;}};jQuery.extend(jQuery.fx,{tick:function(){for(var timers=jQuery.timers,i=0;i<timers.length;++i){if(!timers[i]()){timers.splice(i--,1);}}
if(!timers.length){jQuery.fx.stop();}},interval:13,stop:function(){clearInterval(timerId);timerId=null;},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.style(fx.elem,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null){fx.elem.style[fx.prop]=(fx.prop==="width"||fx.prop==="height"?Math.max(0,fx.now):fx.now)+fx.unit;}else{fx.elem[fx.prop]=fx.now;}}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};}
function defaultDisplay(nodeName){if(!elemdisplay[nodeName]){var elem=jQuery("<"+nodeName+">").appendTo("body"),display=elem.css("display");elem.remove();if(display==="none"||display===""){if(!iframe){iframe=document.createElement("iframe");iframe.frameBorder=iframe.width=iframe.height=0;}
document.body.appendChild(iframe);if(!iframeDoc||!iframe.createElement){iframeDoc=(iframe.contentWindow||iframe.contentDocument).document;iframeDoc.write("<!doctype><html><body></body></html>");}
elem=iframeDoc.createElement(nodeName);iframeDoc.body.appendChild(elem);display=jQuery.css(elem,"display");document.body.removeChild(iframe);}
elemdisplay[nodeName]=display;}
return elemdisplay[nodeName];}
var rtable=/^t(?:able|d|h)$/i,rroot=/^(?:body|html)$/i;if("getBoundingClientRect"in document.documentElement){jQuery.fn.offset=function(options){var elem=this[0],box;if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i);});}
if(!elem||!elem.ownerDocument){return null;}
if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem);}
try{box=elem.getBoundingClientRect();}catch(e){}
var doc=elem.ownerDocument,docElem=doc.documentElement;if(!box||!jQuery.contains(docElem,elem)){return box?{top:box.top,left:box.left}:{top:0,left:0};}
var body=doc.body,win=getWindow(doc),clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,scrollTop=win.pageYOffset||jQuery.support.boxModel&&docElem.scrollTop||body.scrollTop,scrollLeft=win.pageXOffset||jQuery.support.boxModel&&docElem.scrollLeft||body.scrollLeft,top=box.top+scrollTop-clientTop,left=box.left+scrollLeft-clientLeft;return{top:top,left:left};};}else{jQuery.fn.offset=function(options){var elem=this[0];if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i);});}
if(!elem||!elem.ownerDocument){return null;}
if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem);}
jQuery.offset.initialize();var computedStyle,offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle,top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){break;}
computedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle;top-=elem.scrollTop;left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop;left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&rtable.test(elem.nodeName))){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0;}
prevOffsetParent=offsetParent;offsetParent=elem.offsetParent;}
if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible"){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0;}
prevComputedStyle=computedStyle;}
if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static"){top+=body.offsetTop;left+=body.offsetLeft;}
if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){top+=Math.max(docElem.scrollTop,body.scrollTop);left+=Math.max(docElem.scrollLeft,body.scrollLeft);}
return{top:top,left:left};};}
jQuery.offset={initialize:function(){var body=document.body,container=document.createElement("div"),innerDiv,checkDiv,table,td,bodyMarginTop=parseFloat(jQuery.css(body,"marginTop"))||0,html="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";jQuery.extend(container.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild;checkDiv=innerDiv.firstChild;td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);checkDiv.style.position="fixed";checkDiv.style.top="20px";this.supportsFixedPosition=(checkDiv.offsetTop===20||checkDiv.offsetTop===15);checkDiv.style.position=checkDiv.style.top="";innerDiv.style.overflow="hidden";innerDiv.style.position="relative";this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);this.doesNotIncludeMarginInBodyOffset=(body.offsetTop!==bodyMarginTop);body.removeChild(container);jQuery.offset.initialize=jQuery.noop;},bodyOffset:function(body){var top=body.offsetTop,left=body.offsetLeft;jQuery.offset.initialize();if(jQuery.offset.doesNotIncludeMarginInBodyOffset){top+=parseFloat(jQuery.css(body,"marginTop"))||0;left+=parseFloat(jQuery.css(body,"marginLeft"))||0;}
return{top:top,left:left};},setOffset:function(elem,options,i){var position=jQuery.css(elem,"position");if(position==="static"){elem.style.position="relative";}
var curElem=jQuery(elem),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=(position==="absolute"||position==="fixed")&&jQuery.inArray("auto",[curCSSTop,curCSSLeft])>-1,props={},curPosition={},curTop,curLeft;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left;}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0;}
if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset);}
if(options.top!=null){props.top=(options.top-curOffset.top)+curTop;}
if(options.left!=null){props.left=(options.left-curOffset.left)+curLeft;}
if("using"in options){options.using.call(elem,props);}else{curElem.css(props);}}};jQuery.fn.extend({position:function(){if(!this[0]){return null;}
var elem=this[0],offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=rroot.test(offsetParent[0].nodeName)?{top:0,left:0}:offsetParent.offset();offset.top-=parseFloat(jQuery.css(elem,"marginTop"))||0;offset.left-=parseFloat(jQuery.css(elem,"marginLeft"))||0;parentOffset.top+=parseFloat(jQuery.css(offsetParent[0],"borderTopWidth"))||0;parentOffset.left+=parseFloat(jQuery.css(offsetParent[0],"borderLeftWidth"))||0;return{top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||document.body;while(offsetParent&&(!rroot.test(offsetParent.nodeName)&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent;}
return offsetParent;});}});jQuery.each(["Left","Top"],function(i,name){var method="scroll"+name;jQuery.fn[method]=function(val){var elem,win;if(val===undefined){elem=this[0];if(!elem){return null;}
win=getWindow(elem);return win?("pageXOffset"in win)?win[i?"pageYOffset":"pageXOffset"]:jQuery.support.boxModel&&win.document.documentElement[method]||win.document.body[method]:elem[method];}
return this.each(function(){win=getWindow(this);if(win){win.scrollTo(!i?val:jQuery(win).scrollLeft(),i?val:jQuery(win).scrollTop());}else{this[method]=val;}});};});function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9?elem.defaultView||elem.parentWindow:false;}
jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?parseFloat(jQuery.css(this[0],type,"padding")):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?parseFloat(jQuery.css(this[0],type,margin?"margin":"border")):null;};jQuery.fn[type]=function(size){var elem=this[0];if(!elem){return size==null?null:this;}
if(jQuery.isFunction(size)){return this.each(function(i){var self=jQuery(this);self[type](size.call(this,i,self[type]()));});}
if(jQuery.isWindow(elem)){var docElemProp=elem.document.documentElement["client"+name];return elem.document.compatMode==="CSS1Compat"&&docElemProp||elem.document.body["client"+name]||docElemProp;}else if(elem.nodeType===9){return Math.max(elem.documentElement["client"+name],elem.body["scroll"+name],elem.documentElement["scroll"+name],elem.body["offset"+name],elem.documentElement["offset"+name]);}else if(size===undefined){var orig=jQuery.css(elem,type),ret=parseFloat(orig);return jQuery.isNaN(ret)?orig:ret;}else{return this.css(type,typeof size==="string"?size:size+"px");}};});window.jQuery=window.$=jQuery;})(window);jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};(function(){var _after=1;var _afterThrow=2;var _afterFinally=3;var _before=4;var _around=5;var _intro=6;var _regexEnabled=true;var _arguments='arguments';var _undef='undefined';var getType=(function(){var toString=Object.prototype.toString,toStrings={},nodeTypes={1:'element',3:'textnode',9:'document',11:'fragment'},types='Arguments Array Boolean Date Document Element Error Fragment Function NodeList Null Number Object RegExp String TextNode Undefined Window'.split(' ');for(var i=types.length;i--;){var type=types[i],constructor=window[type];if(constructor){try{toStrings[toString.call(new constructor)]=type.toLowerCase();}
catch(e){}}}
return function(item){return item==null&&(item===undefined?_undef:'null')||item.nodeType&&nodeTypes[item.nodeType]||typeof item.length=='number'&&(item.callee&&_arguments||item.alert&&'window'||item.item&&'nodelist')||toStrings[toString.call(item)];};})();var isFunc=function(obj){return getType(obj)=='function';};var weaveOne=function(source,method,advice){var old=source[method];if(advice.type!=_intro&&!isFunc(old)){var oldObject=old;old=function(){var code=arguments.length>0?_arguments+'[0]':'';for(var i=1;i<arguments.length;i++){code+=','+_arguments+'['+i+']';}
return eval('oldObject('+code+');');};}
var aspect;if(advice.type==_after||advice.type==_afterThrow||advice.type==_afterFinally)
aspect=function(){var returnValue,exceptionThrown=null;try{returnValue=old.apply(this,arguments);}catch(e){exceptionThrown=e;}
if(advice.type==_after)
if(exceptionThrown==null)
returnValue=advice.value.apply(this,[returnValue,method]);else
throw exceptionThrown;else if(advice.type==_afterThrow&&exceptionThrown!=null)
returnValue=advice.value.apply(this,[exceptionThrown,method]);else if(advice.type==_afterFinally)
returnValue=advice.value.apply(this,[returnValue,exceptionThrown,method]);return returnValue;};else if(advice.type==_before)
aspect=function(){advice.value.apply(this,[arguments,method]);return old.apply(this,arguments);};else if(advice.type==_intro)
aspect=function(){return advice.value.apply(this,arguments);};else if(advice.type==_around){aspect=function(){var invocation={object:this,args:Array.prototype.slice.call(arguments)};return advice.value.apply(invocation.object,[{arguments:invocation.args,method:method,proceed:function(){return old.apply(invocation.object,invocation.args);}}]);};}
aspect.unweave=function(){source[method]=old;pointcut=source=aspect=old=null;};source[method]=aspect;return aspect;};var search=function(source,pointcut,advice){var methods=[];for(var method in source){var item=null;try{item=source[method];}
catch(e){}
if(item!=null&&method.match(pointcut.method)&&isFunc(item))
methods[methods.length]={source:source,method:method,advice:advice};}
return methods;};var weave=function(pointcut,advice){var source=typeof(pointcut.target.prototype)!=_undef?pointcut.target.prototype:pointcut.target;var advices=[];if(advice.type!=_intro&&typeof(source[pointcut.method])==_undef){var methods=search(pointcut.target,pointcut,advice);if(methods.length==0)
methods=search(source,pointcut,advice);for(var i=0;i<methods.length;i++)
advices[advices.length]=weaveOne(methods[i].source,methods[i].method,methods[i].advice);}
else
{advices[0]=weaveOne(source,pointcut.method,advice);}
return _regexEnabled?advices:advices[0];};jQuery.aop={after:function(pointcut,advice)
{return weave(pointcut,{type:_after,value:advice});},afterThrow:function(pointcut,advice)
{return weave(pointcut,{type:_afterThrow,value:advice});},afterFinally:function(pointcut,advice)
{return weave(pointcut,{type:_afterFinally,value:advice});},before:function(pointcut,advice)
{return weave(pointcut,{type:_before,value:advice});},around:function(pointcut,advice)
{return weave(pointcut,{type:_around,value:advice});},introduction:function(pointcut,advice)
{return weave(pointcut,{type:_intro,value:advice});},setup:function(settings)
{_regexEnabled=settings.regexMatch;}};})();
var FT=FT||{};FT.Properties=FT.Properties||{};FT.Properties.extend=function(opts){for(var o in opts){this[o]=opts[o];}};FT.Properties.extend({APP:"global",ENV:"local",BCReadAPIToken:"JPqBh6fm9xN8DI8Fx-r4q3UKCW2My5bxA6_zDYKIUZzODRDB3wZIFg..",CM_REQUEST_HTML_PATH:"/m/html/cm_request.htm",CORPORATE_BARRIER_BASE:"http://0-www.ft.com.innopac.up.ac.za/m/registration.ft.com/corporate/ns/cb/",CORPORATE_AMO_BASE:"http://0-dev.media.ft.com.innopac.up.ac.za/m/registration.ft.com/corporate/ns/amo/"});FT.Properties.extend({Bitly:{login:'ftshare',baseURl:'http://api.bitly.com/v3/',apiKey:'R_2b14237f91d76519080dd5c0faf84cb7'}});FT.Properties.extend({TIMEOUT:{COMPONENT_PUBLISH_MULTIPLIER:10000,COMPONENT_SAVE_MULTIPLIER:10000,PAGE_PUBLISH:300000,PAGE_UNPUBLISH:90000,PAGE_LONG_AJAX_TIMEOUT:600000,AJAX_DEFAULT_TIMEOUT:30000,LIGHTBOX_AUTOMATION_SETTINGS:10000,LIGHTBOX_PROMOTE_TIMEOUT:90000,SEARCH_RESULTS_STATUS_POLL_INTERVAL:30000,TOOLBOX_SEARCH:90000}});FT.Properties.extend({TagContainer:{url:"//s4.test.media.ft.com/opentag/opentag-27295-31201.js",fallbackUrl:"//d3c3cq33003psk.cloudfront.net/opentag-27295-31201.js",loaded:false}});
FT.Properties.extend({ENV:"p",BCReadAPIToken:"8LjOvl7btdZiTFL3E5a3gPq9uLBIDGp7qTnXnHM0mQ5G_Tjp2GIPfQ..",SCRIPT_BASE:"http://0-s2.media.ft.com.innopac.up.ac.za/m/js/",IMG_BASE:"http://0-im.media.ft.com.innopac.up.ac.za/m/img/",CORPORATE_BARRIER_BASE:"http://0-www.ft.com.innopac.up.ac.za/m/registration.ft.com/corporate/ns/cb/",CORPORATE_AMO_BASE:"http://0-s2.media.ft.com.innopac.up.ac.za/m/registration.ft.com/corporate/ns/amo/",ASSANKA_ANNOTATION_HOST:"mbanewslines.ft.com"});FT.Properties.extend({TagContainer:{url:"//s4.media.ft.com/opentag/opentag-27295-31253.js",fallbackUrl:"//d3c3cq33003psk.cloudfront.net/opentag-27295-31253.js",loaded:false}});
$.ajaxSetup({accepts:{scriptTagContainer:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, application/x-javascript"},contents:{scriptTagContainer:/javascript|ecmascript/},converters:{"text scriptTagContainer":function(text){jQuery.globalEval(text);return text;}}});$.ajaxPrefilter("scriptTagContainer",function(s){if(s.cache===undefined){s.cache=false;}
if(s.crossDomain){s.type="GET";s.global=false;}});$.ajaxTransport("scriptTagContainer",function(s){if(s.crossDomain){var script,head=document.head||document.getElementsByTagName("head")[0]||document.documentElement;return{send:function(_,callback){script=document.createElement("script");script.async="async";if(s.scriptCharset){script.charset=s.scriptCharset;}
script.onreadystatechange=function(){if(/complete|loaded/.test(script.readyState)){if(FT.Properties.TagContainer.loaded===true){scriptLoaded();}else{scriptNotLoaded();}}};script.onload=function(){scriptLoaded();}
function scriptLoaded(){script.onload=script.onreadystatechange=null;script=undefined;callback(200,"success");}
script.onerror=function(){scriptNotLoaded();}
function scriptNotLoaded(){script.onerror=script.onreadystatechange=null;if(head&&script.parentNode){head.removeChild(script);}
script=undefined;callback(404,"error");}
script.src=s.url;head.insertBefore(script,head.firstChild);},abort:function(){if(script&&typeof script.onerror=="function"&&typeof script.onreadystatechange=="function"){script.onerror();}}};}});$.ajax({url:FT.Properties.TagContainer.url,dataType:"scriptTagContainer",timeout:3000,crossDomain:true,cache:true,success:function(){},error:function(jqXHR,textStatus,errorThrown){$.ajax({url:FT.Properties.TagContainer.fallbackUrl,dataType:"scriptTagContainer",timeout:5000,crossDomain:true,cache:true,success:function(){},error:function(jqXHR,textStatus,errorThrown){}});}});var FT=FT?FT:{};FT.Render=FT.Render?FT.Render:{};FT.render=FT.render?FT.render:{};FT.wrapper=FT.wrapper||{};FT.Optimost=FT.Optimost||{};var FT=FT||{};FT.lib={type:function(unk){function arrayLike(o){return(typeof o.length==='number'&&!(o.propertyIsEnumerable('length')));}
function type(o){return(Object.prototype.toString.apply(o)).match(/\[object (\w+)\]/)[1].toLowerCase();}
var t=type(unk);return unk===undefined?"undefined":unk===null?"null":t==="object"&&arrayLike(unk)?"arraylike":t==="arguments"?"arraylike":t;},iterator:function(context,f){for(var ct=0;ct<context.length&&f.call(context,context[ct],ct)!==false;ct++){}},index:function(obj,f){for(var key in obj){if(f.call(obj,key,obj[key])===false){break;}}},hash:function(str,delimiter,pairing){var hash={};FT.lib.iterator(str.split(delimiter),function(value){var pair=value.split(pairing);if(pair.length>1){hash[$.trim(pair[0])]=Array.prototype.slice.call(pair,1).join(pairing);}});return hash;},extend:function(){var f=arguments.callee,o={};function second_loop(k,i){var cast=FT.lib.type(i);if(cast==="object"){o[k]=f(i);}else if(cast==="array"||cast==="arraylike"){o[k]=Array.prototype.slice.call(i,0);}else{o[k]=i;}}
function main_loop(item){FT.lib.index(item,second_loop);}
FT.lib.iterator(arguments,main_loop);return o;},hashCookies:function(fakeCookies){FT.cookies=FT.lib.hash(fakeCookies||document.cookie,";","=");return FT.cookies;},hashQueryString:function(fakeQueryString){FT.queryString=FT.lib.hash(fakeQueryString||window.location.search,/[?&]/,"=");return FT.queryString;},isSecure:function(doc){var d=doc||document;return(d.location.protocol=='https:');},writeScript:function(url){if(document.readyState!=="complete"||typeof QUnit==="object"){document.write('<scr'+'ipt src="'+url+'"></scr'+'ipt>');}},clearSelection:function(){if(document.selection&&document.selection.empty){document.selection.empty();}else if(window.getSelection){var sel=window.getSelection();sel.removeAllRanges();}},getFirstLetterNode:function(pnode){for(var i=0;i<pnode.childNodes.length;i++){var node=pnode.childNodes[i];if(node.nodeType==3){if($.trim(node.nodeValue)!=''){if($(node).parents('#storyContent>p').length>0){if($(node).parents('a').length>0){return false;}else{return node;}}
return null;}}else if(node.nodeType==1){var next=FT.lib.getFirstLetterNode(node);if(next!==null){return next;}}}
return null;},separateFirstLetter:function(pnode){if(pnode){var tnode=FT.lib.getFirstLetterNode(pnode);if(tnode){var text=tnode.nodeValue;var components=text.match(/^\s*(\S)(.*)$/);if(/[a-z]/i.test(components[1])){tnode.nodeValue=components[2];tnode.parentNode.insertBefore($('<span class="firstletter">'+components[1]+'</span>')[0],tnode);}}}}};FT.lib.hashCookies();FT.lib.hashQueryString();FT.Render.LoginForm=function(selector){this.el=selector;this.loginCookieName='FT_User';this.rememberCookieName='FT_Remember';this.elLk={};this.elLk.user=$("#ftLogin-user",this.el);this.elLk.loggedIn=$(".ftLogin-loggedIn",this.el);this.elLk.loggedOut=$(".ftLogin-loggedOut",this.el);var email=this.getCookieEmail();if(email){this.elLk.user.html(email);this.elLk.loggedOut.hide();this.elLk.loggedIn.show();}else{this.elLk.user.html('');this.elLk.loggedIn.hide();this.elLk.loggedOut.show();}
if(!FT.isEditor){this.prepareForm();}};FT.Render.LoginForm.prototype.open=function(){if(FT.render&&FT.render.page){FT.render.page.closeAll();}
$(this.el).addClass('open');var myself=this;setTimeout(function(){$(document.body).one("click.LoginForm",function(){myself.close();});},500);};FT.Render.LoginForm.prototype.close=function(){$(this.el).removeClass('open');$(document.body).unbind("click.LoginForm");};FT.Render.LoginForm.prototype.getCookieEmail=function(){var FT_REMEMBER=FT.cookies[this.loginCookieName]||"";var FT_USER=FT.cookies[this.rememberCookieName]||"";var username;if(FT_REMEMBER){username=FT_REMEMBER.match(/:EMAIL=([^:]*)/);}else{username=(FT_USER)?FT_USER.match(/:EMAIL=([^:]*)/):false;}
return username&&username[1]||false;};FT.Render.LoginForm.prototype.prepareForm=function(){var myself=this;$('#ftLogin-box form').prepend('<span class="closeButton" />');$('#ftLogin-signIn',this.el).click(function(e){e.preventDefault();myself.open();});$('.closeButton',this.el).click(function(){myself.close();});$(this.el).click(function(e){e.stopPropagation();});};var FT=FT||{};FT.PreInit=function(){this.distributeNavItems=function(nav){var childNodes=nav.childNodes;var navItems=[];for(var i=0;i<childNodes.length;i++){var node=childNodes[i];if(node.tagName=="LI"&&node.className.indexOf("dummy")<0){navItems.push(node);}}
var numItems=navItems.length;if(numItems>0){var availableWidth=navItems[0].parentNode.offsetWidth;var unpaddedWidth=14;for(var i=0;i<navItems.length;i++){var n=navItems[i];n.style.paddingLeft=0;n.style.paddingRight=0;n.style.marginLeft=0;n.style.marginRight=0;unpaddedWidth+=n.offsetWidth;}
var remainingWidth=availableWidth-unpaddedWidth;var paddingPerItem=Math.floor(remainingWidth/numItems);for(var i=0;i<navItems.length;i++){var n=navItems[i];if(i==0){n.style.paddingLeft="14px";}
n.style.paddingRight=paddingPerItem+"px";var anchors=n.getElementsByTagName("A");for(var a=0;a<anchors.length;a++){var anc=anchors[a];anc.style.visibility="visible";}}}};this.renderWsodMarketsHome=function(url){var urlBits=url.split("?");var urlLocation=urlBits[0];var urlQs="";if(urlBits.length>1){urlQs+="&"+urlBits[1].replace("?","&");}
if(!urlQs.match(/&id=([^&])*/)){urlQs="?id=wsodMarketsHomePlaceholder"+urlQs;}else{urlQs=urlQs.replace("&","?");}
if(!urlQs.match(/edition=([^&])*/)){if(FT.cookies.AYSC){var aysc14=FT.cookies.AYSC.match(/.*_14([^_]*)/)?RegExp.$1:null;var aysc28=FT.cookies.AYSC.match(/.*_28([^_]*)/)?RegExp.$1:null;}
var ayscEdition=aysc28?aysc28:aysc14?(aysc14=="GBR"?"uk":""):"uk";urlQs+="&edition="+ayscEdition;}
var ph=document.getElementById("wsodMarketsHomePlaceholder");if(ph){ph.innerHTML="";}
FT.lib.writeScript(urlLocation+urlQs);};this.removeNojsClassFromBody=function(){$(document.body).removeClass("nojs");};this.addOSClassToBody=function(nav){if(/Mac/.test(nav.platform)&&(/Chrome|Firefox/.test(nav.userAgent)||/Apple/.test(nav.vendor)||window.opera)){$(document.body).addClass("OS_Mac");}};this.addRenderingEngineClassToBody=function(nav){var c="";if(/MSIE/.test(nav.userAgent)){c="trident";}else if(/Gecko\//.test(nav.userAgent)){c="gecko";}else if(/WebKit\//.test(nav.userAgent)){c="webkit";}else if(/Presto\//.test(nav.userAgent)){c="presto";}
if(c){$(document.body).addClass(c);}};this.setBodyClass=function(nav){this.removeNojsClassFromBody();this.addOSClassToBody(nav);this.addRenderingEngineClassToBody(nav);},this.initialiseBrightcove=function(){if(typeof runMobileCompatibilityScript==="function"){runMobileCompatibilityScript('myExperience','anId');}
$.getScript("http://admin.brightcove.com/js/BrightcoveExperiences.js");};this._chain=function(args){return function(){for(var i=0;i<args.length;i++){args[i]();}}};this.addToChain=function(originalFnStr,fn){window[originalFnStr]=typeof(window[originalFnStr])!='function'?fn:this._chain([window[originalFnStr],fn]);};this.loginForm=function(){if($('#ftLogin').length&&!FT.render.loginForm){FT.render.loginForm=new FT.Render.LoginForm('#ftLogin');}}};FT.preInit=new FT.PreInit();FT.Instrumentation=(function(){var myself=this;this.times=new Array();function reportTime(name){myself.times[name]=new Date().getTime();}
function getTimeElapsed(timeName1,timeName2){if(myself.times[timeName1]&&myself.times[timeName2]){return myself.times[timeName2]-myself.times[timeName1];}
return null;}
function getTime(name){if(myself.times[name]){return myself.times[name];}
return null;}
return{reportTime:reportTime,getTimeElapsed:getTimeElapsed,getTime:getTime};})();FT=FT||{};FT.URLHelper=(function(){return{getBaseURL:function(){var url=window.location.toString();url.match(/([^:]*:\/\/)(.*cms\/)/g);return RegExp.$1+RegExp.$2;},getURL:function(controller){var url=this.getBaseURL();return url+controller;},getParam:function(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);if(!results){return"";}
else{return results[1];}}}})();FT.HTMLAds=function(){this.HTMLAdData={'urlStem':'http://0-media.ft.com.innopac.up.ac.za/adimages/banner/','injectionParentDiv':'banlb','injectionLegacyParentDiv':'ad-placeholder-banlb','injectionDiv':'corppop_overlay','injectionClass':'corppop_single_occurence','timeOutCookieName':'FT_AM','timeOutCookieVal':'Check','timeOutCookieLife':'21600000','urlStemClassicAMO':'http://0-media.ft.com.innopac.up.ac.za/m/registration.ft.com/corporate/ns/amo/'};};FT.HTMLAds.prototype.buildAdURL=function(AYSC,regex){var userType='anon/';var fileName='';var urlStemNewAMO;var a=AYSC.match(/(_98)([^_]+)/);var val98='';if(a){val98=a[2];}
var m=AYSC.match(/(_22)([^_]+)/);var val22='';if(m){val22=m[2];}else{userType='anon/';}
var n=AYSC.match(/(_27)([^_]+)/);var val27='';if(n){val27=n[2];}
if((val22.match(regex.cor))||(val22.match(regex.lv1))||(val22.match(regex.lv2))){userType='subscribed/';}else if((val22.match(regex.reg))){userType='registered/';}
if(val98===''||(val98.match(/PVT/))){val27=val27.toUpperCase();fileName=this.HTMLAdData.urlStem+val27+'.js';}
else{if((typeof(FT.Properties.CORPORATE_AMO_BASE)==="undefined")||(FT.Properties.CORPORATE_AMO_BASE==='')){urlStemNewAMO=this.HTMLAdData.urlStemClassicAMO;}
else{urlStemNewAMO=FT.Properties.CORPORATE_AMO_BASE;}
fileName=urlStemNewAMO+userType+val27;}
return fileName;};FT.HTMLAds.prototype.getHTMLAd=function(adType,inj,fileName){var js='<script src="'+fileName+'" type="text/javascript">';js=js+'/* Do not remove comment */';js=js+'</script>';inj.style.display="block";var CorppopDiv=document.getElementById(this.HTMLAdData.injectionDiv);var CorppopDivName=this.HTMLAdData.injectionDiv;if(CorppopDiv===null){CorppopDiv=document.createElement("div");}
CorppopDiv.setAttribute("id",CorppopDivName);CorppopDiv.className=this.HTMLAdData.injectionClass;var Script1=document.createElement('script');Script1.type='text/javascript';Script1.src=fileName;try{inj.appendChild(CorppopDiv);var corppopDivAgain=document.getElementById(CorppopDivName);corppopDivAgain.appendChild(Script1);}catch(er2){clientAds.log(er2);}};FT.HTMLAds.prototype.corpCookieMatch=function(AYSC,regex){if(typeof(AYSC)==="undefined"){return 0;}
var c=AYSC.match(/(_97)([^_]+)/);var val97='';if(c){val97=c[2];}
var a=AYSC.match(/(_98)([^_]+)/);var val98='';if(a){val98=a[2];}
var m=AYSC.match(/(_22)([^_]+)/);var val22='';if(m){val22=m[2];}
var n=AYSC.match(/(_27)([^_]+)/);var val27='';if(n){val27=n[2];}
else{return 0;}
if(val98===''||(val98.match(/PVT/))){if((val22.match(/[<>]/))||(val27.match(/[<>]/))||(val27.match(/RES/))||(val27.match(/PVT/))){return 0;}
else if((!val27.match(/[0-9A-Za-z]/))||(val22.match(regex.cor))||(val22.match(regex.lv1))||(val22.match(regex.lv2))){return 0;}}else if(val98.match(/A/)&&!val98.match(/IA/)){if((val22.match(/[<>]/))||(val27.match(/[<>]/))||(val27.match(/RES/))||(val27.match(/PVT/))){return 0;}
else if((!val27.match(/[0-9A-Za-z]/))){return 0;}
else if(val97.match(/c/)){return 0;}}else{return 0;}
return 1;};FT.HTMLAds.prototype.createCorppopCookie=function(timeoutTime){if(typeof(timeoutTime)==="undefined"){timeoutTime=this.HTMLAdData.timeOutCookieLife;}
var name=this.HTMLAdData.timeOutCookieName;var val=this.HTMLAdData.timeOutCookieVal;var date=new Date();date.setTime(date.getTime()+(timeoutTime));var expires="; expires="+date.toGMTString();document.cookie=name+"="+val+expires+"; domain=.ft.com; path=/";};FT.HTMLAds.prototype.timeOut=function(corppopTimeoutCookie,corppopOldTimeoutCookie){if((typeof(corppopTimeoutCookie)==="undefined")&&(typeof(corppopOldTimeoutCookie)==="undefined")){return 1;}
return 0;};FT.Advertising=function(){this.baseAdvert={};this.CONST={};this.CONST.AD_SERVERS=/^((a[lutre])|(b[rsgaye])|(c[nohazl])|(d[ke])|(e[gse])|(f[ri])|(g[rt])|(h[ukr])|(i[stlne])|(j[p])|(k[wr])|(l[uvt])|(m[yxaekd])|(n[olz])|(p[lthk])|(r[suo])|(s[gekai])|(t[rhw])|(u[kas])|(v[e])|(z[a]))$/i;this.CONST.AdFormat={'intro':{'sz':'1x1'},'banlb':{'sz':'468x60,728x90','dcopt':'ist'},'newssubs':{'sz':'239x90'},'tlbxrib':{'sz':'336x60'},'marketingrib':{'sz':'336x60'},'lhn':{'sz':'136x64'},'tradcent':{'sz':'336x260'},'mktsdata':{'sz':'88x31,75x25'},'hlfmpu':{'sz':'300x600,336x850,300x250,336x280'},'doublet':{'sz':'342x200'},'refresh':{'sz':'1x1'},'mpu':{'sz':'300x250,336x280'},'mpusky':{'sz':'300x250,336x280,160x60'},'wdesky':{'sz':'160x600'},'video':{'sz':'592x333'},'minivid':{'sz':'400x225'},'vidbut1':{'sz':'120x29'},'vidbut2':{'sz':'100x50'},'vidbut3':{'sz':'200x50'},'searchbox':{'sz':'200x28'},'-':{}};this.CONST.KeyOrder=['sz','dcopt','07','a','06','05','27','eid','40','41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','19','20','21','slv','02','14','cn','01','kw','u','pos','bht','tile','ord'];this.CONST.KeyOrderVideo=['sz','dcopt','pos'];this.CONST.KeyOrderVideoExtra=['dcopt','brand','section','playlistid','playerid','07','a','06','slv','eid','05','19','21','27','20','02','14','cn','01','u'];this.CONST.KeyOrderVideoSync=['sz','dcopt'];this.CONST.uKeyOrder=['eid','uuid','auuid','ts'];this.CONST.exclusions=['key=03','key=04','key=08','key=09','key=10','key=11','key=12','key=13','key=15','key=16','key=17','key=18','key=22','key=23','key=24','key=25','key=26','key=28','key=29','key=30'];this.CONST.leading_zero_key_names=['19','21'];this.CONST.remove_exes={'02':1,'05':1,'06':1,'07':1,'19':1,'20':1,'21':1};this.CONST.remove_res_pvt={'14':1,'cn':1,'27':1};this.CONST.regex_key_names=['22'];this.CONST.SubsLevelReplaceLookup={'edt':/^edit$/,'int':/^Ftemp$/,'cor':/^[PL][01][PL]*[1]*[PL][12][A-Za-z][A-Za-z]/,'lv1':/^[PL]1[A-Za-z][A-Za-z]/,'lv2':/^[PL]2[A-Za-z][A-Za-z]/,'reg':/^[PL]0[A-Za-z][A-Za-z]/};this.CONST.substr_key_names=['24=0=3=cn'];this.CONST.proxy_div_prefixes=['','ad-placeholder-','ad-container-'];this.CONST.audSciMax=20;this.CONST.audSciInitial=20;this.CONST.uParamMax=253;this.CONST.urlMax=511;this.CONST.urlThresholdMax=2000000;this.CONST.urlThreshold=10000;this.CONST.trackUrl="http://0-track.ft.com.innopac.up.ac.za/track/dfp_error.gif";};if(FT.lib){FT.ads=new FT.Advertising();}
if(FT.HTMLAds){FT.corppop=new FT.HTMLAds();}
FT.Advertising.prototype.request=function(pos)
{FT.env.isLegacyAPI=false;clientAds.log("FT.Advertising.prototype.request("+pos+")");this.initDFP();this.requestDFP(pos);};FT.Advertising.prototype.getVideoAdverts=function()
{var Ads=[];this.foreach(this.adverts,function(pos)
{if((this.adverts[pos].callType==='video')||(this.adverts[pos].callType==='minivid'))
{Ads.push(pos);}});return Ads;};FT.Advertising.prototype.getVideoSyncAdverts=function()
{var Ads=[];this.foreach(this.adverts,function(pos)
{if(this.adverts[pos].callType==='videoSync')
{Ads.push(pos);}});return Ads;};FT.Advertising.prototype.getNormalAdverts=function()
{var Ads=[];this.foreach(this.adverts,function(pos)
{if(this.adverts[pos].callType==='normal')
{Ads.push(pos);}});return Ads;};FT.Advertising.prototype.register=function(pos)
{clientAds.log("FT.Advertising.prototype.register("+pos+")");if(!FT.ads.hasCalledInitDFP)
{FT.env.isLegacyAPI=false;this.initDFP();}
this.adverts[pos]=this.adverts[pos]||{};this.adverts[pos].callType='videoSync';if(!this.videoAdverts){this.videoAdverts=[];}
this.videoAdverts.push(pos);};FT.Advertising.prototype.beginVideo=function()
{this.beginNewPage();};FT.Advertising.prototype.requestDFP=function(pos)
{var URL='';if(pos==='corppop'){var location=document.location.href;if(!location.match(/Authorised=false/)){if(typeof FT.cookies.AYSC==='undefined')
FT.cookies=FT.lib.hashCookies();var ASYC_OK=FT.corppop.corpCookieMatch(FT.cookies.AYSC,FT.ads.CONST.SubsLevelReplaceLookup);var TIME_OK=FT.corppop.timeOut(FT.cookies.FT_AM,FT.cookies.CorpPopTimeout);var injectionPoint=(FT.env.isLegacyAPI)?FT.corppop.HTMLAdData.injectionLegacyParentDiv:FT.corppop.HTMLAdData.injectionParentDiv;var inj=document.getElementById(injectionPoint);if((ASYC_OK)&&(TIME_OK)&&(inj!==null))
{URL=FT.corppop.buildAdURL(FT.cookies.AYSC,FT.ads.CONST.SubsLevelReplaceLookup);FT.corppop.getHTMLAd(pos,inj,URL);}}}
else{clientAds.log("FT.Advertising.requestDFP("+pos+")");this.setInitialAdState(pos);URL=this.buildURL(pos);if(URL){var self=this;FT.lib.writeScript(URL);if(this.adverts[pos].state.alwaysHide)
{this.collapse(pos);}
else
{clientAds.log("setting up anon_timeout("+pos+") "+this.timeoutTolerance);this.timeouts[pos]=setTimeout(function(){clientAds.log("called anon_timeout("+pos+")");self.collapsePositionIfNoAd(pos);},this.timeoutTolerance);}}}
this.addDiagnostic(pos,{"requestUrl":URL});};FT.Advertising.prototype.foreach=function(obj,func)
{if(!obj||typeof obj==="function")
{return;}
if(obj.length)
{for(var idx=0,length=obj.length;idx<length;idx++)
{var value=typeof obj==="string"?obj.charAt(idx):obj[idx];if(func.call(this,value,idx)===false)
{break;}}}
else
{for(var prop in obj)
{if(obj.hasOwnProperty(prop))
{var what=FT.lib.type(obj[prop]);if(!what.match(/^function$/))
{if(func.call(this,prop,obj[prop])===false)
{break;}}}}}};FT.Advertising.prototype.getCookie=function(cookieName)
{var cookie=FT.cookies[cookieName];if(cookie)
{return cookie.replace(/%3D/g,"=");}
return undefined;};FT.Advertising.prototype.getAdFormat=function(pos)
{var rFormat;if(this.CONST.AdFormat[pos])
{rFormat=this.CONST.AdFormat[pos];}
else if(/\d+$/.test(pos))
{var posStem=pos.replace(/\d+$/,"");if(this.CONST.AdFormat[posStem])
{rFormat=this.CONST.AdFormat[posStem];}}
return rFormat;};FT.Advertising.prototype.setInitialAdState=function(pos,callType)
{callType=callType||'normal';this.adverts[pos]=this.adverts[pos]||{};this.adverts[pos].callType=callType;this.adverts[pos].state={'state':'init','hasDiv':false,'alwaysHide':false,'requestsInterstitial':false,'hasInterstitial':false,'isSystemDefault':false,'isEmptyAd':false,'initialHTML':''};if(pos==='refresh')
{this.adverts[pos].state.alwaysHide=true;}
var adHTML=this.getAdInnerHTML(pos);if(typeof adHTML!=='undefined')
{this.adverts[pos].state.hasDiv=true;this.adverts[pos].state.initialHTML=adHTML;}};FT.Advertising.prototype.isAdStateEmpty=function(state)
{var empty=false;if(state.isSystemDefault||state.isEmptyAd)
{if(!state.hasInterstitial)
{empty=true;}}
return empty;};FT.Advertising.prototype.shouldAdBeZeroHeight=function(state)
{var beZero=false;if(state.isSystemDefault||state.isEmptyAd)
{if(state.hasInterstitial)
{beZero=true;}}
return beZero;};FT.Advertising.prototype.createAdRequestFromVideoUrl=function(pos,url)
{this.clearBaseAdvert();this.prepareBaseAdvert(pos);var URL=this.buildURLFromBaseAdvert('videoSync');URL=URL.replace(/\?$/,'');var requestURL=url.replace(/;pos=\w+/,';pos='+pos);requestURL=requestURL.replace(/^[^\s]+;sz=\d+x\d+(,\d+x\d+){0,3}(;dcopt=ist)?/,URL);requestURL=requestURL.replace(/;tile=(\d{1,2})/,';tile='+this.baseAdvert.tile);return requestURL;};FT.Advertising.prototype.insertAdIntoIFrame=function(pos,requestURL)
{var el=this.getAdContainer(pos).div;if(!el)
{return undefined;}
var iframeId=pos+'_iframe';var html=['<iframe id="',iframeId,'"',' width="',el.clientWidth,'"',' height="',el.clientHeight,'"></iframe>'].join('');el.innerHTML=html;document.getElementById(iframeId).src=requestURL;};FT.Advertising.prototype.requestVideoSync=function(pos,url)
{if(!this.getAdFormat(pos))
{this.addDiagnostic(pos,{'requestVideoSync':'ad position not valid'});return undefined;}
this.setInitialAdState(pos);var requestURL=this.createAdRequestFromVideoUrl(pos,url);this.adverts[pos].callType='videoSync';this.addDiagnostic(pos,{inputUrl:url,requestUrl:requestURL});this.insertAdIntoIFrame(pos,requestURL);return requestURL;};FT.Advertising.prototype.endVideo=function(){return;};FT.Advertising.prototype.handleRefreshLogic=function(obj,timeout)
{clientAds.log("FT.Advertising.prototype.handleRefreshLogic("+obj.name+", "+timeout+")");timeout=timeout||30*60*1000;if((obj.name==='refresh')&&(FT.env.asset==='page'))
{obj.refreshTimer=timeout;}};FT.Advertising.prototype.checkAdState=function(pos)
{clientAds.log("FT.Advertising.prototype.checkAdState("+pos+")");this.adverts[pos]=this.adverts[pos]||{'state':{}};var rState=this.adverts[pos].state;var adHTML=this.getAdInnerHTML(pos);if(typeof adHTML!=='undefined')
{rState.hasDiv=true;rState.innerHTML=adHTML;if(rState.innerHTML!==rState.initialHTML)
{rState.state='changed';}
if(rState.state==='changed')
{if(/817-grey/.test(rState.innerHTML))
{rState.isSystemDefault=true;}
if(/ft-no-ad-/.test(rState.innerHTML))
{rState.isEmptyAd=true;}
var rRegex=new RegExp("<!--\\s*Begin Interstitial Ad\\s*-->");if(rRegex.test(rState.innerHTML))
{rState.hasInterstitial=true;}}}
clientAds.log("FT.Advertising.prototype.checkAdState("+pos+") "+[rState.state,"hasDiv: "+rState.hasDiv,"isSystemDefault: "+rState.isSystemDefault,"isEmptyAd: "+rState.isEmptyAd,"requestsInterstitial: "+rState.requestsInterstitial,"hasInterstitial: "+rState.hasInterstitial].join(", "));};FT.Advertising.prototype.collapsePositionIfNoAd=function(pos)
{clientAds.log("FT.Advertising.prototype.collapsePositionIfNoAd("+pos+")");this.checkAdState(pos);var rState=this.adverts[pos].state;if(this.shouldAdBeZeroHeight(rState))
{this.collapse(pos,true);}
else if(this.isAdStateEmpty(rState))
{this.collapse(pos);}
else if(rState.state==='init')
{this.collapse(pos);this.watchAdPosition(pos);}
else
{this.expand(pos);}};FT.Advertising.prototype.expandPositionIfAd=function(pos)
{clientAds.log("FT.Advertising.prototype.expandPositionIfAd("+pos+")");this.checkAdState(pos);var rState=this.adverts[pos].state;if(!this.isAdStateEmpty(rState))
{clientAds.log("clearing anon_interval("+pos+") - is interstitial or not system default");this.expand(pos);clearInterval(this.intervals[pos]);}};FT.Advertising.prototype.watchAdPosition=function(adPos)
{clientAds.log("FT.Advertising.prototype.watchAdPosition("+adPos+")");var self=this;var pos=adPos;clientAds.log("setting up anon_interval("+pos+") "+self.timeIntervalTolerance);self.intervals[pos]=setInterval(function()
{clientAds.log("called anon_interval("+pos+")");self.expandPositionIfAd(pos);},self.timeIntervalTolerance);};FT.Advertising.prototype.clearAllTimeouts=function()
{clientAds.log("FT.Advertising.prototype.clearAllTimeouts()");this.foreach(this.timeouts,function(pos,id){clearTimeout(id);});};FT.Advertising.prototype.clearAllIntervals=function()
{clientAds.log("FT.Advertising.prototype.clearAllIntervals()");this.foreach(this.intervals,function(pos,id){clearInterval(id);});};FT.Advertising.prototype.clearTimer=function()
{clientAds.log("FT.Advertising.prototype.clearTimer()");};FT.Advertising.prototype.complete=function()
{clientAds.log("FT.ads.complete() "+this.isComplete);if(!this.isComplete)
{if(this.adverts['refresh'])
{this.legacyAdCollapse('refresh',false);}
this.injectUnclassifiedTrackCall();this.injectUrlTrackCall();}
this.isComplete=true;};FT.Advertising.prototype.callback=function(rResponse)
{if(!rResponse||typeof rResponse!=="object"||!rResponse.name)
{clientAds.log("FT.Advertising.callback("+rResponse+") - improper");return false;}
clientAds.log("FT.Advertising.callback("+[rResponse.name,rResponse.type,rResponse.adName].join(", ")+")");this.checkAdState(rResponse.name);this.storeResponse(rResponse);if(rResponse.addNewAttributes)
{this.extendBaseAdvert(rResponse.addNewAttributes);}
if(rResponse.insertAdRequest)
{this.insertNewAd(rResponse.insertAdRequest);}
var radix;if(parseInt(rResponse.refreshTimer,radix)>0)
{this.startRefreshTimer(rResponse.refreshTimer);}
if(rResponse.type)
{switch(rResponse.type)
{case"empty":if(!this.adverts[rResponse.name].state.requestsInterstitial)
{clientAds.log("anon_timeout("+rResponse.name+") is being cancelled");clearTimeout(this.timeouts[rResponse.name]);}
this.collapse(rResponse.name);this.addDiagnostic(rResponse.name,{"collapsed":"emptyAd"});break;case"imageclick":this.renderImage(rResponse);break;default:break;}}};FT.Advertising.prototype.storeResponse=function(rResponse)
{clientAds.log("FT.Advertising.storeResponse("+[rResponse.name,rResponse.type,rResponse.adName].join(", ")+")");if(FT.lib.type(rResponse)!=="object")
{return false;}
if(FT.lib.type(this.adverts[rResponse.name])!=="object")
{this.adverts[rResponse.name]={};}
this.adverts[rResponse.name].response=rResponse;};FT.Advertising.prototype.getKeys=function(rResponse)
{var Keys=[];if(FT.lib.type(rResponse)==='object')
{this.foreach(rResponse,function(prop)
{Keys.push(prop);});}
return Keys.sort();};FT.Advertising.prototype.hasClassName=function(fullClass,className)
{var matcher=className.constructor===RegExp?className:new RegExp('^'+className+'$');var Classes=fullClass.split(' ');for(var idx=0;idx<Classes.length;++idx)
{if(Classes[idx].match(matcher)!==null)
{return true;}}
return false;};FT.Advertising.prototype.addDiagnostic=function(pos,rDiagObj)
{if(!pos)
{pos='_anonymous';}
if(FT.lib.type(pos)!=="string"||FT.lib.type(rDiagObj)!=="object")
{return false;}
clientAds.log("FT.Advertising.addDiagnostic("+pos+", "+this.getKeys(rDiagObj).join(", ")+")");if(!this.adverts[pos])
{this.adverts[pos]={"diagnostics":{}};}
this.adverts[pos].diagnostics=FT.lib.extend(this.adverts[pos].diagnostics,rDiagObj);};FT.Advertising.prototype.extendBaseAdvert=function(rResponse)
{clientAds.log("FT.Advertising.extendBaseAdvert("+rResponse+")");this.baseAdvert=FT.lib.extend(this.baseAdvert,rResponse);};FT.Advertising.prototype.insertNewAd=function(pos)
{clientAds.log("FT.Advertising.insertNewAd("+pos+")");this.extraAds.unshift(pos);this.addDiagnostic(pos,{"inserted":true});};FT.Advertising.prototype.setDefaultSiteZone=function()
{FT.env.dfp_site="ftcom.5887.unclassified";FT.env.dfp_zone="unclassified";};FT.Advertising.prototype.isUnclassified=function()
{var result=false;if((FT.env.dfp_site==="ftcom.5887.unclassified"||FT.env.dfp_site==="test.5887.unclassified")&&FT.env.dfp_zone==="unclassified")
{result=true;}
return result;};FT.Advertising.prototype.checkSiteZone=function(pos)
{var ok='default';var fix=true;var reason_why;var rFormat=this.getAdFormat(pos);var site=this.getDFPSite();if(!rFormat)
{reason_why="invalid ad slot name";fix=false;ok='invalid';}
else if(!this.detectDFPTargeting())
{reason_why="dfp_site/zone are invalid";}
else if(site.length>31)
{reason_why="DFP site name too long: "+site;}
else if(FT.env.dfp_zone.length>32)
{reason_why="DFP zone name too long: "+FT.env.dfp_zone;}
else if(site.match(/^X+$/i))
{reason_why="DFP site name is default methode metadata";}
else if(FT.env.dfp_zone.match(/^X+$/i))
{reason_why="DFP zone name is default methode metadata";}
else if(!site.match(/^\w+\.5887\.[\-\w]+$/))
{reason_why="DFP site name is not the FT network: "+site;}
else
{ok='ok';fix=false;}
if(ok!=='ok')
{this.addDiagnostic(pos,{"checkSiteZone":reason_why});}
if(fix)
{this.setDefaultSiteZone();}
return ok;};FT.Advertising.prototype.clearBaseAdvert=function()
{for(var idx=0;idx<this.CONST.KeyOrder.length;idx++)
{var keyname=this.CONST.KeyOrder[idx];if((keyname!=='tile')&&(keyname!=='ord'))
{delete this.baseAdvert[keyname];}}};FT.Advertising.prototype.prepareAdVars=function(AllVars)
{AllVars=this.stripLeadingZeros(this.CONST.leading_zero_key_names,AllVars);AllVars=this.fieldRegex(this.CONST.regex_key_names,AllVars);AllVars=this.fieldSubstr(this.CONST.substr_key_names,AllVars);AllVars=this.detectERights(AllVars);return AllVars;};FT.Advertising.prototype.erightsID=function()
{if(!FT.cookies.FT_U){return undefined;}else{var eid=FT.cookies.FT_U.match(/_EID\=(\d+)_/i);if(eid[1]){return eid[1].replace(/^0*/,"");}else{return undefined;}}};FT.Advertising.prototype.prepareUParams=function()
{var uValue='';var uOrder=this.CONST.uKeyOrder;this.foreach(uOrder,function(key){var value=this.baseAdvert[key];if(value){uValue+=!value?'':key+'='+value+',';}});if(uValue!==''){uValue=uValue.slice(0,-1);if(uValue.length>this.CONST.uParamMax){this.addDiagnostic(this.baseAdvert.pos,{'uParamSizeException':'Maximum length of u ('+this.CONST.uParamMax+') exceeded. Got '+uValue.length});this.addDiagnostic(this.baseAdvert.pos,{'uParamDataLoss':'u parameter data loss ['+uValue.slice(this.CONST.uParamMax)+']'});}
return uValue;}
return undefined;};FT.Advertising.prototype.duplicateEID=function(eid)
{if(eid){var u="eid="+eid;if(u.length>this.CONST.uParamMax){this.addDiagnostic(this.baseAdvert.pos,{'uParamSizeException':'Maximum length of u ('+this.CONST.uParamMax+') exceeded. Got '+u.length});this.addDiagnostic(this.baseAdvert.pos,{'uParamDataLoss':'u parameter data loss ['+u.slice(this.CONST.uParamMax)+']'});}
return"eid="+eid;}
return undefined;};FT.Advertising.prototype.rsiSegs=function(){if(!this.suppressAudSci&&FT.cookies.rsi_segs){var results=[];this.foreach(FT.cookies.rsi_segs.split('|'),function(value){results.push(this.encodeAudSci(value));});return results;}
return undefined;};FT.Advertising.prototype.getAyscVars=function(obj){var out={};if(FT.cookies.AYSC!==undefined){var q=FT.cookies.AYSC.split("_");FT.lib.iterator(q,function(item){if(!!item)
{var m=item.match(/^(\d\d)([^_]+)/);if(m){var key=m[1];var val=m[2];out[key]=val;}}});}
return FT.lib.extend(obj,out);};FT.Advertising.prototype.prepareBaseAdvert=function(pos)
{var AllVars=this.prepareAdVars(this.getAyscVars({}));this.baseAdvert.pos=pos;this.baseAdvert.ad_server=this.adServerCountry(AllVars['15'],pos);AllVars=this.excludeFields(this.CONST.exclusions,AllVars);this.foreach(AllVars,function(ayscName,ayscVal)
{if(!ayscVal)
{return true;}
if(this.CONST.remove_exes[ayscName]&&/^x+$/i.test(ayscVal))
{return true;}
if(this.CONST.remove_res_pvt[ayscName]&&/^pvt|res$/i.test(ayscVal))
{return true;}
this.baseAdvert[ayscName]=ayscVal.toString().toLowerCase();});this.baseAdvert.a=this.rsiSegs();var rFormat=this.getAdFormat(pos);this.baseAdvert.sz=rFormat.sz;if(rFormat.dcopt){if(this.baseAdvert.hasInterstitial){this.addDiagnostic(pos,{"buildURLIst":"multiple interstitials on page, ignoring "+pos});}
else{this.baseAdvert.hasInterstitial=true;this.baseAdvert.dcopt=rFormat.dcopt;this.adverts[pos].state.requestsInterstitial=true;}}
this.baseAdvert.eid=this.erightsID();this.baseAdvert.uuid=FT.env.dfp_zone;this.baseAdvert.auuid=false;this.baseAdvert.bht=this.behaviouralFlag();if(typeof pageUUID!=='undefined')
{if(pageUUID!==null&&pageUUID!==''){this.baseAdvert.uuid=pageUUID;}}else{if(typeof getUUIDFromString==='function'){var docUUID=getUUIDFromString(document.location.toString());if(docUUID!==null&&docUUID!==''){this.baseAdvert.uuid=docUUID;}}}
if(typeof articleUUID!=='undefined')
{if(articleUUID!==null&&articleUUID!==''){this.baseAdvert.auuid=articleUUID;}}
this.baseAdvert.ts=this.getTimestamp();this.baseAdvert.u=this.prepareUParams();this.baseAdvert.dfp_site=this.getDFPSite();FT.env.dfp_site=this.baseAdvert.dfp_site;this.baseAdvert.dfp_zone=FT.env.dfp_zone;this.baseAdvert.dfp_targeting=this.getDFPTargeting();};FT.Advertising.prototype.getDFPTargeting=function(){var dfpTargeting='';if(typeof FT.env.dfp_targeting!=='undefined'){var targeting=FT.env.dfp_targeting.replace(/^;/,'').replace(/;$/,'').replace(/;;+/,';').toLowerCase();if(targeting!==''&&!/^x+$/.test(targeting)){dfpTargeting=targeting;}}
if(this.isArticle(document.location.toString())){if(!/^.*;pt=.*$/.test(FT.env.dfp_targeting)){dfpTargeting+=(dfpTargeting!=='')?';pt=art':'pt=art';}
var referrer=this.getReferrer();if(referrer!==undefined&&referrer!==''){dfpTargeting+=(dfpTargeting!=='')?';rf='+referrer:'rf='+referrer;}}
if(dfpTargeting!==''){return dfpTargeting;}
return undefined;};FT.Advertising.prototype.getReferrer=function()
{var match=null;var referrer=document.referrer;if(referrer!==''){var hostRegex=/^.*?:\/\/.*?(\/.*)$/;match=hostRegex.exec(referrer)[1];}
if(match!==null){return match.substring(1);}
return undefined;};FT.Advertising.prototype.isArticle=function(urlParam)
{var classicArticleRegex=/^.*\/cms\/s\/\d\/[0-9a-fA-F]+-[0-9a-fA-F]+-[0-9a-fA-F]+-[0-9a-fA-F]+-[0-9a-fA-F]+.html.*$/;var falconArticleRegex=/^.*;pt=art.*$/;return(classicArticleRegex.test(urlParam)||falconArticleRegex.test(FT.env.dfp_targeting));};FT.Advertising.prototype.getTimestamp=function()
{var dateToFormat=new Date();var month=dateToFormat.getMonth()+1;var day=dateToFormat.getDate();var hours=dateToFormat.getHours();var minutes=dateToFormat.getMinutes();var seconds=dateToFormat.getSeconds();if(month<10){month="0"+month;}
if(day<10){day="0"+day;}
if(hours<10){hours="0"+hours;}
if(minutes<10){minutes="0"+minutes;}
if(seconds<10){seconds="0"+seconds;}
var dateFormatted=dateToFormat.getFullYear()+""+month+""+day+""+hours+""+minutes+""+seconds;return dateFormatted;};FT.Advertising.prototype.prepareKeywordsParam=function(pos)
{var url;if(FT.env.url_location)
{url=FT.env.url_location;}
var keywords=this.getKeywordsParam(url);if(keywords)
{this.baseAdvert.kw=keywords;}};FT.Advertising.prototype.encodeBaseAdvertProperties=function(mode,vidKV)
{var results='',initial,remaining;var rsiSegs=this.baseAdvert.a;if(rsiSegs)
{initial='a='+rsiSegs.slice(0,this.CONST.audSciInitial).join(';a=');remaining=rsiSegs.slice(this.CONST.audSciInitial,this.CONST.audSciMax);if(remaining.length)
{remaining='a='+remaining.join(';a=');}}
var Order=this.CONST.KeyOrder;if(mode==='video')
{Order=this.CONST.KeyOrderVideo;}
else if(mode==='videoExtra')
{Order=this.CONST.KeyOrderVideoExtra;}
else if(mode==='videoSync')
{Order=this.CONST.KeyOrderVideoSync;}
this.foreach(Order,function(key){var value;if(typeof(this.baseAdvert[key])!='undefined')
{value=this.baseAdvert[key];}
else if((typeof(vidKV)!='undefined')&&(typeof(vidKV[key])!='undefined'))
{value=vidKV[key];}
if(key==='u'&&this.baseAdvert.dfp_targeting)
{results+=this.baseAdvert.dfp_targeting+';';}
if(rsiSegs&&key==='a')
{results+=initial+';';}
else
{results+=!value?'':key+'='+value+';';if(rsiSegs&&key==='u'&&remaining.length)
{results+=remaining+';';}}});return results.replace(/;$/,'');};FT.Advertising.prototype.cleanKeywords=function(keywords)
{keywords=unescape(keywords).toLowerCase();keywords=keywords.replace(/[';\^\+]/g,' ');keywords=keywords.replace(/\s+/g,' ');keywords=keywords.replace(/^\s+/,'');keywords=keywords.replace(/\s+$/,'');keywords=escape(keywords);keywords=keywords.replace(/\./g,'%2E');return keywords;};FT.Advertising.prototype.getKeywordsParam=function(url)
{url=url||document.location.search;var keywords="";if(url.indexOf('?')>=0)
{url=url.replace(/^[^\?]*\?/,'');var Params=url.split('&');for(var idx=0;keywords===""&&idx<Params.length;++idx)
{var Match=Params[idx].match(/^(q|s|query|queryText|searchField)=(.+)$/);if(Match)
{keywords=this.cleanKeywords(Match[2]);}}}
return keywords;};FT.Advertising.prototype.buildURLFromBaseAdvert=function(mode)
{mode=mode||'normal';var type=(mode==='video')?"/pfadx/":"/adj/";type=(mode==='videoSync')?"/adi/":type;var URL="http://"+this.baseAdvert.ad_server+type+this.baseAdvert.dfp_site+"/"+this.baseAdvert.dfp_zone+";";URL+=this.encodeBaseAdvertProperties(mode);if(mode!=='video')
{URL=URL+'?';if(this.baseAdvert.tile>16)
{this.addDiagnostic(this.baseAdvert.pos,{"buildURLFromBaseAdvert":"too many ads, exceeds maximum tile"});URL=undefined;}
this.baseAdvert.tile++;}
return URL;};FT.Advertising.prototype.buildURL=function(pos)
{var URL;clientAds.log("FT.Advertising.buildURL("+pos+")");if(this.checkSiteZone(pos)==='invalid')
{return URL;}
this.clearBaseAdvert();this.prepareBaseAdvert(pos);this.prepareKeywordsParam();URL=this.buildURLFromBaseAdvert();return URL;};FT.Advertising.prototype.buildURLForVideo=function(zone,pos,vidKV)
{pos=pos||'video';vidKV=vidKV||{};var mode='video';var URL;FT.env.dfp_zone=zone;if(this.checkSiteZone(pos)==='invalid')
{return URL;}
this.adverts[pos]=this.adverts[pos]||{};this.adverts[pos].callType=mode;this.clearBaseAdvert();this.prepareBaseAdvert(pos);URL=this.buildURLFromBaseAdvert(mode);var result={urlStem:URL,additionalAdTargetingParams:this.encodeBaseAdvertProperties('videoExtra',vidKV)};this.addDiagnostic(pos,result);return result;};FT.Advertising.prototype.requestInsertedAds=function()
{clientAds.log("FT.Advertising.requestInsertedAds()");var advert=this.extraAds.shift();while(advert)
{this.request(advert);advert=this.extraAds.shift();}};FT.Advertising.prototype.requestNewssubs=function()
{this.request('newssubs');};FT.Advertising.prototype.collapse=function(pos,zeroHeight)
{var why=zeroHeight?"no ad booked but interstitial present":"no ad booked";why=this.adverts[pos].state.alwaysHide?'position is always hidden':why;clientAds.log("FT.Advertising.collapse("+pos+", "+zeroHeight+") - "+why);var doCollapse=this.legacyAdCollapse(pos,zeroHeight);if(doCollapse)
{var adContainer=this.getAdContainer(pos);if(adContainer.div)
{if(zeroHeight)
{adContainer.div.style.display="block";}
else
{adContainer.div.style.display="none";}
if(typeof(FT.lib.addClassName)!=="function")
{$(document.body).addClass("no-"+adContainer.name);}
else
{FT.lib.addClassName(document.body,"no-"+adContainer.name);}}}
else
{why="collapse prevented by legacy handler";}
this.addDiagnostic(pos,{"collapsed":why});};FT.Advertising.prototype.setZeroHeight=function(pos,id)
{var rDiv=document.getElementById(id);if(rDiv)
{rDiv.style.height='0px';rDiv.style.padding='0px';}
else
{clientAds.log("FT.Advertising.setZeroHeight("+id+") - div not found");this.addDiagnostic(pos,{"setZeroHeight":"div not found: "+id});}};FT.Advertising.prototype.legacyAdCollapse=function(pos,zeroHeight)
{var doCollapse=true;if(FT.env.isLegacyAPI)
{if(this.adverts[pos].state.alwaysHide)
{clientAds.log("FT.Advertising.legacyAdCollapse("+pos+", "+zeroHeight+") for "+this.library+" always hide");var rDiv=document.getElementById('ad-container-'+pos);if(rDiv)
{rDiv.style.display='none';}}
if(pos==='lhn')
{doCollapse=false;}
if(pos==='banlb')
{clientAds.log("FT.Advertising.legacyAdCollapse("+pos+", "+zeroHeight+") for "+this.library);var rLeaderBoard=document.getElementById('leaderboard');if(rLeaderBoard)
{rLeaderBoard.style.minHeight=0;}
var Divs=['ad-placeholder-banlb','page-header-ad'];for(var idx=0;idx<Divs.length;++idx)
{this.setZeroHeight(pos,Divs[idx]);}}}
if(!doCollapse)
{clientAds.log("FT.Advertising.legacyAdCollapse("+pos+", "+zeroHeight+") for "+this.library+" ad position collapse prevented");}
return doCollapse;};FT.Advertising.prototype.legacyAdFixup=function(pos,adContainer)
{if(this.library==='ftcombase'&&adContainer.div.id==='ad-placeholder-hlfmpu')
{clientAds.log("FT.Advertising.legacyAdFixup("+pos+", "+adContainer.div.id+") for "+this.library);adContainer.div.style.padding="14px 0 14px 0";adContainer.div.style.marginBottom=15+"px";adContainer.div.style.border="solid 1px #999";}
if(this.library==='phoenix'&&adContainer.div.id==='ad-placeholder-hlfmpu')
{clientAds.log("FT.Advertising.legacyAdFixup("+pos+", "+adContainer.div.id+") for "+this.library);adContainer.div.style.padding="14px 0 14px 0";adContainer.div.style.marginBottom=15+"px";adContainer.div.style.marginLeft=0;adContainer.div.style.paddingLeft=0;}
if(this.library==='ftcombase'&&adContainer.div.id==='ad-placeholder-tradcent')
{clientAds.log("FT.Advertising.legacyAdFixup("+pos+", "+adContainer.div.id+") for "+this.library);adContainer.div.style.marginBottom=15+"px";}
if(this.library==='ftcombase'&&adContainer.div.id==='ad-placeholder-tlbxrib')
{clientAds.log("FT.Advertising.legacyAdFixup("+pos+", "+adContainer.div.id+") for "+this.library);adContainer.div.style.marginBottom=15+"px";}
if(this.library==='ftcombase'&&adContainer.div.id==='ad-placeholder-marketingrib')
{clientAds.log("FT.Advertising.legacyAdFixup("+pos+", "+adContainer.div.id+") for "+this.library);adContainer.div.className="";adContainer.div.style.marginBottom=15+"px";}};FT.Advertising.prototype.expand=function(pos)
{clientAds.log("FT.Advertising.expand("+pos+")");var adContainer=this.getAdContainer(pos);if(adContainer.div)
{this.legacyAdFixup(pos,adContainer);if(!adContainer.div.className.match(/\bhidden\b/))
{adContainer.div.style.display="block";}
if(typeof(FT.lib.removeClassName)!=="function")
{$(document.body).removeClass("no-"+adContainer.name);}
else
{FT.lib.removeClassName(document.body,"no-"+adContainer.name);}}};FT.Advertising.prototype.getNamedAdContainer=function(idDiv,pos)
{clientAds.log("FT.Advertising.getNamedAdContainer("+idDiv+") -- looking");var rDiv=document.getElementById(idDiv);clientAds.log("FT.Advertising.getNamedAdContainer("+idDiv+") -- got -- "+rDiv);if(rDiv)
{clientAds.log("FT.Advertising.getNamedAdContainer("+idDiv+")");var ancestorLimit=3;var ancestorCount=0;var el=rDiv;var rOriginalDiv=rDiv;while(ancestorCount<=ancestorLimit&&typeof el.className==="string"&&this.hasAdClass(el,pos)===false)
{el=el.parentNode;ancestorCount++;}
rDiv=(el.className&&this.hasAdClass(el,pos)===true)?el:rOriginalDiv;}
return rDiv;};FT.Advertising.prototype.getAdContainer=function(pos)
{var AdContainers=this.getAdContainers(pos);if(AdContainers.length===0)
{this.addDiagnostic(pos,{"getAdContainer":'div not found'});AdContainers=[{'div':null,'name':null}];}
return AdContainers[0];};FT.Advertising.prototype.getAdContainers=function(pos)
{var AdContainers=[];var stop=FT.env.isLegacyAPI?this.CONST.proxy_div_prefixes.length:1;for(var idx=0;idx<stop;++idx)
{var idDiv=this.CONST.proxy_div_prefixes[idx]+pos;if(FT.env.isLegacyAPI&&idDiv==='lhn')
{continue;}
var adElement=this.getNamedAdContainer(idDiv,pos);if(adElement)
{AdContainers.push({'div':adElement,'name':idDiv});}}
return AdContainers;};FT.Advertising.prototype.getAdInnerHTML=function(pos)
{var html=undefined;var AdContainers=this.getAdContainers(pos);if(AdContainers.length!==0)
{html='';this.foreach(AdContainers,function(rAdContainer)
{if(html.length)
{html=html+"\n";}
html=html+"<!-- "+rAdContainer.name+" -->\n"+rAdContainer.div.innerHTML;});}
else
{this.addDiagnostic(pos,{"getAdInnerHTML":'div not found'});}
return html;};FT.Advertising.prototype.hasAdClass=function(rElement,pos)
{clientAds.log("FT.Advertising.hasAdClass("+rElement+")");if(FT.env.isLegacyAPI)
{if(this.hasClassName(rElement.className,new RegExp('^ad-(container|placeholder)(-'+pos+')?$')))
{return true;}}
else if(this.hasClassName(rElement.className,'advertising'))
{return true;}
return false;};FT.Advertising.prototype.startRefreshTimer=function(delay)
{clientAds.log("FT.Advertising.startRefreshTimer("+delay+")");this.refreshTimer=setTimeout(function(){clientAds.log("refreshTimer callback()");doTrackRefresh(delay);},delay);};FT.Advertising.prototype.renderImage=function(rResponse)
{clientAds.log("FT.Advertising.renderImage("+rResponse+")");if(FT.lib.type(rResponse)!=="object"||!rResponse.content||!rResponse.content.clickURL||!rResponse.content.imageURL)
{this.addDiagnostic(rResponse.name,{"noImageClickContent":true});return false;}
var rDiv=document.getElementById(rResponse.name);if(!rDiv)
{this.addDiagnostic(rResponse.name,{"noTargetDiv":true});return false;}
var link=document.createElement("a");link.href=rResponse.content.clickURL;link.target="_blank";var img=document.createElement("img");if(rResponse.content.altText)
{img.alt=rResponse.content.altText;}
if(rResponse.content.width)
{img.width=rResponse.content.width;}
if(rResponse.content.height)
{img.height=rResponse.content.height;}
img.src=rResponse.content.imageURL;link.appendChild(img);var imageclickPlaceholderId=rResponse.name+"_imageclick_placeholder";var doc=document;doc.write('<span style="display:none" id="'+imageclickPlaceholderId+'"></span>');var imageclickPlaceholderDiv=document.getElementById(imageclickPlaceholderId);if(imageclickPlaceholderDiv.parentNode.insertBefore(link,imageclickPlaceholderDiv))
{this.addDiagnostic(rResponse.name,{"rendered":"fromJSON"});}
imageclickPlaceholderDiv.parentNode.removeChild(imageclickPlaceholderDiv);if(rResponse.content.height&&img.height<rDiv.offsetHeight)
{link.style.marginTop=((rDiv.offsetHeight-img.height)/2)+"px";link.style.display="block";this.addDiagnostic(rResponse.name,{"verticallyAligned":true});}
this.expand(rResponse.name);};FT.Advertising.prototype.toBase36=function(value)
{return parseInt(value,10).toString(36);};FT.Advertising.prototype.fromBase36=function(value)
{return parseInt(value,36);};FT.Advertising.prototype.encodeAudSci=function(value)
{var rsiSeg=value.match(/^([A-L]\d{5})_(\d{5})$/i);if(rsiSeg){var segment=parseInt(rsiSeg[2],10)-10000;if(/^J07717$/i.test(rsiSeg[1])){return'z'+segment;}else{return rsiSeg[1].charAt(0).toLowerCase()+this.toBase36(segment+rsiSeg[1].substring(1));}}
return value.toUpperCase();};FT.Advertising.prototype.decodeAudSci=function(value)
{if(value.charAt(0).toLowerCase()==='z')
{return"J07717_"+(parseInt(value.substring(1),10)+10000);}
else
{var rsiSeg=this.fromBase36(value.substring(1)).toString();var segment=parseInt(rsiSeg.slice(0,-5),10)+10000;var clientId=value.charAt(0).toUpperCase()+rsiSeg.substring(rsiSeg.length-5);return clientId+'_'+segment;}};FT.Advertising.prototype.beginNewPage=function(env)
{clientAds.log("FT.Advertising.beginNewPage()");env=env||FT.env;this.baseAdvert={};this.baseAdvert.ord=Math.floor(Math.random()*1E16);this.baseAdvert.tile=1;this.extraAds=[];var VideoAds=this.getVideoAdverts();var VideoSyncAds=this.getVideoSyncAdverts();if(VideoAds.length||VideoSyncAds.length)
{this.foreach(VideoAds,function(pos){delete this.adverts[pos];});this.foreach(VideoSyncAds,function(pos){delete this.adverts[pos];});}
else
{this.adverts={};}
this.isComplete=false;this.timeouts={};this.intervals={};this.runinterval=undefined;this.refreshTimer=null;this.timeoutTolerance=FT.env.timeoutTolerance||25;this.timeIntervalTolerance=FT.env.timeIntervalTolerance||300;this.suppressAudSci=false;var cookie=this.getCookie('FTQA');if(cookie)
{var Match=cookie.match(/timeout=(\d+)/);if(Match)
{this.timeoutTolerance=Match[1];}
Match=cookie.match(/interval=(\d+)/);if(Match)
{this.timeIntervalTolerance=Match[1];}
Match=cookie.match(/longest_url=(\d+)-(\d+)/);if(Match)
{this.CONST.urlThreshold=Match[1];this.CONST.urlThresholdMax=Match[2];}
Match=cookie.match(/ord=(\d+)/);if(Match)
{this.baseAdvert.ord=Match[1];}
Match=cookie.match(/noaudsci/);if(Match)
{this.suppressAudSci=true;}
clientAds.log("Configured from Cookies:");clientAds.log("timeoutTolerance: "+this.timeoutTolerance);clientAds.log("timeIntervalTolerance: "+this.timeIntervalTolerance);clientAds.log("urlThreshold: "+this.CONST.urlThreshold);clientAds.log("urlThresholdMax: "+this.CONST.urlThresholdMax);clientAds.log("ord: "+this.baseAdvert.ord);clientAds.log("noaudsci: "+this.suppressAudSci);}
this.baseAdvert.hasInterstitial=false;this.submitToTrack=false;this.useDFP=true;this.library="falcon";env.useDFP=true;};FT.Advertising.prototype.resetLibrary=function()
{this.beginNewPage();this.adverts={};};FT.Advertising.prototype.checkAdServerCountry=function(iso2)
{return this.CONST.AD_SERVERS.test(iso2);};FT.Advertising.prototype.adServerCountry=function(code,pos)
{var server='';if(code)
{code=code.toLowerCase();if(this.checkAdServerCountry(code))
{code=code.toLowerCase();server=code+'.';}
else if(code==='gb'||code==='gg'||code==='im'||code==='je')
{server='uk.';}
else
{this.addDiagnostic(pos,{"adServerCountry":"Unsupported ad server: "+code});}}
return'ad.'+server+'doubleclick.net';};FT.Advertising.prototype.detectERights=function(obj)
{if(FT.cookies.FT_U!==undefined)
{var erights=FT.cookies.FT_U.split("=");var keyname=erights[0];var val=erights[1];if((keyname!==undefined)&&(val===undefined))
{obj[keyname]=val;obj.u=erights;}}
return obj;};FT.Advertising.prototype.behaviouralFlag=function()
{var flag=(typeof(this.rsiSegs())==="undefined")?"false":"true";return flag;}
FT.Advertising.prototype.excludeFields=function(exclusions,obj)
{this.foreach(obj,function(prop)
{for(var idx=0;idx<exclusions.length;idx++)
{var keyvalsplit=exclusions[idx].split("=");if(((keyvalsplit[0]==="key")&&(prop===keyvalsplit[1]))||((keyvalsplit[0]==="val")&&(obj[prop]===keyvalsplit[1])))
{delete obj[prop];}}});return obj;};FT.Advertising.prototype.stripLeadingZeros=function(KeysToStrip,obj)
{for(var idx=0,length=KeysToStrip.length;idx<length;idx++)
{if(obj[KeysToStrip[idx]])
{obj[KeysToStrip[idx]]=obj[KeysToStrip[idx]].replace(/^0+/,"");}}
return obj;};FT.Advertising.prototype.fieldRegex=function(RegexKeyNames,obj)
{this.foreach(RegexKeyNames,function(keyName)
{var value=obj[keyName];if(value!==undefined)
{this.foreach(this.CONST.SubsLevelReplaceLookup,function(replaceValue,regex)
{if(value.match(regex)){obj.slv=replaceValue;}});}});return obj;};FT.Advertising.prototype.fieldSubstr=function(SubStrKeyNames,obj)
{this.foreach(SubStrKeyNames,function(keyName)
{var SubStrItems=keyName.split("=");var ayscField=SubStrItems[0];var val=obj[ayscField];if(val!==undefined)
{var newField=SubStrItems[3];obj[newField]=val.substring(SubStrItems[1],SubStrItems[2]);}});return obj;};FT.Advertising.prototype.getDFPSite=function()
{var site=FT.env.dfp_site;if(FT.Properties&&FT.Properties.ENV)
{var env=FT.Properties.ENV.toLowerCase();var cookie=this.getCookie('FTQA');if(cookie)
{if(cookie.match(/env=live/))
{env='live';clientAds.log("FTQA cookie has set ads from live environment");this.addDiagnostic(this.baseAdvert.pos,{"getDFPSite":"using FTQA cookie to set ads from live environment"});}
if(cookie.match(/env=nolive/))
{env='ci';clientAds.log("using FTQA cookie has set ads from non-live environment");this.addDiagnostic(this.baseAdvert.pos,{"getDFPSite":"using FTQA cookie to set ads from non-live environment"});}}
if(env!=='p'&&!env.match(/^live/))
{site=site.replace(/^\w+\./,"test.");}}
return site;};FT.Advertising.prototype.showDiagnostics=function(pos)
{var FullDiagnosis=["FT.ads.showDiagnostics:\n"];var AdPositions=this.getKeys(this.adverts);this.foreach(AdPositions,function(adPos)
{var thisAdvert=this.adverts[adPos];if(typeof thisAdvert==='object'&&(!pos||adPos===pos))
{var Diagnosis=[];if(thisAdvert.diagnostics)
{var rDiagnostics=thisAdvert.diagnostics;var Topics=this.getKeys(rDiagnostics);this.foreach(Topics,function(topic)
{if(typeof rDiagnostics[topic]!=='function')
{Diagnosis.push("   "+topic+": "+rDiagnostics[topic]);}});}
var diagnosis=Diagnosis.join("\n");if(diagnosis.length)
{if(!adPos.match(/^_/))
{adPos=adPos+" Ad Call";if(thisAdvert.response&&thisAdvert.response.adName)
{diagnosis="   "+thisAdvert.response.adName+"\n"+diagnosis;}}
FullDiagnosis.push(adPos+":\n"+diagnosis+"\n");}}});return FullDiagnosis.join("\n");};FT.Advertising.prototype.breakout=function(rResponse)
{var pause=true;var cookie=this.getCookie('FTQA');if(cookie){if(rResponse&&rResponse.name)
{pause=false;var break_if='breakout='+rResponse.name;if(cookie&&(cookie.match(/breakout=all/)||cookie.indexOf(break_if)>=0))
{pause=true;}}
if(pause)
{debugger;}}};FT.Advertising.prototype.detectDFPTargeting=function(env)
{env=env||FT.env;return env.dfp_site&&env.dfp_zone?true:false;};FT.Advertising.prototype.detectAdMode=function(env)
{env=env||FT.env;env.useDFP=true;return env.useDFP;};FT.Advertising.prototype.initDFP=function(env)
{clientAds.log("FT.Advertising.initDFP() - top");env=env||FT.env;this.hasCalledInitDFP=true;if(typeof(env.useDFP)!=='undefined')
{this.beginNewPage(env);}
else
{env.useDFP=true;clientAds.log("FT.ads.initDFP() - setup DFP");FT.Advertising.prototype.request=FT.Advertising.prototype.requestDFP;this.beginNewPage(env);}};FT.Advertising.prototype.getLongestUrl=function()
{var AdPositions=this.getKeys(this.adverts);var longestRequestUrl;var longestRequestUrlLength=0;this.foreach(AdPositions,function(pos)
{var thisAdvert=this.adverts[pos];if(typeof(thisAdvert)==='object')
{var rDiagnostics=thisAdvert.diagnostics;if(rDiagnostics&&rDiagnostics.requestUrl)
{var requestUrl=rDiagnostics.requestUrl.replace(/^http:\/\/[^\/]+\.net/,'');if(requestUrl.length>longestRequestUrlLength)
{longestRequestUrlLength=requestUrl.length;longestRequestUrl=requestUrl;}}}});return longestRequestUrl;};FT.Advertising.prototype.shouldSubmitToTrack=function()
{if(!this.submitToTrack)
{var rnd=Math.floor(Math.random()*this.CONST.urlThresholdMax);if(rnd<this.CONST.urlThreshold)
{this.submitToTrack=true;}}
return this.submitToTrack;};FT.Advertising.prototype.checkSubmitLongestUrl=function()
{if(this.shouldSubmitToTrack())
{return this.getLongestUrl();}
else
{return undefined;}};FT.Advertising.prototype.injectUrlTrackCall=function()
{var url=this.checkSubmitLongestUrl();if(url&&document.createElement)
{clientAds.log("Injecting call to track long URL:"+url);var rImg=document.createElement("img");rImg.src=this.CONST.trackUrl+"?long_url="+url;rImg.id="injectUrlTrackCall";rImg.setAttribute("style","display:none");document.getElementsByTagName("body")[0].appendChild(rImg);}
return url;};FT.Advertising.prototype.injectUnclassifiedTrackCall=function()
{var url;if(this.isUnclassified())
{if(this.shouldSubmitToTrack()&&document.createElement)
{url=document.location;clientAds.log("Injecting call to track unclassified page URL:"+url);var rImg=document.createElement("img");rImg.src=this.CONST.trackUrl+"?unclassified="+url;rImg.id="injectUnclassifiedTrackCall";rImg.setAttribute("style","display:none");document.getElementsByTagName("body")[0].appendChild(rImg);}}
return url;};var AD_BANLB='banlb';var AD_NEWSSUBS='newssubs';var AD_MPU='mpu';var AD_HLFMPU="hlfmpu";var AD_MPUSKY="mpusky";var AD_OOB='oob';var AD_CORPPOP='corppop';var AD_REFRESH='refresh';var AD_TLBXRIB="tlbxrib";var AD_MARKETINGRIB="marketingrib";var AD_INTRO="intro";var AD_TRADCENT="tradcent";var AD_DOUBLET="doublet";var AD_WDESKY="wdesky";var AD_LHN="lhn";var AD_MACROAD="deadA";var AD_HMMPU="deadB";var AD_MARKETING="deadC";var AD_NRWSKY="deadD";var AD_ARTBOX="deadE";var AD_FTHBOX="deadF";var AD_TLBX="deadG";var AD_FMBUT2="deadH";var AD_MKTBX="deadI";var AD_POP="deadJ";var AD_BXBAR="deadK";var AD_DKTALRT="deadL";var AD_DSKTICK="deadM";var AD_PRNT="deadN";var AD_INV="deadO";var AD_MBATOP="deadP";var AD_MBABOT="deadQ";var AD_MBALINK="deadR";var AD_SBHEAD="deadS";var AD_FTNT="deadT";var AD_1x1="deadU";var AD_CURRCON="deadV";var AD_CURRBOX="deadW";clientAds={'debug':null,'render':function(pos)
{if(pos)
{this.log('clientAds.render('+pos+') = NOP');}
else
{this.log('clientAds.render('+pos+') = FT.ads.requestInsertedAds() '+(FT.env.useDFP?'[DFP]':'[DE]'));FT.ads.requestInsertedAds();FT.ads.complete();}},'fetch':function(pos)
{this.log('clientAds.fetch('+pos+') = NOP');},'log':function(msg){if(this.debug===null)
{this.debug=false;if(FT.cookies.FTQA&&FT.cookies.FTQA.match(/debug/))
{this.debug=true;}}
if(this.debug)
{if(window.console&&window.console.log)
{window.console.log(msg);}
else if(window.opera)
{window.opera.postError(msg);}}},'showCookies':function(reKeys)
{return"Cookies:\n"+document.cookie.split(';').sort().join(";\n");}};function Advert(pos)
{clientAds.log('new Advert('+pos+')');FT.env.isLegacyAPI=true;var obj={'name':pos,'init':function()
{clientAds.log('Advert.init('+this.name+') = FT.ads.request('+this.name+') '+(FT.env.useDFP?'[DFP]':'[DE]'));FT.ads.request(this.name);}};if(!FT.ads.hasCalledInitDFP)
{FT.ads.initDFP();}
return obj;}
FT.Advertising.prototype.VERSION="Live $Rev: 95940 $";FT.Advertising.prototype.library="falcon";clientAds.log("DFP Ads: "+FT.Advertising.prototype.library.toUpperCase()+" "+FT.Advertising.prototype.VERSION);
jQuery.getScript("//js.revsci.net/gateway/gw.js?csid=J07717");var optrial;var opSecureDomain="https://by.essl.optimost.com";var opNormalDomain="http://es.optimost.com";var optimost={A:{},C:{},D:document,L:document.location,M:[],Q:{},T:new Date(),U:'',V:'2.7',Enabled:true,ST:"script",SA:{"type":"text/javascript"},I:function(){var s=this.L.search;var c=this.D.cookie;if(s.length>3){for(var a=s.substring(1).split("&"),i=0,l=a.length;i<l;i++){var p=a[i].indexOf("=");if(p>0)this.Q[a[i].substring(0,p)]=unescape(a[i].substring(p+1));}}if(c.length>3){for(var a=c.split(";"),i=0,b=a.length;i<b;i++){var v=a[i].split("=");while(v[0].substring(0,1)==" ")v[0]=v[0].substring(1,v[0].length);if(v.length==2)this.C[v[0]]=unescape(v[1]);}}},B:function(){var n;this.A={};var _o=this;this.A.D_ts=Math.round(_o.T.getTime()/1000);this.A.D_tzo=_o.T.getTimezoneOffset();this.A.D_loc=_o.L.protocol+"//"+_o.L.hostname+_o.L.pathname;this.A.D_ckl=_o.D.cookie.length;this.A.D_ref=_o.D.referrer;if(typeof optrial=="object")
for(n in optrial)this.A[n]=optrial[n];for(n in this.Q)this.A[n]=this.Q[n];for(n in this.C)if(n.substring(0,2)=="op")this.A[n]=this.C[n];},S:function(){var q='';for(var n in this.A)if(this.A[n]!=null&&this.A[n]!="")q+=(q.length>0?"&":(this.U.indexOf("?")>0?"&":"?"))+n+"="+escape(this.A[n]);return this.U+q;},SC:function(n,v,e,d){var de=new Date();de.setTime(de.getTime()+e*1000);this.D.cookie=n+"="+escape(v)+((e==null)?"":("; expires="+de.toGMTString()))+"; path=/"+((d==null)?"":(";domain="+d));},SLD:function(){var sld=this.D.domain;var dp=sld.split(".");var l=dp.length;if(l<2)sld=null;else if(!isNaN(dp[l-1])&&!isNaN(dp[l-2]))sld=null;else sld="."+dp[l-2]+"."+dp[l-1];return sld;},R:function(r,c,d,e,bDoNotUseWrite)
{if(this.Enabled)
{var b=true;if(r<1000)
{b=(Math.floor(Math.random()*1000)<r);if(c!==null)
{if(this.C[c]!==null)
{b=(this.C[c]!=="mvt-no");}
else
{this.SC(c,b?"mvt-yes":"mvt-no",e,d);}}}
if(b)
{var n;if(bDoNotUseWrite)
{var newScript=this.D.createElement(this.ST);for(n in this.SA)
{if(true)
{newScript[n]=this.SA[n];}}
newScript.src=this.S();var rHead=this.D.getElementsByTagName('head')[0];if(rHead)
{rHead.appendChild(newScript);}}
else
{var t='<'+this.ST+' src="'+this.S()+'"';for(n in this.SA)
{if(true)
{t+=(" "+n+'="'+this.SA[n]+'"');}}
t+='><\/'+this.ST+'>';this.D.write(t);}}}},addModule:function(s,f){this.M[s]=f;},displayModule:function(s){if(typeof this.M[s]=="function")this.M[s]();},hasModules:function(){return count(this.M)>0;}};optimost.I();function invoke_optimost_counter(url)
{var _o=(typeof opcounter==="object")?opcounter:{};_o.D=document;_o.L=_o.D.location;_o.T=new Date();_o.Q={};_o.C={};_o.U=url;_o.D_ts=Math.round(_o.T.getTime()/1000);_o.D_tzo=_o.T.getTimezoneOffset();_o.D_loc=_o.L.protocol+"//"+_o.L.hostname+_o.L.pathname;_o.D_ckl=_o.D.cookie.length;_o.D_ref=_o.D.referrer;_o.I=function()
{var a;var b;var i;var l;var s=_o.L.search;var c=_o.D.cookie;if(s.length>3)
{for(a=s.substring(1).split("&"),i=0,l=a.length;i<l;i++)
{var p=a[i].indexOf("=");if(p>0)
{_o.Q[a[i].substring(0,p)]=unescape(a[i].substring(p+1));}}}
if(c.length>3)
{for(a=c.split(";"),i=0,b=a.length;i<b;i++)
{var v=a[i].split("=");while(v[0].substring(0,1)===" ")
{v[0]=v[0].substring(1,v[0].length);}
if(v.length===2)
{_o.C[v[0]]=unescape(v[1]);}}}};_o.S=function()
{var o={};var n;for(n in _o)
{if(typeof _o[n]==='string')
{o[n]=_o[n];}}
o.D=o.L=o.T=o.Q=o.C=o.U=null;var q='';for(n in o)
{if(o[n]!==null&&o[n]!=="")
{q+=(q.length>0?"&":(_o.U.indexOf("?")>0?"&":"?"))+n+"="+escape(o[n]);}}
return _o.U+q;};_o.I();var n;for(n in _o.Q)
{if(n.substring(0,2)==="op")
{_o[n]=_o.Q[n];}}
for(n in _o.C)
{if(n.substring(0,2)==="op")
{_o[n]=_o.C[n];}}
_o.D.write('<'+'script type="text/javascript" src="'+_o.S()+'"><\/script>');}
if(typeof FT==="undefined"){FT={};}
FT.Optimise={active:true,debug:false,timeoutTime:2000,intervalTime:100,isActive:function(){return FT.Optimise.active;},init:function(){var name="FTQA";var cookieValue=null;if(document.cookie&&document.cookie!==''){var cookies=document.cookie.split(';');for(var idx=0;idx<cookies.length;idx++){var cookie=(cookies[idx]||"").replace(/^\s+|\s+$/g,"");if(cookie.substring(0,name.length+1)===(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));FT.Optimise.debug=/debug/.test(cookieValue);var match=/\btimeout=(\d+)\b/.exec(cookieValue);if(match){FT.Optimise.timeoutTime=match[1];}
match=/\binterval=(\d+)\b/.exec(cookieValue);if(match){FT.Optimise.intervalTime=match[1];}
break;}}}},log:function(msg){if(FT.Optimise.debug){if(window.console&&window.console.log){console.log(msg);}else if(window.opera){opera.postError(msg);}}}};FT.Optimise.init();var opModulesArray=new Array();var opContentUrls=new Array();if(opSecureDomain&&opNormalDomain)
{function opGetCookie(cName){if(typeof optimost=='object'){for(n in optimost.C)if(n==cName)return optimost.C[n];}return null;}
function opSetCookie(n,v,d){document.cookie=n+"="+escape(v)+";path=/"+((d==null)?"":(";domain="+d));}
var opCookieDomain='.ft.com';if(document.domain.toString().indexOf('.ft.com')==-1){opCookieDomain=document.domain.toString();}
var opLiveURL='/es/553/c/31/u/FT_live.js';var opQaURL='/es/553/c/31/u/FT_staging.js';var opThisURL=document.location.toString();var opURLArray=opThisURL.split('//');var opProtocol=opURLArray[0];if(opProtocol=='https:'){opLiveURL=opSecureDomain+opLiveURL;opQaURL=opSecureDomain+opQaURL;}
else{opLiveURL=opNormalDomain+opLiveURL;opQaURL=opNormalDomain+opQaURL;}
var opJsURL=opLiveURL;if(opThisURL.indexOf('opglobalqa=true')!=-1){opSetCookie('opglobalqa','true',opCookieDomain);var opGlobalQa=true;}else if(opThisURL.indexOf('opglobalqa=false')!=-1){opSetCookie('opglobalqa','false',opCookieDomain);var opGlobalQa=false;}else var opGlobalQa=(opGetCookie('opglobalqa')=='true');if(opGlobalQa)opJsURL=opQaURL;document.write('<'+'script type="text/javascript" src="'+opJsURL+'"></'+'script>\n');}
var CM_SITE_NAME="ft";var CM_SERVER="engine.cmmeglobal.com";var CM_REQUEST_HTML_PATH=FT.Properties.CM_REQUEST_HTML_PATH;var CM_ENABLE_FIREBUG_LOGGING=false;var CM_RESPONSE_CHECK_PERIOD_MS=10;var CM_RESPONSE_TIMEOUT_MS=3500;var CM_EVENT_DELIM="|";var CM_INCLUDE_PROFILE_ID=false;var CM_INCLUDE_PROFILE_COOKIE=true;var CM_PROFILE_COOKIE_NAME="AYSC";var CM_PROFILE_ID_REGEX=CM_PROFILE_COOKIE_NAME+"=([^;]*)";var CM_QS_SITE_NAME_PARAM="sitenm";var CM_QS_CAPSULE_NAME_PARAM="capnm";var CM_QS_MATCHING_AREA_ID_PARAM="maid";var CM_QS_MATCHING_AREA_URL="murl";var CM_QS_TIME_PARAM="t";var CM_QS_TIME_ZONE_PARAM="tzo";var CM_QS_PAGE_VIEW_ID_PARAM="pgid";var CM_QS_IMPRESSION_ID="impid";var CM_QS_NAVIGATOR_PLUGINS="nplg";var CM_QS_WINDOW_HISTORY_LENGTH="hstl";var CM_QS_WINDOW_SCREEN_HEIGHT="scrh";var CM_QS_WINDOW_SCREEN_WIDTH="scrw";var CM_QS_WINDOW_PIXEL_DEPTH="scrd";var CM_QS_EXTERNAL_PARAMETERS="ep";var CM_QS_REFERRER="ref";var CM_QS_PAGE="pg";var CM_QS_ERROR="err";var CM_QS_PROFILE_ID="pfid";var CM_QS_PROFILE_ID_ERR="pfiderr";var CM_MAX_URL=1024;var CM_URI_CLICK_LOG_PATH="/v1/click";var CM_URI_REQUEST_LOG_PATH="/v1/request";var CM_URI_PAGE_VIEW_PATH="/v1/page-view";var CM_URI_VISITOR_EVENT_V1_PATH="/v1/visitor-event";var CM_URI_LOG_URL_REQUEST="/v1/log-url-request";var CM_URI_REWARD_EVENT_V1_PATH="/v1/secure-click-reward";var CM_COOKIE_NAME_CAPSULE_CLICK="click";var CM_AREA_NAME_WILDCARD="*";function cm_log(a){if(CM_ENABLE_FIREBUG_LOGGING){console.log(a);}}
function cm_trim(a){if(!a){return"";}
if(a.length<=CM_MAX_URL){return a;}
return a.substr(0,CM_MAX_URL);}
function cm_format_reward(b){var a=b.replace(/^\s+/,"");if(isNaN(a.charAt(0))){return a.substring(1,a.length);}
return a;}
function cm_generate_page_view_id(){var c=[],e="0123456789ABCDEF";var b=0;var a=0;for(;b<36;b++){c[b]=Math.floor(Math.random()*16);}
c[14]=4;c[19]=(c[19]&3)|8;for(;a<36;a++){c[a]=e.charAt(c[a]);}
c[8]=c[13]=c[18]=c[23]="-";var d=c.join("");return d;}
function cm_encode(a){return encodeURIComponent(a);}
function cm_is_ssl(){var a=(document.location.protocol==="https");return a;}
function cm_defined(a){return typeof(a)!=="undefined";}
function cm_read_cookie(b){var e=b+"=";var a=document.cookie.split(";");var d=0;for(;d<a.length;d++){var f=a[d];while(f.charAt(0)===" "){f=f.substring(1,f.length);}
if(f.indexOf(e)===0){return f.substring(e.length,f.length);}}
return null;}
function cm_get_window_location(){var a=window.location.hostname;if(cm_defined(window.location.port)&window.location.port!==""){a=a+":"+window.location.port;}
return a;}
function cm_set_cookie(c,d,e){var a;if(e){var b=new Date();b.setTime(b.getTime()+(e*1000));a="; expires="+b.toGMTString();}else{a="";}
document.cookie=c+"="+d+a+"; path=/";}
function cm_delete_cookie(a){cm_set_cookie(a,"",-1);}
var CM_PAGE_VIEW_ID=cm_generate_page_view_id();function cm_build_profile_id_query_string(){var a=document.cookie.match(CM_PROFILE_ID_REGEX);if(a===null){return CM_QS_PROFILE_ID_ERR+"=cookie";}else{if(a[1]===null||a[1].length===0){return CM_QS_PROFILE_ID_ERR+"=regex";}else{return CM_QS_PROFILE_ID+"="+a[1];}}}
function cm_make_page_viewid_qs(){if(!CM_PAGE_VIEW_ID){CM_PAGE_VIEW_ID=generatePageViewId();}
return CM_QS_PAGE_VIEW_ID_PARAM+"="+CM_PAGE_VIEW_ID;}
function cm_make_time_qs(){var a=new Date();return CM_QS_TIME_PARAM+"="+a.getTime()+"&"+CM_QS_TIME_ZONE_PARAM+"="+a.getTimezoneOffset();}
function cm_common_qs_params(){return CM_QS_SITE_NAME_PARAM+"="+cm_encode(CM_SITE_NAME)+"&"+cm_make_time_qs()+"&"+cm_make_page_viewid_qs();}
function cm_make_production_mode_global_qs_params(){var a="";if(cm_defined(navigator.plugins)){a=a+"&"+CM_QS_NAVIGATOR_PLUGINS+"="+navigator.plugins.length;}
if(cm_defined(window.history)){a=a+"&"+CM_QS_WINDOW_HISTORY_LENGTH+"="+window.history.length;}
if(cm_defined(window.screen.height)){a=a+"&"+CM_QS_WINDOW_SCREEN_HEIGHT+"="+window.screen.height;}
if(cm_defined(window.screen.width)){a=a+"&"+CM_QS_WINDOW_SCREEN_WIDTH+"="+window.screen.width;}
if(cm_defined(window.screen.pixelDepth)){a=a+"&"+CM_QS_WINDOW_PIXEL_DEPTH+"="+window.screen.pixelDepth;}
if(cm_is_ssl()){a=a+"&"+CM_QS_PAGE+"="+cm_encode(cm_trim(document.location.href));}
if(cm_defined(document.referrer)&&document.referrer){a=a+"&"+CM_QS_REFERRER+"="+cm_encode(document.referrer);}
if(CM_INCLUDE_PROFILE_ID){visitorProfileParam=cm_build_profile_id_query_string();a=a+"&"+visitorProfileParam;}
return a;}
function cm_build_matching_area_identifiers_qs(c){var a=cm_common_qs_params();var b=0;for(;b<c.length;b++){a=a+"&=[&"+CM_QS_MATCHING_AREA_ID_PARAM+"="+cm_encode(c[b])+"&=]";}
a=a+"&"+CM_QS_MATCHING_AREA_URL+"="+cm_encode(document.URL);a=a+cm_make_production_mode_global_qs_params();return a;}
function cm_new_xmlhttprequest(){var a=false;if(window.XMLHttpRequest&&!(window.ActiveXObject)){try{a=new XMLHttpRequest();}catch(d){a=false;}}else{if(window.ActiveXObject){try{a=new ActiveXObject("Msxml2.XMLHTTP");}catch(c){try{a=new ActiveXObject("Microsoft.XMLHTTP");}catch(b){a=false;}}}}
return a;}
function cm_ajax_log_request(a){req=cm_new_xmlhttprequest();if(req){req.open("GET",a,false);req.send("");return true;}else{return false;}}
function cm_ie_friendly_delay(){var a=0;var c=new Date().getTime();var b=c+150;while(new Date().getTime()<b){var d=document.getElementById(new Date().getTime());if(d!==null){a=a+1;}}
return a>0;}
function cm_image_log_click(a){cm_log("cm_image_log_click url="+a);var b=new Image();b.src=a;cm_ie_friendly_delay();return true;}
function cm_is_safari(){var a=navigator.userAgent.toLowerCase();if(a.indexOf("safari/")!==-1&&a.indexOf("chrome")===-1){return true;}else{return false;}}
function cm_is_chrome(){var a=navigator.userAgent.toLowerCase();return a.indexOf("chrome")!==-1;}
function cm_log_click(f,d,e){var a=cm_common_qs_params();a=a+"&"+CM_QS_CAPSULE_NAME_PARAM+"="+cm_encode(f);a=a+"&"+CM_QS_IMPRESSION_ID+"="+cm_encode(d);var c=CM_URI_CLICK_LOG_PATH;if(e){a=a+"&erw="+e;c=CM_URI_REWARD_EVENT_V1_PATH;}
var b=document.location.protocol+"//"+CM_SERVER+c+"?"+a;if(cm_is_safari()||cm_is_chrome()){cm_ajax_log_request(b);}else{cm_image_log_click(b);}
return true;}
function cm_log_click_check(){var a=cm_read_cookie(CM_COOKIE_NAME_CAPSULE_CLICK);if(a!==null){var b=new Image();b.src=document.location.protocol+"//"+CM_SERVER+CM_URI_CLICK_LOG_PATH+"?"+a;cm_delete_cookie(CM_COOKIE_NAME_CAPSULE_CLICK);}}
function cm_get_ie_ver(){var c=-1;if(navigator.appName==="Microsoft Internet Explorer"){var a=navigator.userAgent;var b=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");if(b.exec(a)!==null){c=parseFloat(RegExp.$1);}}
return c;}
function MatchingEngine(){this.areas=[];}
MatchingEngine.prototype.setRequestPath=function(a){if(arguments.length===0){return;}
var b=arguments[0];if(b.charAt(b.length-1)==="/"){b=b.substring(0,b.length-1);}
CM_REQUEST_HTML_PATH=b+CM_REQUEST_HTML_PATH;};MatchingEngine.prototype.setup=function(f,g){if(cm_get_ie_ver()===5){return;}
var c=0;this.areaNames=f.split(",");this.serverTimeout=false;this.timestamp=new Date().getTime();for(;c<this.areaNames.length;c++){var e={};var d=this.areaNames[c];e.name=d;e.content=null;e.displayed=false;this.areas[d]=e;}
var a=cm_build_matching_area_identifiers_qs(this.areaNames);var b=document.location.protocol+"//"+cm_get_window_location()+CM_REQUEST_HTML_PATH+"?"+a;if(!cm_defined(g)){g=this._encodeClientParams();}
if(g!==null&&g.length>0){b=b+"&"+CM_QS_EXTERNAL_PARAMETERS+"="+cm_encode(g);}
var h='<iframe id="cm_server_request" style="display:none" src="'+b+'"></iframe>';document.write(h);setTimeout("MatchingEngine._responseChecker()",CM_RESPONSE_CHECK_PERIOD_MS);};MatchingEngine.prototype.logEvent=function(d){var c=1;if(arguments.length===0){return;}
d=arguments[0];var b=d;for(;c<arguments.length;c++){b=b+CM_EVENT_DELIM+arguments[c];}
var a="event="+cm_encode(b)+"&"+cm_common_qs_params()+cm_make_production_mode_global_qs_params();var e=new Image();e.src=document.location.protocol+"//"+CM_SERVER+CM_URI_VISITOR_EVENT_V1_PATH+"?"+a;};MatchingEngine.prototype.logPageView=function(){var a=cm_common_qs_params()+cm_make_production_mode_global_qs_params();var b=new Image();b.src=document.location.protocol+"//"+CM_SERVER+CM_URI_PAGE_VIEW_PATH+"?"+a;};MatchingEngine.prototype.logConversion=function(){var b=cm_read_cookie("cm_impid");var d=cm_read_cookie("cm_capsulename");var a=1;cm_log_click(d,b);if(arguments.length===0){return;}
var c=arguments[0];for(;a<arguments.length;a++){c=c+CM_EVENT_DELIM+arguments[a]+"="+document.getElementById(arguments[a]).innerHTML;}
MatchingEngine.logEvent(c);};MatchingEngine.prototype.logReward=function(){var a=cm_read_cookie("cm_impid");var c=cm_read_cookie("cm_capsulename");var b=cm_format_reward(document.getElementById("reward").innerHTML);cm_log_click(c,a,b);return true;};MatchingEngine.prototype.display=function(a){this._displayInternal(a,true);};MatchingEngine.prototype._displayInternal=function(d,c){if(cm_get_ie_ver()===5){this._displayAreaDefault(d);return;}
var b=this.areas[d];if(cm_defined(b)){if(c){document.write('<span id="'+d+'">');}
if(b.content!==null){cm_log("display:responseReceived = true "+d);if(c){document.write(b.content);b.displayed=true;}else{var a=document.getElementById(d);if(a!==null){MatchingEngine._replaceWithScripts(a,b.content);b.displayed=true;}}}
if(c){document.write("</span>");}}};MatchingEngine.prototype._displayAll=function(){var b=true;var a=0;for(;a<this.areaNames.length;a++){var d=this.areas[this.areaNames[a]];cm_log("area "+d);if(!d.displayed){if(d.content!==null){var c=document.getElementById(d.name);cm_log(d.name+" = "+c);if(c!==null){MatchingEngine._replaceWithScripts(c,d.content);d.displayed=true;}else{d.displayed=false;b=false;}}else{d.displayed=false;b=false;}}else{cm_log("capsule.displayed capsule="+d.name);}}
return b;};MatchingEngine.prototype._replaceWithScripts=function(b,g){if(g.toLowerCase().indexOf("<script")>=0){b.innerHTML="&nbsp;"+g;}else{b.innerHTML=g;}
var a=b.getElementsByTagName("script");if(a&&a.length>0){var h=a.length;var f=h-1;var e=[];for(;f>=0;f--){var c=a[f];e[f]=a[f].text;c.parentNode.removeChild(c);}
for(f=0;f<h;f++){var d=document.createElement("script");d.setAttribute("type","text/javascript");d.setAttribute("language","JavaScript");d.text=e[f];b.appendChild(d);}}};MatchingEngine.prototype._responseChecker=function(){if(this.serverTimeout){return;}
var b=this._displayAll();var a=new Date().getTime()-this.timestamp;var c=a>=CM_RESPONSE_TIMEOUT_MS;cm_log("elapsed "+a);if(!b&&!c){setTimeout("MatchingEngine._responseChecker()",CM_RESPONSE_CHECK_PERIOD_MS);}else{if(!b&&c){cm_log("timeout allDisplayed="+b);this._handleTimeout();}}};MatchingEngine.prototype._handleTimeout=function(){var a=0;cm_log("timeout");this.serverTimeout=true;for(;a<this.areaNames.length;a++){var b=this.areaNames[a];this.areas[b].displayed=this._displayAreaDefault(b);}};MatchingEngine.prototype._displayAreaDefault=function(c){var a=document.getElementById(c+"_default");if(a!==null){var b=document.getElementById(c);if(b!==null){b.innerHTML=a.innerHTML;return true;}}
return false;};MatchingEngine.prototype._callback=function(c,b){cm_log("_callback areaName="+c);var a=this.areas[c];if(cm_defined(a)){a.content=b;this._displayInternal(c,false);}};MatchingEngine.prototype._callback_display_default=function(b){var a=0;cm_log("_callback_display_default areaName="+b);if(b!==CM_AREA_NAME_WILDCARD){this._displayAreaDefault(b);}else{for(;a<this.areaNames.length;a++){this._displayAreaDefault(this.areaNames[a]);}}};MatchingEngine.prototype._encodeClientParams=function(){var d=cm_read_cookie(CM_PROFILE_COOKIE_NAME);var g="";if(d!==null){var b=d.split("_");var c=0;for(;c<b.length;c++){var e=b[c];if(e.length>2){var a=e.substr(0,2);var f=decodeURIComponent(e.substr(2,e.length-2));if(g.length>0){g=g+"&";}
g=g+a+"="+f;}}}
return g;};var MatchingEngine=new MatchingEngine();
