
if(!this.JSON){JSON=function(){function f(n){return n<10?"0"+n:n}Date.prototype.toJSON=function(){return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z"};var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function stringify(value,whitelist){var a,i,k,l,r=/["\\\x00-\x1f\x7f-\x9f]/g,v;switch(typeof value){case"string":return r.test(value)?'"'+value.replace(r,function(a){var c=m[a];if(c){return c}c=a.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"':'"'+value+'"';case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}if(typeof value.toJSON==="function"){return stringify(value.toJSON())}a=[];if(typeof value.length==="number"&&!(value.propertyIsEnumerable("length"))){l=value.length;for(i=0;i<l;i+=1){a.push(stringify(value[i],whitelist)||"null")}return"["+a.join(",")+"]"}if(whitelist){l=whitelist.length;for(i=0;i<l;i+=1){k=whitelist[i];if(typeof k==="string"){v=stringify(value[k],whitelist);if(v){a.push(stringify(k)+":"+v)}}}}else{for(k in value){if(typeof k==="string"){v=stringify(value[k],whitelist);if(v){a.push(stringify(k)+":"+v)}}}}return"{"+a.join(",")+"}"}}return{stringify:stringify,parse:function(text,filter){var j;function walk(k,v){var i,n;if(v&&typeof v==="object"){for(i in v){if(Object.prototype.hasOwnProperty.apply(v,[i])){n=walk(i,v[i]);if(n!==undefined){v[i]=n}else{delete v[i]}}}}return filter(k,v)}if(/^[\],:{}\s]*$/.test(text.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof filter==="function"?walk("",j):j}throw new SyntaxError("parseJSON")}}}()};var RTree=function(a){var c=3;var b=6;if(!isNaN(a)){c=Math.floor(a/2);b=a}var f={x:0,y:0,w:0,h:0,id:"root",nodes:[]};var j=function(p){return Object.prototype.toString.call(p)==="[object Array]"};var i=(function(){var o={};return function(q){var p=0;if(q in o){p=o[q]++}else{o[q]=0}return q+"_"+p}})();RTree.Rectangle.squarified_ratio=function(p,o,t){var s=(p+o)/2;var r=p*o;var q=r/(s*s);return(r*t/q)};var e=function(u,q,v){var w=[];var r=[];var x=[];var y=1;if(!u||!RTree.Rectangle.overlap_rectangle(u,v)){return x}var o={x:u.x,y:u.y,w:u.w,h:u.h,target:q};r.push(v.nodes.length);w.push(v);do{var A=w.pop();var p=r.pop()-1;if("target" in o){while(p>=0){var s=A.nodes[p];if(RTree.Rectangle.overlap_rectangle(o,s)){if((o.target&&"leaf" in s&&s.leaf===o.target)||(!o.target&&("leaf" in s||RTree.Rectangle.contains_rectangle(s,o)))){if("nodes" in s){x=m(s,true,[],s);A.nodes.splice(p,1)}else{x=A.nodes.splice(p,1)}RTree.Rectangle.make_MBR(A.nodes,A);delete o.target;if(A.nodes.length<c){o.nodes=m(A,true,[],A)}break}else{if("nodes" in s){y+=1;r.push(p);w.push(A);A=s;p=s.nodes.length}}}p-=1}}else{if("nodes" in o){A.nodes.splice(p+1,1);if(A.nodes.length>0){RTree.Rectangle.make_MBR(A.nodes,A)}for(var z=0;z<o.nodes.length;z++){h(o.nodes[z],A)}o.nodes.length=0;if(w.length==0&&A.nodes.length<=1){o.nodes=m(A,true,o.nodes,A);A.nodes.length=0;w.push(A);r.push(1)}else{if(w.length>0&&A.nodes.length<c){o.nodes=m(A,true,o.nodes,A);A.nodes.length=0}else{delete o.nodes}}}else{RTree.Rectangle.make_MBR(A.nodes,A)}}y-=1}while(w.length>0);return(x)};var l=function(w,x){var s=-1;var v=[];var z;var A=function(C,B){return(function(D){C._attach_data(B,D)})};v.push(x);var o=x.nodes;do{if(s!=-1){v.push(o[s]);o=o[s].nodes;s=-1}for(var q=o.length-1;q>=0;q--){var u=o[q];if("leaf" in u){s=-1;break}var t=RTree.Rectangle.squarified_ratio(u.w,u.h,u.nodes.length+1);var r=Math.max(u.x+u.w,w.x+w.w)-Math.min(u.x,w.x);var p=Math.max(u.y+u.h,w.y+w.h)-Math.min(u.y,w.y);var y=RTree.Rectangle.squarified_ratio(r,p,u.nodes.length+2);if(s<0||Math.abs(y-t)<z){z=Math.abs(y-t);s=q}}}while(s!=-1);return(v)};var d=function(o){var p=k(o);while(o.length>0){g(o,p[0],p[1])}return(p)};var g=function(o,B,A){var s=RTree.Rectangle.squarified_ratio(B.w,B.h,B.nodes.length+1);var r=RTree.Rectangle.squarified_ratio(A.w,A.h,A.nodes.length+1);var q;var x;var C;for(var v=o.length-1;v>=0;v--){var p=o[v];var w={};w.x=Math.min(B.x,p.x);w.y=Math.min(B.y,p.y);w.w=Math.max(B.x+B.w,p.x+p.w)-w.x;w.h=Math.max(B.y+B.h,p.y+p.h)-w.y;var z=Math.abs(RTree.Rectangle.squarified_ratio(w.w,w.h,B.nodes.length+2)-s);var u={};u.x=Math.min(A.x,p.x);u.y=Math.min(A.y,p.y);u.w=Math.max(A.x+A.w,p.x+p.w)-u.x;u.h=Math.max(A.y+A.h,p.y+p.h)-u.y;var y=Math.abs(RTree.Rectangle.squarified_ratio(u.w,u.h,A.nodes.length+2)-r);if(!x||!q||Math.abs(y-z)<q){x=v;q=Math.abs(y-z);C=y<z?A:B}}var t=o.splice(x,1)[0];if(B.nodes.length+o.length+1<=c){B.nodes.push(t);RTree.Rectangle.expand_rectangle(B,t)}else{if(A.nodes.length+o.length+1<=c){A.nodes.push(t);RTree.Rectangle.expand_rectangle(A,t)}else{C.nodes.push(t);RTree.Rectangle.expand_rectangle(C,t)}}};var k=function(o){var q=o.length-1;var y=0;var p=o.length-1;var w=0;var u,t;for(var s=o.length-2;s>=0;s--){var r=o[s];if(r.x>o[y].x){y=s}else{if(r.x+r.w<o[q].x+o[q].w){q=s}}if(r.y>o[w].y){w=s}else{if(r.y+r.h<o[p].y+o[p].h){p=s}}}var x=Math.abs((o[q].x+o[q].w)-o[y].x);var v=Math.abs((o[p].y+o[p].h)-o[w].y);if(x>v){if(q>y){u=o.splice(q,1)[0];t=o.splice(y,1)[0]}else{t=o.splice(y,1)[0];u=o.splice(q,1)[0]}}else{if(p>w){u=o.splice(p,1)[0];t=o.splice(w,1)[0]}else{t=o.splice(w,1)[0];u=o.splice(p,1)[0]}}return([{x:u.x,y:u.y,w:u.w,h:u.h,nodes:[u]},{x:t.x,y:t.y,w:t.w,h:t.h,nodes:[t]}])};var n=function(p,o){p.nodes=o.nodes;p.x=o.x;p.y=o.y;p.w=o.w;p.h=o.h;return(p)};var m=function(t,q,s,u){var v=[];if(!RTree.Rectangle.overlap_rectangle(t,u)){return(s)}var w=function(y,x){return(function(z){y._attach_data(x,z)})};v.push(u.nodes);do{var o=v.pop();for(var p=o.length-1;p>=0;p--){var r=o[p];if(RTree.Rectangle.overlap_rectangle(t,r)){if("nodes" in r){v.push(r.nodes)}else{if("leaf" in r){if(!q){s.push(r.leaf)}else{s.push(r)}}}}}}while(v.length>0);return(s)};var h=function(o,u){var r;if(u.nodes.length==0){u.x=o.x;u.y=o.y;u.w=o.w;u.h=o.h;u.nodes.push(o);return}var q=l(o,u);var p=o;do{if(r&&"nodes" in r&&r.nodes.length==0){var x=r;r=q.pop();for(var w=0;w<r.nodes.length;w++){if(r.nodes[w]===x||r.nodes[w].nodes.length==0){r.nodes.splice(w,1);break}}}else{r=q.pop()}if("leaf" in p||"nodes" in p||j(p)){if(j(p)){for(var s=0;s<p.length;s++){RTree.Rectangle.expand_rectangle(r,p[s])}r.nodes=r.nodes.concat(p)}else{RTree.Rectangle.expand_rectangle(r,p);r.nodes.push(p)}if(r.nodes.length<=b){p={x:r.x,y:r.y,w:r.w,h:r.h}}else{var v=d(r.nodes);p=v;if(q.length<1){r.nodes.push(v[0]);q.push(r);p=v[1]}}}else{RTree.Rectangle.expand_rectangle(r,p);p={x:r.x,y:r.y,w:r.w,h:r.h}}}while(q.length>0)};this.get_tree=function(){return f};this.set_tree=function(p,o){if(!o){o=f}return(n(o,p))};this.search=function(p,q,o){if(arguments.length<1){throw"Wrong number of arguments. RT.Search requires at least a bounding rectangle."}switch(arguments.length){case 1:arguments[1]=false;case 2:arguments[2]=[];case 3:arguments[3]=f;default:arguments.length=4}return(m.apply(this,arguments))};this.toJSON=function(x,C){var z=[];var u=[];var y={};var q=3;var A=1;var p="";if(x&&!RTree.Rectangle.overlap_rectangle(x,f)){return""}if(!C){u.push(f.nodes.length);z.push(f.nodes);p+="var main_tree = {x:"+f.x.toFixed()+",y:"+f.y.toFixed()+",w:"+f.w.toFixed()+",h:"+f.h.toFixed()+",nodes:["}else{q+=4;u.push(C.nodes.length);z.push(C.nodes);p+="var main_tree = {x:"+C.x.toFixed()+",y:"+C.y.toFixed()+",w:"+C.w.toFixed()+",h:"+C.h.toFixed()+",nodes:["}do{var o=z.pop();var t=u.pop()-1;if(t>=0&&t<o.length-1){p+=","}while(t>=0){var w=o[t];if(!x||RTree.Rectangle.overlap_rectangle(x,w)){if(w.nodes){if(A>=q){var v=y.length;var s=i("saved_subtree");p+="{x:"+w.x.toFixed()+",y:"+w.y.toFixed()+",w:"+w.w.toFixed()+",h:"+w.h.toFixed()+",load:'"+s+".js'}";y[s]=this.toJSON(x,w);if(t>0){p+=","}}else{p+="{x:"+w.x.toFixed()+",y:"+w.y.toFixed()+",w:"+w.w.toFixed()+",h:"+w.h.toFixed()+",nodes:[";A+=1;u.push(t);z.push(o);o=w.nodes;t=w.nodes.length}}else{if(w.leaf){var r=w.leaf.toJSON?w.leaf.toJSON():JSON.stringify(w.leaf);p+="{x:"+w.x.toFixed()+",y:"+w.y.toFixed()+",w:"+w.w.toFixed()+",h:"+w.h.toFixed()+",leaf:"+r+"}";if(t>0){p+=","}}else{if(w.load){p+="{x:"+w.x.toFixed()+",y:"+w.y.toFixed()+",w:"+w.w.toFixed()+",h:"+w.h.toFixed()+",load:'"+w.load+"'}";if(t>0){p+=","}}}}}t-=1}if(t<0){p+="]}";A-=1}}while(z.length>0);p+=";";for(var B in y){p+="\nvar "+B+" = function(){"+y[B]+" return(main_tree);};"}return(p)};this.remove=function(p,r){if(arguments.length<1){throw"Wrong number of arguments. RT.remove requires at least a bounding rectangle."}switch(arguments.length){case 1:arguments[1]=false;case 2:arguments[2]=f;default:arguments.length=3}if(arguments[1]===false){var o=0;var q=[];do{o=q.length;q=q.concat(e.apply(this,arguments))}while(o!=q.length);return q}else{return(e.apply(this,arguments))}};this.insert=function(o,p){if(arguments.length<2){throw"Wrong number of arguments. RT.Insert requires at least a bounding rectangle and an object."}return(h({x:o.x,y:o.y,w:o.w,h:o.h,leaf:p},f))}};RTree.Rectangle=function(c,b,d,k){var i,a,f,g,j,e;if(c.x){i=c.x;f=c.y;if(c.w!==0&&!c.w&&c.x2){j=c.x2-c.x;e=c.y2-c.y}else{j=c.w;e=c.h}a=i+j;g=f+e}else{i=c;f=b;j=d;e=k;a=i+j;g=f+e}this.x1=this.x=function(){return i};this.y1=this.y=function(){return f};this.x2=function(){return a};this.y2=function(){return g};this.w=function(){return j};this.h=function(){return e};this.toJSON=function(){return('{"x":'+i.toString()+', "y":'+f.toString()+', "w":'+j.toString()+', "h":'+e.toString()+"}")};this.overlap=function(h){return(this.x()<h.x2()&&this.x2()>h.x()&&this.y()<h.y2()&&this.y2()>h.y())};this.expand=function(l){var h=Math.min(this.x(),l.x());var m=Math.min(this.y(),l.y());j=Math.max(this.x2(),l.x2())-h;e=Math.max(this.y2(),l.y2())-m;i=h;f=m;return(this)};this.setRect=function(n,m,o,u){var s,l,q,r,t,p;if(n.x){s=n.x;q=n.y;if(n.w!==0&&!n.w&&n.x2){t=n.x2-n.x;p=n.y2-n.y}else{t=n.w;p=n.h}l=s+t;r=q+p}else{s=n;q=m;t=o;p=u;l=s+t;r=q+p}}};RTree.Rectangle.overlap_rectangle=function(d,c){return(d.x<(c.x+c.w)&&(d.x+d.w)>c.x&&d.y<(c.y+c.h)&&(d.y+d.h)>c.y)};RTree.Rectangle.contains_rectangle=function(d,c){return((d.x+d.w)<=(c.x+c.w)&&d.x>=c.x&&(d.y+d.h)<=(c.y+c.h)&&d.y>=c.y)};RTree.Rectangle.expand_rectangle=function(e,d){var c=Math.min(e.x,d.x);var f=Math.min(e.y,d.y);e.w=Math.max(e.x+e.w,d.x+d.w)-c;e.h=Math.max(e.y+e.h,d.y+d.h)-f;e.x=c;e.y=f;return(e)};RTree.Rectangle.make_MBR=function(a,c){if(a.length<1){return({x:0,y:0,w:0,h:0})}if(!c){c={x:a[0].x,y:a[0].y,w:a[0].w,h:a[0].h}}else{c.x=a[0].x}c.y=a[0].y;c.w=a[0].w;c.h=a[0].h;for(var b=a.length-1;b>0;b--){RTree.Rectangle.expand_rectangle(c,a[b])}return(c)};/*
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */
(function(aO,I){function a0(){if(!ah.isReady){try{M.documentElement.doScroll("left")}catch(c){setTimeout(a0,1);return}ah.ready()}}function E(s,c){c.src?ah.ajax({url:c.src,async:false,dataType:"script"}):ah.globalEval(c.text||c.textContent||c.innerHTML||"");c.parentNode&&c.parentNode.removeChild(c)}function ap(s,c,K,F,G,w){var A=s.length;if(typeof c==="object"){for(var J in c){ap(s,J,c[J],F,G,K)}return s}if(K!==I){F=!w&&F&&ah.isFunction(K);for(J=0;J<A;J++){G(s[J],c,F?K.call(s[J],J,G(s[J],c)):K,w)}return s}return A?G(s[0],c):I}function aF(){return(new Date).getTime()}function ao(){return false}function am(){return true}function aK(s,c,w){w[0].type=s;return ah.event.handle.apply(c,w)}function ag(O){var N,L=[],J=[],K=arguments,F,G,s,A,w,c;G=ah.data(this,"events");if(!(O.liveFired===this||!G||!G.live||O.button&&O.type==="click")){O.liveFired=this;var P=G.live.slice(0);for(A=0;A<P.length;A++){G=P[A];G.origType.replace(az,"")===O.type?J.push(G.selector):P.splice(A--,1)}F=ah(O.target).closest(J,O.currentTarget);w=0;for(c=F.length;w<c;w++){for(A=0;A<P.length;A++){G=P[A];if(F[w].selector===G.selector){s=F[w].elem;J=null;if(G.preType==="mouseenter"||G.preType==="mouseleave"){J=ah(O.relatedTarget).closest(G.selector)[0]}if(!J||J!==s){L.push({elem:s,handleObj:G})}}}}w=0;for(c=L.length;w<c;w++){F=L[w];O.currentTarget=F.elem;O.data=F.handleObj.data;O.handleObj=F.handleObj;if(F.handleObj.origHandler.apply(F.elem,K)===false){N=false;break}}return N}}function z(s,c){return"live."+(s&&s!=="*"?s+".":"")+c.replace(/\./g,"`").replace(/ /g,"&")}function l(c){return !c||!c.parentNode||c.parentNode.nodeType===11}function bj(s,c){var w=0;c.each(function(){if(this.nodeName===(s[w]&&s[w].nodeName)){var G=ah.data(s[w++]),J=ah.data(this,G);if(G=G&&G.events){delete J.handle;J.events={};for(var A in G){for(var F in G[A]){ah.event.add(this,A,G[A][F],G[A][F].data)}}}}})}function a3(s,c,G){var A,F,w;c=c&&c[0]?c[0].ownerDocument||c[0]:M;if(s.length===1&&typeof s[0]==="string"&&s[0].length<512&&c===M&&!aP.test(s[0])&&(ah.support.checkClone||!ak.test(s[0]))){F=true;if(w=ah.fragments[s[0]]){if(w!==1){A=w}}}if(!A){A=c.createDocumentFragment();ah.clean(s,c,A,G)}if(F){ah.fragments[s[0]]=w?A:1}return{fragment:A,cacheable:F}}function aC(s,c){var w={};ah.each(D.concat.apply([],D.slice(0,c)),function(){w[this]=s});return w}function o(c){return"scrollTo" in c&&c.document?c:c.nodeType===9?c.defaultView||c.parentWindow:false}var ah=function(s,c){return new ah.fn.init(s,c)},p=aO.jQuery,d=aO.$,M=aO.document,at,a7=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,aT=/^.[^:#\[\.,]*$/,an=/\S/,H=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,q=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,ax=navigator.userAgent,b=false,av=[],aB,a1=Object.prototype.toString,aV=Object.prototype.hasOwnProperty,ay=Array.prototype.push,au=Array.prototype.slice,a6=Array.prototype.indexOf;ah.fn=ah.prototype={init:function(s,c){var A,w;if(!s){return this}if(s.nodeType){this.context=this[0]=s;this.length=1;return this}if(s==="body"&&!c){this.context=M;this[0]=M.body;this.selector="body";this.length=1;return this}if(typeof s==="string"){if((A=a7.exec(s))&&(A[1]||!c)){if(A[1]){w=c?c.ownerDocument||c:M;if(s=q.exec(s)){if(ah.isPlainObject(c)){s=[M.createElement(s[1])];ah.fn.attr.call(s,c,true)}else{s=[w.createElement(s[1])]}}else{s=a3([A[1]],[w]);s=(s.cacheable?s.fragment.cloneNode(true):s.fragment).childNodes}return ah.merge(this,s)}else{if(c=M.getElementById(A[2])){if(c.id!==A[2]){return at.find(s)}this.length=1;this[0]=c}this.context=M;this.selector=s;return this}}else{if(!c&&/^\w+$/.test(s)){this.selector=s;this.context=M;s=M.getElementsByTagName(s);return ah.merge(this,s)}else{return !c||c.jquery?(c||at).find(s):ah(c).find(s)}}}else{if(ah.isFunction(s)){return at.ready(s)}}if(s.selector!==I){this.selector=s.selector;this.context=s.context}return ah.makeArray(s,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return au.call(this,0)},get:function(c){return c==null?this.toArray():c<0?this.slice(c)[0]:this[c]},pushStack:function(s,c,A){var w=ah();ah.isArray(s)?ay.apply(w,s):ah.merge(w,s);w.prevObject=this;w.context=this.context;if(c==="find"){w.selector=this.selector+(this.selector?" ":"")+A}else{if(c){w.selector=this.selector+"."+c+"("+A+")"}}return w},each:function(s,c){return ah.each(this,s,c)},ready:function(c){ah.bindReady();if(ah.isReady){c.call(M,ah)}else{av&&av.push(c)}return this},eq:function(c){return c===-1?this.slice(c):this.slice(c,+c+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(au.apply(this,arguments),"slice",au.call(arguments).join(","))},map:function(c){return this.pushStack(ah.map(this,function(s,w){return c.call(s,w,s)}))},end:function(){return this.prevObject||ah(null)},push:ay,sort:[].sort,splice:[].splice};ah.fn.init.prototype=ah.fn;ah.extend=ah.fn.extend=function(){var s=arguments[0]||{},c=1,K=arguments.length,F=false,G,w,A,J;if(typeof s==="boolean"){F=s;s=arguments[1]||{};c=2}if(typeof s!=="object"&&!ah.isFunction(s)){s={}}if(K===c){s=this;--c}for(;c<K;c++){if((G=arguments[c])!=null){for(w in G){A=s[w];J=G[w];if(s!==J){if(F&&J&&(ah.isPlainObject(J)||ah.isArray(J))){A=A&&(ah.isPlainObject(A)||ah.isArray(A))?A:ah.isArray(J)?[]:{};s[w]=ah.extend(F,A,J)}else{if(J!==I){s[w]=J}}}}}}return s};ah.extend({noConflict:function(c){aO.$=d;if(c){aO.jQuery=p}return ah},isReady:false,ready:function(){if(!ah.isReady){if(!M.body){return setTimeout(ah.ready,13)}ah.isReady=true;if(av){for(var s,c=0;s=av[c++];){s.call(M,ah)}av=null}ah.fn.triggerHandler&&ah(M).triggerHandler("ready")}},bindReady:function(){if(!b){b=true;if(M.readyState==="complete"){return ah.ready()}if(M.addEventListener){M.addEventListener("DOMContentLoaded",aB,false);aO.addEventListener("load",ah.ready,false)}else{if(M.attachEvent){M.attachEvent("onreadystatechange",aB);aO.attachEvent("onload",ah.ready);var s=false;try{s=aO.frameElement==null}catch(c){}M.documentElement.doScroll&&s&&a0()}}}},isFunction:function(c){return a1.call(c)==="[object Function]"},isArray:function(c){return a1.call(c)==="[object Array]"},isPlainObject:function(s){if(!s||a1.call(s)!=="[object Object]"||s.nodeType||s.setInterval){return false}if(s.constructor&&!aV.call(s,"constructor")&&!aV.call(s.constructor.prototype,"isPrototypeOf")){return false}var c;for(c in s){}return c===I||aV.call(s,c)},isEmptyObject:function(s){for(var c in s){return false}return true},error:function(c){throw c},parseJSON:function(c){if(typeof c!=="string"||!c){return null}c=ah.trim(c);if(/^[\],:{}\s]*$/.test(c.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){return aO.JSON&&aO.JSON.parse?aO.JSON.parse(c):(new Function("return "+c))()}else{ah.error("Invalid JSON: "+c)}},noop:function(){},globalEval:function(s){if(s&&an.test(s)){var c=M.getElementsByTagName("head")[0]||M.documentElement,w=M.createElement("script");w.type="text/javascript";if(ah.support.scriptEval){w.appendChild(M.createTextNode(s))}else{w.text=s}c.insertBefore(w,c.firstChild);c.removeChild(w)}},nodeName:function(s,c){return s.nodeName&&s.nodeName.toUpperCase()===c.toUpperCase()},each:function(s,c,J){var F,G=0,w=s.length,A=w===I||ah.isFunction(s);if(J){if(A){for(F in s){if(c.apply(s[F],J)===false){break}}}else{for(;G<w;){if(c.apply(s[G++],J)===false){break}}}}else{if(A){for(F in s){if(c.call(s[F],F,s[F])===false){break}}}else{for(J=s[0];G<w&&c.call(J,G,J)!==false;J=s[++G]){}}}return s},trim:function(c){return(c||"").replace(H,"")},makeArray:function(s,c){c=c||[];if(s!=null){s.length==null||typeof s==="string"||ah.isFunction(s)||typeof s!=="function"&&s.setInterval?ay.call(c,s):ah.merge(c,s)}return c},inArray:function(s,c){if(c.indexOf){return c.indexOf(s)}for(var A=0,w=c.length;A<w;A++){if(c[A]===s){return A}}return -1},merge:function(s,c){var F=s.length,w=0;if(typeof c.length==="number"){for(var A=c.length;w<A;w++){s[F++]=c[w]}}else{for(;c[w]!==I;){s[F++]=c[w++]}}s.length=F;return s},grep:function(s,c,G){for(var A=[],F=0,w=s.length;F<w;F++){!G!==!c(s[F],F)&&A.push(s[F])}return A},map:function(s,c,J){for(var F=[],G,w=0,A=s.length;w<A;w++){G=c(s[w],w,J);if(G!=null){F[F.length]=G}}return F.concat.apply([],F)},guid:1,proxy:function(s,c,w){if(arguments.length===2){if(typeof c==="string"){w=s;s=w[c];c=I}else{if(c&&!ah.isFunction(c)){w=c;c=I}}}if(!c&&s){c=function(){return s.apply(w||this,arguments)}}if(s){c.guid=s.guid=s.guid||c.guid||ah.guid++}return c},uaMatch:function(c){c=c.toLowerCase();c=/(webkit)[ \/]([\w.]+)/.exec(c)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(c)||/(msie) ([\w.]+)/.exec(c)||!/compatible/.test(c)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(c)||[];return{browser:c[1]||"",version:c[2]||"0"}},browser:{}});ax=ah.uaMatch(ax);if(ax.browser){ah.browser[ax.browser]=true;ah.browser.version=ax.version}if(ah.browser.webkit){ah.browser.safari=true}if(a6){ah.inArray=function(s,c){return a6.call(c,s)}}at=ah(M);if(M.addEventListener){aB=function(){M.removeEventListener("DOMContentLoaded",aB,false);ah.ready()}}else{if(M.attachEvent){aB=function(){if(M.readyState==="complete"){M.detachEvent("onreadystatechange",aB);ah.ready()}}}}(function(){ah.support={};var L=M.documentElement,K=M.createElement("script"),J=M.createElement("div"),F="script"+aF();J.style.display="none";J.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var G=J.getElementsByTagName("*"),w=J.getElementsByTagName("a")[0];if(!(!G||!G.length||!w)){ah.support={leadingWhitespace:J.firstChild.nodeType===3,tbody:!J.getElementsByTagName("tbody").length,htmlSerialize:!!J.getElementsByTagName("link").length,style:/red/.test(w.getAttribute("style")),hrefNormalized:w.getAttribute("href")==="/a",opacity:/^0.55$/.test(w.style.opacity),cssFloat:!!w.style.cssFloat,checkOn:J.getElementsByTagName("input")[0].value==="on",optSelected:M.createElement("select").appendChild(M.createElement("option")).selected,parentNode:J.removeChild(J.appendChild(M.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};K.type="text/javascript";try{K.appendChild(M.createTextNode("window."+F+"=1;"))}catch(A){}L.insertBefore(K,L.firstChild);if(aO[F]){ah.support.scriptEval=true;delete aO[F]}try{delete K.test}catch(c){ah.support.deleteExpando=false}L.removeChild(K);if(J.attachEvent&&J.fireEvent){J.attachEvent("onclick",function s(){ah.support.noCloneEvent=false;J.detachEvent("onclick",s)});J.cloneNode(true).fireEvent("onclick")}J=M.createElement("div");J.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";L=M.createDocumentFragment();L.appendChild(J.firstChild);ah.support.checkClone=L.cloneNode(true).cloneNode(true).lastChild.checked;ah(function(){var N=M.createElement("div");N.style.width=N.style.paddingLeft="1px";M.body.appendChild(N);ah.boxModel=ah.support.boxModel=N.offsetWidth===2;M.body.removeChild(N).style.display="none"});L=function(N){var P=M.createElement("div");N="on"+N;var O=N in P;if(!O){P.setAttribute(N,"return;");O=typeof P[N]==="function"}return O};ah.support.submitBubbles=L("submit");ah.support.changeBubbles=L("change");L=K=J=G=w=null}})();ah.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var aH="jQuery"+aF(),e=0,aS={};ah.extend({cache:{},expando:aH,noData:{embed:true,object:true,applet:true},data:function(s,c,F){if(!(s.nodeName&&ah.noData[s.nodeName.toLowerCase()])){s=s==aO?aS:s;var w=s[aH],A=ah.cache;if(!w&&typeof c==="string"&&F===I){return null}w||(w=++e);if(typeof c==="object"){s[aH]=w;A[w]=ah.extend(true,{},c)}else{if(!A[w]){s[aH]=w;A[w]={}}}s=A[w];if(F!==I){s[c]=F}return typeof c==="string"?s[c]:s}},removeData:function(s,c){if(!(s.nodeName&&ah.noData[s.nodeName.toLowerCase()])){s=s==aO?aS:s;var F=s[aH],w=ah.cache,A=w[F];if(c){if(A){delete A[c];ah.isEmptyObject(A)&&ah.removeData(s)}}else{if(ah.support.deleteExpando){delete s[ah.expando]}else{s.removeAttribute&&s.removeAttribute(ah.expando)}delete w[F]}}}});ah.fn.extend({data:function(s,c){if(typeof s==="undefined"&&this.length){return ah.data(this[0])}else{if(typeof s==="object"){return this.each(function(){ah.data(this,s)})}}var A=s.split(".");A[1]=A[1]?"."+A[1]:"";if(c===I){var w=this.triggerHandler("getData"+A[1]+"!",[A[0]]);if(w===I&&this.length){w=ah.data(this[0],s)}return w===I&&A[1]?this.data(A[0]):w}else{return this.trigger("setData"+A[1]+"!",[A[0],c]).each(function(){ah.data(this,s,c)})}},removeData:function(c){return this.each(function(){ah.removeData(this,c)})}});ah.extend({queue:function(s,c,A){if(s){c=(c||"fx")+"queue";var w=ah.data(s,c);if(!A){return w||[]}if(!w||ah.isArray(A)){w=ah.data(s,c,ah.makeArray(A))}else{w.push(A)}return w}},dequeue:function(s,c){c=c||"fx";var A=ah.queue(s,c),w=A.shift();if(w==="inprogress"){w=A.shift()}if(w){c==="fx"&&A.unshift("inprogress");w.call(s,function(){ah.dequeue(s,c)})}}});ah.fn.extend({queue:function(s,c){if(typeof s!=="string"){c=s;s="fx"}if(c===I){return ah.queue(this[0],s)}return this.each(function(){var w=ah.queue(this,s,c);s==="fx"&&w[0]!=="inprogress"&&ah.dequeue(this,s)})},dequeue:function(c){return this.each(function(){ah.dequeue(this,c)})},delay:function(s,c){s=ah.fx?ah.fx.speeds[s]||s:s;c=c||"fx";return this.queue(c,function(){var w=this;setTimeout(function(){ah.dequeue(w,c)},s)})},clearQueue:function(c){return this.queue(c||"fx",[])}});var be=/[\n\t]/g,U=/\s+/,a8=/\r/g,aM=/href|src|style/,aU=/(button|input)/i,aw=/(button|input|object|select|textarea)/i,S=/^(a|area)$/i,aY=/radio|checkbox/;ah.fn.extend({attr:function(s,c){return ap(this,s,c,true,ah.attr)},removeAttr:function(c){return this.each(function(){ah.attr(this,c,"");this.nodeType===1&&this.removeAttribute(c)})},addClass:function(L){if(ah.isFunction(L)){return this.each(function(O){var N=ah(this);N.addClass(L.call(this,O,N.attr("class")))})}if(L&&typeof L==="string"){for(var K=(L||"").split(U),J=0,F=this.length;J<F;J++){var G=this[J];if(G.nodeType===1){if(G.className){for(var w=" "+G.className+" ",A=G.className,c=0,s=K.length;c<s;c++){if(w.indexOf(" "+K[c]+" ")<0){A+=" "+K[c]}}G.className=ah.trim(A)}else{G.className=L}}}}return this},removeClass:function(s){if(ah.isFunction(s)){return this.each(function(L){var N=ah(this);N.removeClass(s.call(this,L,N.attr("class")))})}if(s&&typeof s==="string"||s===I){for(var c=(s||"").split(U),K=0,F=this.length;K<F;K++){var G=this[K];if(G.nodeType===1&&G.className){if(s){for(var w=(" "+G.className+" ").replace(be," "),A=0,J=c.length;A<J;A++){w=w.replace(" "+c[A]+" "," ")}G.className=ah.trim(w)}else{G.className=""}}}}return this},toggleClass:function(s,c){var A=typeof s,w=typeof c==="boolean";if(ah.isFunction(s)){return this.each(function(G){var F=ah(this);F.toggleClass(s.call(this,G,F.attr("class"),c),c)})}return this.each(function(){if(A==="string"){for(var K,G=0,J=ah(this),L=c,F=s.split(U);K=F[G++];){L=w?L:!J.hasClass(K);J[L?"addClass":"removeClass"](K)}}else{if(A==="undefined"||A==="boolean"){this.className&&ah.data(this,"__className__",this.className);this.className=this.className||s===false?"":ah.data(this,"__className__")||""}}})},hasClass:function(s){s=" "+s+" ";for(var c=0,w=this.length;c<w;c++){if((" "+this[c].className+" ").replace(be," ").indexOf(s)>-1){return true}}return false},val:function(s){if(s===I){var c=this[0];if(c){if(ah.nodeName(c,"option")){return(c.attributes.value||{}).specified?c.value:c.text}if(ah.nodeName(c,"select")){var K=c.selectedIndex,F=[],G=c.options;c=c.type==="select-one";if(K<0){return null}var w=c?K:0;for(K=c?K+1:G.length;w<K;w++){var A=G[w];if(A.selected){s=ah(A).val();if(c){return s}F.push(s)}}return F}if(aY.test(c.type)&&!ah.support.checkOn){return c.getAttribute("value")===null?"on":c.value}return(c.value||"").replace(a8,"")}return I}var J=ah.isFunction(s);return this.each(function(L){var P=ah(this),O=s;if(this.nodeType===1){if(J){O=s.call(this,L,P.val())}if(typeof O==="number"){O+=""}if(ah.isArray(O)&&aY.test(this.type)){this.checked=ah.inArray(P.val(),O)>=0}else{if(ah.nodeName(this,"select")){var N=ah.makeArray(O);ah("option",this).each(function(){this.selected=ah.inArray(ah(this).val(),N)>=0});if(!N.length){this.selectedIndex=-1}}else{this.value=O}}}})}});ah.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(s,c,G,A){if(!s||s.nodeType===3||s.nodeType===8){return I}if(A&&c in ah.attrFn){return ah(s)[c](G)}A=s.nodeType!==1||!ah.isXMLDoc(s);var F=G!==I;c=A&&ah.props[c]||c;if(s.nodeType===1){var w=aM.test(c);if(c in s&&A&&!w){if(F){c==="type"&&aU.test(s.nodeName)&&s.parentNode&&ah.error("type property can't be changed");s[c]=G}if(ah.nodeName(s,"form")&&s.getAttributeNode(c)){return s.getAttributeNode(c).nodeValue}if(c==="tabIndex"){return(c=s.getAttributeNode("tabIndex"))&&c.specified?c.value:aw.test(s.nodeName)||S.test(s.nodeName)&&s.href?0:I}return s[c]}if(!ah.support.style&&A&&c==="style"){if(F){s.style.cssText=""+G}return s.style.cssText}F&&s.setAttribute(c,""+G);s=!ah.support.hrefNormalized&&A&&w?s.getAttribute(c,2):s.getAttribute(c);return s===null?I:s}return ah.style(s,c,G)}});var az=/\.(.*)$/,r=function(c){return c.replace(/[^\w\s\.\|`]/g,function(s){return"\\"+s})};ah.event={add:function(P,O,L,J){if(!(P.nodeType===3||P.nodeType===8)){if(P.setInterval&&P!==aO&&!P.frameElement){P=aO}var K,F;if(L.handler){K=L;L=K.handler}if(!L.guid){L.guid=ah.guid++}if(F=ah.data(P)){var G=F.events=F.events||{},s=F.handle;if(!s){F.handle=s=function(){return typeof ah!=="undefined"&&!ah.event.triggered?ah.event.handle.apply(s.elem,arguments):I}}s.elem=P;O=O.split(" ");for(var A,w=0,c;A=O[w++];){F=K?ah.extend({},K):{handler:L,data:J};if(A.indexOf(".")>-1){c=A.split(".");A=c.shift();F.namespace=c.slice(0).sort().join(".")}else{c=[];F.namespace=""}F.type=A;F.guid=L.guid;var Q=G[A],N=ah.event.special[A]||{};if(!Q){Q=G[A]=[];if(!N.setup||N.setup.call(P,J,c,s)===false){if(P.addEventListener){P.addEventListener(A,s,false)}else{P.attachEvent&&P.attachEvent("on"+A,s)}}}if(N.add){N.add.call(P,F);if(!F.handler.guid){F.handler.guid=L.guid}}Q.push(F);ah.event.global[A]=true}P=null}}},global:{},remove:function(R,Q,O,L){if(!(R.nodeType===3||R.nodeType===8)){var N,J=0,K,A,G,F,c,T,P=ah.data(R),s=P&&P.events;if(P&&s){if(Q&&Q.type){O=Q.handler;Q=Q.type}if(!Q||typeof Q==="string"&&Q.charAt(0)==="."){Q=Q||"";for(N in s){ah.event.remove(R,N+Q)}}else{for(Q=Q.split(" ");N=Q[J++];){F=N;K=N.indexOf(".")<0;A=[];if(!K){A=N.split(".");N=A.shift();G=new RegExp("(^|\\.)"+ah.map(A.slice(0).sort(),r).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(c=s[N]){if(O){F=ah.event.special[N]||{};for(w=L||0;w<c.length;w++){T=c[w];if(O.guid===T.guid){if(K||G.test(T.namespace)){L==null&&c.splice(w--,1);F.remove&&F.remove.call(R,T)}if(L!=null){break}}}if(c.length===0||L!=null&&c.length===1){if(!F.teardown||F.teardown.call(R,A)===false){aG(R,N,P.handle)}delete s[N]}}else{for(var w=0;w<c.length;w++){T=c[w];if(K||G.test(T.namespace)){ah.event.remove(R,F,T.handler,w);c.splice(w--,1)}}}}}if(ah.isEmptyObject(s)){if(Q=P.handle){Q.elem=null}delete P.events;delete P.handle;ah.isEmptyObject(P)&&ah.removeData(R)}}}}},trigger:function(N,L,K,G){var J=N.type||N;if(!G){N=typeof N==="object"?N[aH]?N:ah.extend(ah.Event(J),N):ah.Event(J);if(J.indexOf("!")>=0){N.type=J=J.slice(0,-1);N.exclusive=true}if(!K){N.stopPropagation();ah.event.global[J]&&ah.each(ah.cache,function(){this.events&&this.events[J]&&ah.event.trigger(N,L,this.handle.elem)})}if(!K||K.nodeType===3||K.nodeType===8){return I}N.result=I;N.target=K;L=ah.makeArray(L);L.unshift(N)}N.currentTarget=K;(G=ah.data(K,"handle"))&&G.apply(K,L);G=K.parentNode||K.ownerDocument;try{if(!(K&&K.nodeName&&ah.noData[K.nodeName.toLowerCase()])){if(K["on"+J]&&K["on"+J].apply(K,L)===false){N.result=false}}}catch(A){}if(!N.isPropagationStopped()&&G){ah.event.trigger(N,L,G,true)}else{if(!N.isDefaultPrevented()){G=N.target;var F,c=ah.nodeName(G,"a")&&J==="click",w=ah.event.special[J]||{};if((!w._default||w._default.call(K,N)===false)&&!c&&!(G&&G.nodeName&&ah.noData[G.nodeName.toLowerCase()])){try{if(G[J]){if(F=G["on"+J]){G["on"+J]=null}ah.event.triggered=true;G[J]()}}catch(s){}if(F){G["on"+J]=F}ah.event.triggered=false}}}},handle:function(s){var c,J,F,G;s=arguments[0]=ah.event.fix(s||aO.event);s.currentTarget=this;c=s.type.indexOf(".")<0&&!s.exclusive;if(!c){J=s.type.split(".");s.type=J.shift();F=new RegExp("(^|\\.)"+J.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}G=ah.data(this,"events");J=G[s.type];if(G&&J){J=J.slice(0);G=0;for(var w=J.length;G<w;G++){var A=J[G];if(c||F.test(A.namespace)){s.handler=A.handler;s.data=A.data;s.handleObj=A;A=A.handler.apply(this,arguments);if(A!==I){s.result=A;if(A===false){s.preventDefault();s.stopPropagation()}}if(s.isImmediatePropagationStopped()){break}}}}return s.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(s){if(s[aH]){return s}var c=s;s=ah.Event(c);for(var A=this.props.length,w;A;){w=this.props[--A];s[w]=c[w]}if(!s.target){s.target=s.srcElement||M}if(s.target.nodeType===3){s.target=s.target.parentNode}if(!s.relatedTarget&&s.fromElement){s.relatedTarget=s.fromElement===s.target?s.toElement:s.fromElement}if(s.pageX==null&&s.clientX!=null){c=M.documentElement;A=M.body;s.pageX=s.clientX+(c&&c.scrollLeft||A&&A.scrollLeft||0)-(c&&c.clientLeft||A&&A.clientLeft||0);s.pageY=s.clientY+(c&&c.scrollTop||A&&A.scrollTop||0)-(c&&c.clientTop||A&&A.clientTop||0)}if(!s.which&&(s.charCode||s.charCode===0?s.charCode:s.keyCode)){s.which=s.charCode||s.keyCode}if(!s.metaKey&&s.ctrlKey){s.metaKey=s.ctrlKey}if(!s.which&&s.button!==I){s.which=s.button&1?1:s.button&2?3:s.button&4?2:0}return s},guid:100000000,proxy:ah.proxy,special:{ready:{setup:ah.bindReady,teardown:ah.noop},live:{add:function(c){ah.event.add(this,c.origType,ah.extend({},c,{handler:ag}))},remove:function(s){var c=true,w=s.origType.replace(az,"");ah.each(ah.data(this,"events").live||[],function(){if(w===this.origType.replace(az,"")){return c=false}});c&&ah.event.remove(this,s.origType,ag)}},beforeunload:{setup:function(s,c,w){if(this.setInterval){this.onbeforeunload=w}return false},teardown:function(s,c){if(this.onbeforeunload===c){this.onbeforeunload=null}}}}};var aG=M.removeEventListener?function(s,c,w){s.removeEventListener(c,w,false)}:function(s,c,w){s.detachEvent("on"+c,w)};ah.Event=function(c){if(!this.preventDefault){return new ah.Event(c)}if(c&&c.type){this.originalEvent=c;this.type=c.type}else{this.type=c}this.timeStamp=aF();this[aH]=true};ah.Event.prototype={preventDefault:function(){this.isDefaultPrevented=am;var c=this.originalEvent;if(c){c.preventDefault&&c.preventDefault();c.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=am;var c=this.originalEvent;if(c){c.stopPropagation&&c.stopPropagation();c.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=am;this.stopPropagation()},isDefaultPrevented:ao,isPropagationStopped:ao,isImmediatePropagationStopped:ao};var ae=function(s){var c=s.relatedTarget;try{for(;c&&c!==this;){c=c.parentNode}if(c!==this){s.type=s.data;ah.event.handle.apply(this,arguments)}}catch(w){}},x=function(c){c.type=c.data;ah.event.handle.apply(this,arguments)};ah.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(s,c){ah.event.special[s]={setup:function(w){ah.event.add(this,c,w&&w.selector?x:ae,s)},teardown:function(w){ah.event.remove(this,c,w&&w.selector?x:ae)}}});if(!ah.support.submitBubbles){ah.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!=="form"){ah.event.add(this,"click.specialSubmit",function(s){var c=s.target,w=c.type;if((w==="submit"||w==="image")&&ah(c).closest("form").length){return aK("submit",this,arguments)}});ah.event.add(this,"keypress.specialSubmit",function(s){var c=s.target,w=c.type;if((w==="text"||w==="password")&&ah(c).closest("form").length&&s.keyCode===13){return aK("submit",this,arguments)}})}else{return false}},teardown:function(){ah.event.remove(this,".specialSubmit")}}}if(!ah.support.changeBubbles){var t=/textarea|input|select/i,g,j=function(s){var c=s.type,w=s.value;if(c==="radio"||c==="checkbox"){w=s.checked}else{if(c==="select-multiple"){w=s.selectedIndex>-1?ah.map(s.options,function(A){return A.selected}).join("-"):""}else{if(s.nodeName.toLowerCase()==="select"){w=s.selectedIndex}}}return w},bd=function(s,c){var F=s.target,w,A;if(!(!t.test(F.nodeName)||F.readOnly)){w=ah.data(F,"_change_data");A=j(F);if(s.type!=="focusout"||F.type!=="radio"){ah.data(F,"_change_data",A)}if(!(w===I||A===w)){if(w!=null||A){s.type="change";return ah.event.trigger(s,c,F)}}}};ah.event.special.change={filters:{focusout:bd,click:function(s){var c=s.target,w=c.type;if(w==="radio"||w==="checkbox"||c.nodeName.toLowerCase()==="select"){return bd.call(this,s)}},keydown:function(s){var c=s.target,w=c.type;if(s.keyCode===13&&c.nodeName.toLowerCase()!=="textarea"||s.keyCode===32&&(w==="checkbox"||w==="radio")||w==="select-multiple"){return bd.call(this,s)}},beforeactivate:function(c){c=c.target;ah.data(c,"_change_data",j(c))}},setup:function(){if(this.type==="file"){return false}for(var c in g){ah.event.add(this,c+".specialChange",g[c])}return t.test(this.nodeName)},teardown:function(){ah.event.remove(this,".specialChange");return t.test(this.nodeName)}};g=ah.event.special.change.filters}M.addEventListener&&ah.each({focus:"focusin",blur:"focusout"},function(s,c){function w(A){A=ah.event.fix(A);A.type=c;return ah.event.handle.call(this,A)}ah.event.special[c]={setup:function(){this.addEventListener(s,w,true)},teardown:function(){this.removeEventListener(s,w,true)}}});ah.each(["bind","one"],function(s,c){ah.fn[c]=function(K,F,G){if(typeof K==="object"){for(var w in K){this[c](w,F,K[w],G)}return this}if(ah.isFunction(F)){G=F;F=I}var A=c==="one"?ah.proxy(G,function(L){ah(this).unbind(L,A);return G.apply(this,arguments)}):G;if(K==="unload"&&c!=="one"){this.one(K,F,G)}else{w=0;for(var J=this.length;w<J;w++){ah.event.add(this[w],K,A,F)}}return this}});ah.fn.extend({unbind:function(s,c){if(typeof s==="object"&&!s.preventDefault){for(var A in s){this.unbind(A,s[A])}}else{A=0;for(var w=this.length;A<w;A++){ah.event.remove(this[A],s,c)}}return this},delegate:function(s,c,A,w){return this.live(c,A,w,s)},undelegate:function(s,c,w){return arguments.length===0?this.unbind("live"):this.die(c,null,w,s)},trigger:function(s,c){return this.each(function(){ah.event.trigger(s,c,this)})},triggerHandler:function(s,c){if(this[0]){s=ah.Event(s);s.preventDefault();s.stopPropagation();ah.event.trigger(s,c,this[0]);return s.result}},toggle:function(s){for(var c=arguments,w=1;w<c.length;){ah.proxy(s,c[w++])}return this.click(ah.proxy(s,function(A){var F=(ah.data(this,"lastToggle"+s.guid)||0)%w;ah.data(this,"lastToggle"+s.guid,F+1);A.preventDefault();return c[F].apply(this,arguments)||false}))},hover:function(s,c){return this.mouseenter(s).mouseleave(c||s)}});var bh={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};ah.each(["live","die"],function(s,c){ah.fn[c]=function(O,L,N,J){var K,A=0,G,F,w=J||this.selector,P=J?this:ah(this.context);if(ah.isFunction(L)){N=L;L=I}for(O=(O||"").split(" ");(K=O[A++])!=null;){J=az.exec(K);G="";if(J){G=J[0];K=K.replace(az,"")}if(K==="hover"){O.push("mouseenter"+G,"mouseleave"+G)}else{F=K;if(K==="focus"||K==="blur"){O.push(bh[K]+G);K+=G}else{K=(bh[K]||K)+G}c==="live"?P.each(function(){ah.event.add(this,z(K,w),{data:L,selector:w,handler:N,origType:K,origHandler:N,preType:F})}):P.unbind(z(K,w),N)}}return this}});ah.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(s,c){ah.fn[c]=function(w){return w?this.bind(c,w):this.trigger(c)};if(ah.attrFn){ah.attrFn[c]=true}});aO.attachEvent&&!aO.addEventListener&&aO.attachEvent("onunload",function(){for(var s in ah.cache){if(ah.cache[s].handle){try{ah.event.remove(ah.cache[s].handle.elem)}catch(c){}}}});(function(){function W(ab){for(var aa="",Z,Y=0;ab[Y];Y++){Z=ab[Y];if(Z.nodeType===3||Z.nodeType===4){aa+=Z.nodeValue}else{if(Z.nodeType!==8){aa+=W(Z.childNodes)}}}return aa}function V(bb,ba,ab,aa,Y,Z){Y=0;for(var bm=aa.length;Y<bm;Y++){var bn=aa[Y];if(bn){bn=bn[bb];for(var bl=false;bn;){if(bn.sizcache===ab){bl=aa[bn.sizset];break}if(bn.nodeType===1&&!Z){bn.sizcache=ab;bn.sizset=Y}if(bn.nodeName.toLowerCase()===ba){bl=bn;break}bn=bn[bb]}aa[Y]=bl}}}function T(bb,ba,ab,aa,Y,Z){Y=0;for(var bm=aa.length;Y<bm;Y++){var bn=aa[Y];if(bn){bn=bn[bb];for(var bl=false;bn;){if(bn.sizcache===ab){bl=aa[bn.sizset];break}if(bn.nodeType===1){if(!Z){bn.sizcache=ab;bn.sizset=Y}if(typeof ba!=="string"){if(bn===ba){bl=true;break}}else{if(N.filter(ba,[bn]).length>0){bl=bn;break}}}bn=bn[bb]}aa[Y]=bl}}}var Q=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,R=0,O=Object.prototype.toString,P=false,K=true;[0,0].sort(function(){K=false;return 0});var N=function(bm,bl,ba,ab){ba=ba||[];var Z=bl=bl||M;if(bl.nodeType!==1&&bl.nodeType!==9){return[]}if(!bm||typeof bm!=="string"){return ba}for(var aa=[],br,bs,bo,bb,bq=true,bn=s(bl),bp=bm;(Q.exec(""),br=Q.exec(bp))!==null;){bp=br[3];aa.push(br[1]);if(br[2]){bb=br[3];break}}if(aa.length>1&&G.exec(bm)){if(aa.length===2&&L.relative[aa[0]]){bs=X(aa[0]+aa[1],bl)}else{for(bs=L.relative[aa[0]]?[bl]:N(aa.shift(),bl);aa.length;){bm=aa.shift();if(L.relative[bm]){bm+=aa.shift()}bs=X(bm,bs)}}}else{if(!ab&&aa.length>1&&bl.nodeType===9&&!bn&&L.match.ID.test(aa[0])&&!L.match.ID.test(aa[aa.length-1])){br=N.find(aa.shift(),bl,bn);bl=br.expr?N.filter(br.expr,br.set)[0]:br.set[0]}if(bl){br=ab?{expr:aa.pop(),set:c(ab)}:N.find(aa.pop(),aa.length===1&&(aa[0]==="~"||aa[0]==="+")&&bl.parentNode?bl.parentNode:bl,bn);bs=br.expr?N.filter(br.expr,br.set):br.set;if(aa.length>0){bo=c(bs)}else{bq=false}for(;aa.length;){var Y=aa.pop();br=Y;if(L.relative[Y]){br=aa.pop()}else{Y=""}if(br==null){br=bl}L.relative[Y](bo,br,bn)}}else{bo=[]}}bo||(bo=bs);bo||N.error(Y||bm);if(O.call(bo)==="[object Array]"){if(bq){if(bl&&bl.nodeType===1){for(bm=0;bo[bm]!=null;bm++){if(bo[bm]&&(bo[bm]===true||bo[bm].nodeType===1&&A(bl,bo[bm]))){ba.push(bs[bm])}}}else{for(bm=0;bo[bm]!=null;bm++){bo[bm]&&bo[bm].nodeType===1&&ba.push(bs[bm])}}}else{ba.push.apply(ba,bo)}}else{c(bo,ba)}if(bb){N(bb,Z,ba,ab);N.uniqueSort(ba)}return ba};N.uniqueSort=function(Z){if(J){P=K;Z.sort(J);if(P){for(var Y=1;Y<Z.length;Y++){Z[Y]===Z[Y-1]&&Z.splice(Y--,1)}}}return Z};N.matches=function(Z,Y){return N(Z,null,null,Y)};N.find=function(bb,ba,ab){var aa,Y;if(!bb){return[]}for(var Z=0,bm=L.order.length;Z<bm;Z++){var bn=L.order[Z];if(Y=L.leftMatch[bn].exec(bb)){var bl=Y[1];Y.splice(1,1);if(bl.substr(bl.length-1)!=="\\"){Y[1]=(Y[1]||"").replace(/\\/g,"");aa=L.find[bn](Y,ba,ab);if(aa!=null){bb=bb.replace(L.match[bn],"");break}}}}aa||(aa=ba.getElementsByTagName("*"));return{set:aa,expr:bb}};N.filter=function(bn,bm,bb,ab){for(var Z=bn,aa=[],bt=bm,bu,bq,bl=bm&&bm[0]&&s(bm[0]);bn&&bm.length;){for(var bs in L.filter){if((bu=L.leftMatch[bs].exec(bn))!=null&&bu[2]){var bo=L.filter[bs],br,Y;Y=bu[1];bq=false;bu.splice(1,1);if(Y.substr(Y.length-1)!=="\\"){if(bt===aa){aa=[]}if(L.preFilter[bs]){if(bu=L.preFilter[bs](bu,bt,bb,aa,ab,bl)){if(bu===true){continue}}else{bq=br=true}}if(bu){for(var ba=0;(Y=bt[ba])!=null;ba++){if(Y){br=bo(Y,bu,ba,bt);var bp=ab^!!br;if(bb&&br!=null){if(bp){bq=true}else{bt[ba]=false}}else{if(bp){aa.push(Y);bq=true}}}}}if(br!==I){bb||(bt=aa);bn=bn.replace(L.match[bs],"");if(!bq){return[]}break}}}}if(bn===Z){if(bq==null){N.error(bn)}else{break}}Z=bn}return bt};N.error=function(Y){throw"Syntax error, unrecognized expression: "+Y};var L=N.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(Y){return Y.getAttribute("href")}},relative:{"+":function(ab,aa){var Z=typeof aa==="string",Y=Z&&!/\W/.test(aa);Z=Z&&!Y;if(Y){aa=aa.toLowerCase()}Y=0;for(var ba=ab.length,bb;Y<ba;Y++){if(bb=ab[Y]){for(;(bb=bb.previousSibling)&&bb.nodeType!==1;){}ab[Y]=Z||bb&&bb.nodeName.toLowerCase()===aa?bb||false:bb===aa}}Z&&N.filter(aa,ab,true)},">":function(ab,aa){var Z=typeof aa==="string";if(Z&&!/\W/.test(aa)){aa=aa.toLowerCase();for(var Y=0,ba=ab.length;Y<ba;Y++){var bb=ab[Y];if(bb){Z=bb.parentNode;ab[Y]=Z.nodeName.toLowerCase()===aa?Z:false}}}else{Y=0;for(ba=ab.length;Y<ba;Y++){if(bb=ab[Y]){ab[Y]=Z?bb.parentNode:bb.parentNode===aa}}Z&&N.filter(aa,ab,true)}},"":function(ab,aa,Z){var Y=R++,ba=T;if(typeof aa==="string"&&!/\W/.test(aa)){var bb=aa=aa.toLowerCase();ba=V}ba("parentNode",aa,Y,ab,bb,Z)},"~":function(ab,aa,Z){var Y=R++,ba=T;if(typeof aa==="string"&&!/\W/.test(aa)){var bb=aa=aa.toLowerCase();ba=V}ba("previousSibling",aa,Y,ab,bb,Z)}},find:{ID:function(aa,Z,Y){if(typeof Z.getElementById!=="undefined"&&!Y){return(aa=Z.getElementById(aa[1]))?[aa]:[]}},NAME:function(ab,aa){if(typeof aa.getElementsByName!=="undefined"){var Z=[];aa=aa.getElementsByName(ab[1]);for(var Y=0,ba=aa.length;Y<ba;Y++){aa[Y].getAttribute("name")===ab[1]&&Z.push(aa[Y])}return Z.length===0?null:Z}},TAG:function(Z,Y){return Y.getElementsByTagName(Z[1])}},preFilter:{CLASS:function(ba,ab,Z,Y,bb,bl){ba=" "+ba[1].replace(/\\/g,"")+" ";if(bl){return ba}bl=0;for(var aa;(aa=ab[bl])!=null;bl++){if(aa){if(bb^(aa.className&&(" "+aa.className+" ").replace(/[\t\n]/g," ").indexOf(ba)>=0)){Z||Y.push(aa)}else{if(Z){ab[bl]=false}}}}return false},ID:function(Y){return Y[1].replace(/\\/g,"")},TAG:function(Y){return Y[1].toLowerCase()},CHILD:function(Z){if(Z[1]==="nth"){var Y=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(Z[2]==="even"&&"2n"||Z[2]==="odd"&&"2n+1"||!/\D/.test(Z[2])&&"0n+"+Z[2]||Z[2]);Z[2]=Y[1]+(Y[2]||1)-0;Z[3]=Y[3]-0}Z[0]=R++;return Z},ATTR:function(ab,aa,Z,Y,ba,bb){aa=ab[1].replace(/\\/g,"");if(!bb&&L.attrMap[aa]){ab[1]=L.attrMap[aa]}if(ab[2]==="~="){ab[4]=" "+ab[4]+" "}return ab},PSEUDO:function(ab,aa,Z,Y,ba){if(ab[1]==="not"){if((Q.exec(ab[3])||"").length>1||/^\w/.test(ab[3])){ab[3]=N(ab[3],null,null,aa)}else{ab=N.filter(ab[3],aa,Z,true^ba);Z||Y.push.apply(Y,ab);return false}}else{if(L.match.POS.test(ab[0])||L.match.CHILD.test(ab[0])){return true}}return ab},POS:function(Y){Y.unshift(true);return Y}},filters:{enabled:function(Y){return Y.disabled===false&&Y.type!=="hidden"},disabled:function(Y){return Y.disabled===true},checked:function(Y){return Y.checked===true},selected:function(Y){return Y.selected===true},parent:function(Y){return !!Y.firstChild},empty:function(Y){return !Y.firstChild},has:function(aa,Z,Y){return !!N(Y[3],aa).length},header:function(Y){return/h\d/i.test(Y.nodeName)},text:function(Y){return"text"===Y.type},radio:function(Y){return"radio"===Y.type},checkbox:function(Y){return"checkbox"===Y.type},file:function(Y){return"file"===Y.type},password:function(Y){return"password"===Y.type},submit:function(Y){return"submit"===Y.type},image:function(Y){return"image"===Y.type},reset:function(Y){return"reset"===Y.type},button:function(Y){return"button"===Y.type||Y.nodeName.toLowerCase()==="button"},input:function(Y){return/input|select|textarea|button/i.test(Y.nodeName)}},setFilters:{first:function(Z,Y){return Y===0},last:function(ab,aa,Z,Y){return aa===Y.length-1},even:function(Z,Y){return Y%2===0},odd:function(Z,Y){return Y%2===1},lt:function(aa,Z,Y){return Z<Y[3]-0},gt:function(aa,Z,Y){return Z>Y[3]-0},nth:function(aa,Z,Y){return Y[3]-0===Z},eq:function(aa,Z,Y){return Y[3]-0===Z}},filter:{PSEUDO:function(ab,aa,Z,Y){var ba=aa[1],bb=L.filters[ba];if(bb){return bb(ab,Z,aa,Y)}else{if(ba==="contains"){return(ab.textContent||ab.innerText||W([ab])||"").indexOf(aa[3])>=0}else{if(ba==="not"){aa=aa[3];Z=0;for(Y=aa.length;Z<Y;Z++){if(aa[Z]===ab){return false}}return true}else{N.error("Syntax error, unrecognized expression: "+ba)}}}},CHILD:function(ba,ab){var Z=ab[1],Y=ba;switch(Z){case"only":case"first":for(;Y=Y.previousSibling;){if(Y.nodeType===1){return false}}if(Z==="first"){return true}Y=ba;case"last":for(;Y=Y.nextSibling;){if(Y.nodeType===1){return false}}return true;case"nth":Z=ab[2];var bb=ab[3];if(Z===1&&bb===0){return true}ab=ab[0];var bl=ba.parentNode;if(bl&&(bl.sizcache!==ab||!ba.nodeIndex)){var aa=0;for(Y=bl.firstChild;Y;Y=Y.nextSibling){if(Y.nodeType===1){Y.nodeIndex=++aa}}bl.sizcache=ab}ba=ba.nodeIndex-bb;return Z===0?ba===0:ba%Z===0&&ba/Z>=0}},ID:function(Z,Y){return Z.nodeType===1&&Z.getAttribute("id")===Y},TAG:function(Z,Y){return Y==="*"&&Z.nodeType===1||Z.nodeName.toLowerCase()===Y},CLASS:function(Z,Y){return(" "+(Z.className||Z.getAttribute("class"))+" ").indexOf(Y)>-1},ATTR:function(ab,aa){var Z=aa[1];ab=L.attrHandle[Z]?L.attrHandle[Z](ab):ab[Z]!=null?ab[Z]:ab.getAttribute(Z);Z=ab+"";var Y=aa[2];aa=aa[4];return ab==null?Y==="!=":Y==="="?Z===aa:Y==="*="?Z.indexOf(aa)>=0:Y==="~="?(" "+Z+" ").indexOf(aa)>=0:!aa?Z&&ab!==false:Y==="!="?Z!==aa:Y==="^="?Z.indexOf(aa)===0:Y==="$="?Z.substr(Z.length-aa.length)===aa:Y==="|="?Z===aa||Z.substr(0,aa.length+1)===aa+"-":false},POS:function(ab,aa,Z,Y){var ba=L.setFilters[aa[2]];if(ba){return ba(ab,Z,aa,Y)}}}},G=L.match.POS;for(var w in L.match){L.match[w]=new RegExp(L.match[w].source+/(?![^\[]*\])(?![^\(]*\))/.source);L.leftMatch[w]=new RegExp(/(^(?:.|\r|\n)*?)/.source+L.match[w].source.replace(/\\(\d+)/g,function(Z,Y){return"\\"+(Y-0+1)}))}var c=function(Z,Y){Z=Array.prototype.slice.call(Z,0);if(Y){Y.push.apply(Y,Z);return Y}return Z};try{Array.prototype.slice.call(M.documentElement.childNodes,0)}catch(F){c=function(ab,aa){aa=aa||[];if(O.call(ab)==="[object Array]"){Array.prototype.push.apply(aa,ab)}else{if(typeof ab.length==="number"){for(var Z=0,Y=ab.length;Z<Y;Z++){aa.push(ab[Z])}}else{for(Z=0;ab[Z];Z++){aa.push(ab[Z])}}}return aa}}var J;if(M.documentElement.compareDocumentPosition){J=function(Z,Y){if(!Z.compareDocumentPosition||!Y.compareDocumentPosition){if(Z==Y){P=true}return Z.compareDocumentPosition?-1:1}Z=Z.compareDocumentPosition(Y)&4?-1:Z===Y?0:1;if(Z===0){P=true}return Z}}else{if("sourceIndex" in M.documentElement){J=function(Z,Y){if(!Z.sourceIndex||!Y.sourceIndex){if(Z==Y){P=true}return Z.sourceIndex?-1:1}Z=Z.sourceIndex-Y.sourceIndex;if(Z===0){P=true}return Z}}else{if(M.createRange){J=function(ab,aa){if(!ab.ownerDocument||!aa.ownerDocument){if(ab==aa){P=true}return ab.ownerDocument?-1:1}var Z=ab.ownerDocument.createRange(),Y=aa.ownerDocument.createRange();Z.setStart(ab,0);Z.setEnd(ab,0);Y.setStart(aa,0);Y.setEnd(aa,0);ab=Z.compareBoundaryPoints(Range.START_TO_END,Y);if(ab===0){P=true}return ab}}}}(function(){var aa=M.createElement("div"),Z="script"+(new Date).getTime();aa.innerHTML="<a name='"+Z+"'/>";var Y=M.documentElement;Y.insertBefore(aa,Y.firstChild);if(M.getElementById(Z)){L.find.ID=function(ab,ba,bb){if(typeof ba.getElementById!=="undefined"&&!bb){return(ba=ba.getElementById(ab[1]))?ba.id===ab[1]||typeof ba.getAttributeNode!=="undefined"&&ba.getAttributeNode("id").nodeValue===ab[1]?[ba]:I:[]}};L.filter.ID=function(ab,ba){var bb=typeof ab.getAttributeNode!=="undefined"&&ab.getAttributeNode("id");return ab.nodeType===1&&bb&&bb.nodeValue===ba}}Y.removeChild(aa);Y=aa=null})();(function(){var Y=M.createElement("div");Y.appendChild(M.createComment(""));if(Y.getElementsByTagName("*").length>0){L.find.TAG=function(ab,aa){aa=aa.getElementsByTagName(ab[1]);if(ab[1]==="*"){ab=[];for(var Z=0;aa[Z];Z++){aa[Z].nodeType===1&&ab.push(aa[Z])}aa=ab}return aa}}Y.innerHTML="<a href='#'></a>";if(Y.firstChild&&typeof Y.firstChild.getAttribute!=="undefined"&&Y.firstChild.getAttribute("href")!=="#"){L.attrHandle.href=function(Z){return Z.getAttribute("href",2)}}Y=null})();M.querySelectorAll&&function(){var aa=N,Z=M.createElement("div");Z.innerHTML="<p class='TEST'></p>";if(!(Z.querySelectorAll&&Z.querySelectorAll(".TEST").length===0)){N=function(ab,bl,bm,ba){bl=bl||M;if(!ba&&bl.nodeType===9&&!s(bl)){try{return c(bl.querySelectorAll(ab),bm)}catch(bb){}}return aa(ab,bl,bm,ba)};for(var Y in aa){N[Y]=aa[Y]}Z=null}}();(function(){var Y=M.createElement("div");Y.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!Y.getElementsByClassName||Y.getElementsByClassName("e").length===0)){Y.lastChild.className="e";if(Y.getElementsByClassName("e").length!==1){L.order.splice(1,0,"CLASS");L.find.CLASS=function(ab,aa,Z){if(typeof aa.getElementsByClassName!=="undefined"&&!Z){return aa.getElementsByClassName(ab[1])}};Y=null}}})();var A=M.compareDocumentPosition?function(Z,Y){return !!(Z.compareDocumentPosition(Y)&16)}:function(Z,Y){return Z!==Y&&(Z.contains?Z.contains(Y):true)},s=function(Y){return(Y=(Y?Y.ownerDocument||Y:0).documentElement)?Y.nodeName!=="HTML":false},X=function(ab,aa){var Z=[],Y="",ba;for(aa=aa.nodeType?[aa]:aa;ba=L.match.PSEUDO.exec(ab);){Y+=ba[0];ab=ab.replace(L.match.PSEUDO,"")}ab=L.relative[ab]?ab+"*":ab;ba=0;for(var bb=aa.length;ba<bb;ba++){N(ab,aa[ba],Z)}return N.filter(Y,Z)};ah.find=N;ah.expr=N.selectors;ah.expr[":"]=ah.expr.filters;ah.unique=N.uniqueSort;ah.text=W;ah.isXMLDoc=s;ah.contains=A})();var f=/Until$/,a9=/^(?:parents|prevUntil|prevAll)/,aW=/,/;au=Array.prototype.slice;var aL=function(s,c,A){if(ah.isFunction(c)){return ah.grep(s,function(G,F){return !!c.call(G,F,G)===A})}else{if(c.nodeType){return ah.grep(s,function(F){return F===c===A})}else{if(typeof c==="string"){var w=ah.grep(s,function(F){return F.nodeType===1});if(aT.test(c)){return ah.filter(c,w,!A)}else{c=ah.filter(c,w)}}}}return ah.grep(s,function(F){return ah.inArray(F,c)>=0===A})};ah.fn.extend({find:function(s){for(var c=this.pushStack("","find",s),J=0,F=0,G=this.length;F<G;F++){J=c.length;ah.find(s,this[F],c);if(F>0){for(var w=J;w<c.length;w++){for(var A=0;A<J;A++){if(c[A]===c[w]){c.splice(w--,1);break}}}}}return c},has:function(s){var c=ah(s);return this.filter(function(){for(var A=0,w=c.length;A<w;A++){if(ah.contains(this,c[A])){return true}}})},not:function(c){return this.pushStack(aL(this,c,false),"not",c)},filter:function(c){return this.pushStack(aL(this,c,true),"filter",c)},is:function(c){return !!c&&ah.filter(c,this).length>0},closest:function(L,K){if(ah.isArray(L)){var J=[],F=this[0],G,w={},A;if(F&&L.length){G=0;for(var c=L.length;G<c;G++){A=L[G];w[A]||(w[A]=ah.expr.match.POS.test(A)?ah(A,K||this.context):A)}for(;F&&F.ownerDocument&&F!==K;){for(A in w){G=w[A];if(G.jquery?G.index(F)>-1:ah(F).is(G)){J.push({selector:A,elem:F});delete w[A]}}F=F.parentNode}}return J}var s=ah.expr.match.POS.test(L)?ah(L,K||this.context):null;return this.map(function(O,N){for(;N&&N.ownerDocument&&N!==K;){if(s?s.index(N)>-1:ah(N).is(L)){return N}N=N.parentNode}return null})},index:function(c){if(!c||typeof c==="string"){return ah.inArray(this[0],c?ah(c):this.parent().children())}return ah.inArray(c.jquery?c[0]:c,this)},add:function(s,c){s=typeof s==="string"?ah(s,c||this.context):ah.makeArray(s);c=ah.merge(this.get(),s);return this.pushStack(l(s[0])||l(c[0])?c:ah.unique(c))},andSelf:function(){return this.add(this.prevObject)}});ah.each({parent:function(c){return(c=c.parentNode)&&c.nodeType!==11?c:null},parents:function(c){return ah.dir(c,"parentNode")},parentsUntil:function(s,c,w){return ah.dir(s,"parentNode",w)},next:function(c){return ah.nth(c,2,"nextSibling")},prev:function(c){return ah.nth(c,2,"previousSibling")},nextAll:function(c){return ah.dir(c,"nextSibling")},prevAll:function(c){return ah.dir(c,"previousSibling")},nextUntil:function(s,c,w){return ah.dir(s,"nextSibling",w)},prevUntil:function(s,c,w){return ah.dir(s,"previousSibling",w)},siblings:function(c){return ah.sibling(c.parentNode.firstChild,c)},children:function(c){return ah.sibling(c.firstChild)},contents:function(c){return ah.nodeName(c,"iframe")?c.contentDocument||c.contentWindow.document:ah.makeArray(c.childNodes)}},function(s,c){ah.fn[s]=function(F,w){var A=ah.map(this,c,F);f.test(s)||(w=F);if(w&&typeof w==="string"){A=ah.filter(w,A)}A=this.length>1?ah.unique(A):A;if((this.length>1||aW.test(w))&&a9.test(s)){A=A.reverse()}return this.pushStack(A,s,au.call(arguments).join(","))}});ah.extend({filter:function(s,c,w){if(w){s=":not("+s+")"}return ah.find.matches(s,c)},dir:function(s,c,A){var w=[];for(s=s[c];s&&s.nodeType!==9&&(A===I||s.nodeType!==1||!ah(s).is(A));){s.nodeType===1&&w.push(s);s=s[c]}return w},nth:function(s,c,A){c=c||1;for(var w=0;s;s=s[A]){if(s.nodeType===1&&++w===c){break}}return s},sibling:function(s,c){for(var w=[];s;s=s.nextSibling){s.nodeType===1&&s!==c&&w.push(s)}return w}});var ai=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,B=/(<([\w:]+)[^>]*?)\/>/g,aD=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,m=/<([\w:]+)/,ac=/<tbody/i,u=/<|&#?\w+;/,aP=/<script|<object|<embed|<option|<style/i,ak=/checked\s*(?:[^=]|=\s*.checked.)/i,bk=function(s,c,w){return aD.test(w)?s:c+"></"+w+">"},aJ={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,"",""]};aJ.optgroup=aJ.option;aJ.tbody=aJ.tfoot=aJ.colgroup=aJ.caption=aJ.thead;aJ.th=aJ.td;if(!ah.support.htmlSerialize){aJ._default=[1,"div<div>","</div>"]}ah.fn.extend({text:function(c){if(ah.isFunction(c)){return this.each(function(s){var w=ah(this);w.text(c.call(this,s,w.text()))})}if(typeof c!=="object"&&c!==I){return this.empty().append((this[0]&&this[0].ownerDocument||M).createTextNode(c))}return ah.text(this)},wrapAll:function(s){if(ah.isFunction(s)){return this.each(function(w){ah(this).wrapAll(s.call(this,w))})}if(this[0]){var c=ah(s,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&c.insertBefore(this[0]);c.map(function(){for(var w=this;w.firstChild&&w.firstChild.nodeType===1;){w=w.firstChild}return w}).append(this)}return this},wrapInner:function(c){if(ah.isFunction(c)){return this.each(function(s){ah(this).wrapInner(c.call(this,s))})}return this.each(function(){var s=ah(this),w=s.contents();w.length?w.wrapAll(c):s.append(c)})},wrap:function(c){return this.each(function(){ah(this).wrapAll(c)})},unwrap:function(){return this.parent().each(function(){ah.nodeName(this,"body")||ah(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(c){this.nodeType===1&&this.appendChild(c)})},prepend:function(){return this.domManip(arguments,true,function(c){this.nodeType===1&&this.insertBefore(c,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(s){this.parentNode.insertBefore(s,this)})}else{if(arguments.length){var c=ah(arguments[0]);c.push.apply(c,this.toArray());return this.pushStack(c,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(s){this.parentNode.insertBefore(s,this.nextSibling)})}else{if(arguments.length){var c=this.pushStack(this,"after",arguments);c.push.apply(c,ah(arguments[0]).toArray());return c}}},remove:function(s,c){for(var A=0,w;(w=this[A])!=null;A++){if(!s||ah.filter(s,[w]).length){if(!c&&w.nodeType===1){ah.cleanData(w.getElementsByTagName("*"));ah.cleanData([w])}w.parentNode&&w.parentNode.removeChild(w)}}return this},empty:function(){for(var s=0,c;(c=this[s])!=null;s++){for(c.nodeType===1&&ah.cleanData(c.getElementsByTagName("*"));c.firstChild;){c.removeChild(c.firstChild)}}return this},clone:function(s){var c=this.map(function(){if(!ah.support.noCloneEvent&&!ah.isXMLDoc(this)){var A=this.outerHTML,w=this.ownerDocument;if(!A){A=w.createElement("div");A.appendChild(this.cloneNode(true));A=A.innerHTML}return ah.clean([A.replace(ai,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(ar,"")],w)[0]}else{return this.cloneNode(true)}});if(s===true){bj(this,c);bj(this.find("*"),c.find("*"))}return c},html:function(s){if(s===I){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ai,""):null}else{if(typeof s==="string"&&!aP.test(s)&&(ah.support.leadingWhitespace||!ar.test(s))&&!aJ[(m.exec(s)||["",""])[1].toLowerCase()]){s=s.replace(B,bk);try{for(var c=0,A=this.length;c<A;c++){if(this[c].nodeType===1){ah.cleanData(this[c].getElementsByTagName("*"));this[c].innerHTML=s}}}catch(w){this.empty().append(s)}}else{ah.isFunction(s)?this.each(function(J){var F=ah(this),G=F.html();F.empty().append(function(){return s.call(this,J,G)})}):this.empty().append(s)}}return this},replaceWith:function(c){if(this[0]&&this[0].parentNode){if(ah.isFunction(c)){return this.each(function(s){var A=ah(this),w=A.html();A.replaceWith(c.call(this,s,w))})}if(typeof c!=="string"){c=ah(c).detach()}return this.each(function(){var s=this.nextSibling,w=this.parentNode;ah(this).remove();s?ah(s).before(c):ah(w).append(c)})}else{return this.pushStack(ah(ah.isFunction(c)?c():c),"replaceWith",c)}},detach:function(c){return this.remove(c,true)},domManip:function(O,N,L){function J(P){return ah.nodeName(P,"table")?P.getElementsByTagName("tbody")[0]||P.appendChild(P.ownerDocument.createElement("tbody")):P}var K,F,G=O[0],s=[],A;if(!ah.support.checkClone&&arguments.length===3&&typeof G==="string"&&ak.test(G)){return this.each(function(){ah(this).domManip(O,N,L,true)})}if(ah.isFunction(G)){return this.each(function(P){var Q=ah(this);O[0]=G.call(this,P,N?Q.html():I);Q.domManip(O,N,L)})}if(this[0]){K=G&&G.parentNode;K=ah.support.parentNode&&K&&K.nodeType===11&&K.childNodes.length===this.length?{fragment:K}:a3(O,this,s);A=K.fragment;if(F=A.childNodes.length===1?(A=A.firstChild):A.firstChild){N=N&&ah.nodeName(F,"tr");for(var w=0,c=this.length;w<c;w++){L.call(N?J(this[w],F):this[w],w>0||K.cacheable||this.length>1?A.cloneNode(true):A)}}s.length&&ah.each(s,E)}return this}});ah.fragments={};ah.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(s,c){ah.fn[s]=function(J){var F=[];J=ah(J);var G=this.length===1&&this[0].parentNode;if(G&&G.nodeType===11&&G.childNodes.length===1&&J.length===1){J[c](this[0]);return this}else{G=0;for(var w=J.length;G<w;G++){var A=(G>0?this.clone(true):this).get();ah.fn[c].apply(ah(J[G]),A);F=F.concat(A)}return this.pushStack(F,s,J.selector)}}});ah.extend({clean:function(O,N,L,J){N=N||M;if(typeof N.createElement==="undefined"){N=N.ownerDocument||N[0]&&N[0].ownerDocument||M}for(var K=[],F=0,G;(G=O[F])!=null;F++){if(typeof G==="number"){G+=""}if(G){if(typeof G==="string"&&!u.test(G)){G=N.createTextNode(G)}else{if(typeof G==="string"){G=G.replace(B,bk);var s=(m.exec(G)||["",""])[1].toLowerCase(),A=aJ[s]||aJ._default,w=A[0],c=N.createElement("div");for(c.innerHTML=A[1]+G+A[2];w--;){c=c.lastChild}if(!ah.support.tbody){w=ac.test(G);s=s==="table"&&!w?c.firstChild&&c.firstChild.childNodes:A[1]==="<table>"&&!w?c.childNodes:[];for(A=s.length-1;A>=0;--A){ah.nodeName(s[A],"tbody")&&!s[A].childNodes.length&&s[A].parentNode.removeChild(s[A])}}!ah.support.leadingWhitespace&&ar.test(G)&&c.insertBefore(N.createTextNode(ar.exec(G)[0]),c.firstChild);G=c.childNodes}}if(G.nodeType){K.push(G)}else{K=ah.merge(K,G)}}}if(L){for(F=0;K[F];F++){if(J&&ah.nodeName(K[F],"script")&&(!K[F].type||K[F].type.toLowerCase()==="text/javascript")){J.push(K[F].parentNode?K[F].parentNode.removeChild(K[F]):K[F])}else{K[F].nodeType===1&&K.splice.apply(K,[F+1,0].concat(ah.makeArray(K[F].getElementsByTagName("script"))));L.appendChild(K[F])}}}return K},cleanData:function(L){for(var K,J,F=ah.cache,G=ah.event.special,w=ah.support.deleteExpando,A=0,c;(c=L[A])!=null;A++){if(J=c[ah.expando]){K=F[J];if(K.events){for(var s in K.events){G[s]?ah.event.remove(c,s):aG(c,s,K.handle)}}if(w){delete c[ah.expando]}else{c.removeAttribute&&c.removeAttribute(ah.expando)}delete F[J]}}}});var h=/z-?index|font-?weight|opacity|zoom|line-?height/i,a4=/alpha\([^)]*\)/,aQ=/opacity=([^)]*)/,aE=/float/i,ad=/-([a-z])/ig,bf=/([A-Z])/g,aZ=/^-?\d+(?:px)?$/i,aI=/^-?\d/,af={position:"absolute",visibility:"hidden",display:"block"},y=["Left","Right"],k=["Top","Bottom"],bi=M.defaultView&&M.defaultView.getComputedStyle,al=ah.support.cssFloat?"cssFloat":"styleFloat",v=function(s,c){return c.toUpperCase()};ah.fn.css=function(s,c){return ap(this,s,c,true,function(F,w,A){if(A===I){return ah.curCSS(F,w)}if(typeof A==="number"&&!h.test(w)){A+="px"}ah.style(F,w,A)})};ah.extend({style:function(s,c,F){if(!s||s.nodeType===3||s.nodeType===8){return I}if((c==="width"||c==="height")&&parseFloat(F)<0){F=I}var w=s.style||s,A=F!==I;if(!ah.support.opacity&&c==="opacity"){if(A){w.zoom=1;c=parseInt(F,10)+""==="NaN"?"":"alpha(opacity="+F*100+")";s=w.filter||ah.curCSS(s,"filter")||"";w.filter=a4.test(s)?s.replace(a4,c):c}return w.filter&&w.filter.indexOf("opacity=")>=0?parseFloat(aQ.exec(w.filter)[1])/100+"":""}if(aE.test(c)){c=al}c=c.replace(ad,v);if(A){w[c]=F}return w[c]},css:function(s,c,J,F){if(c==="width"||c==="height"){var G,w=c==="width"?y:k;function A(){G=c==="width"?s.offsetWidth:s.offsetHeight;F!=="border"&&ah.each(w,function(){F||(G-=parseFloat(ah.curCSS(s,"padding"+this,true))||0);if(F==="margin"){G+=parseFloat(ah.curCSS(s,"margin"+this,true))||0}else{G-=parseFloat(ah.curCSS(s,"border"+this+"Width",true))||0}})}s.offsetWidth!==0?A():ah.swap(s,af,A);return Math.max(0,Math.round(G))}return ah.curCSS(s,c,J)},curCSS:function(s,c,G){var A,F=s.style;if(!ah.support.opacity&&c==="opacity"&&s.currentStyle){A=aQ.test(s.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return A===""?"1":A}if(aE.test(c)){c=al}if(!G&&F&&F[c]){A=F[c]}else{if(bi){if(aE.test(c)){c="float"}c=c.replace(bf,"-$1").toLowerCase();F=s.ownerDocument.defaultView;if(!F){return null}if(s=F.getComputedStyle(s,null)){A=s.getPropertyValue(c)}if(c==="opacity"&&A===""){A="1"}}else{if(s.currentStyle){G=c.replace(ad,v);A=s.currentStyle[c]||s.currentStyle[G];if(!aZ.test(A)&&aI.test(A)){c=F.left;var w=s.runtimeStyle.left;s.runtimeStyle.left=s.currentStyle.left;F.left=G==="fontSize"?"1em":A||0;A=F.pixelLeft+"px";F.left=c;s.runtimeStyle.left=w}}}}return A},swap:function(s,c,F){var w={};for(var A in c){w[A]=s.style[A];s.style[A]=c[A]}F.call(s);for(A in c){s.style[A]=w[A]}}});if(ah.expr&&ah.expr.filters){ah.expr.filters.hidden=function(s){var c=s.offsetWidth,A=s.offsetHeight,w=s.nodeName.toLowerCase()==="tr";return c===0&&A===0&&!w?true:c>0&&A>0&&!w?false:ah.curCSS(s,"display")==="none"};ah.expr.filters.visible=function(c){return !ah.expr.filters.hidden(c)}}var a2=aF(),aN=/<script(.|\s)*?\/script>/gi,aj=/select|textarea/i,C=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,aA=/=\?(&|$)/,i=/\?/,n=/(\?|&)_=.*?(&|$)/,a=/^(\w+:)?\/\/([^\/?#]+)/,a5=/%20/g,aR=ah.fn.load;ah.fn.extend({load:function(s,c,G){if(typeof s!=="string"){return aR.call(this,s)}else{if(!this.length){return this}}var A=s.indexOf(" ");if(A>=0){var F=s.slice(A,s.length);s=s.slice(0,A)}A="GET";if(c){if(ah.isFunction(c)){G=c;c=null}else{if(typeof c==="object"){c=ah.param(c,ah.ajaxSettings.traditional);A="POST"}}}var w=this;ah.ajax({url:s,type:A,dataType:"html",data:c,complete:function(J,K){if(K==="success"||K==="notmodified"){w.html(F?ah("<div />").append(J.responseText.replace(aN,"")).find(F):J.responseText)}G&&w.each(G,[J.responseText,K,J])}});return this},serialize:function(){return ah.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?ah.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||aj.test(this.nodeName)||C.test(this.type))}).map(function(s,c){s=ah(this).val();return s==null?null:ah.isArray(s)?ah.map(s,function(w){return{name:c.name,value:w}}):{name:c.name,value:s}}).get()}});ah.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(s,c){ah.fn[c]=function(w){return this.bind(c,w)}});ah.extend({get:function(s,c,A,w){if(ah.isFunction(c)){w=w||A;A=c;c=null}return ah.ajax({type:"GET",url:s,data:c,success:A,dataType:w})},getScript:function(s,c){return ah.get(s,null,c,"script")},getJSON:function(s,c,w){return ah.get(s,c,w,"json")},post:function(s,c,A,w){if(ah.isFunction(c)){w=w||A;A=c;c={}}return ah.ajax({type:"POST",url:s,data:c,success:A,dataType:w})},ajaxSetup:function(c){ah.extend(ah.ajaxSettings,c)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:aO.XMLHttpRequest&&(aO.location.protocol!=="file:"||!aO.ActiveXObject)?function(){return new aO.XMLHttpRequest}:function(){try{return new aO.ActiveXObject("Microsoft.XMLHTTP")}catch(c){}},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(aa){function Z(){X.success&&X.success.call(P,K,R,s);X.global&&W("ajaxSuccess",[s,X])}function Y(){X.complete&&X.complete.call(P,s,R);X.global&&W("ajaxComplete",[s,X]);X.global&&!--ah.active&&ah.event.trigger("ajaxStop")}function W(ba,bb){(X.context?ah(X.context):ah.event).trigger(ba,bb)}var X=ah.extend(true,{},ah.ajaxSettings,aa),Q,R,K,P=aa&&aa.context||X,L=X.type.toUpperCase();if(X.data&&X.processData&&typeof X.data!=="string"){X.data=ah.param(X.data,X.traditional)}if(X.dataType==="jsonp"){if(L==="GET"){aA.test(X.url)||(X.url+=(i.test(X.url)?"&":"?")+(X.jsonp||"callback")+"=?")}else{if(!X.data||!aA.test(X.data)){X.data=(X.data?X.data+"&":"")+(X.jsonp||"callback")+"=?"}}X.dataType="json"}if(X.dataType==="json"&&(X.data&&aA.test(X.data)||aA.test(X.url))){Q=X.jsonpCallback||"jsonp"+a2++;if(X.data){X.data=(X.data+"").replace(aA,"="+Q+"$1")}X.url=X.url.replace(aA,"="+Q+"$1");X.dataType="script";aO[Q]=aO[Q]||function(ba){K=ba;Z();Y();aO[Q]=I;try{delete aO[Q]}catch(bb){}c&&c.removeChild(F)}}if(X.dataType==="script"&&X.cache===null){X.cache=false}if(X.cache===false&&L==="GET"){var G=aF(),w=X.url.replace(n,"$1_="+G+"$2");X.url=w+(w===X.url?(i.test(X.url)?"&":"?")+"_="+G:"")}if(X.data&&L==="GET"){X.url+=(i.test(X.url)?"&":"?")+X.data}X.global&&!ah.active++&&ah.event.trigger("ajaxStart");G=(G=a.exec(X.url))&&(G[1]&&G[1]!==location.protocol||G[2]!==location.host);if(X.dataType==="script"&&L==="GET"&&G){var c=M.getElementsByTagName("head")[0]||M.documentElement,F=M.createElement("script");F.src=X.url;if(X.scriptCharset){F.charset=X.scriptCharset}if(!Q){var J=false;F.onload=F.onreadystatechange=function(){if(!J&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){J=true;Z();Y();F.onload=F.onreadystatechange=null;c&&F.parentNode&&c.removeChild(F)}}}c.insertBefore(F,c.firstChild);return I}var A=false,s=X.xhr();if(s){X.username?s.open(L,X.url,X.async,X.username,X.password):s.open(L,X.url,X.async);try{if(X.data||aa&&aa.contentType){s.setRequestHeader("Content-Type",X.contentType)}if(X.ifModified){ah.lastModified[X.url]&&s.setRequestHeader("If-Modified-Since",ah.lastModified[X.url]);ah.etag[X.url]&&s.setRequestHeader("If-None-Match",ah.etag[X.url])}G||s.setRequestHeader("X-Requested-With","XMLHttpRequest");s.setRequestHeader("Accept",X.dataType&&X.accepts[X.dataType]?X.accepts[X.dataType]+", */*":X.accepts._default)}catch(ab){}if(X.beforeSend&&X.beforeSend.call(P,s,X)===false){X.global&&!--ah.active&&ah.event.trigger("ajaxStop");s.abort();return false}X.global&&W("ajaxSend",[s,X]);var V=s.onreadystatechange=function(bb){if(!s||s.readyState===0||bb==="abort"){A||Y();A=true;if(s){s.onreadystatechange=ah.noop}}else{if(!A&&s&&(s.readyState===4||bb==="timeout")){A=true;s.onreadystatechange=ah.noop;R=bb==="timeout"?"timeout":!ah.httpSuccess(s)?"error":X.ifModified&&ah.httpNotModified(s,X.url)?"notmodified":"success";var bl;if(R==="success"){try{K=ah.httpData(s,X.dataType,X)}catch(ba){R="parsererror";bl=ba}}if(R==="success"||R==="notmodified"){Q||Z()}else{ah.handleError(X,s,R,bl)}Y();bb==="timeout"&&s.abort();if(X.async){s=null}}}};try{var T=s.abort;s.abort=function(){s&&T.call(s);V("abort")}}catch(O){}X.async&&X.timeout>0&&setTimeout(function(){s&&!A&&V("timeout")},X.timeout);try{s.send(L==="POST"||L==="PUT"||L==="DELETE"?X.data:null)}catch(N){ah.handleError(X,s,null,N);Y()}X.async||V();return s}},handleError:function(s,c,A,w){if(s.error){s.error.call(s.context||s,c,A,w)}if(s.global){(s.context?ah(s.context):ah.event).trigger("ajaxError",[c,s,w])}},active:0,httpSuccess:function(s){try{return !s.status&&location.protocol==="file:"||s.status>=200&&s.status<300||s.status===304||s.status===1223||s.status===0}catch(c){}return false},httpNotModified:function(s,c){var A=s.getResponseHeader("Last-Modified"),w=s.getResponseHeader("Etag");if(A){ah.lastModified[c]=A}if(w){ah.etag[c]=w}return s.status===304||s.status===0},httpData:function(s,c,F){var w=s.getResponseHeader("content-type")||"",A=c==="xml"||!c&&w.indexOf("xml")>=0;s=A?s.responseXML:s.responseText;A&&s.documentElement.nodeName==="parsererror"&&ah.error("parsererror");if(F&&F.dataFilter){s=F.dataFilter(s,c)}if(typeof s==="string"){if(c==="json"||!c&&w.indexOf("json")>=0){s=ah.parseJSON(s)}else{if(c==="script"||!c&&w.indexOf("javascript")>=0){ah.globalEval(s)}}}return s},param:function(s,c){function G(J,K){if(ah.isArray(K)){ah.each(K,function(L,N){c||/\[\]$/.test(J)?A(J,N):G(J+"["+(typeof N==="object"||ah.isArray(N)?L:"")+"]",N)})}else{!c&&K!=null&&typeof K==="object"?ah.each(K,function(L,N){G(J+"["+L+"]",N)}):A(J,K)}}function A(J,K){K=ah.isFunction(K)?K():K;F[F.length]=encodeURIComponent(J)+"="+encodeURIComponent(K)}var F=[];if(c===I){c=ah.ajaxSettings.traditional}if(ah.isArray(s)||s.jquery){ah.each(s,function(){A(this.name,this.value)})}else{for(var w in s){G(w,s[w])}}return F.join("&").replace(a5,"+")}});var bg={},bc=/toggle|show|hide/,aX=/^([+-]=)?([\d+-.]+)(.*)$/,aq,D=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];ah.fn.extend({show:function(s,c){if(s||s===0){return this.animate(aC("show",3),s,c)}else{s=0;for(c=this.length;s<c;s++){var F=ah.data(this[s],"olddisplay");this[s].style.display=F||"";if(ah.css(this[s],"display")==="none"){F=this[s].nodeName;var w;if(bg[F]){w=bg[F]}else{var A=ah("<"+F+" />").appendTo("body");w=A.css("display");if(w==="none"){w="block"}A.remove();bg[F]=w}ah.data(this[s],"olddisplay",w)}}s=0;for(c=this.length;s<c;s++){this[s].style.display=ah.data(this[s],"olddisplay")||""}return this}},hide:function(s,c){if(s||s===0){return this.animate(aC("hide",3),s,c)}else{s=0;for(c=this.length;s<c;s++){var w=ah.data(this[s],"olddisplay");!w&&w!=="none"&&ah.data(this[s],"olddisplay",ah.css(this[s],"display"))}s=0;for(c=this.length;s<c;s++){this[s].style.display="none"}return this}},_toggle:ah.fn.toggle,toggle:function(s,c){var w=typeof s==="boolean";if(ah.isFunction(s)&&ah.isFunction(c)){this._toggle.apply(this,arguments)}else{s==null||w?this.each(function(){var A=w?s:ah(this).is(":hidden");ah(this)[A?"show":"hide"]()}):this.animate(aC("toggle",3),s,c)}return this},fadeTo:function(s,c,w){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:c},s,w)},animate:function(s,c,F,w){var A=ah.speed(c,F,w);if(ah.isEmptyObject(s)){return this.each(A.complete)}return this[A.queue===false?"each":"queue"](function(){var J=ah.extend({},A),K,L=this.nodeType===1&&ah(this).is(":hidden"),G=this;for(K in s){var N=K.replace(ad,v);if(K!==N){s[N]=s[K];delete s[K];K=N}if(s[K]==="hide"&&L||s[K]==="show"&&!L){return J.complete.call(this)}if((K==="height"||K==="width")&&this.style){J.display=ah.css(this,"display");J.overflow=this.style.overflow}if(ah.isArray(s[K])){(J.specialEasing=J.specialEasing||{})[K]=s[K][1];s[K]=s[K][0]}}if(J.overflow!=null){this.style.overflow="hidden"}J.curAnim=ah.extend({},s);ah.each(s,function(P,O){var T=new ah.fx(G,J,P);if(bc.test(O)){T[O==="toggle"?L?"show":"hide":O](s)}else{var R=aX.exec(O),V=T.cur(true)||0;if(R){O=parseFloat(R[2]);var Q=R[3]||"px";if(Q!=="px"){G.style[P]=(O||1)+Q;V=(O||1)/T.cur(true)*V;G.style[P]=V+Q}if(R[1]){O=(R[1]==="-="?-1:1)*O+V}T.custom(V,O,Q)}else{T.custom(V,O,"")}}});return true})},stop:function(s,c){var w=ah.timers;s&&this.queue([]);this.each(function(){for(var A=w.length-1;A>=0;A--){if(w[A].elem===this){c&&w[A](true);w.splice(A,1)}}});c||this.dequeue();return this}});ah.each({slideDown:aC("show",1),slideUp:aC("hide",1),slideToggle:aC("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(s,c){ah.fn[s]=function(A,w){return this.animate(c,A,w)}});ah.extend({speed:function(s,c,A){var w=s&&typeof s==="object"?s:{complete:A||!A&&c||ah.isFunction(s)&&s,duration:s,easing:A&&c||c&&!ah.isFunction(c)&&c};w.duration=ah.fx.off?0:typeof w.duration==="number"?w.duration:ah.fx.speeds[w.duration]||ah.fx.speeds._default;w.old=w.complete;w.complete=function(){w.queue!==false&&ah(this).dequeue();ah.isFunction(w.old)&&w.old.call(this)};return w},easing:{linear:function(s,c,A,w){return A+w*s},swing:function(s,c,A,w){return(-Math.cos(s*Math.PI)/2+0.5)*w+A}},timers:[],fx:function(s,c,w){this.options=c;this.elem=s;this.prop=w;if(!c.orig){c.orig={}}}});ah.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(ah.fx.step[this.prop]||ah.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(c){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}return(c=parseFloat(ah.css(this.elem,this.prop,c)))&&c>-10000?c:parseFloat(ah.curCSS(this.elem,this.prop))||0},custom:function(s,c,F){function w(G){return A.step(G)}this.startTime=aF();this.start=s;this.end=c;this.unit=F||this.unit||"px";this.now=this.start;this.pos=this.state=0;var A=this;w.elem=this.elem;if(w()&&ah.timers.push(w)&&!aq){aq=setInterval(ah.fx.tick,13)}},show:function(){this.options.orig[this.prop]=ah.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());ah(this.elem).show()},hide:function(){this.options.orig[this.prop]=ah.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(s){var c=aF(),F=true;if(s||c>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var w in this.options.curAnim){if(this.options.curAnim[w]!==true){F=false}}if(F){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;s=ah.data(this.elem,"olddisplay");this.elem.style.display=s?s:this.options.display;if(ah.css(this.elem,"display")==="none"){this.elem.style.display="block"}}this.options.hide&&ah(this.elem).hide();if(this.options.hide||this.options.show){for(var A in this.options.curAnim){ah.style(this.elem,A,this.options.orig[A])}}this.options.complete.call(this.elem)}return false}else{A=c-this.startTime;this.state=A/this.options.duration;s=this.options.easing||(ah.easing.swing?"swing":"linear");this.pos=ah.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||s](this.state,A,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};ah.extend(ah.fx,{tick:function(){for(var s=ah.timers,c=0;c<s.length;c++){s[c]()||s.splice(c--,1)}s.length||ah.fx.stop()},stop:function(){clearInterval(aq);aq=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(c){ah.style(c.elem,"opacity",c.now)},_default:function(c){if(c.elem.style&&c.elem.style[c.prop]!=null){c.elem.style[c.prop]=(c.prop==="width"||c.prop==="height"?Math.max(0,c.now):c.now)+c.unit}else{c.elem[c.prop]=c.now}}}});if(ah.expr&&ah.expr.filters){ah.expr.filters.animated=function(c){return ah.grep(ah.timers,function(s){return c===s.elem}).length}}ah.fn.offset="getBoundingClientRect" in M.documentElement?function(s){var c=this[0];if(s){return this.each(function(F){ah.offset.setOffset(this,s,F)})}if(!c||!c.ownerDocument){return null}if(c===c.ownerDocument.body){return ah.offset.bodyOffset(c)}var A=c.getBoundingClientRect(),w=c.ownerDocument;c=w.body;w=w.documentElement;return{top:A.top+(self.pageYOffset||ah.support.boxModel&&w.scrollTop||c.scrollTop)-(w.clientTop||c.clientTop||0),left:A.left+(self.pageXOffset||ah.support.boxModel&&w.scrollLeft||c.scrollLeft)-(w.clientLeft||c.clientLeft||0)}}:function(N){var L=this[0];if(N){return this.each(function(O){ah.offset.setOffset(this,N,O)})}if(!L||!L.ownerDocument){return null}if(L===L.ownerDocument.body){return ah.offset.bodyOffset(L)}ah.offset.initialize();var K=L.offsetParent,G=L,J=L.ownerDocument,A,F=J.documentElement,c=J.body;G=(J=J.defaultView)?J.getComputedStyle(L,null):L.currentStyle;for(var w=L.offsetTop,s=L.offsetLeft;(L=L.parentNode)&&L!==c&&L!==F;){if(ah.offset.supportsFixedPosition&&G.position==="fixed"){break}A=J?J.getComputedStyle(L,null):L.currentStyle;w-=L.scrollTop;s-=L.scrollLeft;if(L===K){w+=L.offsetTop;s+=L.offsetLeft;if(ah.offset.doesNotAddBorder&&!(ah.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(L.nodeName))){w+=parseFloat(A.borderTopWidth)||0;s+=parseFloat(A.borderLeftWidth)||0}G=K;K=L.offsetParent}if(ah.offset.subtractsBorderForOverflowNotVisible&&A.overflow!=="visible"){w+=parseFloat(A.borderTopWidth)||0;s+=parseFloat(A.borderLeftWidth)||0}G=A}if(G.position==="relative"||G.position==="static"){w+=c.offsetTop;s+=c.offsetLeft}if(ah.offset.supportsFixedPosition&&G.position==="fixed"){w+=Math.max(F.scrollTop,c.scrollTop);s+=Math.max(F.scrollLeft,c.scrollLeft)}return{top:w,left:s}};ah.offset={initialize:function(){var s=M.body,c=M.createElement("div"),G,A,F,w=parseFloat(ah.curCSS(s,"marginTop",true))||0;ah.extend(c.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});c.innerHTML="<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>";s.insertBefore(c,s.firstChild);G=c.firstChild;A=G.firstChild;F=G.nextSibling.firstChild.firstChild;this.doesNotAddBorder=A.offsetTop!==5;this.doesAddBorderForTableAndCells=F.offsetTop===5;A.style.position="fixed";A.style.top="20px";this.supportsFixedPosition=A.offsetTop===20||A.offsetTop===15;A.style.position=A.style.top="";G.style.overflow="hidden";G.style.position="relative";this.subtractsBorderForOverflowNotVisible=A.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=s.offsetTop!==w;s.removeChild(c);ah.offset.initialize=ah.noop},bodyOffset:function(s){var c=s.offsetTop,w=s.offsetLeft;ah.offset.initialize();if(ah.offset.doesNotIncludeMarginInBodyOffset){c+=parseFloat(ah.curCSS(s,"marginTop",true))||0;w+=parseFloat(ah.curCSS(s,"marginLeft",true))||0}return{top:c,left:w}},setOffset:function(s,c,J){if(/static/.test(ah.curCSS(s,"position"))){s.style.position="relative"}var F=ah(s),G=F.offset(),w=parseInt(ah.curCSS(s,"top",true),10)||0,A=parseInt(ah.curCSS(s,"left",true),10)||0;if(ah.isFunction(c)){c=c.call(s,J,G)}J={top:c.top-G.top+w,left:c.left-G.left+A};"using" in c?c.using.call(s,J):F.css(J)}};ah.fn.extend({position:function(){if(!this[0]){return null}var s=this[0],c=this.offsetParent(),A=this.offset(),w=/^body|html$/i.test(c[0].nodeName)?{top:0,left:0}:c.offset();A.top-=parseFloat(ah.curCSS(s,"marginTop",true))||0;A.left-=parseFloat(ah.curCSS(s,"marginLeft",true))||0;w.top+=parseFloat(ah.curCSS(c[0],"borderTopWidth",true))||0;w.left+=parseFloat(ah.curCSS(c[0],"borderLeftWidth",true))||0;return{top:A.top-w.top,left:A.left-w.left}},offsetParent:function(){return this.map(function(){for(var c=this.offsetParent||M.body;c&&!/^body|html$/i.test(c.nodeName)&&ah.css(c,"position")==="static";){c=c.offsetParent}return c})}});ah.each(["Left","Top"],function(s,c){var w="scroll"+c;ah.fn[w]=function(F){var G=this[0],A;if(!G){return null}if(F!==I){return this.each(function(){if(A=o(this)){A.scrollTo(!s?F:ah(A).scrollLeft(),s?F:ah(A).scrollTop())}else{this[w]=F}})}else{return(A=o(G))?"pageXOffset" in A?A[s?"pageYOffset":"pageXOffset"]:ah.support.boxModel&&A.document.documentElement[w]||A.document.body[w]:G[w]}}});ah.each(["Height","Width"],function(s,c){var w=c.toLowerCase();ah.fn["inner"+c]=function(){return this[0]?ah.css(this[0],w,false,"padding"):null};ah.fn["outer"+c]=function(A){return this[0]?ah.css(this[0],w,false,A?"margin":"border"):null};ah.fn[w]=function(A){var F=this[0];if(!F){return A==null?null:this}if(ah.isFunction(A)){return this.each(function(G){var J=ah(this);J[w](A.call(this,G,J[w]()))})}return"scrollTo" in F&&F.document?F.document.compatMode==="CSS1Compat"&&F.document.documentElement["client"+c]||F.document.body["client"+c]:F.nodeType===9?Math.max(F.documentElement["client"+c],F.body["scroll"+c],F.documentElement["scroll"+c],F.body["offset"+c],F.documentElement["offset"+c]):A===I?ah.css(F,w):this.css(w,typeof A==="string"?A:A+"px")}});aO.jQuery=aO.$=ah})(window);(function(a){a.cookies=a.cookies||{};a.extend(a.cookies,{get:function(d,b){var g=d+"=";var f=document.cookie.split(";");for(var e=0;e<f.length;e++){var c=f[e].replace(/^\s+/,"");if(c.indexOf(g)==0){return unescape(c.substring(g.length,c.length))}}return b!==undefined?b:null},set:function(c,d,e,g){var f=[];if(e){f.push("; path="+e)}if(g){var b=new Date();b.setTime(b.getTime()+(g*24*60*60*1000));f.push("; expires="+b.toGMTString())}document.cookie=c+"="+escape(d)+f.join()},remove:function(b,c){a.cookies.set(b,"",c,-1)}})})(jQuery);(function(){var a=false,c=/xyz/.test(function(){xyz}),b=/\b_super\b/;this.Class=function(){};Class.extend=function(h){var g=this.prototype;a=true;var f=new this();a=false;for(var e in h){f[e]=typeof h[e]=="function"&&typeof g[e]=="function"&&(!c||b.test(h[e]))?(function(i,j){return function(){this._super=g[i];var k=j.apply(this,arguments);this._super=null;return k}})(e,h[e]):h[e]}var d=function(){if(!a&&this.init){this.init.apply(this,arguments)}};d.prototype=f;d.prototype.constructor=d;d.extend=arguments.callee;if(d.prototype.onTypeCreation){d.prototype.onTypeCreation()}return d}})();/*
 * Thrust 2010 Copyright (C) 2010 by Sven Helmberger.
 * 
 * This software is licensed under the AGPL license. 
 * project root for LICENSE AND README.
 * 
 */
this.Vector2D=function(a,b){this.x=a;this.y=b};this.Vector2D.prototype={init:function(a,b){},add:function(a,b){if(typeof a==="number"){return new Vector2D(this.x+a,this.y+b)}else{return new Vector2D(this.x+a.x,this.y+a.y)}},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},substract:function(a,b){if(typeof a==="number"){return new Vector2D(this.x-a,this.y-b)}else{return new Vector2D(this.x-a.x,this.y-a.y)}},multiply:function(a){return new Vector2D(this.x*a,this.y*a)},dot:function(a){return this.x*a.x+this.y*a.y},norm:function(){var a=1/this.length();return this.multiply(a)},projectOnto:function(a){var c=this.dot(a);return new Vector2D((c/(a.x*a.x+a.y*a.y))*a.x,(c/(a.x*a.x+a.y*a.y))*a.y)},angleTo:function(c){var b=this.x-c.x;var a=this.y-c.y;return Math.atan2(a,b)},clone:function(){return new Vector2D(this.x,this.y)},isSameDirection:function(a,b){if(typeof a==="object"){b=a.y;a=a.x}return(this.x<0?-1:1)===(a<0?-1:1)&&(this.y<0?-1:1)===(b<0?-1:1)},toString:function(){return"( "+this.x+", "+this.y+")"}};function clockwise(a,c,b){return((b.x-a.x)*(c.y-a.y)-(b.y-a.y)*(c.x-a.x))<=0}function isInside(m,a){var k=a[2].substract(a[0]);var i=a[1].substract(a[0]);var g=m.substract(a[0]);var h=k.dot(k);var f=k.dot(i);var e=k.dot(g);var d=i.dot(i);var b=i.dot(g);var c=1/(h*d-f*f);var l=(d*e-f*b)*c;var j=(h*b-f*e)*c;return(l>0)&&(j>0)&&(l+j<1)}function checkVector(c){for(var d=0,b=arguments.length;d<b;d++){var a=arguments[d];if(!a||typeof a.projectOnto!=="function"){console.info("%o is no vector",a)}}}function closestPointOnLineSegment(i,f,e){var l=i.substract(f);var k=e.substract(f);var j=k.length();var g=k.multiply(1/j);var h=g.dot(l);if(h<0){return f}if(h>j){return e}return f.add(g.multiply(h))}function closestPointOnLine(i,f,e){var l=i.substract(f);var k=e.substract(f);var j=k.length();var g=k.multiply(1/j);var h=g.dot(l);return f.add(g.multiply(h))};/*
 * Thrust 2010 Copyright (C) 2010 by Sven Helmberger.
 * 
 * This software is licensed under the AGPL license. 
 * project root for LICENSE AND README.
 * 
 */
(function(){this.parseSubPaths=function(m,p,k){var n=0;var g=m.split(/[ ,]/);var h=g.length;var r=[];var o=[];var c="L";while(n<h){var b=g[n++];if(b<"A"){b=c;if(b=="M"){b="L"}if(b=="m"){b="l"}n--}else{c=b}var l=false;if(b<="a"){l=true;b=String.fromCharCode(b.charCodeAt(0)+32)}switch(b){case"m":o=[];x=0;y=0;case"l":if(l){x=+g[n++];y=+g[n++]}else{x+=+g[n++];y+=+g[n++]}o.push(new Vector2D(x,y));break;case"z":r.push(o);o=[];x=0;y=0;break;default:n++;console.error("Unknown cmd "+b)}}if(o.length){r.push(o)}if(p!==undefined||k!==undefined){x=p||0;y=k||0;for(var f=0,h=r.length;f<h;f++){var o=r[f];for(var e=0,d=o.length;e<d;e++){var q=o[e];q.x+=x;q.y+=y}}}return r};this.findClosestPointInCandidates=function(e,j){var k=Infinity,f,g,l;for(var d=0,h=e.length;d<h;d++){l=e[d];if(l&&l.type==="line"){var c=closestPointOnLineSegment(j,l.pt0,l.pt1);var b=c.substract(j).length();if(b<k){k=b;f=l;g=c}}}return{closest:c,obj:f,distance:k}};var a=Array.prototype.indexOf;this.removeFromArray=function(f,e){var c=-1;if(a){c=a.call(f,e)}else{for(var d=0,b=f.length;d<b;d++){if(f[d]===e){c=d;break}}}if(c>=0){f.splice(c,1)}};this.chksum=function(e){var c=3132345086;for(var d=0,b=e.length;d<b;d++){c=(c^(e.charCodeAt(d)*69069))&4294967295}return c};this.parseTransform=function(d){var e=d.attr("transform");var b=/translate\((.*)\)/.exec(e);if(b){var f=b[1].split(",");var c=new Vector2D(+f[0],+(f[1]||0));return c}return null};this.svgJSON=function(c){var d=c.find("desc");if(d.length){var b=d.text();try{var f=JSON.parse(b);return f}catch(g){console.error("Could not parse svg metadata:",b)}}return{}}})();/*
 * Thrust 2010 Copyright (C) 2010 by Sven Helmberger.
 * 
 * This software is licensed under the AGPL license. 
 * project root for LICENSE AND README.
 * 
 */
(function(){var e=[];this.Marker=Class.extend({init:function(l,o,n){this.x=l;this.y=o;this.col=n||"#f0f";e.push(this)}});var g=0.475;var c=1/g;var j=$(window),b;var i=[];function h(){this.remove()}function k(l,o){for(var p in o){var n=o[p];if(n!=="none"){l[p]=n}}}function a(o,n){var l=o.substract(n,n);l.w=l.h=n*2;return l}this.SvgFactory=Class.extend({init:function(l){this.create=l;i.push(this)},getRegistered:function(){return i},readCircleData:function(l){var o={x:(+l.attr("sodipodi:cx")),y:(+l.attr("sodipodi:cy")),rx:(+l.attr("sodipodi:rx")),ry:(+l.attr("sodipodi:ry"))};var n=parseTransform(l);if(n){o.x+=n.x;o.y+=n.y}return o},svgStyle:function(l,n){var q=l.data("svgStyles");if(!q){q={};var p=/\s*([a-zA-Z-]+)\s*:\s*([^;]*)\s*(?:;|$)/g;var o=l.attr("style");while(m=p.exec(o)){q[m[1]]=m[2]}l.data("svgStyles",q)}return q[n]},readStyle:function(l){var n={};n.fillStyle=this.svgStyle(l,"fill")||"#f0f";n.strokeStyle=this.svgStyle(l,"stroke")||"none";return n}});this.BBox=function(){this.x=this.y=1000000000;this.w=this.h=-1000000000};this.BBox.prototype={extend:function(){for(var o=0,n=arguments.length;o<n;o++){var p=arguments[o];if(p.x<this.x){this.w+=this.x-p.x;this.x=p.x}if(p.y<this.y){this.h+=this.y-p.y;this.y=p.y}var l=p.x+(p.w||0);var q=p.y+(p.h||0);if(l>this.x+this.w){this.w=l-this.x}if(q>this.y+this.h){this.h=q-this.y}}},toString:function(){return"( x = "+this.x+", y = "+this.y+" w = "+this.w+", h = "+this.h+")"}};var f=new Vector2D(0,0);this.World=Class.extend({init:function(n){var l=document.getElementById(n);if(!l.getContext){throw"No canvas"}l.width=j.width();l.height=j.height()-40;this.$canvas=$(l);this.ctx=l.getContext("2d");this.objects=[];this.rtree=new RTree(10);this.gravity=0.00981;this.box=new BBox();this.gravs=[]},insertLineBox:function(u,t){var l=this.rtree,r,q,s,p;if(u.x<t.x){r=u.x;s=t.x-u.x}else{r=t.x;s=u.x-t.x}if(u.y<t.y){q=u.y;p=t.y-u.y}else{q=t.y;p=u.y-t.y}var o={x:r,y:q,w:Math.max(0.001,s),h:Math.max(0.001,p)};var n={type:"line",pt0:u,pt1:t};l.insert(o,n)},fromScreen:function(l){if(!l){return null}if(this.overview){return l.multiply(c)}else{return l.add(this.offset)}},addGravSource:function(l){this.gravs.push(l)},doLocalGravity:function(t){var n=false;for(var q=0,l=this.gravs.length;q<l;q++){var p=this.gravs[q];var s=p.getBBox();if(t.pos.x>=s.x&&t.pos.x<s.x+s.w&&t.pos.y>=s.y&&t.pos.y<s.y+s.h){var o=t.pos.clone();var r=p.doGravity(t);if(r){n=true;break}}}if(!n){t.dy+=this.gravity}},scoreObjsCount:0,addObject:function(l){this.objects.push(l);if(l.score){this.scoreObjsCount++}},removeObject:function(o){var l=o.score;if(l){this.score+=(typeof l==="number"?l:l.call(o));this.scoreObjsCount--}o.message("remove");removeFromArray(this.objects,o);var n=o.message("getBBox");if(n){this.rtree.remove(n,o)}},createSubPaths:function(z,n,C,t){C=C||0;t=t||0;var v=0,u=0,A=0;var r=z.split(/[ ,]/);var s=r.length;var E=[];var B=[];var p="L";while(A<s){var o=r[A++];if(o<"A"){o=p;if(o=="M"){o="L"}if(o=="m"){o="l"}A--}else{p=o}var w=false;if(o<="a"){w=true;o=String.fromCharCode(o.charCodeAt(0)+32)}switch(o){case"m":B=[];v=0;u=0;case"l":if(w){v=+r[A++];u=+r[A++]}else{v+=+r[A++];u+=+r[A++]}B.push(new Vector2D(v,u));break;case"z":if(C!==0||t!==0){for(var q=0,s=B.length;q<s;q++){var D=B[q];D.x+=C;D.y+=t}}var l=new Polygon(this,B,false,n);E.push(l);this.box.extend(l.box);B=[];v=0;u=0;break}}return E},width:1000,height:1000,score:0,lives:4,borrowed:false,ox:0,oy:0,step:function(){for(var n=0;n<this.objects.length;n++){var o=this.objects[n];o.message("move");if(o.gravityBound){var l=o.pos;this.doLocalGravity(o);if(o.feelGravity){var p=o.pos.substract(l);o.feelGravity(p)}}}},draw:function(){var y=this.ctx;y.save();var n=this.$canvas[0].width;var s=this.$canvas[0].height;y.clearRect(0,0,n,s);var o=this.player.pos.substract(n/2,s/2);var w=world.player;var u=w.thrustPoint||w.thrustHelp;if(u){var x=o.substract(f);if(w.thrustPoint){w.thrustPoint=w.thrustPoint.add(x)}else{if(w.thrustHelp){w.thrustHelp=w.thrustHelp.add(x)}}}f=o;if(this.overview){y.scale(g,g)}else{y.translate(-o.x,-o.y)}this.offset=o;var r=this.overview?this.box:{x:o.x,y:o.y,w:n,h:s};var q=this.rtree.search(r);this.drawScene(q,0);this.drawScene(q,1);this.drawScene(q,2);if(e.length>0){y.save();for(var p=0,t=e.length;p<t;p++){var l=e[p];y.fillStyle=l.col;y.beginPath();y.arc(l.x,l.y,4,0,Math.PI*2,false);y.fill()}y.restore()}y.restore();if(!this.overview){this.drawOutsideBox(this.ctx,n,s)}y.save();y.fillStyle="#fff";y.font="15px sans-serif bold";y.fillText("Score: "+this.score,80,20);if(this.lives<0){y.fillText("GAME OVER",n/2,s/2)}y.fillStyle="#008";for(var p=0;p<this.lives;p++){y.beginPath();y.arc(10+p*15,15,5,0,Math.PI*2,false);y.fill()}y.restore()},drawOutsideBox:function(n,l,o){n.save();n.fillStyle=this.outsideBoxStyle;var q=new Vector2D(this.box.x,this.box.y).substract(this.offset);if(q.y>0){n.fillRect(0,0,l,q.y+1)}if(q.x>0){n.fillRect(0,0,q.x+1,o)}var p=new Vector2D(this.box.x+this.box.w,this.box.y+this.box.h).substract(this.offset);if(p.y<o){n.fillRect(0,p.y-1,l,o)}if(p.x<l){n.fillRect(p.x-1,0,l,o)}n.restore()},drawScene:function(p,r){for(var o=0,l=p.length;o<l;o++){var q=p[o];var n=this.ctx;if(q.type!=="line"&&q.zIndex==r){n.save();q.message("draw",n);n.restore()}}}});this.GameObject=Class.extend({init:function(l){this.world=l;this.pos=this.pos||new Vector2D(0,0);l.addObject(this)},message:function(n){var l=Array.prototype.slice.call(arguments,1);var o=this[n];if(o){return o.apply(this,l)}return undefined},translate:function(l,o){var n=this.pos;n.x+=l;n.y+=o},onTypeCreation:function(){var l=this.fromSvg;if(l){new SvgFactory(l);delete this.fromSvg}}});this.Polygon=GameObject.extend({init:function(o,n,p,l){if(typeof n==="string"){n=parseSubPaths(n)[0]}this.world=o;this.pos=this.pos||new Vector2D(0,0);this.points=n;this.zIndex=1;this.type="scene";this.style=l||{strokeStyle:"#eee",fillStyle:"#444"};if(!p){this.registerLines()}},fromSvg:function(q,l,o){if(o==="#scene"){var r=l.attr("d");var n=parseTransform(l)||new Vector2D(0,0);var p=this.readStyle(l);if(!q.outsideBoxStyle){q.outsideBoxStyle=p.fillStyle}q.createSubPaths(r,p,n.x,n.y);return true}return false},draw:function(n,o){n.save();n.translate(this.pos.x,this.pos.y);var s,r=this.points;k(n,this.style);s=r[0];n.beginPath();n.moveTo(s.x,s.y);for(var p=1,l=r.length;p<l;p++){var q=r[p];n.lineTo(q.x,q.y)}n.lineTo(s.x,s.y);n.closePath();if(this.style.fillStyle!=="none"){n.fill()}if(this.style.strokeStyle!=="none"){n.stroke()}n.restore()},registerLines:function(){var r=this.points;var p=new BBox();for(var n=0,l=r.length-1;n<l;n++){var s=r[n];var q=r[n+1];this.world.insertLineBox(s,q);p.extend(s,q)}var o=r[r.length-1];this.world.insertLineBox(o,r[0]);this.box=p;this.world.rtree.insert(p,this)},getBBox:function(){return this.box}});function d(){return"rgb("+Math.random()*255+","+Math.random()*255+","+Math.random()*255+")"}this.Ship=GameObject.extend({init:function(o,n,l){this._super(o);this.initX=n;this.initY=l;this.reset();this.type="player";this.zIndex=2;this.radius=15;this.tractorMax=64;this.weight=2300;this.gravityBound=true;this.world.rtree.insert(this.message("getBBox"),this)},reset:function(){if(this.world.lives>=0){this.pos=new Vector2D(this.initX,this.initY);this.dx=0;this.dy=0;this.dead=false;this.radius=15;this.thrustPower=92000;if(this.connected){this.connected.connected=false;this.connected=null}this.thrustPoint=null}},explode:function(n){if(!this.dead){this.dead=true;var l=this;new Explosion(this.world,n||this.pos.clone(),15,function(){if(l===l.world.player){l.world.lives--;l.world.player.reset()}else{l.world.removeObject(l)}})}},draw:function(n){if(!this.dead){var p=this.thrustPoint;var r=p?this.thrustPoint:this.thrustHelp;if(r){n.beginPath();n.fillStyle=p?"#ffc":"#aa8000";n.strokeStyle=p?"#c00":"#400";var o=this.pos.substract(r);var q=o.length();o=o.multiply((this.radius+1)/q);o=this.pos.substract(o);n.arc(o.x,o.y,p?3:2,0,Math.PI*2,false);n.fill();n.stroke()}n.beginPath();var l=this===this.world.player;if(l){n.fillStyle="#008"}else{n.fillStyle="#700";n.strokeStyle="#f0f"}n.arc(this.pos.x,this.pos.y,this.radius,0,Math.PI*2,false);n.fill();if(!l){n.stroke()}}},getBBox:function(){return a(this.pos,this.radius)},calculateThrustPower:function(){var n=this.weight;var l=this.connected;if(l){n+=l.weight}return this.thrustPower/n/1000},move:function(){if(this.dead){return}var A=this.thrustPoint;if(A){var G=new Vector2D(this.pos.x-A.x,this.pos.y-A.y).norm();var u=this.calculateThrustPower();var F=G.x*u;var D=G.y*u;var H=this.connected;if(H){var n=this.pos.substract(H.pos);if(n.isSameDirection(F,D)&&n.length()>this.tractorMax*0.98){var x=new Vector2D(F,D).projectOnto(n);H.dx+=x.x;H.dy+=x.y}}this.dx+=F;this.dy+=D}var w=this.message("getBBox");if(!w){return}var r=this.world.rtree.search(w);for(var C=0,E=r.length;C<E;C++){var t=r[C];if(t.type==="line"){if(t.pt0&&t.pt1){var o=new Vector2D(this.pos.x,this.pos.y);var z=closestPointOnLineSegment(o,t.pt0,t.pt1);var q=z.substract(o).length();if(q<this.radius){this.explode(z);break}}}}var s=this.world.base.pos.add(25,-23);var l=s.substract(this.pos.x,this.pos.y).length();if(l>20){this.gravityBound=true}else{this.gravityBound=false;if(!this.thrustPoint){this.dx*=0.8;this.dy*=0.8;if(l>0.1){var B=s.substract(this.pos).norm();this.translate(B.x*0.3,B.y*0.3)}else{this.atRest=true}}}var p=this.world.width;var I=this.world.height;var y=this.world.box;if(this.pos.x-this.radius<y.x||this.pos.x+this.radius>y.x+y.w||this.pos.y-this.radius<this.world.box.y||this.pos.y+this.radius>y.y+y.h){this.explode()}this.translate(this.dx,this.dy)},thrust:function(l,n){if(this.dead){return}if(l){if(n){this.thrustPoint=this.world.fromScreen(l);this.thrustHelp=null}else{this.thrustPoint=null;this.thrustHelp=this.world.fromScreen(l)}}else{this.thrustHelp=this.thrustPoint;this.thrustPoint=null}},shoot:function(l){if(this.dead){return}var n=l.angleTo(this.pos);new Bullet(this.world,this.pos.add(this.dx+this.radius*Math.cos(n),this.dy+this.radius*Math.sin(n)),n)},translate:function(l,n){this.world.rtree.remove(this.message("getBBox"),this);this._super(l,n);this.world.rtree.insert(this.message("getBBox"),this)}});this.Bullet=GameObject.extend({init:function(l,n,o){this.dx=Math.cos(o)*3;this.dy=Math.sin(o)*3;this.radius=3;this._super(l);this.pos=n;this.zIndex=2;this.ricochet=5;this.type="bullet";this.world.rtree.insert(this.message("getBBox"),this)},draw:function(l){l.beginPath();l.fillStyle="#fee";l.strokeStyle="#fcc";l.arc(this.pos.x,this.pos.y,2,0,Math.PI*2,false);l.fill();l.stroke()},getBBox:function(){return a(this.pos,2)},move:function(){var o=this.pos.clone();var B=this.world.box;if(this.pos.x-this.radius<B.x||this.pos.x+this.radius>B.x+B.w){this.dx=-this.dx}if(this.pos.y-this.radius<this.world.box.y||this.pos.y+this.radius>B.y+B.h){this.dy=-this.dy}o.x+=this.dx;o.y+=this.dy;if(!this.ricochet){this.world.removeObject(this)}else{var y=this.message("getBBox");if(!y){return}var x,D,r;var t=o;var s=this.world.rtree.search(y);for(var I=0,J=s.length;I<J;I++){var C=s[I];switch(C.type){case"sentinel":case"player":case"alien":if(C.pos.substract(this.pos).length()<C.radius*0.95){C.explode(this.pos.clone());this.world.removeObject(this);return}break;case"bullet":if(C.pos.substract(this.pos).length()<C.radius){if(C!==this){this.world.removeObject(C);this.world.removeObject(this);return}}break}}var p=findClosestPointInCandidates(s,t);if(p.distance<this.radius){x=p.obj;r=p.distance;D=p.closest;var z=new Vector2D(this.dx,this.dy);var E=z.length();var u=z.multiply(1/E);var H=t.substract(D);var K=-H.x;H.x=H.y;H.y=K;var L=Math.acos(H.norm().dot(u));var q=r/Math.sin(L);var w=q+E-q*this.radius/r;var A=E-w;var G=u.multiply(-A);o.x+=G.x;o.y+=G.y;var L=t.angleTo(D);var F=Math.atan2(this.dy,this.dx);L+=L-F+Math.PI;var n=Math.cos(L);var l=Math.sin(L);this.dx=n*E;this.dy=l*E;this.x+=n*A;this.y+=l*A;this.ricochet--}var M=o.substract(this.pos);this.translate(M.x,M.y)}},translate:function(l,n){this.world.rtree.remove(this.message("getBBox"),this);this._super(l,n);this.world.rtree.insert(this.message("getBBox"),this)}});this.Base=Polygon.extend({init:function(o,l,r){this.pos=new Vector2D(l,r);var n=o.rtree.search({x:l-25,y:r-50,w:50,h:100});var q=findClosestPointInCandidates(n,this.pos);if(!q.closest){throw new Error("No ground below base")}this.pos.x=q.closest.x-25;this.pos.y=q.closest.y-4;this.type="base";var p="M 0 0 m 3.16270845,-5.0606 7.2862375,-3.1782 6.488,3.1407 7.960945,1.0325 7.436151,-1.0371 7.012796,-3.1361 6.340311,3.1723 4.108634,5.0665 0,3.707 -2,3.7071 -45.795783,0 -1.99999995,-3.7071 0,-3.707 z";this._super(o,p,true);this.zIndex=0;this.style={strokeStyle:"none",fillStyle:"#5a6"};this.world.rtree.insert(this.message("getBBox"),this)},fromSvg:function(o,l,n){if(n.indexOf("#start")===0){return function(){var p=new Base(o,(+l.attr("x")),(+l.attr("y")));o.base=p}}return false},getBBox:function(){var l=this.pos.clone();l.w=50;l.h=16;return l}});this.Sentinel=GameObject.extend({score:200,init:function(o,l,p,n){this.pos=new Vector2D(l,p);this.radius=10;this.observationRadius=n;this.reloadTime=150;this.reload=0;this._super(o);this.type="sentinel";this.zIndex=0;this.dead=false;this.world.rtree.insert(this.getBBox(),this)},fromSvg:function(p,l,n){if(n==="#sentinel"){var o=this.readCircleData(l);new Sentinel(p,o.x,o.y,(o.rx+o.ry)/2);return true}return false},explode:function(n){if(!this.dead){this.dead=true;var l=this;new Explosion(this.world,n||this.pos.clone(),15,function(){l.world.removeObject(l)})}},move:function(){if(!this.reload&&!this.dead){var l=this.world.player.pos.substract(this.pos);if(l.length()<this.observationRadius){var n=this.world.player.pos.angleTo(this.pos);new Bullet(this.world,this.pos.add(this.radius*Math.cos(n),this.radius*Math.sin(n)),n);this.reload=this.reloadTime}}else{this.reload--}},draw:function(l){l.beginPath();l.fillStyle="#484850";l.arc(this.pos.x,this.pos.y,this.radius,0,Math.PI*2,false);l.fill();l.stroke()},getBBox:function(){return a(this.pos,this.radius)}});this.Explosion=GameObject.extend({init:function(q,u,p,o){this.pos=u;this._super(q);this.radius=p;this.callback=o;this.count=3;this.zIndex=2;this.type="explosion";this.subs=[];var t=0;var l=Math.PI*2/this.count;for(var n=this.count-1;n>=0;n--){var s=this.radius*1.3-p*0.9;t+=Math.random()*l;this.subs.push({r:0,dr:Math.random()*0.5+1,rmax:p*1.5,x:Math.cos(t)*s,y:Math.sin(t)*s});p*=0.9}this.count=100;this.world.rtree.insert(this.getBBox(),this)},draw:function(n){for(var o=0,l=this.subs.length;o<l;o++){var p=this.subs[o];if(p.r>0){n.beginPath();n.fillStyle="#fc4";n.arc(this.pos.x+p.x,this.pos.y+p.y,p.r,0,Math.PI*2,false);n.fill()}p.r+=p.dr;if(p.r>p.rmax){p.dr=-p.dr}}},move:function(){if(this.count--<=0){this.world.removeObject(this);if(this.callback){this.callback.call(this)}}},getBBox:function(){return a(this.pos,this.radius)}});this.Cargo=GameObject.extend({init:function(n,l,o){this.pos=new Vector2D(l,o);this.connected=false;this.resting=true;this.atBase=-1;this.radius=8;this._super(n);this.dx=0;this.dy=0;this.type="cargo";this.zIndex=2;this.weight=100;this.world.rtree.insert(this.getBBox(),this)},score:function(){return this.atBase===0?1000:0},fromSvg:function(q,n,p){if(p==="#cargo"){var l=(+n.attr("sodipodi:cx"));var r=(+n.attr("sodipodi:cy"));var o=parseTransform(n);if(o){l+=o.x;r+=o.y}new Cargo(q,l,r);return true}return false},move:function(){var v=this.world.player;if(this.connected){var x=v.pos.substract(this.pos);var s=x.length();var u=s/v.tractorMax;if(u>=1){var o=new Vector2D(x.y,-x.x);var r=new Vector2D(this.dx,this.dy).projectOnto(o);this.dx=r.x;this.dy=r.y;var l=x.multiply((s-v.tractorMax)/s);this.dx+=l.x;this.dy+=l.y;var w=this.weight/(this.weight+v.weight);v.dx-=l.x*w;v.dy-=l.y*w}}if(!this.resting){this.world.doLocalGravity(this);this.translate(this.dx,this.dy);var q=this.world.base.pos.add(25,-12);var t=q.substract(this.pos).length();if(t<this.radius*2){this.resting=true;this.connected=false;this.atBase=100;v.connected=null;return}if(v.pos.substract(this.pos).length()<v.radius+this.radius){v.explode();this.explode();return}var p=this.world.rtree.search(this.getBBox());var n=findClosestPointInCandidates(p,this.pos);var z=n.closest;if(z&&z.substract(this.pos).length()<this.radius){this.explode();return}var y=this.world.box;if(this.pos.x-this.radius<y.x||this.pos.x+this.radius>y.x+y.w||this.pos.y-this.radius<this.world.box.y||this.pos.y+this.radius>y.y+y.h){this.explode()}}if(this.atBase>0){if(--this.atBase==0){this.world.removeObject(this)}}},remove:function(){var n=this.world;var l=n.player;if(l.connected===this){l.connected=null}},explode:function(){this.world.removeObject(this);new Explosion(this.world,this.pos.clone(),this.radius)},getBBox:function(){return a(this.pos,this.radius)},translate:function(l,n){this.world.rtree.remove(this.getBBox(),this);this._super(l,n);this.world.rtree.insert(this.getBBox(),this)},draw:function(l){if(this.connected){var o=this.world.player.pos;var n=o.substract(this.pos);var n=n.multiply(this.world.player.radius/n.length());o=o.substract(n);l.strokeStyle="#fff";l.beginPath();l.moveTo(player.pos.x,player.pos.y);l.lineTo(this.pos.x,this.pos.y);l.stroke()}l.beginPath();l.fillStyle=this.connected?"#c80":"#080";if(this.atBase>0){l.fillStyle="#0f0"}l.arc(this.pos.x,this.pos.y,this.radius,0,Math.PI*2,false);l.fill()}});this.GravPoint=GameObject.extend({init:function(p,l,q,n,o){this.pos=new Vector2D(l,q);this.radius=n;this.force=o||600;this.type="gravpoint";p.addGravSource(this)},getBBox:function(){return a(this.pos,this.radius)},fromSvg:function(q,l,n){if(n==="#gravpoint"){var p=+l.attr("force");var o=this.readCircleData(l);var o=svgJSON(l);new GravPoint(q,o.x,o.y,(o.rx+o.ry)/2,o.force);return true}return false},doGravity:function(p){var n=p.pos.substract(this.pos);var q=n.length();if(q<this.radius){var o=n.multiply(-1/q);var l=q*q;p.dx+=o.x*this.force/l;p.dy+=o.y*this.force/l;return true}return false}});this.GravBox=GameObject.extend({init:function(u,y,w,s,t,l){this.world=u;this.pt0=y;this.pt1=w;this.height=s;this.clockwisity=t;this.force=l||50;this.type="gravbox";this.box=new BBox();var x=w.substract(y).norm().multiply(s);var q=y.substract(x);var p=w.add(x);var r=this.clockwisity?new Vector2D(-x.y,x.x):new Vector2D(x.y,-x.x);var o=q.add(r);var n=p.add(r);this.box.extend(q,p,o,n);u.addGravSource(this)},getBBox:function(){return this.box},fromSvg:function(s,n,l){if(l==="#gravbox"){var v=n.attr("d");var z=parseSubPaths(v)[0];var x=z[0];var w=z[1];var q;var u=0;for(var p=2,r=z.length;p<r;p++){var y=z[p];var t=closestPointOnLine(y,x,w).substract(y).length();if(t>u){u=t;if(q===undefined){q=clockwise(x,w,y)}}}var o=svgJSON(n);new GravBox(s,x,w,u,q,o.force);return true}return false},doGravity:function(p){var n=closestPointOnLineSegment(p.pos,this.pt0,this.pt1).substract(p.pos);var q=n.length();if(q<this.height&&clockwise(this.pt0,this.pt1,p.pos)==this.clockwisity){var o=n.multiply(1/q);var l=q*q;p.dx+=o.x*this.force/l;p.dy+=o.y*this.force/l;return true}return false}})})(window,jQuery);/*
 * Thrust 2010 Copyright (C) 2010 by Sven Helmberger.
 * 
 * This software is licensed under the AGPL license. 
 * project root for LICENSE AND README.
 * 
 */
(function(){var h=16;var d=Math.PI*2;var c=d/h;function b(j){j=j%d;return j>0?j:d+j}function a(l,p){var n=100;for(var m=0,k=p.length;m<k;m++){var o=p[m];var j=l.x-o.x;var q=l.y-o.y;if(j*j+q*q<n){return m}}return -1}function i(j){if(j==h-1){return 0}return j+1}function e(j){if(j==0){return h-1}return j-1}function g(){var j=[];for(var k=0;k<h;k++){j.push(0)}return j}var f={};this.Alien=Ship.extend({score:300,init:function(k,j,l){this._super(k,j,l);this.type="alien";this.awarenessRadius=120;this.paths=[];this.avoidCount=0;this.reload=0;this.reloadTime=500},feelGravity:function(j){this.lastGravity=j},nextWayPoint:function(){var l=this.currentWayPoint().linkedTo;if(this.pathPos.dir>0&&l){var k=l.idx;var o=l.path;var m=k==0?1:-1;var n={parent:this.pathPos,idx:k+m,path:o,dir:m,entered:k};this.pathPos=n;return}var p=this.pathPos;var j=this.paths[p.path].length-1;if(p.idx===p.entered){this.pathPos=this.pathPos.parent;this.pathPos.idx+=this.pathPos.dir}if(p.dir<0){if(p.idx==0){p.dir=1}}else{if(p.idx==j){p.dir=-1}}p.idx+=p.dir},currentWayPoint:function(){var k=this.pathPos;var j=this.paths[k.path][k.idx];if(!j){console.error("No way point for %s:%d",k.path,k.idx)}return j},prepare:function(){if(this.paths.length){this.pathPos={idx:0,path:0,dir:1};this.pos=this.currentWayPoint()}},fromSvg:function(q,l,j){var n;if(j==="#alien"){var o=this.readCircleData(l);f[l[0].id]=new Alien(q,o.x,o.y);return true}else{if(n=/^\#way-([^-]*)-(\d+)$/.exec(j)){var k=n[1];var s=+n[2];var r=l.attr("d");var p=this;return function(){var t=parseTransform(l)||new Vector2D(0,0);var x=parseSubPaths(r,t.x,t.y);for(var u=0,m=x.length;u<m;u++){var v=x[u];var w=Alien.prototype.getAlienbyId(k);w.addWayPath(v)}}}}return false},getAlienbyId:function(j){return f[j]},link:function(m,l,k){if(k>=0){var j={path:l,idx:k};m.linkedTo=j}},linkToPaths:function(p,o,l){for(var m=0,k=this.paths.length;m<k;m++){if(m!=o){var n=this.paths[m];var j=a(p,n);if(j>=0){this.link(n[j],o,l)}}}},addWayPath:function(n){var k=this.paths.length;var o=n.length-1;this.linkToPaths(n[0],k,0);this.linkToPaths(n[o],k,o);this.paths[k]=n;for(var m=0;m<k;m++){var l=this.paths[m];var j=a(l[0],n);if(j>=0){this.link(n[j],m,0)}o=l.length-1;j=a(l[o],n);if(j>=0){this.link(n[j],m,o)}}},move:function(){var C=this.pos;var l=this.dx;var k=this.dy;var o=this.pos.substract(this.awarenessRadius,this.awarenessRadius);o.w=o.h=this.awarenessRadius+this.awarenessRadius;var J=this.world.rtree.search(o);var q,I,m=g();var z=function(ad,X,ab){var aa=ad.length();var r=X!==undefined;if(aa<this.awarenessRadius){var W=b(Math.atan2(ad.y,ad.x));if(r){var V=X-W;while(V<-Math.PI){V+=d}while(V>Math.PI){V-=d}}if(!r||Math.abs(V)<2){var ac=Math.floor(W/c);var Z=(W-ac*c)/c;var Y=i(ac);var ab=(ab||1000)/(aa*aa*0.5);m[ac]+=Z*ab;m[Y]+=(1-Z)*ab}}};this.checked=[];var F=Math.floor(Math.atan2(k,l));for(var P=0,u=J.length;P<u;P++){var j=J[P];if(j.type==="line"){var G=closestPointOnLineSegment(C,j.pt0,j.pt1).substract(C);z.call(this,G,F);this.checked.push(j)}else{if(!this.avoidCount&&j.type=="bullet"){var s=j.pos.substract(this.pos);var x=new Vector2D(j.dx,j.dy);var L=x.length();var Q=x.multiply(1/L);var w=s.length();var N=s.multiply(1/w);var T=Q.dot(N);if(T<-0.8){this.avoidCount=5}if(clockwise(this.pos,j.pos,j.pos.add(j.dx,j.dy))){this.vAvoid=this.pos.add(j.dy*10,-j.dx*10)}else{this.vAvoid=this.pos.add(-j.dy*10,j.dx*10)}}else{if(!this.reload&&j.type=="player"){var O=j.pos.substract(this.pos).length()/3;var B=new Vector2D(j.dx,j.dy).multiply(O).add(j.pos);this.shoot(B);this.reload=this.reloadTime}}}}var y=-Infinity;var D=h/4;for(var P=0;P<h;P++){var H=m[P];if(H>y){y=H;D=P}}var t=D*c;var M=this.radius;var E=new Vector2D(Math.cos(t)*M,Math.sin(t)*M);this.heat=m;if(this.avoidCount){this.avoidCount--}if(this.reload){this.reload--}if(y>0.45){this.thrustPoint=C.add(E)}else{var Q=new Vector2D(l,k);var n=Q.length();var A=n<1.15;var p=this.currentWayPoint();var s=p.substract(C);var K=s.length();if(!A){var U=s.multiply(1/K);var R=new Vector2D(l,k).norm();if(U.dot(R)<0.9){A=true}}if(A&&!this.avoidCount){if(K>30){var S=this.calculateThrustPower();s=s.multiply(S/K);if(n>1){s=s.substract(l,k)}if(this.lastGravity){s=s.substract(this.lastGravity)}this.thrustPoint=C.substract(s)}else{this.nextWayPoint();return this.move()}}else{this.thrustPoint=this.avoidCount?this.vAvoid:null}}if(this.lastGravity){var H=new Vector2D(l,k).projectOnto(this.lastGravity);if(H.isSameDirection(this.lastGravity)&&H.length()>0.7){this.thrustPoint=C.substract(this.lastGravity)}}this._super()}})})();/*
 * Thrust 2010 Copyright (C) 2010 by Sven Helmberger.
 * 
 * This software is licensed under the AGPL license. 
 * project root for LICENSE AND README.
 * 
 */
var paper,world,player;(function(b,f,c){var p=24;var q=24;var o=1000/q;var a=1000/q;function l(){var t=[];for(var u=0,s=arguments.length;u<s;u+=2){t.push(new Vector2D(arguments[u],arguments[u+1]))}return t}var r;var i;function g(t){var s=new RegExp("(?:&|\\?)"+t+"=([^&]+)(?:&|$)").exec(location.search);if(s){return s[1]}else{return false}}function e(v){var t=/^(\d+)\:(-?\d+)$/.exec(v);if(t){var w=+t[1];var u=+t[2];if(u!=chksum(Thrust.levels[w])){return 0}return w}}var d,k,j=null,h,n;function m(s,u,t){var v=s.pos.substract(u.pos).length();if(u.connected){u.connected=false;s.connected=null}else{if(v<t){u.connected=true;u.resting=false;s.connected=u}}}f.Thrust={init:function(){if(!f.console){f.console={};var x=function(){};var C="log debug error warn trace".split(" ");for(var A=0,B=C.length;A<B;A++){f.console[C[A]]=x}}var D=g("level");var t=+(e(D)||0);i=new World("teh_canvas");i.level=t;i.overview=!!(g("overview")||false);f.world=i;if(D){var u=b.cookies.get("thrust2010_data");var z=u?JSON.parse(u):{score:0,lives:4};i.score=z.score;i.lives=z.lives}else{b.cookies.remove("thrust2010_data")}var w=[];b.ajax({url:Thrust.levels[t],dataType:"xml",success:function(L){var R=SvgFactory.prototype.getRegistered();b("path,rect",L.documentElement).each(function(){var V=b(this);var W=V.attr("inkscape:label");var Y=false;if(W){for(var X=0,T=R.length;X<T;X++){var U=R[X];if(result=U.create(i,V,W)){if(typeof result=="function"){w.push(result)}Y=true;break}}}if(!Y){console.info("no object created for SVG elem: %o, name=%s",V,W)}});for(var M=0,O=w.length;M<O;M++){w[M].call(this)}var S=i.base.pos;var I=S.x+25;var H=S.y-25;console.debug("player pt = %d,%d",I,H);player=new Ship(i,I,H);i.player=player;d=b("#teh_canvas");var G=d.offset();k=new Vector2D(G.left,G.top);var P=new Vector2D(i.box.x,i.box.y);var Q=i.box.w;var N=i.box.h;var F=new Vector2D(i.box.x+Q,i.box.y+N);i.insertLineBox(P,P.add(Q,0));i.insertLineBox(P,P.add(0,N));i.insertLineBox(F,F.substract(Q,0));i.insertLineBox(F,F.substract(0,N));for(var M=0,O=i.objects.length;M<O;M++){var K=i.objects[M];K.message("prepare")}var E=j=(new Date()).getTime();(function J(){try{var W=(new Date()).getTime();while(j<W){i.step();j+=o}i.step();i.draw();var V=(E+a)-(new Date()).getTime();if(V<1){V=1}if(i.scoreObjsCount!==0||i.player.gravityBound||!i.player.atRest){f.setTimeout(J,V)}else{++i.level;var T=Thrust.levels.length-1;if(i.level>=T){i.level=0}jQuery.cookies.set("thrust2010_data",'{ "score": '+i.score+',"lives": '+i.lives+"}");f.setTimeout(function(){document.location.href="index.html?level="+i.level+":"+chksum(Thrust.levels[i.level])},10)}E=W}catch(U){console.error("Error in mainLoop",U)}})()}});function v(F){var E=new Vector2D(F.pageX,F.pageY).substract(k);player.thrust(E,r)}f.oncontextmenu=function(){return false};var y=b(document).mousedown(function(F){if(F.button==2||F.ctrlKey){var E=i.fromScreen(new Vector2D(F.pageX,F.pageY).substract(k));player.shoot(E);return false}else{r=true;v(F)}}).mouseup(function(E){r=false;v(E)}).mousemove(function(E){v(E)}).keydown(function(K){switch(K.keyCode){case 84:var L=i.player;var E=L.tractorMax;var F=L.pos;var I=F.substract(E,E);I.w=I.h=E+E;var M=i.rtree.search(I);for(var H=0,J=M.length;H<J;H++){var G=M[H];if(G.type==="cargo"){m(i.player,G,E)}}break;default:break}});var s=['<option value="">Choose Level</option>'];for(var A=0,B=Thrust.levels.length;A<B;A++){var t=Thrust.levels[A];s.push('<option value="',A,":",chksum(t),'">',t,"</option>")}b("#levelSelector").change(function(E){document.location.href="index.html?level="+this.value}).append(b(s.join("")))}};b(Thrust.init)})(jQuery,window);Thrust.levels=["levels/level-1.svg","levels/level-2.svg","levels/level-3.svg","levels/level-4.svg","levels/level-5.svg","levels/level-6.svg"];
