(function(window,undefined){var jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},_jQuery=window.jQuery,_$=window.$,document=window.document,rootjQuery,quickExpr=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/,rnotwhite=/\S/,rtrim=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,userAgent=navigator.userAgent,browserMatch,readyBound=false,readyList=[],DOMContentLoaded,toString=Object.prototype.toString,hasOwnProperty=Object.prototype.hasOwnProperty,push=Array.prototype.push,slice=Array.prototype.slice,indexOf=Array.prototype.indexOf;jQuery.fn=jQuery.prototype={init:function(selector,context){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){this.context=document,this[0]=document.body,this.selector="body",this.length=1;return this}if(typeof selector==="string"){match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1]){doc=context?context.ownerDocument||context:document,ret=rsingleTag.exec(selector),ret?jQuery.isPlainObject(context)?(selector=[document.createElement(ret[1])],jQuery.fn.attr.call(selector,context,true)):selector=[doc.createElement(ret[1])]:(ret=buildFragment([match[1]],[doc]),selector=(ret.cacheable?ret.fragment.cloneNode(true):ret.fragment).childNodes);return jQuery.merge(this,selector)}elem=document.getElementById(match[2]);if(elem){if(elem.id!==match[2])return rootjQuery.find(selector);this.length=1,this[0]=elem}this.context=document,this.selector=selector;return this}if(!context&&/^\w+$/.test(selector)){this.selector=selector,this.context=document,selector=document.getElementsByTagName(selector);return jQuery.merge(this,selector)}return!context||context.jquery?(context||rootjQuery).find(selector):jQuery(context).find(selector)}if(jQuery.isFunction(selector))return rootjQuery.ready(selector);selector.selector!==undefined&&(this.selector=selector.selector,this.context=selector.context);return jQuery.makeArray(selector,this)},selector:"",jquery:"1.4.2",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.slice(num)[0]:this[num]},pushStack:function(elems,name,selector){var ret=jQuery();jQuery.isArray(elems)?push.apply(ret,elems):jQuery.merge(ret,elems),ret.prevObject=this,ret.context=this.context,name==="find"?ret.selector=this.selector+(this.selector?" ":"")+selector:name&&(ret.selector=this.selector+"."+name+"("+selector+")");return ret},each:function(callback,args){return jQuery.each(this,callback,args)},ready:function(fn){jQuery.bindReady(),jQuery.isReady?fn.call(document,jQuery):readyList&&readyList.push(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||jQuery(null)},push:push,sort:[].sort,splice:[].splice},jQuery.fn.init.prototype=jQuery.fn,jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options,name,src,copy;typeof target==="boolean"&&(deep=target,target=arguments[1]||{},i=2),typeof target!=="object"&&!jQuery.isFunction(target)&&(target={}),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)||jQuery.isArray(copy))){var clone=src&&(jQuery.isPlainObject(src)||jQuery.isArray(src))?src:jQuery.isArray(copy)?[]:{};target[name]=jQuery.extend(deep,clone,copy)}else copy!==undefined&&(target[name]=copy)}return target},jQuery.extend({noConflict:function(deep){window.$=_$,deep&&(window.jQuery=_jQuery);return jQuery},isReady:false,ready:function(){if(!jQuery.isReady){if(!document.body)return setTimeout(jQuery.ready,13);jQuery.isReady=true;if(readyList){var fn,i=0;while(fn=readyList[i++])fn.call(document,jQuery);readyList=null}jQuery.fn.triggerHandler&&jQuery(document).triggerHandler("ready")}},bindReady:function(){if(readyBound)return;readyBound=true;if(document.readyState==="complete")return jQuery.ready();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){}document.documentElement.doScroll&&toplevel&&doScrollCheck()}},isFunction:function(obj){return toString.call(obj)==="[object Function]"},isArray:function(obj){return toString.call(obj)==="[object Array]"},isPlainObject:function(obj){if(!obj||toString.call(obj)!=="[object Object]"||obj.nodeType||obj.setInterval)return false;if(obj.constructor&&!hasOwnProperty.call(obj,"constructor")&&!hasOwnProperty.call(obj.constructor.prototype,"isPrototypeOf"))return false;var key;for(key in obj){}return key===undefined||hasOwnProperty.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(/^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return window.JSON&&window.JSON.parse?window.JSON.parse(data):(new Function("return "+data))();jQuery.error("Invalid JSON: "+data)},noop:function(){},globalEval:function(data){if(data&&rnotwhite.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript",jQuery.support.scriptEval?script.appendChild(document.createTextNode(data)):script.text=data,head.insertBefore(script,head.firstChild),head.removeChild(script)}},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(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}return object},trim:function(text){return(text||"").replace(rtrim,"")},makeArray:function(array,results){var ret=results||[];array!=null&&(array.length==null||typeof array==="string"||jQuery.isFunction(array)||typeof array!=="function"&&array.setInterval?push.call(ret,array):jQuery.merge(ret,array));return ret},inArray:function(elem,array){if(array.indexOf)return array.indexOf(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=[];for(var i=0,length=elems.length;i<length;i++)!inv!==!callback(elems[i],i)&&ret.push(elems[i]);return ret},map:function(elems,callback,arg){var ret=[],value;for(var i=0,length=elems.length;i<length;i++)value=callback(elems[i],i,arg),value!=null&&(ret[ret.length]=value);return ret.concat.apply([],ret)},guid:1,proxy:function(fn,proxy,thisObject){arguments.length===2&&(typeof proxy==="string"?(thisObject=fn,fn=thisObject[proxy],proxy=undefined):proxy&&!jQuery.isFunction(proxy)&&(thisObject=proxy,proxy=undefined)),!proxy&&fn&&(proxy=function(){return fn.apply(thisObject||this,arguments)}),fn&&(proxy.guid=fn.guid=fn.guid||proxy.guid||jQuery.guid++);return proxy},uaMatch:function(ua){ua=ua.toLowerCase();var match=/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||!/compatible/.test(ua)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"}},browser:{}}),browserMatch=jQuery.uaMatch(userAgent),browserMatch.browser&&(jQuery.browser[browserMatch.browser]=true,jQuery.browser.version=browserMatch.version),jQuery.browser.webkit&&(jQuery.browser.safari=true),indexOf&&(jQuery.inArray=function(elem,array){return indexOf.call(array,elem)}),rootjQuery=jQuery(document),document.addEventListener?DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false),jQuery.ready()}:document.attachEvent&&(DOMContentLoaded=function(){document.readyState==="complete"&&(document.detachEvent("onreadystatechange",DOMContentLoaded),jQuery.ready())});function doScrollCheck(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left")}catch(error){setTimeout(doScrollCheck,1);return}jQuery.ready()}function evalScript(i,elem){elem.src?jQuery.ajax({url:elem.src,async:false,dataType:"script"}):jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||""),elem.parentNode&&elem.parentNode.removeChild(elem)}function access(elems,key,value,exec,fn,pass){var length=elems.length;if(typeof key==="object"){for(var k in key)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}function now(){return(new Date).getTime()}(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+now();div.style.display="none",div.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a)return;jQuery.support={leadingWhitespace:div.firstChild.nodeType===3,tbody:!div.getElementsByTagName("tbody").length,htmlSerialize:!(!div.getElementsByTagName("link").length),style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:/^0.55$/.test(a.style.opacity),cssFloat:!(!a.style.cssFloat),checkOn:div.getElementsByTagName("input")[0].value==="on",optSelected:document.createElement("select").appendChild(document.createElement("option")).selected,parentNode:div.removeChild(div.appendChild(document.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null},script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"))}catch(e){}root.insertBefore(script,root.firstChild),window[id]&&(jQuery.support.scriptEval=true,delete window[id]);try{delete script.test}catch(e){jQuery.support.deleteExpando=false}root.removeChild(script),div.attachEvent&&div.fireEvent&&(div.attachEvent("onclick",function click(){jQuery.support.noCloneEvent=false,div.detachEvent("onclick",click)}),div.cloneNode(true).fireEvent("onclick")),div=document.createElement("div"),div.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var fragment=document.createDocumentFragment();fragment.appendChild(div.firstChild),jQuery.support.checkClone=fragment.cloneNode(true).cloneNode(true).lastChild.checked,jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px",document.body.appendChild(div),jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2,document.body.removeChild(div).style.display="none",div=null});var eventSupported=function(eventName){var el=document.createElement("div");eventName="on"+eventName;var isSupported=eventName in el;isSupported||(el.setAttribute(eventName,"return;"),isSupported=typeof el[eventName]==="function"),el=null;return isSupported};jQuery.support.submitBubbles=eventSupported("submit"),jQuery.support.changeBubbles=eventSupported("change"),root=script=div=all=a=null})(),jQuery.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},expando:expando,noData:{embed:true,object:true,applet:true},data:function(elem,name,data){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()])return;elem=elem==window?windowData:elem;var id=elem[expando],cache=jQuery.cache,thisCache;if(!id&&typeof name==="string"&&data===undefined)return null;id||(id=++uuid),typeof name==="object"?(elem[expando]=id,thisCache=cache[id]=jQuery.extend(true,{},name)):cache[id]||(elem[expando]=id,cache[id]={}),thisCache=cache[id],data!==undefined&&(thisCache[name]=data);return typeof name==="string"?thisCache[name]:thisCache},removeData:function(elem,name){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()])return;elem=elem==window?windowData:elem;var id=elem[expando],cache=jQuery.cache,thisCache=cache[id];name?thisCache&&(delete thisCache[name],jQuery.isEmptyObject(thisCache)&&jQuery.removeData(elem)):(jQuery.support.deleteExpando?delete elem[jQuery.expando]:elem.removeAttribute&&elem.removeAttribute(jQuery.expando),delete cache[id])}}),jQuery.fn.extend({data:function(key,value){if(typeof key==="undefined"&&this.length)return jQuery.data(this[0]);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){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);data===undefined&&this.length&&(data=jQuery.data(this[0],key));return data===undefined&&parts[1]?this.data(parts[0]):data}return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value)})},removeData:function(key){return this.each(function(){jQuery.removeData(this,key)})}}),jQuery.extend({queue:function(elem,type,data){if(!elem)return;type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!data)return q||[];!q||jQuery.isArray(data)?q=jQuery.data(elem,type,jQuery.makeArray(data)):q.push(data);return q},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),fn=queue.shift();fn==="inprogress"&&(fn=queue.shift()),fn&&(type==="fx"&&queue.unshift("inprogress"),fn.call(elem,function(){jQuery.dequeue(elem,type)}))}}),jQuery.fn.extend({queue:function(type,data){typeof type!=="string"&&(data=type,type="fx");if(data===undefined)return jQuery.queue(this[0],type);return this.each(function(i,elem){var queue=jQuery.queue(this,type,data);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",[])}});var rclass=/[\n\t]/g,rspace=/\s+/,rreturn=/\r/g,rspecialurl=/href|src|style/,rtype=/(button|input)/i,rfocusable=/(button|input|object|select|textarea)/i,rclickable=/^(a|area)$/i,rradiocheck=/radio|checkbox/;jQuery.fn.extend({attr:function(name,value){return access(this,name,value,true,jQuery.attr)},removeAttr:function(name,fn){return this.each(function(){jQuery.attr(this,name,""),this.nodeType===1&&this.removeAttribute(name)})},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){var className=" "+elem.className+" ",setClass=elem.className;for(var c=0,cl=classNames.length;c<cl;c++)className.indexOf(" "+classNames[c]+" ")<0&&(setClass+=" "+classNames[c]);elem.className=jQuery.trim(setClass)}else elem.className=value}}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")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){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,"option"))return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var 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){value=jQuery(option).val();if(one)return value;values.push(value)}}return values}if(rradiocheck.test(elem.type)&&!jQuery.support.checkOn)return elem.getAttribute("value")===null?"on":elem.value;return(elem.value||"").replace(rreturn,"")}return undefined}var isFunction=jQuery.isFunction(value);return this.each(function(i){var self=jQuery(this),val=value;if(this.nodeType!==1)return;isFunction&&(val=value.call(this,i,self.val())),typeof val==="number"&&(val+="");if(jQuery.isArray(val)&&rradiocheck.test(this.type))this.checked=jQuery.inArray(self.val(),val)>=0;else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(val);jQuery("option",this).each(function(){this.selected=jQuery.inArray(jQuery(this).val(),values)>=0}),values.length||(this.selectedIndex=-1)}else this.value=val})}}),jQuery.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(elem,name,value,pass){if(!elem||elem.nodeType===3||elem.nodeType===8)return undefined;if(pass&&name in jQuery.attrFn)return jQuery(elem)[name](value);var notxml=elem.nodeType!==1||!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.nodeType===1){var special=rspecialurl.test(name);if(name==="selected"&&!jQuery.support.optSelected){var parent=elem.parentNode;parent&&(parent.selectedIndex,parent.parentNode&&parent.parentNode.selectedIndex)}if(name in elem&&notxml&&!special){set&&(name==="type"&&rtype.test(elem.nodeName)&&elem.parentNode&&jQuery.error("type property can't be changed"),elem[name]=value);if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;if(name==="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:undefined}return elem[name]}if(!jQuery.support.style&&notxml&&name==="style"){set&&(elem.style.cssText=""+value);return elem.style.cssText}set&&elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr}return jQuery.style(elem,name,value)}});var rnamespaces=/\.(.*)$/,fcleanup=function(nm){return nm.replace(/[^\w\s\.\|`]/g,function(ch){return"\\"+ch})};jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType===3||elem.nodeType===8)return;elem.setInterval&&(elem!==window&&!elem.frameElement)&&(elem=window);var handleObjIn,handleObj;handler.handler&&(handleObjIn=handler,handler=handleObjIn.handler),handler.guid||(handler.guid=jQuery.guid++);var elemData=jQuery.data(elem);if(!elemData)return;var events=elemData.events=elemData.events||{},eventHandle=elemData.handle,eventHandle;eventHandle||(elemData.handle=eventHandle=function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?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},type.indexOf(".")>-1?(namespaces=type.split("."),type=namespaces.shift(),handleObj.namespace=namespaces.slice(0).sort().join(".")):(namespaces=[],handleObj.namespace=""),handleObj.type=type,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)elem.addEventListener?elem.addEventListener(type,eventHandle,false):elem.attachEvent&&elem.attachEvent("on"+type,eventHandle)}special.add&&(special.add.call(elem,handleObj),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;var ret,type,fn,i=0,all,namespaces,namespace,special,eventType,handleObj,origType,elemData=jQuery.data(elem),events=elemData&&elemData.events;if(!elemData||!events)return;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=[],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(var 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(var j=pos||0;j<eventType.length;j++){handleObj=eventType[j];if(handler.guid===handleObj.guid){if(all||namespace.test(handleObj.namespace))pos==null&&eventType.splice(j--,1),special.remove&&special.remove.call(elem,handleObj);if(pos!=null)break}}if(eventType.length===0||pos!=null&&eventType.length===1)(!special.teardown||special.teardown.call(elem,namespaces)===false)&&removeEvent(elem,type,elemData.handle),ret=null,delete events[type]}if(jQuery.isEmptyObject(events)){var handle=elemData.handle;handle&&(handle.elem=null),delete elemData.events,delete elemData.handle,jQuery.isEmptyObject(elemData)&&jQuery.removeData(elem)}},trigger:function(event,data,elem){var type=event.type||event,bubbling=arguments[3];if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type),type.indexOf("!")>=0&&(event.type=type=type.slice(0,-1),event.exclusive=true),elem||(event.stopPropagation(),jQuery.event.global[type]&&jQuery.each(jQuery.cache,function(){this.events&&this.events[type]&&jQuery.event.trigger(event,data,this.handle.elem)}));if(!elem||elem.nodeType===3||elem.nodeType===8)return undefined;event.result=undefined,event.target=elem,data=jQuery.makeArray(data),data.unshift(event)}event.currentTarget=elem;var handle=jQuery.data(elem,"handle");handle&&handle.apply(elem,data);var parent=elem.parentNode||elem.ownerDocument;try{elem&&elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]||elem["on"+type]&&elem["on"+type].apply(elem,data)===false&&(event.result=false)}catch(e){}if(!event.isPropagationStopped()&&parent)jQuery.event.trigger(event,data,parent,true);else if(!event.isDefaultPrevented()){var target=event.target,old,isClick=jQuery.nodeName(target,"a")&&type==="click",special=jQuery.event.special[type]||{};if((!special._default||special._default.call(elem,event)===false)&&!isClick&&!(target&&target.nodeName&&jQuery.noData[target.nodeName.toLowerCase()])){try{target[type]&&(old=target["on"+type],old&&(target["on"+type]=null),jQuery.event.triggered=true,target[type]())}catch(e){}old&&(target["on"+type]=old),jQuery.event.triggered=false}}},handle:function(event){var all,handlers,namespaces,namespace,events;event=arguments[0]=jQuery.event.fix(event||window.event),event.currentTarget=this,all=event.type.indexOf(".")<0&&!event.exclusive,all||(namespaces=event.type.split("."),event.type=namespaces.shift(),namespace=new RegExp("(^|\\.)"+namespaces.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)"));var events=jQuery.data(this,"events"),handlers=events[event.type];if(events&&handlers){handlers=handlers.slice(0);for(var j=0,l=handlers.length;j<l;j++){var handleObj=handlers[j];if(all||namespace.test(handleObj.namespace)){event.handler=handleObj.handler,event.data=handleObj.data,event.handleObj=handleObj;var ret=handleObj.handler.apply(this,arguments);ret!==undefined&&(event.result=ret,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 originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[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];event.target||(event.target=event.srcElement||document),event.target.nodeType===3&&(event.target=event.target.parentNode),!event.relatedTarget&&event.fromElement&&(event.relatedTarget=event.fromElement===event.target?event.toElement:event.fromElement);if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0),event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}!event.which&&(event.charCode||event.charCode===0?event.charCode:event.keyCode)&&(event.which=event.charCode||event.keyCode),!event.metaKey&&event.ctrlKey&&(event.metaKey=event.ctrlKey),!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,handleObj.origType,jQuery.extend({},handleObj,{handler:liveHandler}))},remove:function(handleObj){var remove=true,type=handleObj.origType.replace(rnamespaces,"");jQuery.each(jQuery.data(this,"events").live||[],function(){if(type===this.origType.replace(rnamespaces,"")){remove=false;return false}}),remove&&jQuery.event.remove(this,handleObj.origType,liveHandler)}},beforeunload:{setup:function(data,namespaces,eventHandle){this.setInterval&&(this.onbeforeunload=eventHandle);return false},teardown:function(namespaces,eventHandle){this.onbeforeunload===eventHandle&&(this.onbeforeunload=null)}}}};var removeEvent=document.removeEventListener?function(elem,type,handle){elem.removeEventListener(type,handle,false)}:function(elem,type,handle){elem.detachEvent("on"+type,handle)};jQuery.Event=function(src){if(!this.preventDefault)return new jQuery.Event(src);src&&src.type?(this.originalEvent=src,this.type=src.type):this.type=src,this.timeStamp=now(),this[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;e.preventDefault&&e.preventDefault(),e.returnValue=false},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)return;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;try{while(parent&&parent!==this)parent=parent.parentNode;parent!==this&&(event.type=event.data,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)}}}),jQuery.support.submitBubbles||(jQuery.event.special.submit={setup:function(data,namespaces){if(this.nodeName.toLowerCase()!=="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)return 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)return trigger("submit",this,arguments)});else return false},teardown:function(namespaces){jQuery.event.remove(this,".specialSubmit")}});if(!jQuery.support.changeBubbles){var formElems=/textarea|input|select/i,changeFilters,getVal=function(elem){var type=elem.type,val=elem.value;type==="radio"||type==="checkbox"?val=elem.checked:type==="select-multiple"?val=elem.selectedIndex>-1?jQuery.map(elem.options,function(elem){return elem.selected}).join("-"):"":elem.nodeName.toLowerCase()==="select"&&(val=elem.selectedIndex);return val},testChange=function testChange(e){var elem=e.target,data,val;if(!formElems.test(elem.nodeName)||elem.readOnly)return;data=jQuery.data(elem,"_change_data"),val=getVal(elem),(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";return jQuery.event.trigger(e,arguments[1],elem)}};jQuery.event.special.change={filters:{focusout:testChange,click:function(e){var elem=e.target,type=elem.type;if(type==="radio"||type==="checkbox"||elem.nodeName.toLowerCase()==="select")return testChange.call(this,e)},keydown:function(e){var elem=e.target,type=elem.type;if(e.keyCode===13&&elem.nodeName.toLowerCase()!=="textarea"||e.keyCode===32&&(type==="checkbox"||type==="radio")||type==="select-multiple")return 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 formElems.test(this.nodeName)},teardown:function(namespaces){jQuery.event.remove(this,".specialChange");return formElems.test(this.nodeName)}},changeFilters=jQuery.event.special.change.filters}function trigger(type,elem,args){args[0].type=type;return jQuery.event.handle.apply(elem,args)}document.addEventListener&&jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){jQuery.event.special[fix]={setup:function(){this.addEventListener(orig,handler,true)},teardown:function(){this.removeEventListener(orig,handler,true)}};function handler(e){e=jQuery.event.fix(e),e.type=fix;return jQuery.event.handle.call(this,e)}}),jQuery.each(["bind","one"],function(i,name){jQuery.fn[name]=function(type,data,fn){if(typeof type==="object"){for(var key in type)this[name](key,data,type[key],fn);return this}jQuery.isFunction(data)&&(fn=data,data=undefined);var handler=name==="one"?jQuery.proxy(fn,function(event){jQuery(this).unbind(event,handler);return fn.apply(this,arguments)}):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){return arguments.length===0?this.unbind("live"):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]){var event=jQuery.Event(type);event.preventDefault(),event.stopPropagation(),jQuery.event.trigger(event,data,this[0]);return event.result}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.proxy(fn,args[i++]);return this.click(jQuery.proxy(fn,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}))},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);jQuery.isFunction(data)&&(fn=data,data=undefined),types=(types||"").split(" ");while((type=types[i++])!=null){match=rnamespaces.exec(type),namespaces="",match&&(namespaces=match[0],type=type.replace(rnamespaces,""));if(type==="hover"){types.push("mouseenter"+namespaces,"mouseleave"+namespaces);continue}preType=type,type==="focus"||type==="blur"?(types.push(liveMap[type]+namespaces),type=type+namespaces):type=(liveMap[type]||type)+namespaces,name==="live"?context.each(function(){jQuery.event.add(this,liveConvert(type,selector),{data:data,selector:selector,handler:fn,origType:type,origHandler:fn,preType:preType})}):context.unbind(liveConvert(type,selector),fn)}return this}});function liveHandler(event){var stop,elems=[],selectors=[],args=arguments,related,match,handleObj,elem,j,i,l,data,events=jQuery.data(this,"events");if(event.liveFired===this||!events||!events.live||event.button&&event.type==="click")return;event.liveFired=this;var live=events.live.slice(0);for(j=0;j<live.length;j++)handleObj=live[j],handleObj.origType.replace(rnamespaces,"")===event.type?selectors.push(handleObj.selector):live.splice(j--,1);match=jQuery(event.target).closest(selectors,event.currentTarget);for(i=0,l=match.length;i<l;i++)for(j=0;j<live.length;j++){handleObj=live[j];if(match[i].selector===handleObj.selector){elem=match[i].elem,related=null;if(handleObj.preType==="mouseenter"||handleObj.preType==="mouseleave")related=jQuery(event.relatedTarget).closest(handleObj.selector)[0];(!related||related!==elem)&&elems.push({elem:elem,handleObj:handleObj})}}for(i=0,l=elems.length;i<l;i++){match=elems[i],event.currentTarget=match.elem,event.data=match.handleObj.data,event.handleObj=match.handleObj;if(match.handleObj.origHandler.apply(match.elem,args)===false){stop=false;break}}return stop}function liveConvert(type,selector){return"live."+(type&&type!=="*"?type+".":"")+selector.replace(/\./g,"`").replace(/ /g,"&")}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(fn){return fn?this.bind(name,fn):this.trigger(name)},jQuery.attrFn&&(jQuery.attrFn[name]=true)}),window.attachEvent&&!window.addEventListener&&window.attachEvent("onunload",function(){for(var id in jQuery.cache)if(jQuery.cache[id].handle)try{jQuery.event.remove(jQuery.cache[id].handle.elem)}catch(e){}}),(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true;[0,0].sort(function(){baseHasDuplicate=false;return 0});var Sizzle=function(selector,context,results,seed){results=results||[];var origContext=context=context||document;if(context.nodeType!==1&&context.nodeType!==9)return[];if(!selector||typeof selector!=="string")return results;var parts=[],m,set,checkSet,extra,prune=true,contextXML=isXML(context),soFar=selector;while((chunker.exec(""),m=chunker.exec(soFar))!==null){soFar=m[3],parts.push(m[1]);if(m[2]){extra=m[3];break}}if(parts.length>1&&origPOS.exec(selector))if(parts.length===2&&Expr.relative[parts[0]])set=posProcess(parts[0]+parts[1],context);else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length)selector=parts.shift(),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])){var ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0]}if(context){var 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,parts.length>0?checkSet=makeArray(set):prune=false;while(parts.length){var cur=parts.pop(),pop=cur;Expr.relative[cur]?pop=parts.pop():cur="",pop==null&&(pop=context),Expr.relative[cur](checkSet,pop,contextXML)}}else checkSet=parts=[]}checkSet||(checkSet=set),checkSet||Sizzle.error(cur||selector);if(toString.call(checkSet)==="[object Array]")if(prune)if(context&&context.nodeType===1)for(var i=0;checkSet[i]!=null;i++)checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))&&results.push(set[i]);else for(var i=0;checkSet[i]!=null;i++)checkSet[i]&&checkSet[i].nodeType===1&&results.push(set[i]);else results.push.apply(results,checkSet);else makeArray(checkSet,results);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++)results[i]===results[i-1]&&results.splice(i--,1)}return results},Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set)},Sizzle.find=function(expr,context,isXML){var set,match;if(!expr)return[];for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if(match=Expr.leftMatch[type].exec(expr)){var left=match[1];match.splice(1,1);if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,""),set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break}}}}set||(set=context.getElementsByTagName("*"));return{set:set,expr:expr}},Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter)if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){var filter=Expr.filter[type],found,item,left=match[1];anyFound=false,match.splice(1,1);if(left.substr(left.length-1)==="\\")continue;curLoop===result&&(result=[]);if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(match){if(match===true)continue}else anyFound=found=true}if(match)for(var i=0;(item=curLoop[i])!=null;i++)if(item){found=filter(item,match,i,curLoop);var pass=not^!(!found);inplace&&found!=null?pass?anyFound=true:curLoop[i]=false:pass&&(result.push(item),anyFound=true)}if(found!==undefined){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|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href")}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;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}isPartStrNotTag&&Sizzle.filter(part,checkSet,true)},">":function(checkSet,part){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=part.toLowerCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];elem&&(checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part)}isPartStr&&Sizzle.filter(part,checkSet,true)}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!/\W/.test(part)){var nodeCheck=part=part.toLowerCase();checkFn=dirNodeCheck}checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML)},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!/\W/.test(part)){var nodeCheck=part=part.toLowerCase();checkFn=dirNodeCheck}checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML)}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[]}},NAME:function(match,context){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++)results[i].getAttribute("name")===match[1]&&ret.push(results[i]);return ret.length===0?null:ret}},TAG:function(match,context){return context.getElementsByTagName(match[1])}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML)return match;for(var i=0,elem;(elem=curLoop[i])!=null;i++)elem&&(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n]/g," ").indexOf(match)>=0)?inplace||result.push(elem):inplace&&(curLoop[i]=false));return false},ID:function(match){return match[1].replace(/\\/g,"")},TAG:function(match,curLoop){return match[1].toLowerCase()},CHILD:function(match){if(match[1]==="nth"){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}match[0]=done++;return match},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");!isXML&&Expr.attrMap[name]&&(match[1]=Expr.attrMap[name]),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);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){elem.parentNode.selectedIndex;return elem.selected===true},parent:function(elem){return!(!elem.firstChild)},empty:function(elem){return!elem.firstChild},has:function(elem,i,match){return!(!Sizzle(match[3],elem).length)},header:function(elem){return/h\d/i.test(elem.nodeName)},text:function(elem){return"text"===elem.type},radio:function(elem){return"radio"===elem.type},checkbox:function(elem){return"checkbox"===elem.type},file:function(elem){return"file"===elem.type},password:function(elem){return"password"===elem.type},submit:function(elem){return"submit"===elem.type},image:function(elem){return"image"===elem.type},reset:function(elem){return"reset"===elem.type},button:function(elem){return"button"===elem.type||elem.nodeName.toLowerCase()==="button"},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName)}},setFilters:{first:function(elem,i){return i===0},last:function(elem,i,match,array){return i===array.length-1},even:function(elem,i){return i%2===0},odd:function(elem,i){return i%2===1},lt:function(elem,i,match){return i<match[3]-0},gt:function(elem,i,match){return i>match[3]-0},nth:function(elem,i,match){return match[3]-0===i},eq:function(elem,i,match){return match[3]-0===i}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter)return filter(elem,i,match,array);if(name==="contains")return(elem.textContent||elem.innerText||getText([elem])||"").indexOf(match[3])>=0;if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++)if(not[i]===elem)return false;return true}Sizzle.error("Syntax error, unrecognized expression: "+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)node.nodeType===1&&(node.nodeIndex=++count);parent.sizcache=doneName}var diff=elem.nodeIndex-last;return first===0?diff===0: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?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:value&&result!==false},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter)return filter(elem,i,match,array)}}},origPOS=Expr.match.POS;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,function(all,num){return"\\"+(num-0+1)}));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 ret=results||[];if(toString.call(array)==="[object Array]")Array.prototype.push.apply(ret,array);else if(typeof array.length==="number")for(var i=0,l=array.length;i<l;i++)ret.push(array[i]);else for(var i=0;array[i];i++)ret.push(array[i]);return ret}}var sortOrder;document.documentElement.compareDocumentPosition?sortOrder=function(a,b){if(!a.compareDocumentPosition||!b.compareDocumentPosition){a==b&&(hasDuplicate=true);return a.compareDocumentPosition?-1:1}var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;ret===0&&(hasDuplicate=true);return ret}:"sourceIndex"in document.documentElement?sortOrder=function(a,b){if(!a.sourceIndex||!b.sourceIndex){a==b&&(hasDuplicate=true);return a.sourceIndex?-1:1}var ret=a.sourceIndex-b.sourceIndex;ret===0&&(hasDuplicate=true);return ret}:document.createRange&&(sortOrder=function(a,b){if(!a.ownerDocument||!b.ownerDocument){a==b&&(hasDuplicate=true);return a.ownerDocument?-1:1}var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.setStart(a,0),aRange.setEnd(a,0),bRange.setStart(b,0),bRange.setEnd(b,0);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);ret===0&&(hasDuplicate=true);return ret});function getText(elems){var ret="",elem;for(var i=0;elems[i];i++)elem=elems[i],elem.nodeType===3||elem.nodeType===4?ret+=elem.nodeValue:elem.nodeType!==8&&(ret+=getText(elem.childNodes));return ret}(function(){var form=document.createElement("div"),id="script"+(new Date).getTime();form.innerHTML="<a name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild),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("")),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++)results[i].nodeType===1&&tmp.push(results[i]);results=tmp}return results}),div.innerHTML="<a href='#'></a>",div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"&&(Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2)}),div=null})(),document.querySelectorAll&&(function(){var oldSizzle=Sizzle,div=document.createElement("div");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&&context.nodeType===9&&!isXML(context))try{return makeArray(context.querySelectorAll(query),extra)}catch(e){}return oldSizzle(query,context,extra,seed)};for(var prop in oldSizzle)Sizzle[prop]=oldSizzle[prop];div=null})(),(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){elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break}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){elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1){isXML||(elem.sizcache=doneName,elem.sizset=i);if(typeof cur!=="string"){if(elem===cur){match=true;break}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break}}elem=elem[dir]}checkSet[i]=match}}}var contains=document.compareDocumentPosition?function(a,b){return!(!(a.compareDocumentPosition(b)&16))}:function(a,b){return a!==b&&(a.contains?a.contains(b):true)},isXML=function(elem){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false},posProcess=function(selector,context){var tmpSet=[],later="",match,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=getText,jQuery.isXMLDoc=isXML,jQuery.contains=contains;return})();var runtil=/Until$/,rparentsprev=/^(?:parents|prevUntil|prevAll)/,rmultiselector=/,/,slice=Array.prototype.slice,winnow=function(elements,qualifier,keep){if(jQuery.isFunction(qualifier))return jQuery.grep(elements,function(elem,i){return!(!qualifier.call(elem,i,elem))===keep});if(qualifier.nodeType)return jQuery.grep(elements,function(elem,i){return elem===qualifier===keep});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);qualifier=jQuery.filter(qualifier,filtered)}return jQuery.grep(elements,function(elem,i){return jQuery.inArray(elem,qualifier)>=0===keep})};jQuery.fn.extend({find:function(selector){var ret=this.pushStack("","find",selector),length=0;for(var i=0,l=this.length;i<l;i++){length=ret.length,jQuery.find(selector,this[i],ret);if(i>0)for(var n=length;n<ret.length;n++)for(var 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)&&jQuery.filter(selector,this).length>0},closest:function(selectors,context){if(jQuery.isArray(selectors)){var ret=[],cur=this[0],match,matches={},selector;if(cur&&selectors.length){for(var i=0,l=selectors.length;i<l;i++)selector=selectors[i],matches[selector]||(matches[selector]=jQuery.expr.match.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}),delete matches[selector]}cur=cur.parentNode}}return ret}var pos=jQuery.expr.match.POS.test(selectors)?jQuery(selectors,context||this.context):null;return this.map(function(i,cur){while(cur&&cur.ownerDocument&&cur!==context){if(pos?pos.index(cur)>-1:jQuery(cur).is(selectors))return cur;cur=cur.parentNode}return null})},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||this.context):jQuery.makeArray(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);runtil.test(name)||(selector=until),selector&&typeof selector==="string"&&(ret=jQuery.filter(selector,ret)),ret=this.length>1?jQuery.unique(ret):ret,(this.length>1||rmultiselector.test(selector))&&rparentsprev.test(name)&&(ret=ret.reverse());return this.pushStack(ret,name,slice.call(arguments).join(","))}}),jQuery.extend({filter:function(expr,elems,not){not&&(expr=":not("+expr+")");return 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)))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)n.nodeType===1&&n!==elem&&r.push(n);return r}});var rinlinejQuery=/ jQuery\d+="(?:\d+|null)"/g,rleadingWhitespace=/^\s+/,rxhtmlTag=/(<([\w:]+)[^>]*?)\/>/g,rselfClosing=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&#?\w+;/,rnocache=/<script|<object|<embed|<option|<style/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,fcloseTag=function(all,front,tag){return rselfClosing.test(tag)?all:front+"></"+tag+">"},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,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);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();contents.length?contents.wrapAll(html):self.append(html)})},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html)})},unwrap:function(){return this.parent().each(function(){jQuery.nodeName(this,"body")||jQuery(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(elem){this.nodeType===1&&this.appendChild(elem)})},prepend:function(){return this.domManip(arguments,true,function(elem){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)});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)});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)!keepData&&elem.nodeType===1&&(jQuery.cleanData(elem.getElementsByTagName("*")),jQuery.cleanData([elem])),elem.parentNode&&elem.parentNode.removeChild(elem);return this},empty:function(){for(var i=0,elem;(elem=this[i])!=null;i++){elem.nodeType===1&&jQuery.cleanData(elem.getElementsByTagName("*"));while(elem.firstChild)elem.removeChild(elem.firstChild)}return this},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML,ownerDocument=this.ownerDocument;if(!html){var div=ownerDocument.createElement("div");div.appendChild(this.cloneNode(true)),html=div.innerHTML}return jQuery.clean([html.replace(rinlinejQuery,"").replace(/=([^="'>\s]+\/)>/g,"=\"$1\">").replace(rleadingWhitespace,"")],ownerDocument)[0]}return this.cloneNode(true)});events===true&&(cloneCopyEvent(this,ret),cloneCopyEvent(this.find("*"),ret.find("*")));return ret},html:function(value){if(value===undefined)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(rinlinejQuery,""):null;if(typeof value==="string"&&!rnocache.test(value)&&(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,fcloseTag);try{for(var i=0,l=this.length;i<l;i++)this[i].nodeType===1&&(jQuery.cleanData(this[i].getElementsByTagName("*")),this[i].innerHTML=value)}catch(e){this.empty().append(value)}}else jQuery.isFunction(value)?this.each(function(i){var self=jQuery(this),old=self.html();self.empty().append(function(){return value.call(this,i,old)})}):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))});typeof value!=="string"&&(value=jQuery(value).detach());return this.each(function(){var next=this.nextSibling,parent=this.parentNode;jQuery(this).remove(),next?jQuery(next).before(value):jQuery(parent).append(value)})}return this.pushStack(jQuery(jQuery.isFunction(value)?value():value),"replaceWith",value)},detach:function(selector){return this.remove(selector,true)},domManip:function(args,table,callback){var results,first,value=args[0],scripts=[],fragment,parent;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,jQuery.support.parentNode&&parent&&parent.nodeType===11&&parent.childNodes.length===this.length?results={fragment:parent}:results=buildFragment(args,this,scripts),fragment=results.fragment,fragment.childNodes.length===1?first=fragment=fragment.firstChild:first=fragment.firstChild;if(first){table=table&&jQuery.nodeName(first,"tr");for(var i=0,l=this.length;i<l;i++)callback.call(table?root(this[i],first):this[i],i>0||results.cacheable||this.length>1?fragment.cloneNode(true):fragment)}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(orig,ret){var i=0;ret.each(function(){if(this.nodeName!==(orig[i]&&orig[i].nodeName))return;var oldData=jQuery.data(orig[i++]),curData=jQuery.data(this,oldData),events=oldData&&oldData.events;if(events){delete curData.handle,curData.events={};for(var type in events)for(var handler in events[type])jQuery.event.add(this,type,events[type][handler],events[type][handler].data)}})}function buildFragment(args,nodes,scripts){var fragment,cacheable,cacheresults,doc=nodes&&nodes[0]?nodes[0].ownerDocument||nodes[0]:document;args.length===1&&typeof args[0]==="string"&&args[0].length<512&&doc===document&&!rnocache.test(args[0])&&(jQuery.support.checkClone||!rchecked.test(args[0]))&&(cacheable=true,cacheresults=jQuery.fragments[args[0]],cacheresults&&(cacheresults!==1&&(fragment=cacheresults))),fragment||(fragment=doc.createDocumentFragment(),jQuery.clean(args,doc,fragment,scripts)),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}for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems),ret=ret.concat(elems)}return this.pushStack(ret,name,insert.selector)}}),jQuery.extend({clean:function(elems,context,fragment,scripts){context=context||document,typeof context.createElement==="undefined"&&(context=context.ownerDocument||context[0]&&context[0].ownerDocument||document);var ret=[];for(var i=0,elem;(elem=elems[i])!=null;i++){typeof elem==="number"&&(elem+="");if(!elem)continue;if(typeof elem==="string"&&!rhtml.test(elem))elem=context.createTextNode(elem);else if(typeof elem==="string"){elem=elem.replace(rxhtmlTag,fcloseTag);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(var j=tbody.length-1;j>=0;--j)jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length&&tbody[j].parentNode.removeChild(tbody[j])}!jQuery.support.leadingWhitespace&&rleadingWhitespace.test(elem)&&div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[0]),div.firstChild),elem=div.childNodes}elem.nodeType?ret.push(elem):ret=jQuery.merge(ret,elem)}if(fragment)for(var i=0;ret[i];i++)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]):(ret[i].nodeType===1&&ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script")))),fragment.appendChild(ret[i]));return ret},cleanData:function(elems){var data,id,cache=jQuery.cache,special=jQuery.event.special,deleteExpando=jQuery.support.deleteExpando;for(var i=0,elem;(elem=elems[i])!=null;i++){id=elem[jQuery.expando];if(id){data=cache[id];if(data.events)for(var type in data.events)special[type]?jQuery.event.remove(elem,type):removeEvent(elem,type,data.handle);deleteExpando?delete elem[jQuery.expando]:elem.removeAttribute&&elem.removeAttribute(jQuery.expando),delete cache[id]}}}});var rexclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,ralpha=/alpha\([^)]*\)/,ropacity=/opacity=([^)]*)/,rfloat=/float/i,rdashAlpha=/-([a-z])/ig,rupper=/([A-Z])/g,rnumpx=/^-?\d+(?:px)?$/i,rnum=/^-?\d/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssWidth=["Left","Right"],cssHeight=["Top","Bottom"],getComputedStyle=document.defaultView&&document.defaultView.getComputedStyle,styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat",fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn.css=function(name,value){return access(this,name,value,true,function(elem,name,value){if(value===undefined)return jQuery.curCSS(elem,name);typeof value==="number"&&!rexclude.test(name)&&(value+="px"),jQuery.style(elem,name,value)})},jQuery.extend({style:function(elem,name,value){if(!elem||elem.nodeType===3||elem.nodeType===8)return undefined;(name==="width"||name==="height")&&parseFloat(value)<0&&(value=undefined);var style=elem.style||elem,set=value!==undefined;if(!jQuery.support.opacity&&name==="opacity"){if(set){style.zoom=1;var opacity=parseInt(value,10)+""==="NaN"?"":"alpha(opacity="+value*100+")",filter=style.filter||jQuery.curCSS(elem,"filter")||"";style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):opacity}return style.filter&&style.filter.indexOf("opacity=")>=0?parseFloat(ropacity.exec(style.filter)[1])/100+"":""}rfloat.test(name)&&(name=styleFloat),name=name.replace(rdashAlpha,fcamelCase),set&&(style[name]=value);return style[name]},css:function(elem,name,force,extra){if(name==="width"||name==="height"){var val,props=cssShow,which=name==="width"?cssWidth:cssHeight;function getWH(){val=name==="width"?elem.offsetWidth:elem.offsetHeight;if(extra==="border")return;jQuery.each(which,function(){extra||(val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0),extra==="margin"?val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0:val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0})}elem.offsetWidth!==0?getWH():jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val))}return jQuery.curCSS(elem,name,force)},curCSS:function(elem,name,force){var ret,style=elem.style,filter;if(!jQuery.support.opacity&&name==="opacity"&&elem.currentStyle){ret=ropacity.test(elem.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return ret===""?"1":ret}rfloat.test(name)&&(name=styleFloat);if(!force&&style&&style[name])ret=style[name];else if(getComputedStyle){rfloat.test(name)&&(name="float"),name=name.replace(rupper,"-$1").toLowerCase();var defaultView=elem.ownerDocument.defaultView;if(!defaultView)return null;var computedStyle=defaultView.getComputedStyle(elem,null);computedStyle&&(ret=computedStyle.getPropertyValue(name)),name==="opacity"&&ret===""&&(ret="1")}else if(elem.currentStyle){var camelCase=name.replace(rdashAlpha,fcamelCase);ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!rnumpx.test(ret)&&rnum.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left,style.left=camelCase==="fontSize"?"1em":ret||0,ret=style.pixelLeft+"px",style.left=left,elem.runtimeStyle.left=rsLeft}}return ret},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(var name in options)elem.style[name]=old[name]}}),jQuery.expr&&jQuery.expr.filters&&(jQuery.expr.filters.hidden=function(elem){var width=elem.offsetWidth,height=elem.offsetHeight,skip=elem.nodeName.toLowerCase()==="tr";return width===0&&height===0&&!skip?true:width>0&&height>0&&!skip?false:jQuery.curCSS(elem,"display")==="none"},jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem)});var jsc=now(),rscript=/<script(.|\s)*?\/script>/gi,rselectTextarea=/select|textarea/i,rinput=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,jsre=/=\?(&|$)/,rquery=/\?/,rts=/(\?|&)_=.*?(&|$)/,rurl=/^(\w+:)?\/\/([^\/?#]+)/,r20=/%20/g,_load=jQuery.fn.load;jQuery.fn.extend({load:function(url,params,callback){if(typeof url!=="string")return _load.call(this,url);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";params&&(jQuery.isFunction(params)?(callback=params,params=null):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(res,status){(status==="success"||status==="notmodified")&&self.html(selector?jQuery("<div />").append(res.responseText.replace(rscript,"")).find(selector):res.responseText),callback&&self.each(callback,[res.responseText,status,res])}});return this},serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||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}}):{name:elem.name,value:val}}).get()}}),jQuery.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f)}}),jQuery.extend({get:function(url,data,callback,type){jQuery.isFunction(data)&&(type=type||callback,callback=data,data=null);return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type})},getScript:function(url,callback){return jQuery.get(url,null,callback,"script")},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},post:function(url,data,callback,type){jQuery.isFunction(data)&&(type=type||callback,callback=data,data={});return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type})},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:window.XMLHttpRequest&&(window.location.protocol!=="file:"||!window.ActiveXObject)?function(){return new window.XMLHttpRequest}:function(){try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(origSettings){var s=jQuery.extend(true,{},jQuery.ajaxSettings,origSettings),jsonp,status,data,callbackContext=origSettings&&origSettings.context||s,type=s.type.toUpperCase();s.data&&s.processData&&typeof s.data!=="string"&&(s.data=jQuery.param(s.data,s.traditional));if(s.dataType==="jsonp"){if(type==="GET")jsre.test(s.url)||(s.url+=(rquery.test(s.url)?"&":"?")+(s.jsonp||"callback")+"=?");else if(!s.data||!jsre.test(s.data))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json"}s.dataType==="json"&&(s.data&&jsre.test(s.data)||jsre.test(s.url))&&(jsonp=s.jsonpCallback||"jsonp"+jsc++,s.data&&(s.data=(s.data+"").replace(jsre,"="+jsonp+"$1")),s.url=s.url.replace(jsre,"="+jsonp+"$1"),s.dataType="script",window[jsonp]=window[jsonp]||function(tmp){data=tmp,success(),complete(),window[jsonp]=undefined;try{delete window[jsonp]}catch(e){}head&&head.removeChild(script)}),s.dataType==="script"&&s.cache===null&&(s.cache=false);if(s.cache===false&&type==="GET"){var ts=now(),ret=s.url.replace(rts,"$1_="+ts+"$2");s.url=ret+(ret===s.url?(rquery.test(s.url)?"&":"?")+"_="+ts:"")}s.data&&type==="GET"&&(s.url+=(rquery.test(s.url)?"&":"?")+s.data),s.global&&!(jQuery.active++)&&jQuery.event.trigger("ajaxStart");var parts=rurl.exec(s.url),remote=parts&&(parts[1]&&parts[1]!==location.protocol||parts[2]!==location.host);if(s.dataType==="script"&&type==="GET"&&remote){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.src=s.url,s.scriptCharset&&(script.charset=s.scriptCharset);if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){!done&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")&&(done=true,success(),complete(),script.onload=script.onreadystatechange=null,head&&script.parentNode&&head.removeChild(script))}}head.insertBefore(script,head.firstChild);return undefined}var requestDone=false,xhr=s.xhr();if(!xhr)return;s.username?xhr.open(type,s.url,s.async,s.username,s.password):xhr.open(type,s.url,s.async);try{(s.data||origSettings&&origSettings.contentType)&&xhr.setRequestHeader("Content-Type",s.contentType),s.ifModified&&(jQuery.lastModified[s.url]&&xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]),jQuery.etag[s.url]&&xhr.setRequestHeader("If-None-Match",jQuery.etag[s.url])),remote||xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default)}catch(e){}if(s.beforeSend&&s.beforeSend.call(callbackContext,xhr,s)===false){s.global&&!(--jQuery.active)&&jQuery.event.trigger("ajaxStop"),xhr.abort();return false}s.global&&trigger("ajaxSend",[xhr,s]);var onreadystatechange=xhr.onreadystatechange=function(isTimeout){if(!xhr||xhr.readyState===0||isTimeout==="abort")requestDone||complete(),requestDone=true,xhr&&(xhr.onreadystatechange=jQuery.noop);else if(!requestDone&&xhr&&(xhr.readyState===4||isTimeout==="timeout")){requestDone=true,xhr.onreadystatechange=jQuery.noop,status=isTimeout==="timeout"?"timeout":jQuery.httpSuccess(xhr)?s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success":"error";var errMsg;if(status==="success")try{data=jQuery.httpData(xhr,s.dataType,s)}catch(err){status="parsererror",errMsg=err}status==="success"||status==="notmodified"?jsonp||success():jQuery.handleError(s,xhr,status,errMsg),complete(),isTimeout==="timeout"&&xhr.abort(),s.async&&(xhr=null)}};try{var oldAbort=xhr.abort;xhr.abort=function(){xhr&&oldAbort.call(xhr),onreadystatechange("abort")}}catch(e){}s.async&&s.timeout>0&&setTimeout(function(){xhr&&!requestDone&&onreadystatechange("timeout")},s.timeout);try{xhr.send(type==="POST"||type==="PUT"||type==="DELETE"?s.data:null)}catch(e){jQuery.handleError(s,xhr,null,e),complete()}s.async||onreadystatechange();function success(){s.success&&s.success.call(callbackContext,data,status,xhr),s.global&&trigger("ajaxSuccess",[xhr,s])}function complete(){s.complete&&s.complete.call(callbackContext,xhr,status),s.global&&trigger("ajaxComplete",[xhr,s]),s.global&&!(--jQuery.active)&&jQuery.event.trigger("ajaxStop")}function trigger(type,args){(s.context?jQuery(s.context):jQuery.event).trigger(type,args)}return xhr},handleError:function(s,xhr,status,e){s.error&&s.error.call(s.context||s,xhr,status,e),s.global&&(s.context?jQuery(s.context):jQuery.event).trigger("ajaxError",[xhr,s,e])},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol==="file:"||xhr.status>=200&&xhr.status<300||xhr.status===304||xhr.status===1223||xhr.status===0}catch(e){}return false},httpNotModified:function(xhr,url){var lastModified=xhr.getResponseHeader("Last-Modified"),etag=xhr.getResponseHeader("Etag");lastModified&&(jQuery.lastModified[url]=lastModified),etag&&(jQuery.etag[url]=etag);return xhr.status===304||xhr.status===0},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type")||"",xml=type==="xml"||!type&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;xml&&data.documentElement.nodeName==="parsererror"&&jQuery.error("parsererror"),s&&s.dataFilter&&(data=s.dataFilter(data,type)),typeof data==="string"&&(type==="json"||!type&&ct.indexOf("json")>=0?data=jQuery.parseJSON(data):(type==="script"||!type&&ct.indexOf("javascript")>=0)&&jQuery.globalEval(data));return data},param:function(a,traditional){var s=[];traditional===undefined&&(traditional=jQuery.ajaxSettings.traditional);if(jQuery.isArray(a)||a.jquery)jQuery.each(a,function(){add(this.name,this.value)});else for(var prefix in a)buildParams(prefix,a[prefix]);return s.join("&").replace(r20,"+");function buildParams(prefix,obj){jQuery.isArray(obj)?jQuery.each(obj,function(i,v){traditional||/\[\]$/.test(prefix)?add(prefix,v):buildParams(prefix+"["+(typeof v==="object"||jQuery.isArray(v)?i:"")+"]",v)}):!traditional&&obj!=null&&typeof obj==="object"?jQuery.each(obj,function(k,v){buildParams(prefix+"["+k+"]",v)}):add(prefix,obj)}function add(key,value){value=jQuery.isFunction(value)?value():value,s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)}}});var elemdisplay={},rfxtypes=/toggle|show|hide/,rfxnum=/^([+-]=)?([\d+-.]+)(.*)$/,timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];jQuery.fn.extend({show:function(speed,callback){if(speed||speed===0)return this.animate(genFx("show",3),speed,callback);for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var nodeName=this[i].nodeName,display;if(elemdisplay[nodeName])display=elemdisplay[nodeName];else{var elem=jQuery("<"+nodeName+" />").appendTo("body");display=elem.css("display"),display==="none"&&(display="block"),elem.remove(),elemdisplay[nodeName]=display}jQuery.data(this[i],"olddisplay",display)}}for(var j=0,k=this.length;j<k;j++)this[j].style.display=jQuery.data(this[j],"olddisplay")||"";return this},hide:function(speed,callback){if(speed||speed===0)return this.animate(genFx("hide",3),speed,callback);for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");!old&&old!=="none"&&jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"))}for(var j=0,k=this.length;j<k;j++)this[j].style.display="none";return this},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]()}):this.animate(genFx("toggle",3),fn,fn2);return this},fadeTo:function(speed,to,callback){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:to},speed,callback)},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);if(jQuery.isEmptyObject(prop))return this.each(optall.complete);return this[optall.queue===false?"each":"queue"](function(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType===1&&jQuery(this).is(":hidden"),self=this;for(p in prop){var name=p.replace(rdashAlpha,fcamelCase);p!==name&&(prop[name]=prop[p],delete prop[p],p=name);if(prop[p]==="hide"&&hidden||prop[p]==="show"&&!hidden)return opt.complete.call(this);(p==="height"||p==="width")&&this.style&&(opt.display=jQuery.css(this,"display"),opt.overflow=this.style.overflow),jQuery.isArray(prop[p])&&((opt.specialEasing=opt.specialEasing||{})[p]=prop[p][1],prop[p]=prop[p][0])}opt.overflow!=null&&(this.style.overflow="hidden"),opt.curAnim=jQuery.extend({},prop),jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(rfxtypes.test(val))e[val==="toggle"?hidden?"show":"hide":val](prop);else{var parts=rfxnum.exec(val),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";unit!=="px"&&(self.style[name]=(end||1)+unit,start=(end||1)/e.cur(true)*start,self.style[name]=start+unit),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){var timers=jQuery.timers;clearQueue&&this.queue([]),this.each(function(){for(var i=timers.length-1;i>=0;i--)timers[i].elem===this&&(gotoEnd&&timers[i](true),timers.splice(i,1))}),gotoEnd||this.dequeue();return this}}),jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback)}}),jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default,opt.old=opt.complete,opt.complete=function(){opt.queue!==false&&jQuery(this).dequeue(),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(){this.options.step&&this.options.step.call(this.elem,this.now,this),(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this),(this.prop==="height"||this.prop==="width")&&this.elem.style&&(this.elem.style.display="block")},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-1e4?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0},custom:function(from,to,unit){this.startTime=now(),this.start=from,this.end=to,this.unit=unit||this.unit||"px",this.now=this.start,this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd)}t.elem=this.elem,t()&&jQuery.timers.push(t)&&!timerId&&(timerId=setInterval(jQuery.fx.tick,13))},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=now(),done=true;if(gotoEnd||t>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=true;for(var i in this.options.curAnim)this.options.curAnim[i]!==true&&(done=false);if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;var old=jQuery.data(this.elem,"olddisplay");this.elem.style.display=old?old:this.options.display,jQuery.css(this.elem,"display")==="none"&&(this.elem.style.display="block")}this.options.hide&&jQuery(this.elem).hide();if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.style(this.elem,p,this.options.orig[p]);this.options.complete.call(this.elem)}return false}var n=t-this.startTime;this.state=n/this.options.duration;var specialEasing=this.options.specialEasing&&this.options.specialEasing[this.prop],defaultEasing=this.options.easing||(jQuery.easing.swing?"swing":"linear");this.pos=jQuery.easing[specialEasing||defaultEasing](this.state,n,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return true}},jQuery.extend(jQuery.fx,{tick:function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)timers[i]()||timers.splice(i--,1);timers.length||jQuery.fx.stop()},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){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:fx.elem[fx.prop]=fx.now}}}),jQuery.expr&&jQuery.expr.filters&&(jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length});function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type});return obj}"getBoundingClientRect"in document.documentElement?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);var box=elem.getBoundingClientRect(),doc=elem.ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.support.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.support.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left}}: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 offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,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,elem===offsetParent&&(top+=elem.offsetTop,left+=elem.offsetLeft,jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.nodeName))&&(top+=parseFloat(computedStyle.borderTopWidth)||0,left+=parseFloat(computedStyle.borderLeftWidth)||0),prevOffsetParent=offsetParent,offsetParent=elem.offsetParent),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;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.curCSS(body,"marginTop",true))||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),body=container=innerDiv=checkDiv=table=td=null,jQuery.offset.initialize=jQuery.noop},bodyOffset:function(body){var top=body.offsetTop,left=body.offsetLeft;jQuery.offset.initialize(),jQuery.offset.doesNotIncludeMarginInBodyOffset&&(top+=parseFloat(jQuery.curCSS(body,"marginTop",true))||0,left+=parseFloat(jQuery.curCSS(body,"marginLeft",true))||0);return{top:top,left:left}},setOffset:function(elem,options,i){/static/.test(jQuery.curCSS(elem,"position"))&&(elem.style.position="relative");var curElem=jQuery(elem),curOffset=curElem.offset(),curTop=parseInt(jQuery.curCSS(elem,"top",true),10)||0,curLeft=parseInt(jQuery.curCSS(elem,"left",true),10)||0;jQuery.isFunction(options)&&(options=options.call(elem,i,curOffset));var props={top:options.top-curOffset.top+curTop,left:options.left-curOffset.left+curLeft};"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({position:function(){if(!this[0])return null;var elem=this[0],offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].nodeName)?{top:0,left:0}:offsetParent.offset();offset.top-=parseFloat(jQuery.curCSS(elem,"marginTop",true))||0,offset.left-=parseFloat(jQuery.curCSS(elem,"marginLeft",true))||0,parentOffset.top+=parseFloat(jQuery.curCSS(offsetParent[0],"borderTopWidth",true))||0,parentOffset.left+=parseFloat(jQuery.curCSS(offsetParent[0],"borderLeftWidth",true))||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&&(!/^body|html$/i.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=this[0],win;if(!elem)return null;if(val!==undefined)return this.each(function(){win=getWindow(this),win?win.scrollTo(i?jQuery(win).scrollLeft():val,i?val:jQuery(win).scrollTop()):this[method]=val});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]}});function getWindow(elem){return"scrollTo"in elem&&elem.document?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]?jQuery.css(this[0],type,false,"padding"):null},jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],type,false,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]()))});return"scrollTo"in elem&&elem.document?elem.document.compatMode==="CSS1Compat"&&elem.document.documentElement["client"+name]||elem.document.body["client"+name]:elem.nodeType===9?Math.max(elem.documentElement["client"+name],elem.body["scroll"+name],elem.documentElement["scroll"+name],elem.body["offset"+name],elem.documentElement["offset"+name]):size===undefined?jQuery.css(elem,type):this.css(type,typeof size==="string"?size:size+"px")}}),window.jQuery=window.$=jQuery})(window),(function($,window,undefined){"$:nomunge";var elems=$([]),jq_resize=$.resize=$.extend($.resize,{}),timeout_id,str_setTimeout="setTimeout",str_resize="resize",str_data=str_resize+"-special-event",str_delay="delay",str_throttle="throttleWindow";jq_resize[str_delay]=250,jq_resize[str_throttle]=true,$.event.special[str_resize]={setup:function(){if(!jq_resize[str_throttle]&&this[str_setTimeout])return false;var elem=$(this);elems=elems.add(elem),$.data(this,str_data,{w:elem.width(),h:elem.height()}),elems.length===1&&loopy()},teardown:function(){if(!jq_resize[str_throttle]&&this[str_setTimeout])return false;var elem=$(this);elems=elems.not(elem),elem.removeData(str_data),elems.length||clearTimeout(timeout_id)},add:function(handleObj){if(!jq_resize[str_throttle]&&this[str_setTimeout])return false;var old_handler;function new_handler(e,w,h){var elem=$(this),data=$.data(this,str_data);data.w=w!==undefined?w:elem.width(),data.h=h!==undefined?h:elem.height(),old_handler.apply(this,arguments)}if($.isFunction(handleObj)){old_handler=handleObj;return new_handler}old_handler=handleObj.handler,handleObj.handler=new_handler}};function loopy(){timeout_id=window[str_setTimeout](function(){elems.each(function(){var elem=$(this),width=elem.width(),height=elem.height(),data=$.data(this,str_data);(width!==data.w||height!==data.h)&&elem.trigger(str_resize,[data.w=width,data.h=height])}),loopy()},jq_resize[str_delay])}})(jQuery,this),(function($){$.tools=$.tools||{version:"@VERSION"},$.tools.scrollable={conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:null,items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",speed:400,vertical:false,touch:true,wheelSpeed:0}};function dim(el,key){var v=parseInt(el.css(key),10);if(v)return v;var s=el[0].currentStyle;return s&&s.width&&parseInt(s.width,10)}function find(root,query){var el=$(query);return el.length<2?el:root.parent().find(query)}var current;function Scrollable(root,conf){var self=this,fire=root.add(self),itemWrap=root.children(),index=0,vertical=conf.vertical;current||(current=self),itemWrap.length>1&&(itemWrap=$(conf.items,root)),$.extend(self,{getConf:function(){return conf},getIndex:function(){return index},getSize:function(){return self.getItems().size()},getNaviButtons:function(){return prev.add(next)},getRoot:function(){return root},getItemWrap:function(){return itemWrap},getItems:function(){return itemWrap.children(conf.item).not("."+conf.clonedClass)},move:function(offset,time){return self.seekTo(index+offset,time)},next:function(time){return self.move(1,time)},prev:function(time){return self.move(-1,time)},begin:function(time){return self.seekTo(0,time)},end:function(time){return self.seekTo(self.getSize()-1,time)},focus:function(){current=self;return self},addItem:function(item){item=$(item),conf.circular?(itemWrap.children("."+conf.clonedClass+":last").before(item),itemWrap.children("."+conf.clonedClass+":first").replaceWith(item.clone().addClass(conf.clonedClass))):itemWrap.append(item),fire.trigger("onAddItem",[item]);return self},seekTo:function(i,time,fn){i.jquery||(i*=1);if(conf.circular&&i===0&&index==-1&&time!==0)return self;if(!conf.circular&&i<0||i>self.getSize()||i<-1)return self;var item=i;i.jquery?i=self.getItems().index(i):item=self.getItems().eq(i);var e=$.Event("onBeforeSeek");if(!fn){fire.trigger(e,[i,time]);if(e.isDefaultPrevented()||!item.length)return self}var props=vertical?{top:-item.position().top}:{left:-item.position().left};index=i,current=self,time===undefined&&(time=conf.speed),itemWrap.animate(props,time,conf.easing,fn||function(){fire.trigger("onSeek",[i])});return self}}),$.each(["onBeforeSeek","onSeek","onAddItem"],function(i,name){$.isFunction(conf[name])&&$(self).bind(name,conf[name]),self[name]=function(fn){fn&&$(self).bind(name,fn);return self}});if(conf.circular){var cloned1=self.getItems().slice(-1).clone().prependTo(itemWrap),cloned2=self.getItems().eq(1).clone().appendTo(itemWrap);cloned1.add(cloned2).addClass(conf.clonedClass),self.onBeforeSeek(function(e,i,time){if(e.isDefaultPrevented())return;if(i==-1){self.seekTo(cloned1,time,function(){self.end(0)});return e.preventDefault()}i==self.getSize()&&self.seekTo(cloned2,time,function(){self.begin(0)})}),self.seekTo(0,0,function(){})}var prev=find(root,conf.prev).click(function(){self.prev()}),next=find(root,conf.next).click(function(){self.next()});!conf.circular&&self.getSize()>1&&(self.onBeforeSeek(function(e,i){setTimeout(function(){e.isDefaultPrevented()||(prev.toggleClass(conf.disabledClass,i<=0),next.toggleClass(conf.disabledClass,i>=self.getSize()-1))},1)}),conf.initialIndex||prev.addClass(conf.disabledClass)),conf.mousewheel&&$.fn.mousewheel&&root.mousewheel(function(e,delta){if(conf.mousewheel){self.move(delta<0?1:-1,conf.wheelSpeed||50);return false}});if(conf.touch){var touch={};itemWrap[0].ontouchstart=function(e){var t=e.touches[0];touch.x=t.clientX,touch.y=t.clientY},itemWrap[0].ontouchmove=function(e){if(e.touches.length==1&&!itemWrap.is(":animated")){var t=e.touches[0],deltaX=touch.x-t.clientX,deltaY=touch.y-t.clientY;self[vertical&&deltaY>0||!vertical&&deltaX>0?"next":"prev"](),e.preventDefault()}}}conf.keyboard&&$(document).bind("keydown.scrollable",function(evt){if(!conf.keyboard||evt.altKey||evt.ctrlKey||$(evt.target).is(":input"))return;if(conf.keyboard!="static"&&current!=self)return;var key=evt.keyCode;if(vertical&&(key==38||key==40)){self.move(key==38?-1:1);return evt.preventDefault()}if(!vertical&&(key==37||key==39)){self.move(key==37?-1:1);return evt.preventDefault()}}),conf.initialIndex&&self.seekTo(conf.initialIndex,0,function(){})}$.fn.scrollable=function(conf){var el=this.data("scrollable");if(el)return el;conf=$.extend({},$.tools.scrollable.conf,conf),this.each(function(){el=new Scrollable($(this),conf),$(this).data("scrollable",el)});return conf.api?el:this}})(jQuery),(function($){var t=$.tools.scrollable;t.autoscroll={conf:{autoplay:true,interval:3e3,autopause:true}},$.fn.autoscroll=function(conf){typeof conf=="number"&&(conf={interval:conf});var opts=$.extend({},t.autoscroll.conf,conf),ret;this.each(function(){var api=$(this).data("scrollable");api&&(ret=api);var timer,stopped=true;api.play=function(){if(timer)return;stopped=false,timer=setInterval(function(){api.next()},opts.interval)},api.pause=function(){timer=clearInterval(timer)},api.stop=function(){api.pause(),stopped=true},opts.autopause&&api.getRoot().add(api.getNaviButtons()).hover(api.pause,api.play),opts.autoplay&&api.play()});return opts.api?ret:this}})(jQuery),(function($){var t=$.tools.scrollable;t.navigator={conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,idPrefix:null,history:false}};function find(root,query){var el=$(query);return el.length<2?el:root.parent().find(query)}$.fn.navigator=function(conf){typeof conf=="string"&&(conf={navi:conf}),conf=$.extend({},t.navigator.conf,conf);var ret;this.each(function(){var api=$(this).data("scrollable"),navi=conf.navi.jquery?conf.navi:find(api.getRoot(),conf.navi),buttons=api.getNaviButtons(),cls=conf.activeClass,history=conf.history&&$.fn.history;api&&(ret=api),api.getNaviButtons=function(){return buttons.add(navi)};function doClick(el,i,e){api.seekTo(i);if(history)location.hash&&(location.hash=el.attr("href").replace("#",""));else return e.preventDefault()}function els(){return navi.find(conf.naviItem||"> *")}function addItem(i){var item=$("<"+(conf.naviItem||"a")+"/>").click(function(e){doClick($(this),i,e)}).attr("href","#"+i);i===0&&item.addClass(cls),conf.indexed&&item.text(i+1),conf.idPrefix&&item.attr("id",conf.idPrefix+i);return item.appendTo(navi)}els().length?els().each(function(i){$(this).click(function(e){doClick($(this),i,e)})}):$.each(api.getItems(),function(i){addItem(i)}),api.onBeforeSeek(function(e,index){setTimeout(function(){if(!e.isDefaultPrevented()){var el=els().eq(index);!e.isDefaultPrevented()&&el.length&&els().removeClass(cls).eq(index).addClass(cls)}},1)});function doHistory(evt,hash){var el=els().eq(hash.replace("#",""));el.length||(el=els().filter("[href="+hash+"]")),el.click()}api.onAddItem(function(e,item){item=addItem(api.getItems().index(item)),history&&item.history(doHistory)}),history&&els().history(doHistory)});return conf.api?ret:this}})(jQuery),(function($,window){var Sammy,PATH_REPLACER="([^/]+)",PATH_NAME_MATCHER=/:([\w\d]+)/g,QUERY_STRING_MATCHER=/\?([^#]*)$/,_makeArray=function(nonarray){return Array.prototype.slice.call(nonarray)},_isFunction=function(obj){return Object.prototype.toString.call(obj)==="[object Function]"},_isArray=function(obj){return Object.prototype.toString.call(obj)==="[object Array]"},_decode=decodeURIComponent,_escapeHTML=function(s){return s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},_routeWrapper=function(verb){return function(path,callback){return this.route.apply(this,[verb,path,callback])}},_template_cache={},loggers=[];Sammy=function(){var args=_makeArray(arguments),app,selector;Sammy.apps=Sammy.apps||{};if(args.length===0||args[0]&&_isFunction(args[0]))return Sammy.apply(Sammy,["body"].concat(args));if(typeof (selector=args.shift())=="string"){app=Sammy.apps[selector]||new Sammy.Application,app.element_selector=selector,args.length>0&&$.each(args,function(i,plugin){app.use(plugin)}),app.element_selector!=selector&&delete Sammy.apps[selector],Sammy.apps[app.element_selector]=app;return app}},Sammy.VERSION="0.6.2",Sammy.addLogger=function(logger){loggers.push(logger)},Sammy.log=function(){var args=_makeArray(arguments);args.unshift("["+Date()+"]"),$.each(loggers,function(i,logger){logger.apply(Sammy,args)})},typeof window.console!="undefined"?_isFunction(console.log.apply)?Sammy.addLogger(function(){window.console.log.apply(console,arguments)}):Sammy.addLogger(function(){window.console.log(arguments)}):typeof console!="undefined"&&Sammy.addLogger(function(){console.log.apply(console,arguments)}),$.extend(Sammy,{makeArray:_makeArray,isFunction:_isFunction,isArray:_isArray}),Sammy.Object=function(obj){return $.extend(this,obj||{})},$.extend(Sammy.Object.prototype,{escapeHTML:_escapeHTML,h:_escapeHTML,toHash:function(){var json={};$.each(this,function(k,v){_isFunction(v)||(json[k]=v)});return json},toHTML:function(){var display="";$.each(this,function(k,v){_isFunction(v)||(display+="<strong>"+k+"</strong> "+v+"<br />")});return display},keys:function(attributes_only){var keys=[];for(var property in this)(!_isFunction(this[property])||!attributes_only)&&keys.push(property);return keys},has:function(key){return this[key]&&$.trim(this[key].toString())!=""},join:function(){var args=_makeArray(arguments),delimiter=args.shift();return args.join(delimiter)},log:function(){Sammy.log.apply(Sammy,arguments)},toString:function(include_functions){var s=[];$.each(this,function(k,v){(!_isFunction(v)||include_functions)&&s.push("\""+k+"\": "+v.toString())});return"Sammy.Object: {"+s.join(",")+"}"}}),Sammy.HashLocationProxy=function(app,run_interval_every){this.app=app,this.is_native=false,this._startPolling(run_interval_every)},Sammy.HashLocationProxy.prototype={bind:function(){var proxy=this,app=this.app;$(window).bind("hashchange."+this.app.eventNamespace(),function(e,non_native){proxy.is_native===false&&!non_native&&(Sammy.log("native hash change exists, using"),proxy.is_native=true,window.clearInterval(Sammy.HashLocationProxy._interval)),app.trigger("location-changed")}),Sammy.HashLocationProxy._bindings||(Sammy.HashLocationProxy._bindings=0),Sammy.HashLocationProxy._bindings++},unbind:function(){$(window).unbind("hashchange."+this.app.eventNamespace()),Sammy.HashLocationProxy._bindings--,Sammy.HashLocationProxy._bindings<=0&&window.clearInterval(Sammy.HashLocationProxy._interval)},getLocation:function(){var matches=window.location.toString().match(/^[^#]*(#.+)$/);return matches?matches[1]:""},setLocation:function(new_location){return window.location=new_location},_startPolling:function(every){var proxy=this;if(!Sammy.HashLocationProxy._interval){every||(every=10);var hashCheck=function(){var current_location=proxy.getLocation();(!Sammy.HashLocationProxy._last_location||current_location!=Sammy.HashLocationProxy._last_location)&&window.setTimeout(function(){$(window).trigger("hashchange",[true])},13),Sammy.HashLocationProxy._last_location=current_location};hashCheck(),Sammy.HashLocationProxy._interval=window.setInterval(hashCheck,every)}}},Sammy.Application=function(app_function){var app=this;this.routes={},this.listeners=new Sammy.Object({}),this.arounds=[],this.befores=[],this.namespace=(new Date).getTime()+"-"+parseInt(Math.random()*1e3,10),this.context_prototype=function(){Sammy.EventContext.apply(this,arguments)},this.context_prototype.prototype=new Sammy.EventContext,_isFunction(app_function)&&app_function.apply(this,[this]),this._location_proxy||this.setLocationProxy(new Sammy.HashLocationProxy(this,this.run_interval_every)),this.debug&&this.bindToAllEvents(function(e,data){app.log(app.toString(),e.cleaned_type,data||{})})},Sammy.Application.prototype=$.extend({},Sammy.Object.prototype,{ROUTE_VERBS:["get","post","put","delete"],APP_EVENTS:["run","unload","lookup-route","run-route","route-found","event-context-before","event-context-after","changed","error","check-form-submission","redirect","location-changed"],_last_route:null,_location_proxy:null,_running:false,element_selector:"body",debug:false,raise_errors:false,run_interval_every:50,template_engine:null,toString:function(){return"Sammy.Application:"+this.element_selector},$element:function(){return $(this.element_selector)},use:function(){var args=_makeArray(arguments),plugin=args.shift(),plugin_name=plugin||"";try{args.unshift(this),typeof plugin=="string"&&(plugin_name="Sammy."+plugin,plugin=Sammy[plugin]),plugin.apply(this,args)}catch(e){typeof plugin==="undefined"?this.error("Plugin Error: called use() but plugin ("+plugin_name.toString()+") is not defined",e):_isFunction(plugin)?this.error("Plugin Error",e):this.error("Plugin Error: called use() but '"+plugin_name.toString()+"' is not a function",e)}return this},setLocationProxy:function(new_proxy){var original_proxy=this._location_proxy;this._location_proxy=new_proxy,this.isRunning()&&(original_proxy&&original_proxy.unbind(),this._location_proxy.bind())},route:function(verb,path,callback){var app=this,param_names=[],add_route,path_match;!callback&&_isFunction(path)&&(path=verb,callback=path,verb="any"),verb=verb.toLowerCase();if(path.constructor==String){PATH_NAME_MATCHER.lastIndex=0;while((path_match=PATH_NAME_MATCHER.exec(path))!==null)param_names.push(path_match[1]);path=new RegExp("^"+path.replace(PATH_NAME_MATCHER,PATH_REPLACER)+"$")}typeof callback=="string"&&(callback=app[callback]),add_route=function(with_verb){var r={verb:with_verb,path:path,callback:callback,param_names:param_names};app.routes[with_verb]=app.routes[with_verb]||[],app.routes[with_verb].push(r)},verb==="any"?$.each(this.ROUTE_VERBS,function(i,v){add_route(v)}):add_route(verb);return this},get:_routeWrapper("get"),post:_routeWrapper("post"),put:_routeWrapper("put"),del:_routeWrapper("delete"),any:_routeWrapper("any"),mapRoutes:function(route_array){var app=this;$.each(route_array,function(i,route_args){app.route.apply(app,route_args)});return this},eventNamespace:function(){return["sammy-app",this.namespace].join("-")},bind:function(name,data,callback){var app=this;typeof callback=="undefined"&&(callback=data);var listener_callback=function(){var e,context,data;e=arguments[0],data=arguments[1],data&&data.context?(context=data.context,delete data.context):context=new app.context_prototype(app,"bind",e.type,data,e.target),e.cleaned_type=e.type.replace(app.eventNamespace(),""),callback.apply(context,[e,data])};this.listeners[name]||(this.listeners[name]=[]),this.listeners[name].push(listener_callback),this.isRunning()&&this._listen(name,listener_callback);return this},trigger:function(name,data){this.$element().trigger([name,this.eventNamespace()].join("."),[data]);return this},refresh:function(){this.last_location=null,this.trigger("location-changed");return this},before:function(options,callback){_isFunction(options)&&(callback=options,options={}),this.befores.push([options,callback]);return this},after:function(callback){return this.bind("event-context-after",callback)},around:function(callback){this.arounds.push(callback);return this},isRunning:function(){return this._running},helpers:function(extensions){$.extend(this.context_prototype.prototype,extensions);return this},helper:function(name,method){this.context_prototype.prototype[name]=method;return this},run:function(start_url){if(this.isRunning())return false;var app=this;$.each(this.listeners.toHash(),function(name,callbacks){$.each(callbacks,function(i,listener_callback){app._listen(name,listener_callback)})}),this.trigger("run",{start_url:start_url}),this._running=true,this.last_location=null,this.getLocation()==""&&typeof start_url!="undefined"&&this.setLocation(start_url),this._checkLocation(),this._location_proxy.bind(),this.bind("location-changed",function(){app._checkLocation()}),this.bind("submit",function(e){var returned=app._checkFormSubmission($(e.target).closest("form"));return returned===false?e.preventDefault():false}),$(window).bind("beforeunload",function(){app.unload()});return this.trigger("changed")},unload:function(){if(!this.isRunning())return false;var app=this;this.trigger("unload"),this._location_proxy.unbind(),this.$element().unbind("submit").removeClass(app.eventNamespace()),$.each(this.listeners.toHash(),function(name,listeners){$.each(listeners,function(i,listener_callback){app._unlisten(name,listener_callback)})}),this._running=false;return this},bindToAllEvents:function(callback){var app=this;$.each(this.APP_EVENTS,function(i,e){app.bind(e,callback)}),$.each(this.listeners.keys(true),function(i,name){app.APP_EVENTS.indexOf(name)==-1&&app.bind(name,callback)});return this},routablePath:function(path){return path.replace(QUERY_STRING_MATCHER,"")},lookupRoute:function(verb,path){var app=this,routed=false;this.trigger("lookup-route",{verb:verb,path:path}),typeof this.routes[verb]!="undefined"&&$.each(this.routes[verb],function(i,route){if(app.routablePath(path).match(route.path)){routed=route;return false}});return routed},runRoute:function(verb,path,params,target){var app=this,route=this.lookupRoute(verb,path),context,wrapped_route,arounds,around,befores,before,callback_args,path_params,final_returned;this.log("runRoute",[verb,path].join(" ")),this.trigger("run-route",{verb:verb,path:path,params:params}),typeof params=="undefined"&&(params={}),$.extend(params,this._parseQueryString(path));if(route){this.trigger("route-found",{route:route}),(path_params=route.path.exec(this.routablePath(path)))!==null&&(path_params.shift(),$.each(path_params,function(i,param){route.param_names[i]?params[route.param_names[i]]=_decode(param):(params.splat||(params.splat=[]),params.splat.push(_decode(param)))})),context=new this.context_prototype(this,verb,path,params,target),arounds=this.arounds.slice(0),befores=this.befores.slice(0),callback_args=[context].concat(params.splat),wrapped_route=function(){var returned;while(befores.length>0){before=befores.shift();if(app.contextMatchesOptions(context,before[0])){returned=before[1].apply(context,[context]);if(returned===false)return false}}app.last_route=route,context.trigger("event-context-before",{context:context}),returned=route.callback.apply(context,callback_args),context.trigger("event-context-after",{context:context});return returned},$.each(arounds.reverse(),function(i,around){var last_wrapped_route=wrapped_route;wrapped_route=function(){return around.apply(context,[last_wrapped_route])}});try{final_returned=wrapped_route()}catch(e){this.error(["500 Error",verb,path].join(" "),e)}return final_returned}return this.notFound(verb,path)},contextMatchesOptions:function(context,match_options,positive){var options=match_options;if(typeof options==="undefined"||options=={})return true;typeof positive==="undefined"&&(positive=true);if(typeof options==="string"||_isFunction(options.test))options={path:options};if(options.only)return this.contextMatchesOptions(context,options.only,true);if(options.except)return this.contextMatchesOptions(context,options.except,false);var path_matched=true,verb_matched=true;options.path&&(_isFunction(options.path.test)?path_matched=options.path.test(context.path):path_matched=options.path.toString()===context.path),options.verb&&(verb_matched=options.verb===context.verb);return positive?verb_matched&&path_matched:!(verb_matched&&path_matched)},getLocation:function(){return this._location_proxy.getLocation()},setLocation:function(new_location){return this._location_proxy.setLocation(new_location)},swap:function(content){return this.$element().html(content)},templateCache:function(key,value){return typeof value!="undefined"?_template_cache[key]=value:_template_cache[key]},clearTemplateCache:function(){return _template_cache={}},notFound:function(verb,path){var ret=this.error(["404 Not Found",verb,path].join(" "));return verb==="get"?ret:true},error:function(message,original_error){original_error||(original_error=new Error),original_error.message=[message,original_error.message].join(" "),this.trigger("error",{message:original_error.message,error:original_error});if(this.raise_errors)throw original_error;this.log(original_error.message,original_error)},_checkLocation:function(){var location,returned;location=this.getLocation();if(!this.last_location||this.last_location[0]!="get"||this.last_location[1]!=location)this.last_location=["get",location],returned=this.runRoute("get",location);return returned},_getFormVerb:function(form){var $form=$(form),verb,$_method;$_method=$form.find("input[name=\"_method\"]"),$_method.length>0&&(verb=$_method.val()),verb||(verb=$form[0].getAttribute("method"));return $.trim(verb.toString().toLowerCase())},_checkFormSubmission:function(form){var $form,path,verb,params,returned;this.trigger("check-form-submission",{form:form}),$form=$(form),path=$form.attr("action"),verb=this._getFormVerb($form);if(!verb||verb=="")verb="get";this.log("_checkFormSubmission",$form,path,verb),verb==="get"?(this.setLocation(path+"?"+$form.serialize()),returned=false):(params=$.extend({},this._parseFormParams($form)),returned=this.runRoute(verb,path,params,form.get(0)));return typeof returned=="undefined"?false:returned},_parseFormParams:function($form){var params={},form_fields=$form.serializeArray(),i;for(i=0;i<form_fields.length;i++)params=this._parseParamPair(params,form_fields[i].name,form_fields[i].value);return params},_parseQueryString:function(path){var params={},parts,pairs,pair,i;parts=path.match(QUERY_STRING_MATCHER);if(parts){pairs=parts[1].split("&");for(i=0;i<pairs.length;i++)pair=pairs[i].split("="),params=this._parseParamPair(params,_decode(pair[0]),_decode(pair[1]))}return params},_parseParamPair:function(params,key,value){params[key]?_isArray(params[key])?params[key].push(value):params[key]=[params[key],value]:params[key]=value;return params},_listen:function(name,callback){return this.$element().bind([name,this.eventNamespace()].join("."),callback)},_unlisten:function(name,callback){return this.$element().unbind([name,this.eventNamespace()].join("."),callback)}}),Sammy.RenderContext=function(event_context){this.event_context=event_context,this.callbacks=[],this.previous_content=null,this.content=null,this.next_engine=false,this.waiting=false},$.extend(Sammy.RenderContext.prototype,{then:function(callback){if(!_isFunction(callback))if(typeof callback==="string"&&callback in this.event_context){var helper=this.event_context[callback];callback=function(content){return helper.apply(this.event_context,[content])}}else return this;var context=this;this.waiting?this.callbacks.push(callback):(this.wait(),window.setTimeout(function(){var returned=callback.apply(context,[context.content,context.previous_content]);returned!==false&&context.next(returned)},13));return this},wait:function(){this.waiting=true},next:function(content){this.waiting=false,typeof content!=="undefined"&&(this.previous_content=this.content,this.content=content),this.callbacks.length>0&&this.then(this.callbacks.shift())},load:function(location,options,callback){var context=this;return this.then(function(){var should_cache,cached,is_json,location_array;_isFunction(options)?(callback=options,options={}):options=$.extend({},options),callback&&this.then(callback);if(typeof location==="string"){is_json=location.match(/\.json$/)||options.json,should_cache=is_json&&options.cache===true||options.cache!==false,context.next_engine=context.event_context.engineFor(location),delete options.cache,delete options.json,options.engine&&(context.next_engine=options.engine,delete options.engine);if(should_cache&&(cached=this.event_context.app.templateCache(location)))return cached;this.wait(),$.ajax($.extend({url:location,data:{},dataType:is_json?"json":null,type:"get",success:function(data){should_cache&&context.event_context.app.templateCache(location,data),context.next(data)}},options));return false}if(location.nodeType)return location.innerHTML;if(location.selector){context.next_engine=location.attr("data-engine");return options.clone===false?location.remove()[0].innerHTML.toString():location[0].innerHTML.toString()}})},render:function(location,data,callback){if(_isFunction(location)&&!data)return this.then(location);!data&&this.content&&(data=this.content);return this.load(location).interpolate(data,location).then(callback)},partial:function(location,data){return this.render(location,data).swap()},send:function(){var context=this,args=_makeArray(arguments),fun=args.shift();_isArray(args[0])&&(args=args[0]);return this.then(function(content){args.push(function(response){context.next(response)}),context.wait(),fun.apply(fun,args);return false})},collect:function(array,callback,now){var context=this,coll=function(){_isFunction(array)&&(callback=array,array=this.content);var contents=[],doms=false;$.each(array,function(i,item){var returned=callback.apply(context,[i,item]);returned.jquery&&returned.length==1&&(returned=returned[0],doms=true),contents.push(returned);return returned});return doms?contents:contents.join("")};return now?coll():this.then(coll)},renderEach:function(location,name,data,callback){_isArray(name)&&(callback=data,data=name,name=null);return this.load(location).then(function(content){var rctx=this;data||(data=_isArray(this.previous_content)?this.previous_content:[]);if(callback)$.each(data,function(i,value){var idata={},engine=this.next_engine||location;name?idata[name]=value:idata=value,callback(value,rctx.event_context.interpolate(content,idata,engine))});else return this.collect(data,function(i,value){var idata={},engine=this.next_engine||location;name?idata[name]=value:idata=value;return this.event_context.interpolate(content,idata,engine)},true)})},interpolate:function(data,engine,retain){var context=this;return this.then(function(content,prev){!data&&prev&&(data=prev),this.next_engine&&(engine=this.next_engine,this.next_engine=false);var rendered=context.event_context.interpolate(content,data,engine);return retain?prev+rendered:rendered})},swap:function(){return this.then(function(content){this.event_context.swap(content)}).trigger("changed",{})},appendTo:function(selector){return this.then(function(content){$(selector).append(content)}).trigger("changed",{})},prependTo:function(selector){return this.then(function(content){$(selector).prepend(content)}).trigger("changed",{})},replace:function(selector){return this.then(function(content){$(selector).html(content)}).trigger("changed",{})},trigger:function(name,data){return this.then(function(content){typeof data=="undefined"&&(data={content:content}),this.event_context.trigger(name,data)})}}),Sammy.EventContext=function(app,verb,path,params,target){this.app=app,this.verb=verb,this.path=path,this.params=new Sammy.Object(params),this.target=target},Sammy.EventContext.prototype=$.extend({},Sammy.Object.prototype,{$element:function(){return this.app.$element()},engineFor:function(engine){var context=this,engine_match;if(_isFunction(engine))return engine;engine=engine.toString();if(engine_match=engine.match(/\.([^\.]+)$/))engine=engine_match[1];if(engine&&_isFunction(context[engine]))return context[engine];if(context.app.template_engine)return this.engineFor(context.app.template_engine);return function(content,data){return content}},interpolate:function(content,data,engine){return this.engineFor(engine).apply(this,[content,data])},render:function(location,data,callback){return(new Sammy.RenderContext(this)).render(location,data,callback)},renderEach:function(location,name,data,callback){return(new Sammy.RenderContext(this)).renderEach(location,name,data,callback)},load:function(location,options,callback){return(new Sammy.RenderContext(this)).load(location,options,callback)},partial:function(location,data){return(new Sammy.RenderContext(this)).partial(location,data)},send:function(){var rctx=new Sammy.RenderContext(this);return rctx.send.apply(rctx,arguments)},redirect:function(){var to,args=_makeArray(arguments),current_location=this.app.getLocation();args.length>1?(args.unshift("/"),to=this.join.apply(this,args)):to=args[0],this.trigger("redirect",{to:to}),this.app.last_location=[this.verb,this.path],this.app.setLocation(to),current_location==to&&this.app.trigger("location-changed")},trigger:function(name,data){typeof data=="undefined"&&(data={}),data.context||(data.context=this);return this.app.trigger(name,data)},eventNamespace:function(){return this.app.eventNamespace()},swap:function(contents){return this.app.swap(contents)},notFound:function(){return this.app.notFound(this.verb,this.path)},json:function(string){return $.parseJSON(string)},toString:function(){return"Sammy.EventContext: "+[this.verb,this.path,this.params].join(" ")}}),$.sammy=window.Sammy=Sammy})(jQuery,window),(function($){window.JSON||(window.JSON={}),(function(){function f(n){return n<10?"0"+n:n}typeof Date.prototype.toJSON!=="function"&&(Date.prototype.toJSON=function(key){return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z"},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\"":"\\\"","\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?"\""+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+"\"":"\""+string+"\""}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];value&&typeof value==="object"&&typeof value.toJSON==="function"&&(value=value.toJSON(key)),typeof rep==="function"&&(value=rep.call(holder,key,value));switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value)return"null";gap+=indent,partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1)partial[i]=str(i,value)||"null";v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]",gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1)k=rep[i],typeof k==="string"&&(v=str(k,value),v&&partial.push(quote(k)+(gap?": ":":")+v))}else for(k in value)Object.hasOwnProperty.call(value,k)&&(v=str(k,value),v&&partial.push(quote(k)+(gap?": ":":")+v));v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}",gap=mind;return v}}typeof JSON.stringify!=="function"&&(JSON.stringify=function(value,replacer,space){var i;gap="",indent="";if(typeof space==="number")for(i=0;i<space;i+=1)indent+=" ";else typeof space==="string"&&(indent=space);rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number"))throw new Error("JSON.stringify");return str("",{"":value})}),typeof JSON.parse!=="function"&&(JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object")for(k in value)Object.hasOwnProperty.call(value,k)&&(v=walk(value,k),v!==undefined?value[k]=v:delete value[k]);return reviver.call(holder,key,value)}cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")})})(),Sammy=Sammy||{},Sammy.JSON=function(app){app.helpers({json:function(object){return typeof object=="string"?JSON.parse(object):JSON.stringify(object)}})}})(jQuery),(function($){Sammy=Sammy||{},Sammy.Title=function(){this.setTitle=function(title,seperator,formatter){$.isFunction(title)?this.title_function=title:($.isFunction(seperator)&&(formatter=seperator,seperator=null),this.title_function=function(){var title_args=$.isArray(arguments[0])?arguments[0]:$.makeArray(arguments),parts=[title].concat(title_args);$.isFunction(formatter)&&(parts=$.map(parts,formatter));return parts.join(seperator||" ")})},this.helper("title",function(){var title_args=$.makeArray(arguments);this.app.title_function&&(new_title=this.app.title_function(title_args)),document.title=new_title})}})(jQuery),(function($){var Handlebars={compilerCache:{},compile:function(string){if(Handlebars.compilerCache[string]==null){var fnBody=Handlebars.compileFunctionBody(string),fn=new Function("context","fallback","Handlebars",fnBody);Handlebars.compilerCache[string]=function(context,fallback){return fn(context,fallback,Handlebars)}}return Handlebars.compilerCache[string]},compileToString:function(string){var fnBody=Handlebars.compileFunctionBody(string);return"function(context, fallback) { "+fnBody+"}"},compileFunctionBody:function(string){var compiler=new Handlebars.Compiler(string);compiler.compile();return"fallback = fallback || {}; var stack = [];"+compiler.fn},isFunction:function(fn){return Object.prototype.toString.call(fn)=="[object Function]"},trim:function(str){return str.replace(/^\s+|\s+$/g,"")},escapeText:function(string){string=string.replace(/'/g,"\\'"),string=string.replace(/\"/g,"\\\"");return string},escapeExpression:function(string){if(string instanceof Handlebars.SafeString)return string.toString();string===null&&(string="");return string.toString().replace(/&(?!\w+;)|["\\<>]/g,function(str){switch(str){case"&":return"&amp;";case"\"":return"\"";case"\\":return"\\\\";case"<":return"&lt;";case">":return"&gt;";default:return str}})},compilePartial:function(partial){Handlebars.isFunction(partial)?compiled=partial:compiled=Handlebars.compile(partial);return compiled},evalExpression:function(path,context,stack){var parsedPath=Handlebars.parsePath(path),depth=parsedPath[0],parts=parsedPath[1];depth>stack.length?context=null:depth>0&&(context=stack[stack.length-depth]);for(var i=0;i<parts.length&&context!==undefined;i++)context=context[parts[i]];return context},buildContext:function(context,stack){var ContextWrapper=function(stack){this.__stack__=stack.slice(0),this.__get__=function(path){return Handlebars.evalExpression(path,this,this.__stack__)}};ContextWrapper.prototype=context;return new ContextWrapper(stack)},pathPatterns:{},parsePath:function(path){if(path==null)return[0,[]];if(Handlebars.pathPatterns[path]!=null)return Handlebars.pathPatterns[path];var parts=path.split("/"),readDepth=false,depth=0,dig=[];for(var i=0,j=parts.length;i<j;i++)switch(parts[i]){case"..":if(readDepth)throw new Handlebars.Exception("Cannot jump out of context after moving into a context.");depth+=1;break;case".":case"this":break;default:readDepth=true,dig.push(parts[i])}var ret=[depth,dig];Handlebars.pathPatterns[path]=ret;return ret},isEmpty:function(value){return typeof value==="undefined"?true:value?Object.prototype.toString.call(value)==="[object Array]"&&value.length==0?true:false:true},filterOutput:function(value,escape){return Handlebars.isEmpty(value)?"":escape?Handlebars.escapeExpression(value):value},handleBlock:function(lookup,context,arg,fn,notFn){var out="";Handlebars.isFunction(lookup)?(out=out+lookup.call(context,arg,fn),notFn!=null&&Handlebars.isFunction(lookup.not)&&(out=out+lookup.not.call(context,arg,notFn))):(Handlebars.isEmpty(lookup)||(out=out+Handlebars.helperMissing.call(arg,lookup,fn)),notFn!=null&&(out=out+Handlebars.helperMissing.not.call(arg,lookup,notFn)));return out},handleExpression:function(lookup,context,arg,isEscaped){var out="";Handlebars.isFunction(lookup)?out=out+Handlebars.filterOutput(lookup.call(context,arg),isEscaped):Handlebars.isEmpty(lookup)||(out=out+Handlebars.filterOutput(lookup,isEscaped));return out},handleInvertedSection:function(lookup,context,fn){var out="";Handlebars.isFunction(lookup)&&Handlebars.isEmpty(lookup())?out=out+fn(context):Handlebars.isEmpty(lookup)&&(out=out+fn(context));return out}};Handlebars.Compiler=function(string){this.string=string,this.pointer=-1,this.mustache=false,this.text="",this.fn="var out = ''; var lookup; ",this.newlines="",this.comment=false,this.escaped=true,this.partial=false,this.inverted=false,this.endCondition=null,this.continueInverted=false},Handlebars.Exception=function(message){this.message=message},Handlebars.SafeString=function(string){this.string=string},Handlebars.SafeString.prototype.toString=function(){return this.string.toString()},Handlebars.helperMissing=function(object,fn){var ret="";if(object===true)return fn(this);if(object===false)return"";if(Object.prototype.toString.call(object)==="[object Array]"){for(var i=0,j=object.length;i<j;i++)ret=ret+fn(object[i]);return ret}return fn(object)},Handlebars.helperMissing.not=function(context,fn){return fn(context)},Handlebars.Compiler.prototype={getChar:function(n){var ret=this.peek(n);this.pointer=this.pointer+(n||1);return ret},peek:function(n){n=n||1;var start=this.pointer+1;return this.string.slice(start,start+n)},compile:function(endCondition){if(!endCondition||!endCondition(this)){var chr;while(chr=this.getChar()){chr==="{"&&this.peek()==="{"&&!this.mustache?(this.getChar(),this.parseMustache()):(chr==="\n"?(this.newlines=this.newlines+"\n",chr="\\n"):chr==="\r"?(this.newlines=this.newlines+"\r",chr="\\r"):chr==="\\"&&(chr="\\\\"),this.text=this.text+chr);if(endCondition&&this.peek(5)=="{{^}}"){this.continueInverted=true,this.getChar(5);break}if(endCondition&&endCondition(this))break}}this.addText(),this.fn+="return out;";return},addText:function(){this.text&&(this.fn=this.fn+"out = out + \""+Handlebars.escapeText(this.text)+"\"; ",this.fn=this.fn+this.newlines,this.newlines="",this.text="")},addExpression:function(mustache,param){param=param||null;var expr=this.lookupFor(mustache);this.fn+="var proxy = Handlebars.buildContext(context, stack);",this.fn+="out = out + Handlebars.handleExpression("+expr+", proxy, "+param+", "+this.escaped+");"},addInvertedSection:function(mustache){var compiler=this.compileToEndOfBlock(mustache),result=compiler.fn,fnId="fn"+this.pointer.toString();this.fn+="var "+fnId+" = function(context) {"+result+"}; ",this.fn+="lookup = "+this.lookupFor(mustache)+"; ",this.fn+="out = out + Handlebars.handleInvertedSection(lookup, context, "+fnId+");",this.openBlock=false,this.inverted=false},lookupFor:function(param){var parsed=Handlebars.parsePath(param),depth=parsed[0],parts=parsed[1];return depth>0||parts.length>1?"(Handlebars.evalExpression('"+param+"', context, stack))":parts.length==1?"(context['"+parts[0]+"'] || fallback['"+parts[0]+"'])":"(context || fallback)"},compileToEndOfBlock:function(mustache){var compiler=new Handlebars.Compiler(this.string.slice(this.pointer+1));compiler.compile(function(compiler){if(compiler.peek(3)==="{{/"){if(compiler.peek(mustache.length+5)==="{{/"+mustache+"}}"){compiler.getChar(mustache.length+5);return true}throw new Handlebars.Exception("Mismatched block close: expected "+mustache+".")}}),this.pointer+=compiler.pointer+1;return compiler},addBlock:function(mustache,param,parts){var compiler=this.compileToEndOfBlock(mustache),result=compiler.fn,fnId="fn"+this.pointer.toString();this.fn+="var wrappedContext = Handlebars.buildContext(context, stack);",this.fn+="stack.push(context);",this.fn+="var "+fnId+" = function(context) {"+result+"}; ",this.fn+="lookup = "+this.lookupFor(mustache)+"; ";if(compiler.continueInverted){var invertedCompiler=this.compileToEndOfBlock(mustache);this.fn+=" var "+fnId+"Not = function(context) { "+invertedCompiler.fn+" };"}else this.fn+=" var "+fnId+"Not = null;";this.fn+="out = out + Handlebars.handleBlock(lookup, wrappedContext, "+param+", "+fnId+", "+fnId+"Not);",this.fn+="stack.pop();",this.openBlock=false},addPartial:function(mustache,param){this.fn+="if (typeof fallback['partials'] === 'undefined' || typeof fallback['partials']['"+mustache+"'] === 'undefined') throw new Handlebars.Exception('Attempted to render undefined partial: "+mustache+"');",this.fn+="out = out + Handlebars.compilePartial(fallback['partials']['"+mustache+"'])("+param+", fallback);"},parseMustache:function(){var chr,part,mustache,param,next=this.peek();if(next==="!")this.comment=true,this.getChar();else if(next==="#")this.openBlock=true,this.getChar();else if(next===">")this.partial=true,this.getChar();else if(next==="^")this.inverted=true,this.openBlock=true,this.getChar();else if(next==="{"||next==="&")this.escaped=false,this.getChar();this.addText(),this.mustache=" ";while(chr=this.getChar()){if(this.mustache&&chr==="}"&&this.peek()==="}"){var parts=Handlebars.trim(this.mustache).split(/\s+/);mustache=parts[0],param=this.lookupFor(parts[1]),this.mustache=false,this.getChar(),!this.escaped&&this.peek()==="}"&&this.getChar();if(this.comment){this.comment=false;return}if(this.partial){this.addPartial(mustache,param),this.partial=false;return}if(this.inverted){this.addInvertedSection(mustache),this.inverted=false;return}if(this.openBlock){this.addBlock(mustache,param,parts);return}return this.addExpression(mustache,param)}this.comment||(this.mustache=this.mustache+chr)}}};var exports=exports||{};exports.compile=Handlebars.compile,exports.compileToString=Handlebars.compileToString,Sammy=Sammy||{},Sammy.Handlebars=function(app,method_alias){var handlebars_cache={},handlebars=function(template,data,partials,name){typeof name=="undefined"&&(name=template);var fn=handlebars_cache[name];fn||(fn=handlebars_cache[name]=Handlebars.compile(template)),data=$.extend({},this,data),partials=$.extend({},data.partials,partials);return fn(data,{partials:partials})};method_alias||(method_alias="handlebars"),app.helper(method_alias,handlebars)}})(jQuery),(function($){Sammy=Sammy||{},Sammy.GoogleAnalytics=function(app,tracker){var _tracker=tracker||window.pageTracker,shouldTrack=true;function disableTracking(){shouldTrack=false}function enableTracking(){shouldTrack=true}this.helpers({noTrack:function(){disableTracking()},track:function(path){typeof _tracker!="undefined"&&shouldTrack&&(this.log("tracking",path),_tracker._trackPageview(path))}}),this.bind("event-context-after",function(){this.track(this.path),enableTracking()})}})(jQuery)
