(function(e){"use strict";var t=t||function(){var e={};return{add:function(t,n){if(typeof t=="object"){var r;for(r=0;r>>0;if(typeof e!="function"){throw new TypeError}var r=[],i=arguments[1];for(var s=0;s-1){t=n=f}else{t=-a.moveStart("character",-f);t+=i.slice(0,t).split(s).length-1;if(a.compareEndPoints("EndToEnd",l)>-1){n=f}else{n=-a.moveEnd("character",-f);n+=i.slice(0,n).split(s).length-1}}}}return t==n?false:{start:t,end:n}}},editor:{getLines:function(e){return e.split("\n").length},get:function(){return r.textarea.value.replace(/\r/g,"")},set:function(e){r.textarea.value=e}},fenceRange:function(){if(typeof r.fence=="string"){var e=u.editor.get(),t=u.cursor.get(),n=0,i=e.indexOf(r.fence),s=0;while(i>=0){s++;if(tt&&s%2===0){return true}return false}else{return true}},isEven:function(e,t){return t%2},levelsDeep:function(){var e=u.cursor.get(),t=u.editor.get();var n=t.substring(0,e),r=0,i,s;for(i=0;i=0?l:0},deepExtend:function(e,t){for(var n in t){if(t[n]&&t[n].constructor&&t[n].constructor===Object){e[n]=e[n]||{};u.deepExtend(e[n],t[n])}else{e[n]=t[n]}}return e},addEvent:function(t,n,r){if(t.addEventListener){t.addEventListener(n,r,false)}else if(t.attachEvent){t.attachEvent("on"+n,r)}},removeEvent:function(t,n,r){if(t.addEventListener){t.removeEventListener(n,r,false)}else if(t.attachEvent){t.detachEvent("on"+n,r)}},preventDefaultEvent:function(e){if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}}},a={tabKey:function(e){if(!u.fenceRange()){return}if(e.keyCode==9){u.preventDefaultEvent(e);var t=true;u._callHook("tab:before");var n=u.cursor.selection(),r=u.cursor.get(),s=u.editor.get();if(n){var o=n.start;while(o--){if(s.charAt(o)=="\n"){n.start=o+1;break}}var a=s.substring(n.start,n.end),f=a.split("\n"),l;if(e.shiftKey){for(l=0;l