var genetifyTime={begin:{},end:{},time:{}};genetifyTime.begin.load=new Date().getTime();if(!window.console){window.console={warn:function(){},error:function(){},info:function(){},trace:function(){},log:function(){},assert:function(){}}}var genetify={config:{REQUEST_RESULTS:true,USE_RESULTS_CACHE:true,REMOTE_BASE_URL:window.location.protocol +"//"+window.location.host+"/resources/gn",USE_URCHIN:false,USE_COOKIE:true,NO_VARYING:false,LOAD_CONTROLS:false,SHOW_RESULTS:false,NAMESPACE:window.location.pathname},genome:{},genomeOverride:{},results:{},re:{},referrer:{},pageview_xid:0,_cssRulesCache:[],_cssSheetCount:0,_systemObjects:[],_systemNames:{},_scanCounter:0,init:function(){if(window.onerror){genetify._addListener(window,"onerror",genetify.record.error)}else{window.onerror=genetify.record.error}var a=function(k){var d=k||window.event;var h=d.target||d.srcElement;var f=h.getAttribute("onclick");if(h.href&&f&&f.indexOf("genetify.record.goal")!=-1){var g='Don\'t record clicking a link with the "onclick" event. Use "onmousedown" instead.';genetify.utils.assert(false,g)}};genetify._addListener(window,"onclick",a);if(window.location.protocol.indexOf("file:")!=-1){genetify.config.REMOTE_BASE_URL=genetify.config.REMOTE_BASE_URL.replace("file:","http:")}genetify._checkQueryString();genetify.cookie.init();var b=window.location.hash.slice(1);genetify.utils.update(genetify.genomeOverride,genetify.utils.fragmentToGenome(b));if(!genetify.config.NO_VARYING){if(genetify.config.REQUEST_RESULTS){genetify.requestResults("genetify.handleResults")}genetify._addListener(window,"onload",function(){genetify._checkCSS([".v",".genetify_enabled",".genetify_disabled"])});genetify._registerSystemObjects();genetify._createRegexes();genetify._setReferrer()}var c=function(d){genetify.utils.request(genetify.config.REMOTE_BASE_URL+"/controls.js");genetify.utils.insertStylesheet(genetify.config.REMOTE_BASE_URL+"/controls.css")};if(genetify.config.LOAD_CONTROLS||genetify.config.SHOW_RESULTS){c();genetify._addListener(window,"onload",function(){if(genetify.config.LOAD_CONTROLS){genetify.controls._insertHTML("genetify_controls",genetify_controls_HTML)}if(genetify.config.SHOW_RESULTS){genetify.controls.showResults()}})}genetify._addListener(window,"onkeydown",function(f){if(f.ctrlKey){c();var d=f.keyCode||f.charCode;if(d==71){genetify.controls._insertHTML("genetify_controls",genetify_controls_HTML);genetify.controls.showResults()}}})},handleResults:function(JSON){rawResults=eval(JSON);genetify.results=genetify.weight.check(genetify.weight.results(rawResults));genetifyTime.end.results=new Date().getTime();var elem=document.getElementById("genetify_results_table");if(elem){genetify.controls.showResults()}},_addListener:function(a,c,b){if(a.addEventListener){return a.addEventListener(c.substr(2),b,false)}else{if(a.attachEvent){return a.attachEvent(c,b)}}},_registerSystemObjects:function(){for(var b in window){try{genetify._systemObjects.push(window[b]);genetify._systemNames[b]=true}catch(a){}}genetify._systemObjects.genetify=genetify;genetify._systemNames.genetify=true},_setReferrer:function(){if(!document.referrer){return}var c=genetify.utils.parseURL(document.referrer);genetify.referrer={domain:c.host,path:c.pathname,external:(document.domain==c.host)?false:true};var b={snipshot:"p",google:"q",yahoo:"p",msn:"q",aol:"query",lycos:"query",askjeeves:"q",ask:"q",altavista:"q",netscape:"query",cnn:"query",looksmart:"qt",about:"terms",mamma:"query",alltheweb:"q",gigablast:"q",voila:"rdata",virgilio:"qs",live:"q",baidu:"wd",alice:"qs",yandex:"text",najdi:"q","club-internet":"q",mama:"query",seznam:"q",search:"q",szukaj:"szukaj",szukaj:"qt",netsprint:"q","google.interia":"q",szukacz:"q",yam:"k",pchome:"q"};for(var a in b){if(genetify.referrer.domain.indexOf(a)!=-1){genetify.utils.assert(b[a],'Referral from search engine "'+a+'" does not contain a query term');genetify.referrer.searchTerm=c.params[b[a]];genetify.referrer.searchEngine=a;break}}},_checkQueryString:function(){var a=/&?genome=\((.*)\)/;var b=a.exec(window.location.search);if(b&&b[1]){window.location.href=window.location.href.replace(a,"")+"#"+b[1]}},_checkCSS:function(b){var a=[];genetify._forAllCSSRules(function(d){for(var c=0;c<b.length;c++){if(d.selectorText==b[c]){genetify.utils.assert(a[c]!=1,"CSS rule "+b[c]+" is declared more than once");a[c]=1}}});genetify.utils.assert(genetify.utils.sum(a)==b.length,"Missing required CSS rules")},_createRegexes:function(){var c="(.*)";var a={additiveCSSRules:"[a-zA-Z0-9_$]?\\.v",CSSRules:"_v",javascript:"_v",elements:"\\s+v\\s+"};var b="([A-Z0-9_$][a-zA-Z0-9_$-]*)";for(var f in a){var e=c+a[f]+b;if(f=="elements"){genetify.re[f]=new RegExp(e,"i")}else{genetify.re[f]=new RegExp(e)}}var d="s?v"+b;genetify.re.additiveCSSRulesReplacer=new RegExp(d);genetify.re.elementsMarker=new RegExp(a.elements)},requestResults:function(f,e){genetifyTime.begin.results=new Date().getTime();var d="";if(!e&&genetify.config.USE_RESULTS_CACHE){var a=[document.domain,encodeURIComponent(encodeURIComponent(genetify.config.NAMESPACE)),"results.js"];var c="__";genetify.utils.assert(genetify.config.NAMESPACE.indexOf(c)==-1,"Namespace contains delimiter: "+c);d=genetify.config.REMOTE_BASE_URL+"/cache/"+a.join(c)}else{var b={callback:f};d=genetify.utils.buildURL("/reader.php",b)}if(e){genetify.utils.request(d)}else{document.write('<script type="text/javascript" src="'+d+'"><\/script>')}},vary:function(c){genetifyTime.begin.vary=new Date().getTime();genetify.pageview_xid=0;genetify.utils.assert(typeof(GENETIFY_CONFIG)=="undefined","GENETIFY_CONFIG must be set before genetify.js is loaded.");genetify.utils.assert(!genetify.config.NO_VARYING,"NO_VARYING is set to true");var d=["elements","CSSRules","additiveCSSRules","javascript"];var a=[];if(arguments[0]=="all"){a=d}else{if(!arguments.length){a=d}else{a=genetify.vary.arguments}}for(var b=0;b<a.length;b++){genetify.utils.assert(d.join("|").indexOf(a[b])!=-1,a[b]+": not a valid type for varying");if(a[b]=="CSSRules"){genetify.switchRules(genetify.getRules())}else{if(a[b]=="elements"){genetify.switchElements(genetify.getElements())}else{if(a[b]=="additiveCSSRules"){genetify.switchAdditiveRules(genetify.getAdditiveRules())}else{if(a[b]=="javascript"){genetify.getAndSwitchObjects()}}}}}genetify.pageview_xid=genetify._generateID();genetify.cookie.save(genetify.genome,genetify.config.NAMESPACE);genetifyTime.end.vary=new Date().getTime();genetify.record.pageview(genetify.genome,genetify.referrer,c);return genetify.genome},_generateID:function(){var a=Math.pow(10,15);var b=Math.round(Math.random()*a);return b},_lowerTagNames:function(a){var d=function(g){var k="";if(g.indexOf("#")>-1){k="#"}else{if(g.indexOf(".")>-1){k="."}else{return g.toLowerCase()}}var h=g.split(k);var f=[h[0].toLowerCase(),h.slice(1).join(k)];return f.join(k)};var e=a.split(" ");for(var c=0;c<e.length;c++){var b=e[c].replace(/^\s+/,"").replace(/\s+$/,"");e[c]=d(b)}return e.join(" ")},getRules:function(){var b={};genetify._forAllCSSRules(function(c){b[c.selectorText]=c.style.cssText});var a=genetify._groupVariantsByGeneName(b,genetify.re.CSSRules,function(d){var c=d[1];if(c!=c.toLowerCase()){c=genetify._lowerTagNames(c)}return[c,d[2]]});return a},getAdditiveRules:function(){var c={};genetify._forAllCSSRules(function(f){c[f.selectorText]=f.selectorText});var a=genetify._groupVariantsByGeneName(c,genetify.re.additiveCSSRules,function(h){var g=h[2];var f=h[0].replace(".v"+g,"");if(f!=f.toLowerCase()){f=genetify._lowerTagNames(f)}return[f,g]});for(var e in a){for(var b=0;b<a[e].length;b++){var d=genetify.re.additiveCSSRules.exec(a[e][b]);a[e][b]=[d[2],"v"+d[2]]}}return a},getElements:function(){var c=genetify.utils.getElementsByClassName("v");var b=genetify._groupElementsByClassName(c);var a=genetify._groupVariantsByGeneName(b,genetify.re.elements);return a},_groupElementsByClassName:function(e){var b={};for(var c=0;c<e.length;c++){var d=genetify.re.elements.exec(e[c].className);if(d){var a=d[0];if(!b[a]){b[a]=[]}b[a].push(e[c])}}return b},_getUserDict:function(){if(document.scripts&&document.all){return genetify.scanJS.getUserDict()}else{var a={};for(var c in window){if(!genetify._systemNames[c]){try{a[c]=window[c]}catch(b){}}}return a}},_getRandomVariant:function(b){var a=Math.floor(Math.random()*b.length);return b[a]},_getVariantWithProbability:function(b,e){var d=Math.random()*genetify.utils.sum(e);var a=0;for(var c=0;c<b.length;c++){a+=e.shift();if(d<=a){return b[c]}}return genetify.utils.assert(false,"No variant selected")},_getProbabilities:function(e,b){var g=[];var a=[];for(var c=0;c<b.length;c++){var f=b[c][0];if(e[f]&&e[f]["weight"]){g[c]=e[f]["weight"];e[f]["recorded"]=true}else{g[c]=NaN;a.push(1/b.length)}}if(a.length){g=genetify._adjustProbs(g,a)}g=genetify._allocateUnused(e,g);var d=genetify.utils.round(genetify.utils.sum(g));genetify.utils.assert(d==1,"Weights add up to "+d+" for "+e.name);return g},_adjustProbs:function(d,a){for(var b=0;b<d.length;b++){d[b]*=1-genetify.utils.sum(a)}for(var c=0;c<d.length;c++){if(!d[c]){d[c]=a.shift()}}return d},_allocateUnused:function(b,e){var d=[];for(var c in b){if(b[c]["weight"]&&!b[c]["recorded"]){d.push(b[c]["weight"])}}if(d.length){for(var a=0;a<e.length;a++){e[a]+=genetify.utils.sum(d)/e.length}}return e},_getFixedVariant:function(c,a){for(var b=0;b<a.length;b++){if(genetify.genomeOverride[c]==a[b][0]){return a[b]}}return genetify.utils.assert(false,"No variant of name "+genetify.genomeOverride[c]+" in gene "+c)},_selectVariant:function(c,b,a){genetify.utils.assert(!genetify.genome[c],"Name conflict: "+c);genetify.utils.assert(typeof(b)!="undefined","No original for gene: "+c);var d=null;a.push(["__original__",b]);if(genetify.genomeOverride[c]){d=genetify._getFixedVariant(c,a)}else{if(!genetify.utils.empty(genetify.results[c])){var e=genetify._getProbabilities(genetify.results[c],a);d=genetify._getVariantWithProbability(a,e)}else{d=genetify._getRandomVariant(a)}}genetify.genome[c]=d[0];return d},_walkObject:function(g,f){var a=3;var c=genetify;c._scanCounter+=1;g.__depth=0;var e=[g];while(e.length){var b=e.pop();f(b);for(var h in b){if(typeof(b[h])=="object"&&!genetify[h]&&b[h]!==genetify.results){if(!b[h]){break}if(!b[h].__visited||b[h].__visited!=c._scanCounter){try{b[h].__visited=c._scanCounter}catch(d){continue}if(c._systemObjects.indexOf&&c._systemObjects.indexOf(b[h])!=-1){continue}b[h].__depth=b.__depth+1;if(b[h].__depth<=a){e.push(b[h])}}}}}},_getAndSwitchObject:function(d){var a=genetify._groupVariantsByGeneName(d,genetify.re.javascript);for(var c in a){var b=false;if(window[c]===d[c]){b=true}var e=genetify._selectVariant(c,d[c],a[c]);d[c]=e[1];if(b){window[c]=e[1]}}},getAndSwitchObjects:function(){return genetify._walkObject(genetify._getUserDict(),genetify._getAndSwitchObject)},switchRules:function(a){genetify._forAllCSSRules(function(b){for(var c in a){if(c==b.selectorText){var d=genetify._selectVariant(c,b.style.cssText,a[c]);b.style.cssText=d[1]}}})},switchElements:function(l){for(var f in l){var m=genetify.utils.getElementsByClassName(f);var h=[];for(var e=0;e<m.length;e++){if(!m[e].className.match(genetify.re.elementsMarker)){h.push(m[e])}}var c=genetify._selectVariant(f,h,l[f]);for(var d=0;d<l[f].length;d++){for(var b=0;b<l[f][d][1].length;b++){var a=l[f][d][1][b].className.replace(" genetify_disabled","").replace(" genetify_enabled","");if(l[f][d][0]!=c[0]){l[f][d][1][b].className=a+" genetify_disabled"}else{l[f][d][1][b].className=a+" genetify_enabled"}}}}},switchAdditiveRules:function(e){for(var d in e){var f=genetify._selectVariant(d,null,e[d]);var a=genetify.utils.getElementsBySelector(d);genetify.utils.assert(!genetify.utils.empty(a),"No elements correspond to "+d);for(var c=0;c<a.length;c++){var b=a[c].className.replace(genetify.re.additiveCSSRulesReplacer,"");if(f[0]!="__original__"){a[c].className=b+" "+f[1]}else{a[c].className=b}}}},_groupVariantsByGeneName:function(a,d,c){if(typeof(c)!="function"){var c=function(h){return[h[1],h[2]]}}var b={};for(var g in a){if(g.indexOf("v")==-1){continue}var e=d.exec(g);if(e){e[0]=g;var f=c(e);if(f.length==2){if(!b[f[0]]){b[f[0]]=[]}b[f[0]].push([f[1],a[g]])}}}return b},_forAllCSSRules:function(d){var b=genetify;if(b._cssSheetCount!=document.styleSheets.length){b._cacheCSSRules()}var a=b._cssRulesCache.length;for(var c=0;c<a;c++){d(b._cssRulesCache[c])}},_cacheCSSRules:function(){genetify.utils.assert(document.styleSheets.length,"No stylesheets detected.");var c=genetify;for(var f=c._cssSheetCount;f<document.styleSheets.length;f++){var e=document.styleSheets[f];try{var h=e.cssRules||e.rules;var a=h.length;for(var d=0;d<a;d++){if(h[d].selectorText){c._cssRulesCache.push(h[d])}else{if(h[d].type==3){if(typeof(b)=="undefined"){var b=setTimeout(function(){genetify.utils.assert(!genetify.utils.empty(genetify.genome),"Genome is empty and CSS @imports detected")},2000)}}}}}catch(g){}}c._cssSheetCount=document.styleSheets.length}};genetify.scanJS={_getRaw:function(){genetify.utils.assert(document.scripts,"This function is only meant for IE");var b="";for(var a=0;a<document.scripts.length;a++){b+=document.scripts[a].innerHTML}return b},_parseIdentifiers:function(a){var e=/\/\/.*/g;var c=/\*.*?\*\//g;var b=/([a-zA-Z_$][a-zA-Z0-9_$]*)/g;var d=a.replace(c,"").replace(e,"").match(b);return d},_getObjectsThatExist:function(c){var a={};for(var b=0;b<c.length;b++){if(!a[c[b]]&&window[c[b]]){a[c[b]]=window[c[b]]}}return a},getUserDict:function(){var a=genetify.scanJS;return a._getObjectsThatExist(a._parseIdentifiers(a._getRaw()))}};genetify.record={goal:function(a,d,c){genetify.utils.assert(a,"Goal name required");genetify.utils.assert(typeof(d)=="number","Goal value must be a number, not "+d);genetify.utils.assert(d>0,"Goal value must be greater than zero, not "+d);genetify.utils.assert(genetify.pageview_xid,"Pageview is missing");var b={goal:a,pageview_xid:genetify.pageview_xid,value:d};genetify.utils.request(genetify.utils.buildURL("/recorder.php",b));if(genetify.config.USE_URCHIN){genetify.record.urchin(a,d,c)}},pageview:function(a,c,g){genetify.utils.assert(!genetify.utils.empty(a),"Genome is empty");var e=genetify.utils.genomeToURLFragment(a);var b=genetify.utils.genomeToURLFragment(c);genetifyTime.time={load:genetifyTime.end.load-genetifyTime.begin.load,init:genetifyTime.end.init-genetifyTime.end.load,results:genetifyTime.end.results-genetifyTime.begin.results,idle:genetifyTime.begin.vary-genetifyTime.end.results,vary:genetifyTime.end.vary-genetifyTime.begin.vary};var d={pageview_xid:genetify.pageview_xid,genome:e,referrer:b,vary_call:g,load_time:genetifyTime.time.load,init_time:genetifyTime.time.init,results_time:genetifyTime.time.results,idle_time:genetifyTime.time.idle,vary_time:genetifyTime.time.vary};genetify.utils.request(genetify.utils.buildURL("/recorder.php",d))},urchin:function(a,d,c){genetify.utils.assert(typeof(UrchinTransaction)=="function","UrchinTransaction required");genetify.utils.assert(typeof(urchinTracker)=="function","urchinTracker required");genetify.utils.assert(!genetify.utils.empty(genetify.genome),"Genome is empty");genetify.record._pageToUrchin(genetify.genome);var e={"order-id":a+"-"+Math.round(Math.random()*1000000000),affiliation:"genetify",total:d,items:[{"sku/code":a,"product name":a,category:c,quantity:1,price:d}]};var b=new UrchinTransaction(e);b.commit()},_pageToUrchin:function(a){var b=genetify.utils.genomeToURLFragment(a);var c="";if(window.location.search){c=window.location.search+"&genome=("+b+")"}else{c="?genome=("+b+")"}urchinTracker(genetify.config.NAMESPACE+c)},error:function(d,b,a){if(d=="Error loading script"){return}var c={error:d,line_number:a||0};genetify.utils.request(genetify.utils.buildURL("/recorder.php",c))}};genetify.cookie={init:function(){var c=genetify.cookie.read("genetify_use_cookie");if(c){genetify.config.USE_COOKIE=c*1}var b=genetify.cookie.read("genetify_genome_page");if(genetify.config.USE_COOKIE&&b==genetify.config.NAMESPACE){var a=genetify.cookie.read("genetify_genome");genetify.utils.update(genetify.genomeOverride,genetify.utils.fragmentToGenome(a))}genetify.pageview_xid=genetify.cookie.read("genetify_pageview_xid")},save:function(b,e){var d=genetify.cookie.read("genetify_genome");var a=genetify.utils.fragmentToGenome(d);var c=genetify.utils.update(a,b);genetify.cookie._write("genetify_genome",genetify.utils.genomeToURLFragment(c));genetify.cookie._write("genetify_genome_page",e);genetify.cookie._write("genetify_pageview_xid",genetify.pageview_xid)},enable:function(){genetify.cookie._write("genetify_use_cookie",1);genetify.cookie.init()},disable:function(){genetify.cookie._write("genetify_use_cookie",0);genetify.genomeOverride={};genetify.cookie.init()},_write:function(a,c,d){if(!d){var d=24*365}var f=new Date();f.setTime(f.getTime()+(d*60*60*1000));var b=document.domain;var e=a+"="+encodeURIComponent(c)+"; expires="+f.toGMTString()+"; domain="+b+"; path=/";document.cookie=e},read:function(b){if(b.indexOf("=")!=b.length-1){b=b+"="}var e=document.cookie.indexOf(b);if(e!=-1){var d=e+b.length;var a=document.cookie.indexOf(";",d);if(a==-1){a=document.cookie.length}var c=document.cookie.substring(d,a);return decodeURIComponent(c)}}};genetify.utils={update:function(b,d){if(b===null||b===undefined){b={}}for(var c=1;c<arguments.length;c++){var e=arguments[c];if(typeof(e)!="undefined"&&e!==null){for(var a in e){b[a]=e[a]}}}return b},sum:function(a){var c=0;for(var b=0;b<a.length;b++){c+=a[b]}return c},empty:function(c){var a=true;for(var b in c){if(c[b]){a=false;break}}return a},assert:function(b,a){if(!b){throw ("Genetify: "+a);console.trace()}},parseURL:function(h){var k={username:4,password:5,port:7,protocol:2,host:6,pathname:8,URL:0,queryString:9,fragment:10};var e=/^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/;var f=e.exec(h);var g={};for(var b in k){g[b]=f[k[b]]||""}var c=g.queryString.replace(/\+/g,"%20").split(/(\&amp\;|\&\#38\;|\&#x26;|\&)/);g.params={};for(i=0;i<c.length;i++){var d=c[i].split("=");var a=d.shift();if(!a){continue}g.params[decodeURIComponent(a)]=decodeURIComponent(d.join("="))}return g},request:function(a){setTimeout(function(){var b=document.createElement("script");b.type="text/javascript";b.src=a;document.getElementsByTagName("head")[0].appendChild(b)},0)},fragmentToGenome:function(b){var e={};if(!b){return e}else{var a=b.split(",");for(var c=0;c<a.length;c++){var d=a[c].split("=");if(d[1]=="_"){d[1]="__original__"}e[d[0]]=d[1]}return e}},genomeToURLFragment:function(a){var b=[];for(var c in a){b.push(c+"="+a[c])}b.sort();return b.join(",")},round:function(a){return Math.round(a*1000)/1000},buildURL:function(a,c){var e={domain:document.domain,page:genetify.config.NAMESPACE,rand:Math.round(Math.random()*1000000),callback:"console.info",errback:"console.error"};c=genetify.utils.update(e,c);var d=[];for(var b in c){d.push(b+"="+encodeURIComponent(c[b]))}return genetify.config.REMOTE_BASE_URL+a+"?"+d.join("&")},insertStylesheet:function(b){var a=document.createElement("link");a.rel="stylesheet";a.href=b;a.type="text/css";document.getElementsByTagName("head")[0].appendChild(a)},_getElementsByXPath:function(e){var b=[];var d=document.evaluate(e,document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var a=0,c=d.snapshotLength;a<c;a++){b.push(d.snapshotItem(a))}return b},getElementsByClassName:function(c){if(document.evaluate){var f=".//*[contains(concat(' ', @class, ' '), ' "+c+" ')]";return genetify.utils._getElementsByXPath(f)}else{var d=new Array();var b=document.getElementsByTagName("*");var a=b.length;var e=new RegExp("(^|\\s)"+c+"(\\s|$)");for(i=0,j=0;i<a;i++){if(e.test(b[i].className)){d[j]=b[i];j++}}return d}},getElementsBySelector:function(s){var w=function(h){return h.all?h.all:h.getElementsByTagName("*")};if(!document.getElementsByTagName){return new Array()}var q=s.split(" ");var n=new Array(document);for(var y=0;y<q.length;y++){token=q[y].replace(/^\s+/,"").replace(/\s+$/,"");if(token.indexOf("#")>-1){var g=token.split("#");var f=g[0];var u=g[1];var c=document.getElementById(u);if(f&&c.nodeName.toLowerCase()!=f){return new Array()}n=new Array(c);continue}if(token.indexOf(".")>-1){var g=token.split(".");var f=g[0];var t=g[1];if(!f){f="*"}var r=new Array;var o=0;for(var z=0;z<n.length;z++){var l;if(f=="*"){l=w(n[z])}else{l=n[z].getElementsByTagName(f)}for(var x=0;x<l.length;x++){r[o++]=l[x]}}n=new Array;var m=0;for(var v=0;v<r.length;v++){if(r[v].className&&r[v].className.match(new RegExp("\\b"+t+"\\b"))){n[m++]=r[v]}}continue}if(token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)){var f=RegExp.$1;var e=RegExp.$2;var d=RegExp.$3;var b=RegExp.$4;if(!f){f="*"}var r=new Array;var o=0;for(var z=0;z<n.length;z++){var l;if(f=="*"){l=w(n[z])}else{l=n[z].getElementsByTagName(f)}for(var x=0;x<l.length;x++){r[o++]=l[x]}}n=new Array;var m=0;var a;switch(d){case"=":a=function(h){return(h.getAttribute(e)==b)};break;case"~":a=function(h){return(h.getAttribute(e).match(new RegExp("\\b"+b+"\\b")))};break;case"|":a=function(h){return(h.getAttribute(e).match(new RegExp("^"+b+"-?")))};break;case"^":a=function(h){return(h.getAttribute(e).indexOf(b)==0)};break;case"$":a=function(h){return(h.getAttribute(e).lastIndexOf(b)==h.getAttribute(e).length-b.length)};break;case"*":a=function(h){return(h.getAttribute(e).indexOf(b)>-1)};break;default:a=function(h){return h.getAttribute(e)}}n=new Array;var m=0;for(var v=0;v<r.length;v++){if(a(r[v])){n[m++]=r[v]}}continue}if(!n[0]){return}f=token;var r=new Array;var o=0;for(var z=0;z<n.length;z++){var l=n[z].getElementsByTagName(f);for(var x=0;x<l.length;x++){r[o++]=l[x]}}n=r}return n}};genetify.weight={sums:{},variant:function(b,a){var c=10;b.weight=(b.sum+c)/(a.sum+c*a.distinct);return b},results:function(d){for(var g in d){var c={distinct:0,sumdev_within:0,sumdev_between:0};for(var f in d[g]){var b=d[g][f];for(var e in b){c[e]=typeof(c[e])=="undefined"?b[e]:c[e]+b[e]}c.sumdev_within+=b.sumsq-Math.pow(b.sum/b.count,2);c.distinct+=1}var a=c.sum/c.count;for(var f in d[g]){var b=d[g][f];d[g][f]=genetify.weight.variant(b,c);c.sumdev_between+=b.count*Math.pow(b.avg-a,2)}c.confidence=genetify.weight.FTest(c);genetify.weight.sums[g]=c}return d},check:function(a){for(var d in a){var b=0;for(var c in a[d]){var e=a[d][c];genetify.utils.assert(typeof(e.weight)!="undefined","Results must have weights");b+=e.weight}genetify.utils.assert(genetify.utils.round(b)==1,"Weights add up to "+b+" for "+d)}return a},FTest:function(c){var f=c.count-c.distinct;var b=c.distinct-1;if(b<1||f<2){return 0}var e=c.sumdev_within/f;var a=c.sumdev_between/b;var d=genetify.weight.Fspin(a/e,b,f);return 1-d},Fspin:function(l,d,b){var s=function(v,u,t,c){var a=1;var w=a;var f=u;while(f<=t){a=a*v*f/(f-c);w=w+a;f=f+2}return w};var g=Math.PI/2;var q=b/(d*l+b);if((d%2)==0){return s(1-q,b,d+b-4,b-2)*Math.pow(q,b/2)}if((b%2)==0){return 1-s(q,d,d+b-4,d-2)*Math.pow(1-q,d/2)}var n=Math.atan(Math.sqrt(d*l/b));var o=n/g;var e=Math.sin(n);var r=Math.cos(n);if(b>1){o=o+e*r*s(r*r,2,b-3,-1)/g}if(d==1){return 1-o}var m=4*s(e*e,b+1,d+b-4,b-2)*e*Math.pow(r,b)/Math.PI;if(b==1){return 1-o+m/2}var h=2;while(h<=(b-1)/2){m=m*h/(h-0.5);h=h+1}return 1-o+m}};if(typeof(GENETIFY_CONFIG)!="undefined"){for(var p in GENETIFY_CONFIG){genetify.utils.assert(p in genetify.config,"Invalid configuration variable "+p)}genetify.config=genetify.utils.update(genetify.config,GENETIFY_CONFIG);delete (GENETIFY_CONFIG)}genetifyTime.end.load=new Date().getTime();genetify.init();genetifyTime.end.init=new Date().getTime();
