<<set $monsterType = "death">>\s\n<<set $monster = "mutant">>\s\n<<display ARRIVAL>>
Cabin in the forest simulator. <br>\nClick the links to change the values. Click RUN to run!<br>\n\nJessie is <<cyclinglink $jessType "Rich" "Nerdy" "Athletic" "a Stoner" "Ditzy">>.\nJoey is <<cyclinglink $joeyType "Rich" "Nerdy" "Athletic" "a Stoner" "Ditzy">>.\nSam is <<cyclinglink $samType "Rich" "Nerdy" "Athletic" "a Stoner" "Ditzy">>.\nAlex is <<cyclinglink $alexType "Rich" "Nerdy" "Athletic" "a Stoner" "Ditzy">>.\n\n<<set $hook1 = "NONE">>\s\n[[RUN]]
<<set $monsterType = "ruin">>\s\n<<set $monster = "ghost">>\s\n<<display ARRIVAL>>
(function(){version.extensions.replaceMacrosCombined={major:1,minor:1,revision:0};\nvar nullobj={handler:function(){}};function showVer(n,notrans){n.innerHTML="";\nnew Wikifier(n,n.tweecode);n.setAttribute("data-enabled","true");\nn.style.display="inline";n.classList.remove("revision-span-out");\nif(!notrans){n.classList.add("revision-span-in");if(n.timeout){clearTimeout(n.timeout)\n}n.timeout=setTimeout(function(){n.classList.remove("revision-span-in");\nn=null},1)}}function hideVer(n,notrans){n.setAttribute("data-enabled","false");\nn.classList.remove("revision-span-in");if(n.timeout){clearTimeout(n.timeout)\n}if(!notrans){n.classList.add("revision-span-out");n.timeout=setTimeout(function(){if(n.getAttribute("data-enabled")=="false"){n.classList.remove("revision-span-out");\nn.style.display="none";n.innerHTML=""}n=null},1000)}else{n.style.display="none";\nn.innerHTML="";n=null}}function tagcontents(b,starttags,desttags,endtags,k){var l=0,c="",tg,a,i;\nfunction tagfound(i,e){for(var j=0;j<e.length;j++){if(a.indexOf("<<"+e[j],i)==i){return e[j]\n}}}a=b.source.slice(k);for(i=0;i<a.length;i++){if(tg=tagfound(i,starttags)){l++\n}else{if((tg=tagfound(i,desttags))&&l==0){b.nextMatch=k+i+tg.length+4;\nreturn[c,tg]}else{if(tg=tagfound(i,endtags)){l--;if(l<0){return null\n}}}}c+=a.charAt(i)}return null}var begintags=[];var endtags=[];\nfunction revisionSpanHandler(g,e,f,b){var k=b.source.indexOf(">>",b.matchStart)+2,vsns=[],vtype=e,flen=f.length,becomes,c,cn,m,h,vsn;\nfunction mkspan(vtype){h=insertElement(m,"span",null,"revision-span "+vtype);\nh.setAttribute("data-enabled",false);h.style.display="none";h.tweecode="";\nreturn h}if(this.shorthand&&flen){while(f.length>0){vsns.push([f.shift(),(this.flavour=="insert"?"gains":"becomes")])\n}}else{if(this.flavour=="insert"||(this.flavour=="continue"&&this.trigger=="time")){vsns.push(["","becomes"])\n}}if(this.flavour=="continue"&&flen){b.nextMatch=k+b.source.slice(k).length;\nvsns.push([b.source.slice(k),vtype])}else{becomes=["becomes","gains"];\nc=tagcontents(b,begintags,becomes.concat(endtags),endtags,k);\nif(c&&endtags.indexOf(c[1])==-1){while(c){vsns.push(c);c=tagcontents(b,begintags,becomes,endtags,b.nextMatch)\n}c=tagcontents(b,begintags,["end"+e],endtags,b.nextMatch)}if(!c){throwError(g,"can't find matching end"+e);\nreturn}vsns.push(c);if(this.flavour=="continue"){k=b.nextMatch;\nb.nextMatch=k+b.source.slice(k).length;vsns.push([b.source.slice(k),""])\n}}if(this.flavour=="remove"){vsns.push(["","becomes"])}cn=0;m=insertElement(g,"span",null,e);\nm.setAttribute("data-flavour",this.flavour);h=mkspan("initial");\nvsn=vsns.shift();h.tweecode=vsn[0];showVer(h,true);while(vsns.length>0){if(vsn){vtype=vsn[1]\n}vsn=vsns.shift();h=mkspan(vtype);h.tweecode=vsn[0]}if(typeof this.setup=="function"){this.setup(m,g,f)\n}}function quantity(m){return(m.children.length-1)+(m.getAttribute("data-flavour")=="remove")\n}function revisionSetup(m,g,f){m.className+=" "+f[0].replace(" ","_")\n}function keySetup(m,g,f){var fl=this.flavour,key=f[0];m.setEventListener("keydown",function l(e){var done=!revise("revise",m);\nif(done){m.removeEventListener("keydown",l)}})}function timeSetup(m,g,f){function cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return Number(s.slice(0,-2))||0\n}else{if(s.slice(-1).toLowerCase()=="s"){return Number(s.slice(0,-1))*1000||0\n}}}throwError(g,s+" isn't a CSS time unit");return 0}var fl=this.flavour;\nvar tm=cssTimeUnit(f[0]);setTimeout(function timefn(){var done=!revise("revise",m);\nif(!done){setTimeout(timefn,tm)}},tm)}function hoverSetup(m){m.onmouseover=function(){revise("revise",this)\n};m.onmouseout=function(){revise("revert",this)};m=null}function mouseSetup(m){var fl=this.flavour,evt=(window.onmouseenter===null?"onmouseenter":"onmouseover");\nm[evt]=function(){var done=!revise("revise",this);if(done){this[evt]=null\n}};m=null}function linkSetup(m,g,f){var fl=this.flavour,l=Wikifier.createInternalLink(),p=m.parentNode;\nl.className="internalLink replaceLink";p.insertBefore(l,m);l.insertBefore(m,null);\nl.onclick=function(){var p,done=false;if(m&&m.parentNode==this){done=!revise("revise",m);\nscrollWindowTo(m)}if(done){this.parentNode.insertBefore(m,this);\nthis.parentNode.removeChild(this)}};l=null}function visitedSetup(m,g,f){var i,done,shv=state.history[0].variables,os="once seen",d=(m.firstChild&&(this.flavour=="insert"?m.firstChild.nextSibling:m.firstChild).tweecode);\nshv[os]=shv[os]||{};if(d&&!shv[os].hasOwnProperty(d)){shv[os][d]=1\n}else{for(i=shv[os][d];i>0&&!done;i--){done=!revise("revise",m,true)\n}if(shv[os].hasOwnProperty(d)){shv[os][d]+=1}}}[{name:"insert",flavour:"insert",trigger:"link",setup:linkSetup},{name:"timedinsert",flavour:"insert",trigger:"time",setup:timeSetup},{name:"insertion",flavour:"insert",trigger:"revisemacro",setup:revisionSetup},{name:"later",flavour:"insert",trigger:"visited",setup:visitedSetup},{name:"keyinsert",flavour:"insert",trigger:"key",setup:keySetup},{name:"replace",flavour:"replace",trigger:"link",setup:linkSetup},{name:"timedreplace",flavour:"replace",trigger:"time",setup:timeSetup},{name:"mousereplace",flavour:"replace",trigger:"mouse",setup:mouseSetup},{name:"hoverreplace",flavour:"replace",trigger:"hover",setup:hoverSetup},{name:"revision",flavour:"replace",trigger:"revisemacro",setup:revisionSetup},{name:"keyreplace",flavour:"replace",trigger:"key",setup:keySetup},{name:"timedremove",flavour:"remove",trigger:"time",setup:timeSetup},{name:"mouseremove",flavour:"remove",trigger:"mouse",setup:mouseSetup},{name:"hoverremove",flavour:"remove",trigger:"hover",setup:hoverSetup},{name:"removal",flavour:"remove",trigger:"revisemacro",setup:revisionSetup},{name:"once",flavour:"remove",trigger:"visited",setup:visitedSetup},{name:"keyremove",flavour:"remove",trigger:"key",setup:keySetup},{name:"continue",flavour:"continue",trigger:"link",setup:linkSetup},{name:"timedcontinue",flavour:"continue",trigger:"time",setup:timeSetup},{name:"mousecontinue",flavour:"continue",trigger:"mouse",setup:mouseSetup},{name:"keycontinue",flavour:"continue",trigger:"key",setup:keySetup},{name:"cycle",flavour:"cycle",trigger:"revisemacro",setup:revisionSetup},{name:"mousecycle",flavour:"cycle",trigger:"mouse",setup:mouseSetup},{name:"timedcycle",flavour:"cycle",trigger:"time",setup:timeSetup},{name:"keycycle",flavour:"replace",trigger:"key",setup:keySetup}].forEach(function(e){e.handler=revisionSpanHandler;\ne.shorthand=(["link","mouse","hover"].indexOf(e.trigger)>-1);\nmacros[e.name]=e;macros["end"+e.name]=nullobj;begintags.push(e.name);\nendtags.push("end"+e.name)});function insideDepartingSpan(elem){var r=elem.parentNode;\nwhile(!r.classList.contains("passage")){if(r.classList.contains("revision-span-out")){return true\n}r=r.parentNode}}function reviseAll(rt,rname){var rall=document.querySelectorAll(".passage ."+rname),ret=false;\nfor(var i=0;i<rall.length;i++){if(!insideDepartingSpan(rall[i])){ret=revise(rt,rall[i])||ret\n}}return ret}function revise(rt,r,notrans){var ind2,curr,next,ind=-1,rev=(rt=="revert"),rnd=(rt.indexOf("random")>-1),fl=r.getAttribute("data-flavour"),rc=r.childNodes,cyc=(fl=="cycle"),rcl=rc.length-1;\nfunction doToGainerSpans(n,fn){for(var k=n-1;k>=0;k--){if(rc[k+1].classList.contains("gains")){fn(rc[k],notrans)\n}else{break}}}for(var k=0;k<=rcl;k++){if(rc[k].getAttribute("data-enabled")=="true"){ind=k\n}}if(rev){ind-=1}curr=(ind>=0?rc[ind]:(cyc?rc[rcl]:null));ind2=ind;\nif(rnd){ind2=(ind+(Math.floor(Math.random()*rcl)))%rcl}next=((ind2<rcl)?rc[ind2+1]:(cyc?rc[0]:null));\nvar docurr=(rev?showVer:hideVer);var donext=(rev?hideVer:showVer);\nvar currfn=function(){if(!(next&&next.classList.contains("gains"))||rnd){docurr(curr,notrans);\ndoToGainerSpans(ind,docurr,notrans)}};var nextfn=function(){donext(next,notrans);\nif(rnd){doToGainerSpans(ind2+1,donext,notrans)}};if(!rev){currfn();\nnextfn()}else{nextfn();currfn()}return(cyc?true:(rev?(ind>0):(ind2<rcl-1)))\n}macros.revert=macros.revise=macros.randomise=macros.randomize={handler:function(a,b,c){var l,rev,rname;\nfunction disableLink(l){l.style.display="none"}function enableLink(l){l.style.display="inline"\n}function updateLink(l){if(l.className.indexOf("random")>-1){enableLink(l);\nreturn}var rall=document.querySelectorAll(".passage ."+rname),cannext,canprev,i,ind,r,fl;\nfor(i=0;i<rall.length;i++){r=rall[i],fl=r.getAttribute("data-flavour");\nif(insideDepartingSpan(r)){continue}if(fl=="cycle"){cannext=canprev=true\n}else{if(r.firstChild.getAttribute("data-enabled")==!1+""){canprev=true\n}if(r.lastChild.getAttribute("data-enabled")==!1+""){cannext=true\n}}}var can=(l.classList.contains("revert")?canprev:cannext);(can?enableLink:disableLink)(l)\n}function toggleText(w){w.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none")}var rl="reviseLink";\nif(c.length<2){throwError(a,b+" macro needs 2 parameters");return\n}rname=c.shift().replace(" ","_");l=Wikifier.createInternalLink(a,null);\nl.className="internalLink "+rl+" "+rl+"_"+rname+" "+b;var v="";\nvar end=false;var out=false;if(c.length>1&&c[0][0]=="$"){v=c[0].slice(1);\nc.shift()}switch(c[c.length-1]){case"end":end=true;c.pop();break;\ncase"out":out=true;c.pop();break}var h=state.history[0].variables;\nfor(var i=0;i<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));\nvar d=insertElement(null,"span",null,rl+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[i];l.setAttribute("data-cycle",i)}else{d.style.display="none"\n}insertText(d,c[i]);l.appendChild(d)}l.onclick=function(){reviseAll(b,rname);\nvar t=this.childNodes,u=this.getAttribute("data-cycle")-0,m=t.length,n,lall,i;\nif((end||out)&&u==m-(end?2:1)){if(end){n=this.removeChild(t[u+1]);\nn.className=rl+"End";n.style.display="inline";this.parentNode.replaceChild(n,this)\n}else{this.parentNode.removeChild(this);return}}else{toggleText(t[u]);\nu=(u+1)%m;if(v){h[v]=c[u]}toggleText(t[u]);this.setAttribute("data-cycle",u)\n}lall=document.getElementsByClassName(rl+"_"+rname);for(i=0;i<lall.length;\ni++){updateLink(lall[i])}};disableLink(l);setTimeout(function(){updateLink(l);\nl=null},1)}};macros.mouserevise=macros.hoverrevise={handler:function(a,b,c,d){var endtags=["end"+b],evt=(window.onmouseenter===null?"onmouseenter":"onmouseover"),t=tagcontents(d,[b],endtags,endtags,d.source.indexOf(">>",d.matchStart)+2);\nif(t){var rname=c[0].replace(" ","_"),h=insertElement(a,"span",null,"hoverrevise hoverrevise_"+rname),f=function(){var done=!reviseAll("revise",rname);\nif(b!="hoverrevise"&&done){this[evt]=null}};new Wikifier(h,t[0]);\nif(b=="hoverrevise"){h.onmouseover=f;h.onmouseout=function(){reviseAll("revert",rname)\n}}else{h[evt]=f}h=null}}};macros.instantrevise={handler:function(a,b,c,d){reviseAll("revise",c[0].replace(" ","_"))\n}};macros.endmouserevise=nullobj;macros.endhoverrevise=nullobj\n}());
Everyone piles into \s\n<<if $jessType eq "Rich">>\s\nJessie\s\n<<else if $joeyType eq "Rich">>\s\nJoey\s\n<<else if $samType eq "Rich">>\s\nSam\s\n<<else>>\s\nAlex\s\n<<endif>>\s\n's SUV and head towards the cabin.\n\nA crazy old man at a gas station warns the teens.\n\nWhat did he warn them about?\n[[Doom]]\n[[Death]]\n[[Ruin]]\n[[Judgement]]
<<display actualStart>>
<<if $alive.length eq 2 or $alive.length eq 3 or $alive.length eq 4>>\s\n <<if Math.floor(Math.random()*100) lt 70>>\s\n <<set $found = (Math.floor(Math.random() * ($alive.length-1))) >>\s\n <<set $hook1 = $alive[$found]>>\s\n <<set $hook2 = $alive[$found+1]>>\s\n <<endif>>\n <<endif>>
version.extensions.ifMacros={major:2,minor:0,revision:0};macros["if"]={handler:function(place,macroName,params,parser){\nvar conditions=[],clauses=[],srcOffset=parser.source.indexOf(">>",parser.matchStart)+2,src=parser.source.slice(srcOffset),endPos=-1,currentCond=parser.fullArgs(),currentClause="",t=0,nesting=0;\nfor(var i=0;i<src.length;i++){if(src.substr(i,9)=="<<endif>>"){nesting--;if(nesting<0){endPos=srcOffset+i+9;\nconditions.push(currentCond);clauses.push(currentClause);break;}}if((src.substr(i,6)=="<<else")&&nesting==0){conditions.push(currentCond);\nclauses.push(currentClause);currentClause="";t=src.indexOf(">>",i+6);if(src.substr(i+6,4)==" if "){currentCond=Wikifier.parse(src.slice(i+10,t));\n}else{currentCond="true";}i=t+2;}if(src.substr(i,5)=="<<if "){nesting++;}currentClause+=src.charAt(i);\n}try{if(endPos!=-1){parser.nextMatch=endPos;for(i=0;i<clauses.length;i++){if(eval(conditions.shift())){new Wikifier(place,clauses[i ].trim());\nbreak;}}}else{throwError(place,"can't find matching endif");}}catch(e){throwError(place,"bad condition: "+e.message);\n}}};
The cabin is in the dead center of the forest. It is isolated and far from civilization.\n<<if $ditzy.length gte 1>>\s\n<<print $ditzy>> is are worried about the <<print $monsterType>>\n<<endif>>\n<<if $nerdy.length eq 4>>\nEveryone starts making text based adventuer games.\n<<else if $nerdy.length gte 1>>\s\nEveryone starts drinking except for <<print $nerdy>>\n<<endif>>\s\n\n[[NIGHT]]
<<if Math.floor(Math.random()*100) lt 30>>\n <<if $alive.length eq 1 or $alive.length eq 2 or $alive.length eq 3 or $alive.length eq 4>>\s\n <<set $found = (Math.floor(Math.random() * $alive.length)); >>\n <<print $alive[$found] >> tries to fight <<print $monster>>\n <<if Math.floor(Math.random()*100) lt 10>>\n <<print $alive[$found] >> kills the <<print $monster>>\n [[END]]\n <<else>>\n <<set $beingAttacked = $alive[$found]>>\s\n <<display attack>>\n <<endif>> \n <<endif>>\n<<endif>>
<<set $monsterType = "judgement">>\s\n<<set $monster = "serial killer">>\s\n<<display ARRIVAL>>
<<if Math.floor(Math.random()*100) lt 45>>\n <<print $beingAttacked>> was killed by the <<print $monster>>!!!\n <<set $dead.unshift($beingAttacked); >>\n <<set $alive.splice($alive.indexOf($beingAttacked),1)>>\n<<else>>\n <<print $beingAttacked>> gets away from the <<print $monster>>!!!\n<<endif>>
Cabin in the Forest Sim
<<set $monsterType = "doom">>\s\n<<set $monster = "zombie">>\s\n<<display ARRIVAL>>
WHO SURVIVED: <<print $alive>>\nWHO DIED: <<print $dead>>\nWHO HOOKED UP: <<print $sex>>\nDEAD BODIES FOUND : <<print $deadBodies>>
Still alive <<print $alive>>\n<<if $dead.length eq 4>>\n[[END]]\n<<else if $dead.length eq 3>>\n<<print $alive[0] >> runs out of the woods!\n[[END]]\n<<else>>\n<<once>>Everyone starts to party<<endonce>>\n<<display gonnahookup>>\n<<display hookup>>\n<<display findBody>>\n<<display fightMonster>>\n\n\n[[NEXT STEP |NIGHT]]\n<<endif>>
<<if Math.floor(Math.random()*100) lt 70>>\n<<set $found = $alive[(Math.floor(Math.random() * $alive.length))]; >>\n<<print $found >> finds a dead body \n<<set $deadBodies++>>\n<<endif>>\n\n<<endif>>
(function(){\nvar bs = String.fromCharCode(92);\nWikifier.formatters.unshift({\n name: "continuedLine",\n match: bs+bs+"s",\n handler: function(a) {\n a.nextMatch = a.matchStart+3;\n }\n});\n}());
<<set $rich = []; $nerdy = [] ; $athletic = []; $stoner = []; $ditzy = []; $dead = []; $alive = [ " Jessie", " Joey", " Sam", "Alex"]; $deadBodies = 0; $sex = [];>>\s\n<<if $jessType eq "Rich">>\s\n<<set $rich.push(" Jessie"); >>\s\n<<else if $jessType eq "Nerdy">>\s\n<<set $nerdy.push(" Jessie"); >>\s\n<<else if $jessType eq "Athletic">>\s\n<<set $athletic.push(" Jessie"); >>\s\n<<else if $jessType eq "a Stoner">>\s\n<<set $stoner.push(" Jessie"); >>\s\n<<else>>\s\n<<set $ditzy.push(" Jessie"); >>\s\n<<endif>>\s\n\n<<if $joeyType eq "Rich">>\s\n<<set $rich.push(" Joey"); >>\s\n<<else if $joeyType eq "Nerdy">>\s\n<<set $nerdy.push(" Joey"); >>\s\n<<else if $joeyType eq "Athletic">>\s\n<<set $athletic.push(" Joey"); >>\s\n<<else if $joeyType eq "a Stoner">>\s\n<<set $stoner.push(" Joey"); >>\s\n<<else>>\s\n<<set $ditzy.push(" Joey"); >>\s\n<<endif>>\s\n\n<<if $samType eq "Rich">>\s\n<<set $rich.push(" Sam"); >>\s\n<<else if $samType eq "Nerdy">>\s\n<<set $nerdy.push(" Sam"); >>\s\n<<else if $samType eq "Athletic">>\s\n<<set $athletic.push(" Sam"); >>\s\n<<else if $samType eq "a Stoner">>\s\n<<set $stoner.push(" Sam"); >>\s\n<<else>>\s\n<<set $ditzy.push(" Sam"); >>\s\n<<endif>>\s\n\n<<if $alexType eq "Rich">>\s\n<<set $rich.push(" Alex"); >>\s\n<<else if $alexType eq "Nerdy">>\s\n<<set $nerdy.push(" Alex"); >>\s\n<<else if $alexType eq "Athletic">>\s\n<<set $athletic.push(" Alex"); >>\s\n<<else if $alexType eq "a Stoner">>\s\n<<set $stoner.push(" Alex"); >>\s\n<<else>>\s\n<<set $ditzy.push(" Alex"); >>\s\n<<endif>>\s\n\n\nThe Rich Kids : <<print $rich>>\nThe Nerdy Kids: <<print $nerdy>>\nThe Athletic Kids: <<print $athletic>>\nThe Stoner Kids: <<print $stoner>>\nThe Ditzy Kids: <<print $ditzy>>\n\n<<if $jessType eq "Rich">>\s\nJessie \n<<else if $joeyType eq "Rich">>\s\nJoey \n<<else if $samType eq "Rich">>\s\nSam \n<<else>>\s\nAlex \n<<endif>>\s\n suggest that they stay in their familys cabin in the forest this long weekend.\n\n<<if $athletic.length neq 0>>\s\n<<print $athletic[0]>> gets a lot of beer!\n<<set $beer = $athletic[0]>>\s\n<<else>>\s\nJessie gets a lot of beer!\n<<set $beer = " Jessie">>\s\n<<endif>>\s\n\n\n<<if $stoner.length neq 0>>\s\n<<print $stoner[0]>> gets a lot of weed!\n<<set $weed = $stoner[0]>>\s\n<<endif>>\s\n\n\n\n<<if $ditzy.length gte 2>>\s\nEveryone knows <<print $ditzy[0]>> and <<print $ditzy[1]>> are going to hook up this weekend.\n<<set $hook1 = $ditzy[0]; $hook2 = $ditzy[1]>>\s\n<<else if $ditzy.length gte 1 and $athletic.length gte 1>>\s\nEveryone knows <<print $ditzy[0]>> and <<print $athletic[0]>> are going to hook up this weekend.\n<<set $hook1 = $ditzy[0]; $hook2 = $athletic[0]>>\s\n<<endif>>\s\n<<if $stoner.length eq 4>>\s\nDude.... Everyone just stays home and gets stoned.\n[[END]]\n<<else>>\n[[DRIVE]]\n<<endif>>
<<if $hook1 neq "NONE">>\n <<print $hook1>> and <<print $hook2>> sneak off into the woods\n <<set $sex.push($hook1 + " and " + $hook2 + ",")>>\n <<if Math.floor(Math.random()*100) lt 70>>\n <<print $hook1>> and <<print $hook2>> are attacked by the <<print $monster>>!!!\n <<set $beingAttacked = $hook1>>\s\n <<display attack>>\n <<if $dead[0] neq $hook1>>\s\n <<set $beingAttacked = $hook2>>\s\n <<display attack>> \n <<endif>>\n <<endif>>\n <<set $hook1 = "NONE">>\n<<endif>>
version.extensions.cyclinglinkMacro={major:3,minor:3,revision:0};\nmacros.cyclinglink={handler:function(a,b,c){var rl="cyclingLink";\nfunction toggleText(w){w.classList.remove("cyclingLinkInit");\nw.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none")}switch(c[c.length-1]){case"end":var end=true;\nc.pop();break;case"out":var out=true;c.pop();break}var v="";if(c.length&&c[0][0]=="$"){v=c[0].slice(1);\nc.shift()}var h=state.history[0].variables;if(out&&h[v]===""){return\n}var l=Wikifier.createInternalLink(a,null);l.className="internalLink cyclingLink";\nl.setAttribute("data-cycle",0);for(var i=0;i<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));\nvar d=insertElement(null,"span",null,"cyclingLinkInit cyclingLink"+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[i];l.setAttribute("data-cycle",i)}else{d.style.display="none"\n}insertText(d,c[i]);if(on&&end&&i==c.length-1){l.parentNode.replaceChild(d,l)\n}else{l.appendChild(d)}}l.onclick=function(){var t=this.childNodes;\nvar u=this.getAttribute("data-cycle")-0;var m=t.length;toggleText(t[u]);\nu=(u+1);if(!(out&&u==m)){u%=m;if(v){h[v]=c[u]}}else{h[v]=""}if((end||out)&&u==m-(end?1:0)){if(end){var n=this.removeChild(t[u]);\nn.className=rl+"End";n.style.display="inline";this.parentNode.replaceChild(n,this)\n}else{this.parentNode.removeChild(this);return}return}toggleText(t[u]);\nthis.setAttribute("data-cycle",u)}}};
Murph
.revision-span-in {\n opacity: 0;\n}\n.revision-span:not(.revision-span-out) {\n transition: 1s; -webkit-transition: 1s;\n}\n.revision-span-out {\n position:absolute;\n opacity: 0;\n}