Merge lp:~mburtscher/chive/ace-editor into lp:chive/0.1

Proposed by Matthias Burtscher
Status: Merged
Merge reported by: David Roth
Merged at revision: not available
Proposed branch: lp:~mburtscher/chive/ace-editor
Merge into: lp:chive/0.1
Diff against target: 5735 lines (+354/-4968)
56 files modified
js/ace/ace.js (+10/-0)
js/ace/mode-sql.js (+1/-0)
js/ace/theme-chive-uncompressed.js (+213/-0)
js/chive.js (+55/-1)
js/components/EditArea/edit_area_full.js (+0/-1235)
js/components/EditArea/fusonic_extensions/editarea.js (+0/-165)
js/components/EditArea/langs/bg.js (+0/-54)
js/components/EditArea/langs/cs.js (+0/-48)
js/components/EditArea/langs/de.js (+0/-48)
js/components/EditArea/langs/dk.js (+0/-48)
js/components/EditArea/langs/en.js (+0/-48)
js/components/EditArea/langs/eo.js (+0/-48)
js/components/EditArea/langs/es.js (+0/-48)
js/components/EditArea/langs/fi.js (+0/-48)
js/components/EditArea/langs/fr.js (+0/-48)
js/components/EditArea/langs/hr.js (+0/-48)
js/components/EditArea/langs/it.js (+0/-48)
js/components/EditArea/langs/ja.js (+0/-48)
js/components/EditArea/langs/mk.js (+0/-48)
js/components/EditArea/langs/nl.js (+0/-48)
js/components/EditArea/langs/pl.js (+0/-48)
js/components/EditArea/langs/pt.js (+0/-48)
js/components/EditArea/langs/ru.js (+0/-48)
js/components/EditArea/langs/sk.js (+0/-48)
js/components/EditArea/langs/zh.js (+0/-48)
js/components/EditArea/license_apache.txt (+0/-7)
js/components/EditArea/license_bsd.txt (+0/-10)
js/components/EditArea/license_lgpl.txt (+0/-458)
js/components/EditArea/reg_syntax/basic.js (+0/-70)
js/components/EditArea/reg_syntax/brainfuck.js (+0/-45)
js/components/EditArea/reg_syntax/c.js (+0/-63)
js/components/EditArea/reg_syntax/coldfusion.js (+0/-120)
js/components/EditArea/reg_syntax/cpp.js (+0/-66)
js/components/EditArea/reg_syntax/css.js (+0/-85)
js/components/EditArea/reg_syntax/html.js (+0/-51)
js/components/EditArea/reg_syntax/java.js (+0/-57)
js/components/EditArea/reg_syntax/js.js (+0/-94)
js/components/EditArea/reg_syntax/pas.js (+0/-83)
js/components/EditArea/reg_syntax/perl.js (+0/-88)
js/components/EditArea/reg_syntax/php.js (+0/-157)
js/components/EditArea/reg_syntax/python.js (+0/-145)
js/components/EditArea/reg_syntax/robotstxt.js (+0/-25)
js/components/EditArea/reg_syntax/ruby.js (+0/-68)
js/components/EditArea/reg_syntax/sql.js (+0/-56)
js/components/EditArea/reg_syntax/tsql.js (+0/-88)
js/components/EditArea/reg_syntax/vb.js (+0/-53)
js/components/EditArea/reg_syntax/xml.js (+0/-57)
js/views/global/browse.js (+10/-3)
protected/components/AceEditor.php (+32/-0)
protected/components/EditArea.php (+0/-76)
protected/components/SqlEditor.php (+0/-55)
protected/views/global/browse.php (+2/-13)
protected/views/information/about.php (+4/-4)
protected/views/layouts/schema.php (+4/-3)
themes/standard/css/component.css (+23/-4)
themes/standard/css/edit_area.css (+0/-545)
To merge this branch: bzr merge lp:~mburtscher/chive/ace-editor
Reviewer Review Type Date Requested Status
David Roth Approve
Review via email: mp+100822@code.launchpad.net

Description of the change

Removed EditArea, added Ace Editor
Added chive theme to look nearly the same as before

To post a comment you must log in.
Revision history for this message
David Roth (davrot) wrote :

nice :)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'js/ace'
2=== added file 'js/ace/ace.js'
3--- js/ace/ace.js 1970-01-01 00:00:00 +0000
4+++ js/ace/ace.js 2012-04-04 16:15:27 +0000
5@@ -0,0 +1,10 @@
6+(function(){function g(a){if(typeof requirejs!="undefined"){var e=b.define;b.define=function(a,b,c){return typeof c!="function"?e.apply(this,arguments):e(a,b,function(a,d,e){return b[2]=="module"&&(e.packaged=!0),c.apply(this,arguments)})},b.define.packaged=!0;return}var f=function(a,b){return d("",a,b)};f.packaged=!0;var g=b;a&&(b[a]||(b[a]={}),g=b[a]),g.define&&(c.original=g.define),g.define=c,g.require&&(d.original=g.require),g.require=f}var a="",b=function(){return this}(),c=function(a,b,d){if(typeof a!="string"){c.original?c.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(d=b),c.modules||(c.modules={}),c.modules[a]=d},d=function(a,b,c){if(Object.prototype.toString.call(b)==="[object Array]"){var e=[];for(var g=0,h=b.length;g<h;++g){var i=f(a,b[g]);if(!i&&d.original)return d.original.apply(window,arguments);e.push(i)}c&&c.apply(null,e)}else{if(typeof b=="string"){var j=f(a,b);return!j&&d.original?d.original.apply(window,arguments):(c&&c(),j)}if(d.original)return d.original.apply(window,arguments)}},e=function(a,b){if(b.indexOf("!")!==-1){var c=b.split("!");return e(a,c[0])+"!"+e(a,c[1])}if(b.charAt(0)=="."){var d=a.split("/").slice(0,-1).join("/");b=d+"/"+b;while(b.indexOf(".")!==-1&&f!=b){var f=b;b=b.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return b},f=function(a,b){b=e(a,b);var f=c.modules[b];if(!f)return null;if(typeof f=="function"){var g={},h={id:b,uri:"",exports:g,packaged:!0},i=function(a,c){return d(b,a,c)},j=f(i,g,h);return g=j||h.exports,c.modules[b]=g,g}return f};g(a)})(),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/theme/textmate"],function(a,b,c){"use strict",a("./lib/fixoldbrowsers");var d=a("./lib/dom"),e=a("./lib/event"),f=a("./editor").Editor,g=a("./edit_session").EditSession,h=a("./undomanager").UndoManager,i=a("./virtual_renderer").VirtualRenderer;a("./worker/worker_client"),b.edit=function(b){typeof b=="string"&&(b=document.getElementById(b));var c=new g(d.getInnerText(b));c.setUndoManager(new h),b.innerHTML="";var j=new f(new i(b,a("./theme/textmate")));j.setSession(c);var k={};return k.document=c,k.editor=j,j.resize(),e.addListener(window,"resize",function(){j.resize()}),b.env=k,j.env=k,j}}),define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(a,b,c){"use strict",a("./regexp"),a("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(a,b,c){function g(a){return(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.extended?"x":"")+(a.sticky?"y":"")}function h(a,b,c){if(Array.prototype.indexOf)return a.indexOf(b,c);for(var d=c||0;d<a.length;d++)if(a[d]===b)return d;return-1}"use strict";var d={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},e=d.exec.call(/()??/,"")[1]===undefined,f=function(){var a=/^/g;return d.test.call(a,""),!a.lastIndex}();RegExp.prototype.exec=function(a){var b=d.exec.apply(this,arguments),c,i;if(typeof a=="string"&&b){!e&&b.length>1&&h(b,"")>-1&&(i=RegExp(this.source,d.replace.call(g(this),"g","")),d.replace.call(a.slice(b.index),i,function(){for(var a=1;a<arguments.length-2;a++)arguments[a]===undefined&&(b[a]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var j=1;j<b.length;j++)c=this._xregexp.captureNames[j-1],c&&(b[c]=b[j]);!f&&this.global&&!b[0].length&&this.lastIndex>b.index&&this.lastIndex--}return b},f||(RegExp.prototype.test=function(a){var b=d.exec.call(this,a);return b&&this.global&&!b[0].length&&this.lastIndex>b.index&&this.lastIndex--,!!b})}),define("ace/lib/es5-shim",["require","exports","module"],function(a,b,c){function p(a){try{return Object.defineProperty(a,"sentinel",{}),"sentinel"in a}catch(b){}}Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=g.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,h=c.apply(f,d.concat(g.call(arguments)));return h!==null&&Object(h)===h?h:f}return c.apply(b,d.concat(g.call(arguments)))};return e});var d=Function.prototype.call,e=Array.prototype,f=Object.prototype,g=e.slice,h=d.bind(f.toString),i=d.bind(f.hasOwnProperty),j,k,l,m,n;if(n=i(f,"__defineGetter__"))j=d.bind(f.__defineGetter__),k=d.bind(f.__defineSetter__),l=d.bind(f.__lookupGetter__),m=d.bind(f.__lookupSetter__);Array.isArray||(Array.isArray=function(b){return h(b)=="[object Array]"}),Array.prototype.forEach||(Array.prototype.forEach=function(b){var c=G(this),d=arguments[1],e=0,f=c.length>>>0;if(h(b)!="[object Function]")throw new TypeError;while(e<f)e in c&&b.call(d,c[e],e,c),e++}),Array.prototype.map||(Array.prototype.map=function(b){var c=G(this),d=c.length>>>0,e=Array(d),f=arguments[1];if(h(b)!="[object Function]")throw new TypeError;for(var g=0;g<d;g++)g in c&&(e[g]=b.call(f,c[g],g,c));return e}),Array.prototype.filter||(Array.prototype.filter=function(b){var c=G(this),d=c.length>>>0,e=[],f=arguments[1];if(h(b)!="[object Function]")throw new TypeError;for(var g=0;g<d;g++)g in c&&b.call(f,c[g],g,c)&&e.push(c[g]);return e}),Array.prototype.every||(Array.prototype.every=function(b){var c=G(this),d=c.length>>>0,e=arguments[1];if(h(b)!="[object Function]")throw new TypeError;for(var f=0;f<d;f++)if(f in c&&!b.call(e,c[f],f,c))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(b){var c=G(this),d=c.length>>>0,e=arguments[1];if(h(b)!="[object Function]")throw new TypeError;for(var f=0;f<d;f++)if(f in c&&b.call(e,c[f],f,c))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(b){var c=G(this),d=c.length>>>0;if(h(b)!="[object Function]")throw new TypeError;if(!d&&arguments.length==1)throw new TypeError;var e=0,f;if(arguments.length>=2)f=arguments[1];else do{if(e in c){f=c[e++];break}if(++e>=d)throw new TypeError}while(!0);for(;e<d;e++)e in c&&(f=b.call(void 0,f,c[e],e,c));return f}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(b){var c=G(this),d=c.length>>>0;if(h(b)!="[object Function]")throw new TypeError;if(!d&&arguments.length==1)throw new TypeError;var e,f=d-1;if(arguments.length>=2)e=arguments[1];else do{if(f in c){e=c[f--];break}if(--f<0)throw new TypeError}while(!0);do f in this&&(e=b.call(void 0,e,c[f],f,c));while(f--);return e}),Array.prototype.indexOf||(Array.prototype.indexOf=function(b){var c=G(this),d=c.length>>>0;if(!d)return-1;var e=0;arguments.length>1&&(e=E(arguments[1])),e=e>=0?e:Math.max(0,d+e);for(;e<d;e++)if(e in c&&c[e]===b)return e;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(b){var c=G(this),d=c.length>>>0;if(!d)return-1;var e=d-1;arguments.length>1&&(e=Math.min(e,E(arguments[1]))),e=e>=0?e:d-Math.abs(e);for(;e>=0;e--)if(e in c&&b===c[e])return e;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(b){return b.__proto__||(b.constructor?b.constructor.prototype:f)});if(!Object.getOwnPropertyDescriptor){var o="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(b,c){if(typeof b!="object"&&typeof b!="function"||b===null)throw new TypeError(o+b);if(!i(b,c))return;var d,e,g;d={enumerable:!0,configurable:!0};if(n){var h=b.__proto__;b.__proto__=f;var e=l(b,c),g=m(b,c);b.__proto__=h;if(e||g)return e&&(d.get=e),g&&(d.set=g),d}return d.value=b[c],d}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(b){return Object.keys(b)}),Object.create||(Object.create=function(b,c){var d;if(b===null)d={__proto__:null};else{if(typeof b!="object")throw new TypeError("typeof prototype["+typeof b+"] != 'object'");var e=function(){};e.prototype=b,d=new e,d.__proto__=b}return c!==void 0&&Object.defineProperties(d,c),d});if(Object.defineProperty){var q=p({}),r=typeof document=="undefined"||p(document.createElement("div"));if(!q||!r)var s=Object.defineProperty}if(!Object.defineProperty||s){var t="Property description must be an object: ",u="Object.defineProperty called on non-object: ",v="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(b,c,d){if(typeof b!="object"&&typeof b!="function"||b===null)throw new TypeError(u+b);if(typeof d!="object"&&typeof d!="function"||d===null)throw new TypeError(t+d);if(s)try{return s.call(Object,b,c,d)}catch(e){}if(i(d,"value"))if(n&&(l(b,c)||m(b,c))){var g=b.__proto__;b.__proto__=f,delete b[c],b[c]=d.value,b.__proto__=g}else b[c]=d.value;else{if(!n)throw new TypeError(v);i(d,"get")&&j(b,c,d.get),i(d,"set")&&k(b,c,d.set)}return b}}Object.defineProperties||(Object.defineProperties=function(b,c){for(var d in c)i(c,d)&&Object.defineProperty(b,d,c[d]);return b}),Object.seal||(Object.seal=function(b){return b}),Object.freeze||(Object.freeze=function(b){return b});try{Object.freeze(function(){})}catch(w){Object.freeze=function(b){return function(c){return typeof c=="function"?c:b(c)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(b){return b}),Object.isSealed||(Object.isSealed=function(b){return!1}),Object.isFrozen||(Object.isFrozen=function(b){return!1}),Object.isExtensible||(Object.isExtensible=function(b){if(Object(b)===b)throw new TypeError;var c="";while(i(b,c))c+="?";b[c]=!0;var d=i(b,c);return delete b[c],d});if(!Object.keys){var x=!0,y=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],z=y.length;for(var A in{toString:null})x=!1;Object.keys=function H(a){if(typeof a!="object"&&typeof a!="function"||a===null)throw new TypeError("Object.keys called on a non-object");var H=[];for(var b in a)i(a,b)&&H.push(b);if(x)for(var c=0,d=z;c<d;c++){var e=y[c];i(a,e)&&H.push(e)}return H}}if(!Date.prototype.toISOString||(new Date(-621987552e5)).toISOString().indexOf("-000001")===-1)Date.prototype.toISOString=function(){var b,c,d,e;if(!isFinite(this))throw new RangeError;b=[this.getUTCMonth()+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()],e=this.getUTCFullYear(),e=(e<0?"-":e>9999?"+":"")+("00000"+Math.abs(e)).slice(0<=e&&e<=9999?-4:-6),c=b.length;while(c--)d=b[c],d<10&&(b[c]="0"+d);return e+"-"+b.slice(0,2).join("-")+"T"+b.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"};Date.now||(Date.now=function(){return(new Date).getTime()}),Date.prototype.toJSON||(Date.prototype.toJSON=function(b){if(typeof this.toISOString!="function")throw new TypeError;return this.toISOString()}),Date.parse("+275760-09-13T00:00:00.000Z")!==864e13&&(Date=function(a){var b=function e(b,c,d,f,g,h,i){var j=arguments.length;if(this instanceof a){var k=j==1&&String(b)===b?new a(e.parse(b)):j>=7?new a(b,c,d,f,g,h,i):j>=6?new a(b,c,d,f,g,h):j>=5?new a(b,c,d,f,g):j>=4?new a(b,c,d,f):j>=3?new a(b,c,d):j>=2?new a(b,c):j>=1?new a(b):new a;return k.constructor=e,k}return a.apply(this,arguments)},c=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$");for(var d in a)b[d]=a[d];return b.now=a.now,b.UTC=a.UTC,b.prototype=a.prototype,b.prototype.constructor=b,b.parse=function(d){var e=c.exec(d);if(e){e.shift();for(var f=1;f<7;f++)e[f]=+(e[f]||(f<3?1:0)),f==1&&e[f]--;var g=+e.pop(),h=+e.pop(),i=e.pop(),j=0;if(i){if(h>23||g>59)return NaN;j=(h*60+g)*6e4*(i=="+"?-1:1)}var k=+e[0];return 0<=k&&k<=99?(e[0]=k+400,a.UTC.apply(this,e)+j-126227808e5):a.UTC.apply(this,e)+j}return a.parse.apply(this,arguments)},b}(Date));var B="\t\n
7\f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||B.trim()){B="["+B+"]";var C=new RegExp("^"+B+B+"*"),D=new RegExp(B+B+"*$");String.prototype.trim=function(){return String(this).replace(C,"").replace(D,"")}}var E=function(a){return a=+a,a!==a?a=0:a!==0&&a!==1/0&&a!==-Infinity&&(a=(a>0||-1)*Math.floor(Math.abs(a))),a},F="a"[0]!="a",G=function(a){if(a==null)throw new TypeError;return F&&typeof a=="string"&&a?a.split(""):Object(a)}}),define("ace/lib/dom",["require","exports","module"],function(a,b,c){"use strict";var d="http://www.w3.org/1999/xhtml";b.createElement=function(a,b){return document.createElementNS?document.createElementNS(b||d,a):document.createElement(a)},b.setText=function(a,b){a.innerText!==undefined&&(a.innerText=b),a.textContent!==undefined&&(a.textContent=b)},b.hasCssClass=function(a,b){var c=a.className.split(/\s+/g);return c.indexOf(b)!==-1},b.addCssClass=function(a,c){b.hasCssClass(a,c)||(a.className+=" "+c)},b.removeCssClass=function(a,b){var c=a.className.split(/\s+/g);for(;;){var d=c.indexOf(b);if(d==-1)break;c.splice(d,1)}a.className=c.join(" ")},b.toggleCssClass=function(a,b){var c=a.className.split(/\s+/g),d=!0;for(;;){var e=c.indexOf(b);if(e==-1)break;d=!1,c.splice(e,1)}return d&&c.push(b),a.className=c.join(" "),d},b.setCssClass=function(a,c,d){d?b.addCssClass(a,c):b.removeCssClass(a,c)},b.hasCssString=function(a,b){var c=0,d;b=b||document;if(b.createStyleSheet&&(d=b.styleSheets)){while(c<d.length)if(d[c++].owningElement.id===a)return!0}else if(d=b.getElementsByTagName("style"))while(c<d.length)if(d[c++].id===a)return!0;return!1},b.importCssString=function(c,e,f){f=f||document;if(e&&b.hasCssString(e,f))return null;var g;if(f.createStyleSheet)g=f.createStyleSheet(),g.cssText=c,e&&(g.owningElement.id=e);else{g=f.createElementNS?f.createElementNS(d,"style"):f.createElement("style"),g.appendChild(f.createTextNode(c)),e&&(g.id=e);var h=f.getElementsByTagName("head")[0]||f.documentElement;h.appendChild(g)}},b.importCssStylsheet=function(a,c){if(c.createStyleSheet)c.createStyleSheet(a);else{var d=b.createElement("link");d.rel="stylesheet",d.href=a;var e=c.getElementsByTagName("head")[0]||c.documentElement;e.appendChild(d)}},b.getInnerWidth=function(a){return parseInt(b.computedStyle(a,"paddingLeft"),10)+parseInt(b.computedStyle(a,"paddingRight"),10)+a.clientWidth},b.getInnerHeight=function(a){return parseInt(b.computedStyle(a,"paddingTop"),10)+parseInt(b.computedStyle(a,"paddingBottom"),10)+a.clientHeight},window.pageYOffset!==undefined?(b.getPageScrollTop=function(){return window.pageYOffset},b.getPageScrollLeft=function(){return window.pageXOffset}):(b.getPageScrollTop=function(){return document.body.scrollTop},b.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?b.computedStyle=function(a,b){return b?(window.getComputedStyle(a,"")||{})[b]||"":window.getComputedStyle(a,"")||{}}:b.computedStyle=function(a,b){return b?a.currentStyle[b]:a.currentStyle},b.scrollbarWidth=function(a){var c=b.createElement("p");c.style.width="100%",c.style.minWidth="0px",c.style.height="200px";var d=b.createElement("div"),e=d.style;e.position="absolute",e.left="-10000px",e.overflow="hidden",e.width="200px",e.minWidth="0px",e.height="150px",d.appendChild(c);var f=a.body||a.documentElement;f.appendChild(d);var g=c.offsetWidth;e.overflow="scroll";var h=c.offsetWidth;return g==h&&(h=d.clientWidth),f.removeChild(d),g-h},b.setInnerHtml=function(a,b){var c=a.cloneNode(!1);return c.innerHTML=b,a.parentNode.replaceChild(c,a),c},b.setInnerText=function(a,b){var c=a.ownerDocument;c.body&&"textContent"in c.body?a.textContent=b:a.innerText=b},b.getInnerText=function(a){var b=a.ownerDocument;return b.body&&"textContent"in b.body?a.textContent:a.innerText||a.textContent||""},b.getParentWindow=function(a){return a.defaultView||a.parentWindow}}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent","ace/lib/dom"],function(a,b,c){function g(a,b,c){var f=0;e.isOpera&&e.isMac?f=0|(b.metaKey?1:0)|(b.altKey?2:0)|(b.shiftKey?4:0)|(b.ctrlKey?8:0):f=0|(b.ctrlKey?1:0)|(b.altKey?2:0)|(b.shiftKey?4:0)|(b.metaKey?8:0);if(c in d.MODIFIER_KEYS){switch(d.MODIFIER_KEYS[c]){case"Alt":f=2;break;case"Shift":f=4;break;case"Ctrl":f=1;break;default:f=8}c=0}return f&8&&(c==91||c==93)&&(c=0),!!f||c in d.FUNCTION_KEYS||c in d.PRINTABLE_KEYS?a(b,f,c):!1}"use strict";var d=a("./keys"),e=a("./useragent"),f=a("./dom");b.addListener=function(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1);if(a.attachEvent){var d=function(){c(window.event)};c._wrapper=d,a.attachEvent("on"+b,d)}},b.removeListener=function(a,b,c){if(a.removeEventListener)return a.removeEventListener(b,c,!1);a.detachEvent&&a.detachEvent("on"+b,c._wrapper||c)},b.stopEvent=function(a){return b.stopPropagation(a),b.preventDefault(a),!1},b.stopPropagation=function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},b.preventDefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},b.getDocumentX=function(a){return a.clientX?a.clientX+f.getPageScrollLeft():a.pageX},b.getDocumentY=function(a){return a.clientY?a.clientY+f.getPageScrollTop():a.pageY},b.getButton=function(a){return a.type=="dblclick"?0:a.type=="contextmenu"?2:a.preventDefault?a.button:{1:0,2:2,4:1}[a.button]},document.documentElement.setCapture?b.capture=function(a,c,d){function e(a){return c(a),b.stopPropagation(a)}function g(e){c(e),f||(f=!0,d(e)),b.removeListener(a,"mousemove",c),b.removeListener(a,"mouseup",g),b.removeListener(a,"losecapture",g),a.releaseCapture()}var f=!1;b.addListener(a,"mousemove",c),b.addListener(a,"mouseup",g),b.addListener(a,"losecapture",g),a.setCapture()}:b.capture=function(a,b,c){function d(a){b(a),a.stopPropagation()}function e(a){b&&b(a),c&&c(a),document.removeEventListener("mousemove",d,!0),document.removeEventListener("mouseup",e,!0),a.stopPropagation()}document.addEventListener("mousemove",d,!0),document.addEventListener("mouseup",e,!0)},b.addMouseWheelListener=function(a,c){var d=8,e=function(a){a.wheelDelta!==undefined?a.wheelDeltaX!==undefined?(a.wheelX=-a.wheelDeltaX/d,a.wheelY=-a.wheelDeltaY/d):(a.wheelX=0,a.wheelY=-a.wheelDelta/d):a.axis&&a.axis==a.HORIZONTAL_AXIS?(a.wheelX=(a.detail||0)*5,a.wheelY=0):(a.wheelX=0,a.wheelY=(a.detail||0)*5),c(a)};b.addListener(a,"DOMMouseScroll",e),b.addListener(a,"mousewheel",e)},b.addMultiMouseDownListener=function(a,c,d,f,g){var h=0,i,j,k=function(a){h+=1,h==1&&(i=a.clientX,j=a.clientY,setTimeout(function(){h=0},f||600));var e=b.getButton(a)==c;if(!e||Math.abs(a.clientX-i)>5||Math.abs(a.clientY-j)>5)h=0;h==d&&(h=0,g(a));if(e)return b.preventDefault(a)};b.addListener(a,"mousedown",k),e.isOldIE&&b.addListener(a,"dblclick",k)},b.addCommandKeyListener=function(a,c){var d=b.addListener;if(e.isOldGecko||e.isOpera){var f=null;d(a,"keydown",function(a){f=a.keyCode}),d(a,"keypress",function(a){return g(c,a,f)})}else{var h=null;d(a,"keydown",function(a){return h=a.keyIdentifier||a.keyCode,g(c,a,a.keyCode)})}};if(window.postMessage){var h=1;b.nextTick=function(a,c){c=c||window;var d="zero-timeout-message-"+h;b.addListener(c,"message",function e(f){f.data==d&&(b.stopPropagation(f),b.removeListener(c,"message",e),a())}),c.postMessage(d,"*")}}else b.nextTick=function(a,b){b=b||window,window.setTimeout(a,0)}}),define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(a,b,c){"use strict";var d=a("./oop"),e=function(){var a={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,meta:8,command:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",188:",",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:'"'}};for(var b in a.FUNCTION_KEYS){var c=a.FUNCTION_KEYS[b].toUpperCase();a[c]=parseInt(b,10)}return d.mixin(a,a.MODIFIER_KEYS),d.mixin(a,a.PRINTABLE_KEYS),d.mixin(a,a.FUNCTION_KEYS),a}();d.mixin(b,e),b.keyCodeToString=function(a){return(e[a]||String.fromCharCode(a)).toLowerCase()}}),define("ace/lib/oop",["require","exports","module"],function(a,b,c){"use strict",b.inherits=function(){var a=function(){};return function(b,c){a.prototype=c.prototype,b.super_=c.prototype,b.prototype=new a,b.prototype.constructor=b}}(),b.mixin=function(a,b){for(var c in b)a[c]=b[c]},b.implement=function(a,c){b.mixin(a,c)}}),define("ace/lib/useragent",["require","exports","module"],function(a,b,c){"use strict";var d=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),e=navigator.userAgent;b.isWin=d=="win",b.isMac=d=="mac",b.isLinux=d=="linux",b.isIE=navigator.appName=="Microsoft Internet Explorer"&&parseFloat(navigator.userAgent.match(/MSIE ([0-9]+[\.0-9]+)/)[1]),b.isOldIE=b.isIE&&b.isIE<9,b.isGecko=b.isMozilla=window.controllers&&window.navigator.product==="Gecko",b.isOldGecko=b.isGecko&&parseInt((navigator.userAgent.match(/rv\:(\d+)/)||[])[1],10)<4,b.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",b.isWebKit=parseFloat(e.split("WebKit/")[1])||undefined,b.isChrome=parseFloat(e.split(" Chrome/")[1])||undefined,b.isAIR=e.indexOf("AdobeAIR")>=0,b.isIPad=e.indexOf("iPad")>=0,b.isTouchPad=e.indexOf("TouchPad")>=0,b.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},b.getOS=function(){return b.isMac?b.OS.MAC:b.isLinux?b.OS.LINUX:b.OS.WINDOWS}}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands"],function(a,b,c){"use strict",a("./lib/fixoldbrowsers");var d=a("./lib/oop"),e=a("./lib/lang"),f=a("./lib/useragent"),g=a("./keyboard/textinput").TextInput,h=a("./mouse/mouse_handler").MouseHandler,i=a("./mouse/fold_handler").FoldHandler,j=a("./keyboard/keybinding").KeyBinding,k=a("./edit_session").EditSession,l=a("./search").Search,m=a("./range").Range,n=a("./lib/event_emitter").EventEmitter,o=a("./commands/command_manager").CommandManager,p=a("./commands/default_commands").commands,q=function(a,b){var c=a.getContainerElement();this.container=c,this.renderer=a,this.textInput=new g(a.getTextAreaContainer(),this),this.keyBinding=new j(this),f.isIPad||(this.$mouseHandler=new h(this),new i(this)),this.$blockScrolling=0,this.$search=(new l).set({wrap:!0}),this.commands=new o(f.isMac?"mac":"win",p),this.setSession(b||new k(""))};((function(){d.implement(this,n),this.setKeyboardHandler=function(a){this.keyBinding.setKeyboardHandler(a)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(a){if(this.session==a)return;if(this.session){var b=this.session;this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeLeftTop",this.$onScrollLeftChange);var c=this.session.getSelection();c.removeEventListener("changeCursor",this.$onCursorChange),c.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=a,this.$onDocumentChange=this.onDocumentChange.bind(this),a.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(a),this.$onChangeMode=this.onChangeMode.bind(this),a.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),a.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.updateText.bind(this.renderer),a.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),a.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),a.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),a.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=a.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull(),this._emit("changeSession",{session:a,oldSession:b})},this.getSession=function(){return this.session},this.getSelection=function(){return this.selection},this.resize=function(){this.renderer.onResize()},this.setTheme=function(a){this.renderer.setTheme(a)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(a){this.renderer.setStyle(a)},this.unsetStyle=function(a){this.renderer.unsetStyle(a)},this.setFontSize=function(a){this.container.style.fontSize=a,this.renderer.updateFontSize()},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var a=this;this.$highlightPending=!0,setTimeout(function(){a.$highlightPending=!1;var b=a.session.findMatchingBracket(a.getCursorPosition());if(b){var c=new m(b.row,b.column,b.row,b.column+1);a.session.$bracketHighlight=a.session.addMarker(c,"ace_bracket","text")}},10)},this.focus=function(){var a=this;setTimeout(function(){a.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(){this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus")},this.onBlur=function(){this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur")},this.onDocumentChange=function(a){var b=a.data,c=b.range,d;c.start.row==c.end.row&&b.action!="insertLines"&&b.action!="removeLines"?d=c.end.row:d=Infinity,this.renderer.updateLines(c.start.row,d),this._emit("change",a),this.onCursorChange()},this.onTokenizerUpdate=function(a){var b=a.data;this.renderer.updateLines(b.first,b.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.renderer.updateCursor(),this.$blockScrolling||this.renderer.scrollCursorIntoView(),this.renderer.moveTextAreaToCursor(this.textInput.getElement()),this.$highlightBrackets(),this.$updateHighlightActiveLine()},this.$updateHighlightActiveLine=function(){var a=this.getSession();a.$highlightLineMarker&&a.removeMarker(a.$highlightLineMarker),a.$highlightLineMarker=null;if(this.getHighlightActiveLine()&&(this.getSelectionStyle()!="line"||!this.selection.isMultiLine())){var b=this.getCursorPosition(),c=this.session.getFoldLine(b.row),d;c?d=new m(c.start.row,0,c.end.row+1,0):d=new m(b.row,0,b.row+1,0),a.$highlightLineMarker=a.addMarker(d,"ace_active_line","background")}},this.onSelectionChange=function(a){var b=this.getSession();b.$selectionMarker&&b.removeMarker(b.$selectionMarker),b.$selectionMarker=null;if(!this.selection.isEmpty()){var c=this.selection.getRange(),d=this.getSelectionStyle();b.$selectionMarker=b.addMarker(c,"ace_selection",d)}else this.$updateHighlightActiveLine();this.$highlightSelectedWord&&this.session.getMode().highlightSelection(this)},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.setBreakpoints(this.session.getBreakpoints())},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(){this.renderer.updateText()},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getCopyText=function(){var a="";return this.selection.isEmpty()||(a=this.session.getTextRange(this.getSelectionRange())),this._emit("copy",a),a},this.onCut=function(){if(this.$readOnly)return;var a=this.getSelectionRange();this._emit("cut",a),this.selection.isEmpty()||(this.session.remove(a),this.clearSelection())},this.insert=function(a){var b=this.session,c=b.getMode(),d=this.getCursorPosition();if(this.getBehavioursEnabled()){var e=c.transformAction(b.getState(d.row),"insertion",this,b,a);e&&(a=e.text)}a=a.replace("\t",this.session.getTabString());if(!this.selection.isEmpty())d=this.session.remove(this.getSelectionRange()),this.clearSelection();else if(this.session.getOverwrite()){var f=new m.fromPoints(d,d);f.end.column+=a.length,this.session.remove(f)}this.clearSelection();var g=d.column,h=b.getState(d.row),i=c.checkOutdent(h,b.getLine(d.row),a),j=b.getLine(d.row),k=c.getNextLineIndent(h,j.slice(0,d.column),b.getTabString()),l=b.insert(d,a);e&&e.selection&&(e.selection.length==2?this.selection.setSelectionRange(new m(d.row,g+e.selection[0],d.row,g+e.selection[1])):this.selection.setSelectionRange(new m(d.row+e.selection[0],e.selection[1],d.row+e.selection[2],e.selection[3])));var h=b.getState(d.row);if(b.getDocument().isNewLine(a)){this.moveCursorTo(d.row+1,0);var n=b.getTabSize(),o=Number.MAX_VALUE;for(var p=d.row+1;p<=l.row;++p){var q=0;j=b.getLine(p);for(var r=0;r<j.length;++r)if(j.charAt(r)=="\t")q+=n;else{if(j.charAt(r)!=" ")break;q+=1}/[^\s]/.test(j)&&(o=Math.min(q,o))}for(var p=d.row+1;p<=l.row;++p){var s=o;j=b.getLine(p);for(var r=0;r<j.length&&s>0;++r)j.charAt(r)=="\t"?s-=n:j.charAt(r)==" "&&(s-=1);b.remove(new m(p,0,p,r))}b.indentRows(d.row+1,l.row,k)}i&&c.autoOutdent(h,b,d.row)},this.onTextInput=function(a,b){b&&this._emit("paste",a),this.keyBinding.onTextInput(a,b)},this.onCommandKey=function(a,b,c){this.keyBinding.onCommandKey(a,b,c)},this.setOverwrite=function(a){this.session.setOverwrite(a)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(a){this.$mouseHandler.setScrollSpeed(a)},this.getScrollSpeed=function(){return this.$mouseHandler.getScrollSpeed()},this.setDragDelay=function(a){this.$mouseHandler.setDragDelay(a)},this.getDragDelay=function(){return this.$mouseHandler.getDragDelay()},this.$selectionStyle="line",this.setSelectionStyle=function(a){if(this.$selectionStyle==a)return;this.$selectionStyle=a,this.onSelectionChange(),this._emit("changeSelectionStyle",{data:a})},this.getSelectionStyle=function(){return this.$selectionStyle},this.$highlightActiveLine=!0,this.setHighlightActiveLine=function(a){if(this.$highlightActiveLine==a)return;this.$highlightActiveLine=a,this.$updateHighlightActiveLine()},this.getHighlightActiveLine=function(){return this.$highlightActiveLine},this.$highlightSelectedWord=!0,this.setHighlightSelectedWord=function(a){if(this.$highlightSelectedWord==a)return;this.$highlightSelectedWord=a,a?this.session.getMode().highlightSelection(this):this.session.getMode().clearSelectionHighlight(this)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setShowInvisibles=function(a){if(this.getShowInvisibles()==a)return;this.renderer.setShowInvisibles(a)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setShowPrintMargin=function(a){this.renderer.setShowPrintMargin(a)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(a){this.renderer.setPrintMarginColumn(a)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.$readOnly=!1,this.setReadOnly=function(a){this.$readOnly=a},this.getReadOnly=function(){return this.$readOnly},this.$modeBehaviours=!0,this.setBehavioursEnabled=function(a){this.$modeBehaviours=a},this.getBehavioursEnabled=function(){return this.$modeBehaviours},this.setShowFoldWidgets=function(a){var b=this.renderer.$gutterLayer;if(b.getShowFoldWidgets()==a)return;this.renderer.$gutterLayer.setShowFoldWidgets(a),this.$showFoldWidgets=a,this.renderer.updateFull()},this.getShowFoldWidgets=function(){return this.renderer.$gutterLayer.getShowFoldWidgets()},this.remove=function(a){this.selection.isEmpty()&&(a=="left"?this.selection.selectLeft():this.selection.selectRight());var b=this.getSelectionRange();if(this.getBehavioursEnabled()){var c=this.session,d=c.getState(b.start.row),e=c.getMode().transformAction(d,"deletion",this,c,b);e&&(b=e)}this.session.remove(b),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var a=this.getSelectionRange();a.start.column==a.end.column&&a.start.row==a.end.row&&(a.end.column=0,a.end.row++),this.session.remove(a),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var a=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(a)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var a=this.getCursorPosition(),b=a.column;if(b===0)return;var c=this.session.getLine(a.row),d,e;b<c.length?(d=c.charAt(b)+c.charAt(b-1),e=new m(a.row,b-1,a.row,b+1)):(d=c.charAt(b-1)+c.charAt(b-2),e=new m(a.row,b-2,a.row,b)),this.session.replace(e,d)},this.toLowerCase=function(){var a=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var b=this.getSelectionRange(),c=this.session.getTextRange(b);this.session.replace(b,c.toLowerCase()),this.selection.setSelectionRange(a)},this.toUpperCase=function(){var a=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var b=this.getSelectionRange(),c=this.session.getTextRange(b);this.session.replace(b,c.toUpperCase()),this.selection.setSelectionRange(a)},this.indent=function(){var a=this.session,b=this.getSelectionRange();if(!(b.start.row<b.end.row||b.start.column<b.end.column)){var d;if(this.session.getUseSoftTabs()){var f=a.getTabSize(),g=this.getCursorPosition(),h=a.documentToScreenColumn(g.row,g.column),i=f-h%f;d=e.stringRepeat(" ",i)}else d="\t";return this.insert(d)}var c=this.$getSelectedRows();a.indentRows(c.first,c.last,"\t")},this.blockOutdent=function(){var a=this.session.getSelection();this.session.outdentRows(a.getRange())},this.toggleCommentLines=function(){var a=this.session.getState(this.getCursorPosition().row),b=this.$getSelectedRows();this.session.getMode().toggleCommentLines(a,this.session,b.first,b.last)},this.removeLines=function(){var a=this.$getSelectedRows(),b;a.first===0||a.last+1<this.session.getLength()?b=new m(a.first,0,a.last+1,0):b=new m(a.first-1,this.session.getLine(a.first-1).length,a.last,this.session.getLine(a.last).length),this.session.remove(b),this.clearSelection()},this.moveLinesDown=function(){this.$moveLines(function(a,b){return this.session.moveLinesDown(a,b)})},this.moveLinesUp=function(){this.$moveLines(function(a,b){return this.session.moveLinesUp(a,b)})},this.moveText=function(a,b){return this.$readOnly?null:this.session.moveText(a,b)},this.copyLinesUp=function(){this.$moveLines(function(a,b){return this.session.duplicateLines(a,b),0})},this.copyLinesDown=function(){this.$moveLines(function(a,b){return this.session.duplicateLines(a,b)})},this.$moveLines=function(a){var b=this.$getSelectedRows(),c=this.selection;if(!c.isMultiLine())var d=c.getRange(),e=c.isBackwards();var f=a.call(this,b.first,b.last);d?(d.start.row+=f,d.end.row+=f,c.setSelectionRange(d,e)):(c.setSelectionAnchor(b.last+f+1,0),c.$moveSelection(function(){c.moveCursorTo(b.first+f,0)}))},this.$getSelectedRows=function(){var a=this.getSelectionRange().collapseRows();return{first:a.start.row,last:a.end.row}},this.onCompositionStart=function(a){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(a){this.renderer.setCompositionText(a)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(a){return a>=this.getFirstVisibleRow()&&a<=this.getLastVisibleRow()},this.isRowFullyVisible=function(a){return a>=this.renderer.getFirstFullyVisibleRow()&&a<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$getPageDownRow=function(){return this.renderer.getScrollBottomRow()},this.$getPageUpRow=function(){var a=this.renderer.getScrollTopRow(),b=this.renderer.getScrollBottomRow();return a-(b-a)},this.selectPageDown=function(){var a=this.$getPageDownRow()+Math.floor(this.$getVisibleRowCount()/2);this.scrollPageDown();var b=this.getSelection(),c=this.session.documentToScreenPosition(b.getSelectionLead()),d=this.session.screenToDocumentPosition(a,c.column);b.selectTo(d.row,d.column)},this.selectPageUp=function(){var a=this.renderer.getScrollTopRow()-this.renderer.getScrollBottomRow(),b=this.$getPageUpRow()+Math.round(a/2);this.scrollPageUp();var c=this.getSelection(),d=this.session.documentToScreenPosition(c.getSelectionLead()),e=this.session.screenToDocumentPosition(b,d.column);c.selectTo(e.row,e.column)},this.gotoPageDown=function(){var a=this.$getPageDownRow(),b=this.getCursorPositionScreen().column;this.scrollToRow(a),this.getSelection().moveCursorToScreen(a,b)},this.gotoPageUp=function(){var a=this.$getPageUpRow(),b=this.getCursorPositionScreen().column;this.scrollToRow(a),this.getSelection().moveCursorToScreen(a,b)},this.scrollPageDown=function(){this.scrollToRow(this.$getPageDownRow())},this.scrollPageUp=function(){this.renderer.scrollToRow(this.$getPageUpRow())},this.scrollToRow=function(a){this.renderer.scrollToRow(a)},this.scrollToLine=function(a,b){this.renderer.scrollToLine(a,b)},this.centerSelection=function(){var a=this.getSelectionRange(),b=Math.floor(a.start.row+(a.end.row-a.start.row)/2);this.renderer.scrollToLine(b,!0)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(a,b){this.selection.moveCursorTo(a,b)},this.moveCursorToPosition=function(a){this.selection.moveCursorToPosition(a)},this.jumpToMatching=function(){var a=this.getCursorPosition(),b=this.session.findMatchingBracket(a);b||(a.column+=1,b=this.session.findMatchingBracket(a)),b||(a.column-=2,b=this.session.findMatchingBracket(a)),b&&(this.clearSelection(),this.moveCursorTo(b.row,b.column))},this.gotoLine=function(a,b){this.selection.clearSelection(),this.session.unfold({row:a-1,column:b||0}),this.$blockScrolling+=1,this.moveCursorTo(a-1,b||0),this.$blockScrolling-=1,this.isRowFullyVisible(this.getCursorPosition().row)||this.scrollToLine(a,!0)},this.navigateTo=function(a,b){this.clearSelection(),this.moveCursorTo(a,b)},this.navigateUp=function(a){this.selection.clearSelection(),a=a||1,this.selection.moveCursorBy(-a,0)},this.navigateDown=function(a){this.selection.clearSelection(),a=a||1,this.selection.moveCursorBy(a,0)},this.navigateLeft=function(a){if(!this.selection.isEmpty()){var b=this.getSelectionRange().start;this.moveCursorToPosition(b)}else{a=a||1;while(a--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(a){if(!this.selection.isEmpty()){var b=this.getSelectionRange().end;this.moveCursorToPosition(b)}else{a=a||1;while(a--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(a,b){b&&this.$search.set(b);var c=this.$search.find(this.session);if(!c)return;this.$tryReplace(c,a),c!==null&&this.selection.setSelectionRange(c)},this.replaceAll=function(a,b){b&&this.$search.set(b);var c=this.$search.findAll(this.session);if(!c.length)return;var d=this.getSelectionRange();this.clearSelection(),this.selection.moveCursorTo(0,0),this.$blockScrolling+=1;for(var e=c.length-1;e>=0;--e)this.$tryReplace(c[e],a);this.selection.setSelectionRange(d),this.$blockScrolling-=1},this.$tryReplace=function(a,b){var c=this.session.getTextRange(a);return b=this.$search.replace(c,b),b!==null?(a.end=this.session.replace(a,b),a):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(a,b){this.clearSelection(),b=b||{},b.needle=a,this.$search.set(b),this.$find()},this.findNext=function(a){a=a||{},typeof a.backwards=="undefined"&&(a.backwards=!1),this.$search.set(a),this.$find()},this.findPrevious=function(a){a=a||{},typeof a.backwards=="undefined"&&(a.backwards=!0),this.$search.set(a),this.$find()},this.$find=function(a){this.selection.isEmpty()||this.$search.set({needle:this.session.getTextRange(this.getSelectionRange())}),typeof a!="undefined"&&this.$search.set({backwards:a});var b=this.$search.find(this.session);b&&(this.session.unfold(b),this.selection.setSelectionRange(b))},this.undo=function(){this.session.getUndoManager().undo()},this.redo=function(){this.session.getUndoManager().redo()},this.destroy=function(){this.renderer.destroy()}})).call(q.prototype),b.Editor=q}),define("ace/lib/lang",["require","exports","module"],function(a,b,c){"use strict",b.stringReverse=function(a){return a.split("").reverse().join("")},b.stringRepeat=function(a,b){return(new Array(b+1)).join(a)};var d=/^\s\s*/,e=/\s\s*$/;b.stringTrimLeft=function(a){return a.replace(d,"")},b.stringTrimRight=function(a){return a.replace(e,"")},b.copyObject=function(a){var b={};for(var c in a)b[c]=a[c];return b},b.copyArray=function(a){var b=[];for(var c=0,d=a.length;c<d;c++)a[c]&&typeof a[c]=="object"?b[c]=this.copyObject(a[c]):b[c]=a[c];return b},b.deepCopy=function(a){if(typeof a!="object")return a;var b=a.constructor();for(var c in a)typeof a[c]=="object"?b[c]=this.deepCopy(a[c]):b[c]=a[c];return b},b.arrayToMap=function(a){var b={};for(var c=0;c<a.length;c++)b[a[c]]=1;return b},b.arrayRemove=function(a,b){for(var c=0;c<=a.length;c++)b===a[c]&&a.splice(c,1)},b.escapeRegExp=function(a){return a.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},b.deferredCall=function(a){var b=null,c=function(){b=null,a()},d=function(a){return d.cancel(),b=setTimeout(c,a||0),d};return d.schedule=d,d.call=function(){return this.cancel(),a(),d},d.cancel=function(){return clearTimeout(b),b=null,d},d}}),define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom"],function(a,b,c){"use strict";var d=a("../lib/event"),e=a("../lib/useragent"),f=a("../lib/dom"),g=function(a,b){function l(){try{c.select()}catch(a){}}function m(a){if(!i){var d=a||c.value;if(d){d.charCodeAt(d.length-1)==g.charCodeAt(0)?(d=d.slice(0,-1),d&&b.onTextInput(d,j)):b.onTextInput(d,j);if(!v())return!1}}i=!1,j=!1,c.value=g,l()}function v(){return document.activeElement===c}var c=f.createElement("textarea");e.isTouchPad&&c.setAttribute("x-palm-disable-auto-cap",!0),c.style.left="-10000px",c.style.position="fixed",a.insertBefore(c,a.firstChild);var g=String.fromCharCode(0);m();var h=!1,i=!1,j=!1,k="",n=function(a){setTimeout(function(){h||m(a.data)},0)},o=function(a){if(e.isOldIE&&c.value.charCodeAt(0)>128)return;setTimeout(function(){h||m()},0)},p=function(a){h=!0,b.onCompositionStart(),e.isGecko||setTimeout(q,0)},q=function(){if(!h)return;b.onCompositionUpdate(c.value)},r=function(a){h=!1,b.onCompositionEnd()},s=function(a){i=!0;var d=b.getCopyText();d?c.value=d:a.preventDefault(),l(),setTimeout(function(){m()},0)},t=function(a){i=!0;var d=b.getCopyText();d?(c.value=d,b.onCut()):a.preventDefault(),l(),setTimeout(function(){m()},0)};d.addCommandKeyListener(c,b.onCommandKey.bind(b));if(e.isOldIE){var u={13:1,27:1};d.addListener(c,"keyup",function(a){h&&(!c.value||u[a.keyCode])&&setTimeout(r,0);if((c.value.charCodeAt(0)|0)<129)return;h?q():p()})}"onpropertychange"in c&&!("oninput"in c)?d.addListener(c,"propertychange",o):d.addListener(c,"input",n),d.addListener(c,"paste",function(a){j=!0,a.clipboardData&&a.clipboardData.getData?(m(a.clipboardData.getData("text/plain")),a.preventDefault()):o()}),"onbeforecopy"in c&&typeof clipboardData!="undefined"?(d.addListener(c,"beforecopy",function(a){var c=b.getCopyText();c?clipboardData.setData("Text",c):a.preventDefault()}),d.addListener(a,"keydown",function(a){if(a.ctrlKey&&a.keyCode==88){var c=b.getCopyText();c&&(clipboardData.setData("Text",c),b.onCut()),d.preventDefault(a)}})):(d.addListener(c,"copy",s),d.addListener(c,"cut",t)),d.addListener(c,"compositionstart",p),e.isGecko&&d.addListener(c,"text",q),e.isWebKit&&d.addListener(c,"keyup",q),d.addListener(c,"compositionend",r),d.addListener(c,"blur",function(){b.onBlur()}),d.addListener(c,"focus",function(){b.onFocus(),l()}),this.focus=function(){b.onFocus(),l(),c.focus()},this.blur=function(){c.blur()},this.isFocused=v,this.getElement=function(){return c},this.onContextMenu=function(a,b){a&&(k||(k=c.style.cssText),c.style.cssText="position:fixed; z-index:1000;left:"+(a.x-2)+"px; top:"+(a.y-2)+"px;"),b&&(c.value="")},this.onContextMenuClose=function(){setTimeout(function(){k&&(c.style.cssText=k,k=""),m()},0)}};b.TextInput=g}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event"],function(a,b,c){"use strict";var d=a("../lib/event"),e=a("./default_handlers").DefaultHandlers,f=a("./default_gutter_handler").GutterHandler,g=a("./mouse_event").MouseEvent,h=function(a){this.editor=a,new e(a),new f(a),d.addListener(a.container,"mousedown",function(b){return a.focus(),d.preventDefault(b)}),d.addListener(a.container,"selectstart",function(a){return d.preventDefault(a)});var b=a.renderer.getMouseEventTarget();d.addListener(b,"mousedown",this.onMouseEvent.bind(this,"mousedown")),d.addListener(b,"click",this.onMouseEvent.bind(this,"click")),d.addListener(b,"mousemove",this.onMouseMove.bind(this,"mousemove")),d.addMultiMouseDownListener(b,0,2,500,this.onMouseEvent.bind(this,"dblclick")),d.addMultiMouseDownListener(b,0,3,600,this.onMouseEvent.bind(this,"tripleclick")),d.addMultiMouseDownListener(b,0,4,600,this.onMouseEvent.bind(this,"quadclick")),d.addMouseWheelListener(a.container,this.onMouseWheel.bind(this,"mousewheel"));var c=a.renderer.$gutter;d.addListener(c,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),d.addListener(c,"click",this.onMouseEvent.bind(this,"gutterclick")),d.addListener(c,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),d.addListener(c,"mousemove",this.onMouseMove.bind(this,"gutter"))};((function(){this.$scrollSpeed=1,this.setScrollSpeed=function(a){this.$scrollSpeed=a},this.getScrollSpeed=function(){return this.$scrollSpeed},this.onMouseEvent=function(a,b){this.editor._emit(a,new g(b,this.editor))},this.$dragDelay=250,this.setDragDelay=function(a){this.$dragDelay=a},this.getDragDelay=function(){return this.$dragDelay},this.onMouseMove=function(a,b){var c=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!c||!c.length)return;this.editor._emit(a,new g(b,this.editor))},this.onMouseWheel=function(a,b){var c=new g(b,this.editor);c.speed=this.$scrollSpeed*2,c.wheelX=b.wheelX,c.wheelY=b.wheelY,this.editor._emit(a,c)}})).call(h.prototype),b.MouseHandler=h}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/event","ace/lib/dom","ace/lib/browser_focus"],function(a,b,c){function k(a){this.editor=a,this.$clickSelection=null,this.browserFocus=new f,a.setDefaultHandler("mousedown",this.onMouseDown.bind(this)),a.setDefaultHandler("dblclick",this.onDoubleClick.bind(this)),a.setDefaultHandler("tripleclick",this.onTripleClick.bind(this)),a.setDefaultHandler("quadclick",this.onQuadClick.bind(this)),a.setDefaultHandler("mousewheel",this.onScroll.bind(this))}function l(a,b,c,d){return Math.sqrt(Math.pow(c-a,2)+Math.pow(d-b,2))}"use strict";var d=a("../lib/event"),e=a("../lib/dom"),f=a("../lib/browser_focus").BrowserFocus,g=0,h=1,i=2,j=5;((function(){this.onMouseDown=function(a){function C(b){a.getShiftKey()?m.selection.selectToPosition(b):n.$clickSelection||(m.moveCursorToPosition(b),m.selection.clearSelection(b.row,b.column)),q=h}var b=a.inSelection(),c=a.pageX,f=a.pageY,k=a.getDocumentPosition(),m=this.editor,n=this,o=m.getSelectionRange(),p=o.isEmpty(),q=g;if(b&&(!this.browserFocus.isFocused()||(new Date).getTime()-this.browserFocus.lastFocus<20||!m.isFocused())){m.focus();return}var r=a.getButton();if(r!==0){p&&m.moveCursorToPosition(k),r==2&&(m.textInput.onContextMenu({x:a.clientX,y:a.clientY},p),d.capture(m.container,function(){},m.textInput.onContextMenuClose));return}b||C(k);var s=c,t=f,u=(new Date).getTime(),v,w,x,y=function(a){s=d.getDocumentX(a),t=d.getDocumentY(a)},z=function(a){clearInterval(F),q==g?C(k):q==i&&A(a),n.$clickSelection=null,q=g},A=function(a){e.removeCssClass(m.container,"ace_dragging"),m.session.removeMarker(x),m.$mouseHandler.$clickSelection||v||(m.moveCursorToPosition(k),m.selection.clearSelection(k.row,k.column));if(!v)return;if(w.contains(v.row,v.column)){v=null;return}m.clearSelection();if(a&&(a.ctrlKey||a.altKey))var b=m.session,c=b.insert(v,b.getTextRange(w));else var c=m.moveText(w,v);if(!c){v=null;return}m.selection.setSelectionRange(c)},B=function(){if(q==g){var a=l(c,f,s,t),b=(new Date).getTime();if(a>j){q=h;var d=m.renderer.screenToTextCoordinates(s,t);d.row=Math.max(0,Math.min(d.row,m.session.getLength()-1)),C(d)}else if(b-u>m.getDragDelay()){q=i,w=m.getSelectionRange();var k=m.getSelectionStyle();x=m.session.addMarker(w,"ace_selection",k),m.clearSelection(),e.addCssClass(m.container,"ace_dragging")}}q==i?E():q==h&&D()},D=function(){var a,b=m.renderer.screenToTextCoordinates(s,t);b.row=Math.max(0,Math.min(b.row,m.session.getLength()-1)),n.$clickSelection?n.$clickSelection.contains(b.row,b.column)?m.selection.setSelectionRange(n.$clickSelection):(n.$clickSelection.compare(b.row,b.column)==-1?a=n.$clickSelection.end:a=n.$clickSelection.start,m.selection.setSelectionAnchor(a.row,a.column),m.selection.selectToPosition(b)):m.selection.selectToPosition(b),m.renderer.scrollCursorIntoView()},E=function(){v=m.renderer.screenToTextCoordinates(s,t),v.row=Math.max(0,Math.min(v.row,m.session.getLength()-1)),m.moveCursorToPosition(v)};d.capture(m.container,y,z);var F=setInterval(B,20);return a.preventDefault()},this.onDoubleClick=function(a){var b=a.getDocumentPosition(),c=this.editor;c.moveCursorToPosition(b),c.selection.selectWord(),this.$clickSelection=c.getSelectionRange()},this.onTripleClick=function(a){var b=a.getDocumentPosition(),c=this.editor;c.moveCursorToPosition(b),c.selection.selectLine(),this.$clickSelection=c.getSelectionRange()},this.onQuadClick=function(a){var b=this.editor;b.selectAll(),this.$clickSelection=b.getSelectionRange()},this.onScroll=function(a){var b=this.editor;b.renderer.scrollBy(a.wheelX*a.speed,a.wheelY*a.speed);if(b.renderer.isScrollableBy(a.wheelX*a.speed,a.wheelY*a.speed))return a.preventDefault()}})).call(k.prototype),b.DefaultHandlers=k}),define("ace/lib/browser_focus",["require","exports","module","ace/lib/oop","ace/lib/event","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("./oop"),e=a("./event"),f=a("./event_emitter").EventEmitter,g=function(a){a=a||window,this.lastFocus=(new Date).getTime(),this._isFocused=!0;var b=this;"onfocusin"in a.document?(e.addListener(a.document,"focusin",function(a){b._setFocused(!0)}),e.addListener(a.document,"focusout",function(a){b._setFocused(!!a.toElement)})):(e.addListener(a,"blur",function(a){b._setFocused(!1)}),e.addListener(a,"focus",function(a){b._setFocused(!0)}))};((function(){d.implement(this,f),this.isFocused=function(){return this._isFocused},this._setFocused=function(a){if(this._isFocused==a)return;a&&(this.lastFocus=(new Date).getTime()),this._isFocused=a,this._emit("changeFocus")}})).call(g.prototype),b.BrowserFocus=g}),define("ace/lib/event_emitter",["require","exports","module"],function(a,b,c){"use strict";var d={};d._emit=d._dispatchEvent=function(a,b){this._eventRegistry=this._eventRegistry||{},this._defaultHandlers=this._defaultHandlers||{};var c=this._eventRegistry[a]||[],d=this._defaultHandlers[a];if(!c.length&&!d)return;b=b||{},b.type=a,b.stopPropagation||(b.stopPropagation=function(){this.propagationStopped=!0}),b.preventDefault||(b.preventDefault=function(){this.defaultPrevented=!0});for(var e=0;e<c.length;e++){c[e](b);if(b.propagationStopped)break}d&&!b.defaultPrevented&&d(b)},d.setDefaultHandler=function(a,b){this._defaultHandlers=this._defaultHandlers||{};if(this._defaultHandlers[a])throw new Error("The default handler for '"+a+"' is already set");this._defaultHandlers[a]=b},d.on=d.addEventListener=function(a,b){this._eventRegistry=this._eventRegistry||{};var c=this._eventRegistry[a];if(!c)var c=this._eventRegistry[a]=[];c.indexOf(b)==-1&&c.push(b)},d.removeListener=d.removeEventListener=function(a,b){this._eventRegistry=this._eventRegistry||{};var c=this._eventRegistry[a];if(!c)return;var d=c.indexOf(b);d!==-1&&c.splice(d,1)},d.removeAllListeners=function(a){this._eventRegistry&&(this._eventRegistry[a]=[])},b.EventEmitter=d}),define("ace/mouse/default_gutter_handler",["require","exports","module"],function(a,b,c){function d(a){a.setDefaultHandler("gutterclick",function(b){var c=b.getDocumentPosition().row,d=a.session.selection;d.moveCursorTo(c,0),d.selectLine()})}"use strict",b.GutterHandler=d}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event"],function(a,b,c){"use strict";var d=a("../lib/event"),e=b.MouseEvent=function(a,b){this.domEvent=a,this.editor=b,this.pageX=d.getDocumentX(a),this.pageY=d.getDocumentY(a),this.clientX=a.clientX,this.clientY=a.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};((function(){this.stopPropagation=function(){d.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){d.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){if(this.$pos)return this.$pos;var a=d.getDocumentX(this.domEvent),b=d.getDocumentY(this.domEvent);return this.$pos=this.editor.renderer.screenToTextCoordinates(a,b),this.$pos.row=Math.max(0,Math.min(this.$pos.row,this.editor.session.getLength()-1)),this.$pos},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var a=this.editor;if(a.getReadOnly())this.$inSelection=!1;else{var b=a.getSelectionRange();if(b.isEmpty())this.$inSelection=!1;else{var c=this.getDocumentPosition();this.$inSelection=b.contains(c.row,c.column)}}return this.$inSelection},this.getButton=function(){return d.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=function(){return this.domEvent.ctrlKey||this.domEvent.metaKey}})).call(e.prototype)}),define("ace/mouse/fold_handler",["require","exports","module"],function(a,b,c){function d(a){a.on("click",function(b){var c=b.getDocumentPosition(),d=a.session,e=d.getFoldAt(c.row,c.column,1);e&&(b.getAccelKey()?d.removeFold(e):d.expandFold(e),b.stop())}),a.on("gutterclick",function(b){if(b.domEvent.target.className.indexOf("ace_fold-widget")!=-1){var c=b.getDocumentPosition().row;a.session.onFoldWidgetClick(c,b.domEvent),b.stop()}})}"use strict",b.FoldHandler=d}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event","ace/commands/default_commands"],function(a,b,c){"use strict";var d=a("../lib/keys"),e=a("../lib/event");a("../commands/default_commands");var f=function(a){this.$editor=a,this.$data={},this.$handlers=[this]};((function(){this.setKeyboardHandler=function(a){if(this.$handlers[this.$handlers.length-1]==a)return;this.$data={},this.$handlers=a?[this,a]:[this]},this.addKeyboardHandler=function(a){this.removeKeyboardHandler(a),this.$handlers.push(a)},this.removeKeyboardHandler=function(a){var b=this.$handlers.indexOf(a);return b==-1?!1:(this.$handlers.splice(b,1),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.$callKeyboardHandlers=function(a,b,c,d){var f;for(var g=this.$handlers.length;g--;){f=this.$handlers[g].handleKeyboard(this.$data,a,b,c,d);if(f&&f.command)break}if(!f||!f.command)return!1;var h=!1,i=this.$editor.commands;return f.command!="null"?h=i.exec(f.command,this.$editor,f.args):h=!0,h&&d&&e.stopEvent(d),h},this.handleKeyboard=function(a,b,c){return{command:this.$editor.commands.findKeyCommand(b,c)}},this.onCommandKey=function(a,b,c){var e=d.keyCodeToString(c);this.$callKeyboardHandlers(b,e,c,a)},this.onTextInput=function(a,b){var c=!1;!b&&a.length==1&&(c=this.$callKeyboardHandlers(0,a)),c||this.$editor.commands.exec("insertstring",this.$editor,a)}})).call(f.prototype),b.KeyBinding=f}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang"],function(a,b,c){function e(a,b){return{win:a,mac:b}}"use strict";var d=a("../lib/lang");b.commands=[{name:"selectall",bindKey:e("Ctrl-A","Command-A"),exec:function(a){a.selectAll()},readOnly:!0},{name:"centerselection",bindKey:e(null,"Ctrl-L"),exec:function(a){a.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:e("Ctrl-L","Command-L"),exec:function(a){var b=parseInt(prompt("Enter line number:"),10);isNaN(b)||a.gotoLine(b)},readOnly:!0},{name:"fold",bindKey:e("Alt-L","Alt-L"),exec:function(a){a.session.toggleFold(!1)},readOnly:!0},{name:"unfold",bindKey:e("Alt-Shift-L","Alt-Shift-L"),exec:function(a){a.session.toggleFold(!0)},readOnly:!0},{name:"foldall",bindKey:e("Alt-0","Alt-0"),exec:function(a){a.session.foldAll()},readOnly:!0},{name:"unfoldall",bindKey:e("Alt-Shift-0","Alt-Shift-0"),exec:function(a){a.session.unfold()},readOnly:!0},{name:"findnext",bindKey:e("Ctrl-K","Command-G"),exec:function(a){a.findNext()},readOnly:!0},{name:"findprevious",bindKey:e("Ctrl-Shift-K","Command-Shift-G"),exec:function(a){a.findPrevious()},readOnly:!0},{name:"find",bindKey:e("Ctrl-F","Command-F"),exec:function(a){var b=prompt("Find:",a.getCopyText());a.find(b)},readOnly:!0},{name:"overwrite",bindKey:e("Insert","Insert"),exec:function(a){a.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:e("Ctrl-Shift-Home|Alt-Shift-Up","Command-Shift-Up"),exec:function(a){a.getSelection().selectFileStart()},readOnly:!0},{name:"gotostart",bindKey:e("Ctrl-Home|Ctrl-Up","Command-Home|Command-Up"),exec:function(a){a.navigateFileStart()},readOnly:!0},{name:"selectup",bindKey:e("Shift-Up","Shift-Up"),exec:function(a){a.getSelection().selectUp()},readOnly:!0},{name:"golineup",bindKey:e("Up","Up|Ctrl-P"),exec:function(a,b){a.navigateUp(b.times)},readOnly:!0},{name:"selecttoend",bindKey:e("Ctrl-Shift-End|Alt-Shift-Down","Command-Shift-Down"),exec:function(a){a.getSelection().selectFileEnd()},readOnly:!0},{name:"gotoend",bindKey:e("Ctrl-End|Ctrl-Down","Command-End|Command-Down"),exec:function(a){a.navigateFileEnd()},readOnly:!0},{name:"selectdown",bindKey:e("Shift-Down","Shift-Down"),exec:function(a){a.getSelection().selectDown()},readOnly:!0},{name:"golinedown",bindKey:e("Down","Down|Ctrl-N"),exec:function(a,b){a.navigateDown(b.times)},readOnly:!0},{name:"selectwordleft",bindKey:e("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(a){a.getSelection().selectWordLeft()},readOnly:!0},{name:"gotowordleft",bindKey:e("Ctrl-Left","Option-Left"),exec:function(a){a.navigateWordLeft()},readOnly:!0},{name:"selecttolinestart",bindKey:e("Alt-Shift-Left","Command-Shift-Left"),exec:function(a){a.getSelection().selectLineStart()},readOnly:!0},{name:"gotolinestart",bindKey:e("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(a){a.navigateLineStart()},readOnly:!0},{name:"selectleft",bindKey:e("Shift-Left","Shift-Left"),exec:function(a){a.getSelection().selectLeft()},readOnly:!0},{name:"gotoleft",bindKey:e("Left","Left|Ctrl-B"),exec:function(a,b){a.navigateLeft(b.times)},readOnly:!0},{name:"selectwordright",bindKey:e("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(a){a.getSelection().selectWordRight()},readOnly:!0},{name:"gotowordright",bindKey:e("Ctrl-Right","Option-Right"),exec:function(a){a.navigateWordRight()},readOnly:!0},{name:"selecttolineend",bindKey:e("Alt-Shift-Right","Command-Shift-Right"),exec:function(a){a.getSelection().selectLineEnd()},readOnly:!0},{name:"gotolineend",bindKey:e("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(a){a.navigateLineEnd()},readOnly:!0},{name:"selectright",bindKey:e("Shift-Right","Shift-Right"),exec:function(a){a.getSelection().selectRight()},readOnly:!0},{name:"gotoright",bindKey:e("Right","Right|Ctrl-F"),exec:function(a,b){a.navigateRight(b.times)},readOnly:!0},{name:"selectpagedown",bindKey:e("Shift-PageDown","Shift-PageDown"),exec:function(a){a.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:e(null,"PageDown"),exec:function(a){a.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:e("PageDown","Option-PageDown|Ctrl-V"),exec:function(a){a.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:e("Shift-PageUp","Shift-PageUp"),exec:function(a){a.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:e(null,"PageUp"),exec:function(a){a.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:e("PageUp","Option-PageUp"),exec:function(a){a.gotoPageUp()},readOnly:!0},{name:"selectlinestart",bindKey:e("Shift-Home","Shift-Home"),exec:function(a){a.getSelection().selectLineStart()},readOnly:!0},{name:"selectlineend",bindKey:e("Shift-End","Shift-End"),exec:function(a){a.getSelection().selectLineEnd()},readOnly:!0},{name:"togglerecording",bindKey:e("Ctrl-Alt-E","Command-Option-E"),exec:function(a){a.commands.toggleRecording()},readOnly:!0},{name:"replaymacro",bindKey:e("Ctrl-Shift-E","Command-Shift-E"),exec:function(a){a.commands.replay(a)},readOnly:!0},{name:"jumptomatching",bindKey:e("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(a){a.jumpToMatching()},readOnly:!0},{name:"removeline",bindKey:e("Ctrl-D","Command-D"),exec:function(a){a.removeLines()}},{name:"togglecomment",bindKey:e("Ctrl-7","Command-7"),exec:function(a){a.toggleCommentLines()}},{name:"replace",bindKey:e("Ctrl-R","Command-Option-F"),exec:function(a){var b=prompt("Find:",a.getCopyText());if(!b)return;var c=prompt("Replacement:");if(!c)return;a.replace(c,{needle:b})}},{name:"replaceall",bindKey:e("Ctrl-Shift-R","Command-Shift-Option-F"),exec:function(a){var b=prompt("Find:");if(!b)return;var c=prompt("Replacement:");if(!c)return;a.replaceAll(c,{needle:b})}},{name:"undo",bindKey:e("Ctrl-Z","Command-Z"),exec:function(a){a.undo()}},{name:"redo",bindKey:e("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(a){a.redo()}},{name:"copylinesup",bindKey:e("Ctrl-Alt-Up","Command-Option-Up"),exec:function(a){a.copyLinesUp()}},{name:"movelinesup",bindKey:e("Alt-Up","Option-Up"),exec:function(a){a.moveLinesUp()}},{name:"copylinesdown",bindKey:e("Ctrl-Alt-Down","Command-Option-Down"),exec:function(a){a.copyLinesDown()}},{name:"movelinesdown",bindKey:e("Alt-Down","Option-Down"),exec:function(a){a.moveLinesDown()}},{name:"del",bindKey:e("Delete","Delete|Ctrl-D"),exec:function(a){a.remove("right")}},{name:"backspace",bindKey:e("Ctrl-Backspace|Command-Backspace|Option-Backspace|Shift-Backspace|Backspace","Ctrl-Backspace|Command-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(a){a.remove("left")}},{name:"removetolinestart",bindKey:e("Alt-Backspace","Option-Backspace"),exec:function(a){a.removeToLineStart()}},{name:"removetolineend",bindKey:e("Alt-Delete","Ctrl-K"),exec:function(a){a.removeToLineEnd()}},{name:"removewordleft",bindKey:e("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(a){a.removeWordLeft()}},{name:"removewordright",bindKey:e("Ctrl-Delete","Alt-Delete"),exec:function(a){a.removeWordRight()}},{name:"outdent",bindKey:e("Shift-Tab","Shift-Tab"),exec:function(a){a.blockOutdent()}},{name:"indent",bindKey:e("Tab","Tab"),exec:function(a){a.indent()}},{name:"insertstring",exec:function(a,b){a.insert(b)}},{name:"inserttext",exec:function(a,b){a.insert(d.stringRepeat(b.text||"",b.times||1))}},{name:"splitline",bindKey:e(null,"Ctrl-O"),exec:function(a){a.splitLine()}},{name:"transposeletters",bindKey:e("Ctrl-T","Ctrl-T"),exec:function(a){a.transposeLetters()}},{name:"touppercase",bindKey:e("Ctrl-U","Ctrl-U"),exec:function(a){a.toUpperCase()}},{name:"tolowercase",bindKey:e("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(a){a.toLowerCase()}}]}),define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/edit_session/folding","ace/edit_session/bracket_match"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/lang"),f=a("./lib/event_emitter").EventEmitter,g=a("./selection").Selection,h=a("./mode/text").Mode,i=a("./range").Range,j=a("./document").Document,k=a("./background_tokenizer").BackgroundTokenizer,l=function(a,b){this.$modified=!0,this.$breakpoints=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$rowCache=[],this.$wrapData=[],this.$foldData=[],this.$undoSelect=!0,this.$foldData.toString=function(){var a="";return this.forEach(function(b){a+="\n"+b.toString()}),a},a instanceof j?this.setDocument(a):this.setDocument(new j(a)),this.selection=new g(this),b?this.setMode(b):this.setMode(new h)};((function(){function o(a){return a<4352?!1:a>=4352&&a<=4447||a>=4515&&a<=4519||a>=4602&&a<=4607||a>=9001&&a<=9002||a>=11904&&a<=11929||a>=11931&&a<=12019||a>=12032&&a<=12245||a>=12272&&a<=12283||a>=12288&&a<=12350||a>=12353&&a<=12438||a>=12441&&a<=12543||a>=12549&&a<=12589||a>=12593&&a<=12686||a>=12688&&a<=12730||a>=12736&&a<=12771||a>=12784&&a<=12830||a>=12832&&a<=12871||a>=12880&&a<=13054||a>=13056&&a<=19903||a>=19968&&a<=42124||a>=42128&&a<=42182||a>=43360&&a<=43388||a>=44032&&a<=55203||a>=55216&&a<=55238||a>=55243&&a<=55291||a>=63744&&a<=64255||a>=65040&&a<=65049||a>=65072&&a<=65106||a>=65108&&a<=65126||a>=65128&&a<=65131||a>=65281&&a<=65376||a>=65504&&a<=65510}d.implement(this,f),this.setDocument=function(a){if(this.doc)throw new Error("Document is already set");this.doc=a,a.on("change",this.onChange.bind(this)),this.on("changeFold",this.onChangeFold.bind(this)),this.bgTokenizer&&(this.bgTokenizer.setDocument(this.getDocument()),this.bgTokenizer.start(0))},this.getDocument=function(){return this.doc},this.$resetRowCache=function(a){if(a==0){this.$rowCache=[];return}var b=this.$rowCache;for(var c=0;c<b.length;c++)if(b[c].docRow>=a){b.splice(c,b.length);return}},this.onChangeFold=function(a){var b=a.data;this.$resetRowCache(b.start.row)},this.onChange=function(a){var b=a.data;this.$modified=!0,this.$resetRowCache(b.range.start.row);var c=this.$updateInternalDataOnChange(a);!this.$fromUndo&&this.$undoManager&&!b.ignore&&(this.$deltasDoc.push(b),c&&c.length!=0&&this.$deltasFold.push({action:"removeFolds",folds:c}),this.$informUndoManager.schedule()),this.bgTokenizer.start(b.range.start.row),this._emit("change",a)},this.setValue=function(a){this.doc.setValue(a),this.selection.moveCursorTo(0,0),this.selection.clearSelection(),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(a){return this.bgTokenizer.getState(a)},this.getTokens=function(a,b){return this.bgTokenizer.getTokens(a,b)},this.getTokenAt=function(a,b){var c=this.bgTokenizer.getTokens(a,a)[0].tokens,d,e=0;if(b==null)f=c.length-1,e=this.getLine(a).length;else for(var f=0;f<c.length;f++){e+=c[f].value.length;if(e>=b)break}return d=c[f],d?(d.index=f,d.start=e-d.value.length,d):null},this.setUndoManager=function(a){this.$undoManager=a,this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(a){var b=this;this.$syncInformUndoManager=function(){b.$informUndoManager.cancel(),b.$deltasFold.length&&(b.$deltas.push({group:"fold",deltas:b.$deltasFold}),b.$deltasFold=[]),b.$deltasDoc.length&&(b.$deltas.push({group:"doc",deltas:b.$deltasDoc}),b.$deltasDoc=[]),b.$deltas.length>0&&a.execute({action:"aceupdate",args:[b.$deltas,b]}),b.$deltas=[]},this.$informUndoManager=e.deferredCall(this.$syncInformUndoManager)}},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?e.stringRepeat(" ",this.getTabSize()):"\t"},this.$useSoftTabs=!0,this.setUseSoftTabs=function(a){if(this.$useSoftTabs===a)return;this.$useSoftTabs=a},this.getUseSoftTabs=function(){return this.$useSoftTabs},this.$tabSize=4,this.setTabSize=function(a){if(isNaN(a)||this.$tabSize===a)return;this.$modified=!0,this.$tabSize=a,this._emit("changeTabSize")},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(a){return this.$useSoftTabs&&a.column%this.$tabSize==0},this.$overwrite=!1,this.setOverwrite=function(a){if(this.$overwrite==a)return;this.$overwrite=a,this._emit("changeOverwrite")},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(a){this.$breakpoints=[];for(var b=0;b<a.length;b++)this.$breakpoints[a[b]]=!0;this._emit("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._emit("changeBreakpoint",{})},this.setBreakpoint=function(a){this.$breakpoints[a]=!0,this._emit("changeBreakpoint",{})},this.clearBreakpoint=function(a){delete this.$breakpoints[a],this._emit("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.addMarker=function(a,b,c,d){var e=this.$markerId++,f={range:a,type:c||"line",renderer:typeof c=="function"?c:null,clazz:b,inFront:!!d};return d?(this.$frontMarkers[e]=f,this._emit("changeFrontMarker")):(this.$backMarkers[e]=f,this._emit("changeBackMarker")),e},this.removeMarker=function(a){var b=this.$frontMarkers[a]||this.$backMarkers[a];if(!b)return;var c=b.inFront?this.$frontMarkers:this.$backMarkers;b&&(delete c[a],this._emit(b.inFront?"changeFrontMarker":"changeBackMarker"))},this.getMarkers=function(a){return a?this.$frontMarkers:this.$backMarkers},this.setAnnotations=function(a){this.$annotations={};for(var b=0;b<a.length;b++){var c=a[b],d=c.row;this.$annotations[d]?this.$annotations[d].push(c):this.$annotations[d]=[c]}this._emit("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||{}},this.clearAnnotations=function(){this.$annotations={},this._emit("changeAnnotation",{})},this.$detectNewLine=function(a){var b=a.match(/^.*?(\r?\n)/m);b?this.$autoNewLine=b[1]:this.$autoNewLine="\n"},this.getWordRange=function(a,b){var c=this.getLine(a),d=!1;b>0&&(d=!!c.charAt(b-1).match(this.tokenRe)),d||(d=!!c.charAt(b).match(this.tokenRe));var e=d?this.tokenRe:this.nonTokenRe,f=b;if(f>0){do f--;while(f>=0&&c.charAt(f).match(e));f++}var g=b;while(g<c.length&&c.charAt(g).match(e))g++;return new i(a,f,a,g)},this.getAWordRange=function(a,b){var c=this.getWordRange(a,b),d=this.getLine(c.end.row);while(d.charAt(c.end.column).match(/[ \t]/))c.end.column+=1;return c},this.setNewLineMode=function(a){this.doc.setNewLineMode(a)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.$useWorker=!0,this.setUseWorker=function(a){if(this.$useWorker==a)return;this.$useWorker=a,this.$stopWorker(),a&&this.$startWorker()},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(a){var b=a.data;this.bgTokenizer.start(b.first),this._emit("tokenizerUpdate",a)},this.$mode=null,this.setMode=function(a){if(this.$mode===a)return;this.$mode=a,this.$stopWorker(),this.$useWorker&&this.$startWorker();var b=a.getTokenizer();if(b.addEventListener!==undefined){var c=this.onReloadTokenizer.bind(this);b.addEventListener("update",c)}if(!this.bgTokenizer){this.bgTokenizer=new k(b);var d=this;this.bgTokenizer.addEventListener("update",function(a){d._emit("tokenizerUpdate",a)})}else this.bgTokenizer.setTokenizer(b);this.bgTokenizer.setDocument(this.getDocument()),this.bgTokenizer.start(0),this.tokenRe=a.tokenRe,this.nonTokenRe=a.nonTokenRe,this.$setFolding(a.foldingRules),this._emit("changeMode")},this.$stopWorker=function(){this.$worker&&this.$worker.terminate(),this.$worker=null},this.$startWorker=function(){if(typeof Worker!="undefined"&&!a.noWorker)try{this.$worker=this.$mode.createWorker(this)}catch(b){console.log("Could not load worker"),console.log(b),this.$worker=null}else this.$worker=null},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(a){a=Math.round(Math.max(0,a));if(this.$scrollTop===a)return;this.$scrollTop=a,this._emit("changeScrollTop",a)},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(a){a=Math.round(Math.max(0,a));if(this.$scrollLeft===a)return;this.$scrollLeft=a,this._emit("changeScrollLeft",a)},this.getScrollLeft=function(){return this.$scrollLeft},this.getWidth=function(){return this.$computeWidth(),this.width},this.getScreenWidth=function(){return this.$computeWidth(),this.screenWidth},this.$computeWidth=function(a){if(this.$modified||a){this.$modified=!1;var b=this.doc.getAllLines(),c=0,d=0;for(var e=0;e<b.length;e++){var f=this.getFoldLine(e),g,h;g=b[e];if(f){var i=f.range.end;g=this.getFoldDisplayLine(f),e=i.row}h=g.length,c=Math.max(c,h),this.$useWrapMode||(d=Math.max(d,this.$getStringScreenWidth(g)[0]))}this.width=c,this.$useWrapMode?this.screenWidth=this.$wrapLimit:this.screenWidth=d}},this.getLine=function(a){return this.doc.getLine(a)},this.getLines=function(a,b){return this.doc.getLines(a,b)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(a){return this.doc.getTextRange(a)},this.insert=function(a,b){return this.doc.insert(a,b)},this.remove=function(a){return this.doc.remove(a)},this.undoChanges=function(a,b){if(!a.length)return;this.$fromUndo=!0;var c=null;for(var d=a.length-1;d!=-1;d--){var e=a[d];e.group=="doc"?(this.doc.revertDeltas(e.deltas),c=this.$getUndoSelection(e.deltas,!0,c)):e.deltas.forEach(function(a){this.addFolds(a.folds)},this)}return this.$fromUndo=!1,c&&this.$undoSelect&&!b&&this.selection.setSelectionRange(c),c},this.redoChanges=function(a,b){if(!a.length)return;this.$fromUndo=!0;var c=null;for(var d=0;d<a.length;d++){var e=a[d];e.group=="doc"&&(this.doc.applyDeltas(e.deltas),c=this.$getUndoSelection(e.deltas,!1,c))}return this.$fromUndo=!1,c&&this.$undoSelect&&!b&&this.selection.setSelectionRange(c),c},this.setUndoSelect=function(a){this.$undoSelect=a},this.$getUndoSelection=function(a,b,c){function d(a){var c=a.action=="insertText"||a.action=="insertLines";return b?!c:c}var e=a[0],f,g,h=!1;d(e)?(f=e.range.clone(),h=!0):(f=i.fromPoints(e.range.start,e.range.start),h=!1);for(var j=1;j<a.length;j++)e=a[j],d(e)?(g=e.range.start,f.compare(g.row,g.column)==-1&&f.setStart(e.range.start),g=e.range.end,f.compare(g.row,g.column)==1&&f.setEnd(e.range.end),h=!0):(g=e.range.start,f.compare(g.row,g.column)==-1&&(f=i.fromPoints(e.range.start,e.range.start)),h=!1);if(c!=null){var k=c.compareRange(f);k==1?f.setStart(c.start):k==-1&&f.setEnd(c.end)}return f},this.replace=function(a,b){return this.doc.replace(a,b)},this.moveText=function(a,b){var c=this.getTextRange(a);this.remove(a);var d=b.row,e=b.column;!a.isMultiLine()&&a.start.row==d&&a.end.column<e&&(e-=c.length);if(a.isMultiLine()&&a.end.row<d){var f=this.doc.$split(c);d-=f.length-1}var g=d+a.end.row-a.start.row,h=a.isMultiLine()?a.end.column:e+a.end.column-a.start.column,j=new i(d,e,g,h);return this.insert(j.start,c),j},this.indentRows=function(a,b,c){c=c.replace(/\t/g,this.getTabString());for(var d=a;d<=b;d++)this.insert({row:d,column:0},c)},this.outdentRows=function(a){var b=a.collapseRows(),c=new i(0,0,0,0),d=this.getTabSize();for(var e=b.start.row;e<=b.end.row;++e){var f=this.getLine(e);c.start.row=e,c.end.row=e;for(var g=0;g<d;++g)if(f.charAt(g)!=" ")break;g<d&&f.charAt(g)=="\t"?(c.start.column=g,c.end.column=g+1):(c.start.column=0,c.end.column=g),this.remove(c)}},this.moveLinesUp=function(a,b){if(a<=0)return 0;var c=this.doc.removeLines(a,b);return this.doc.insertLines(a-1,c),-1},this.moveLinesDown=function(a,b){if(b>=this.doc.getLength()-1)return 0;var c=this.doc.removeLines(a,b);return this.doc.insertLines(a+1,c),1},this.duplicateLines=function(a,b){var a=this.$clipRowToDocument(a),b=this.$clipRowToDocument(b),c=this.getLines(a,b);this.doc.insertLines(a,c);var d=b-a+1;return d},this.$clipRowToDocument=function(a){return Math.max(0,Math.min(a,this.doc.getLength()-1))},this.$clipColumnToRow=function(a,b){return b<0?0:Math.min(this.doc.getLine(a).length,b)},this.$clipPositionToDocument=function(a,b){b=Math.max(0,b);if(a<0)a=0,b=0;else{var c=this.doc.getLength();a>=c?(a=c-1,b=this.doc.getLine(c-1).length):b=Math.min(this.doc.getLine(a).length,b)}return{row:a,column:b}},this.$clipRangeToDocument=function(a){a.start.row<0?(a.start.row=0,a.start.column=0):a.start.column=this.$clipColumnToRow(a.start.row,a.start.column);var b=this.doc.getLength()-1;return a.end.row>b?(a.end.row=b,a.end.column=this.doc.getLine(b).length):a.end.column=this.$clipColumnToRow(a.end.row,a.end.column),a},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(a){if(a!=this.$useWrapMode){this.$useWrapMode=a,this.$modified=!0,this.$resetRowCache(0);if(a){var b=this.getLength();this.$wrapData=[];for(var c=0;c<b;c++)this.$wrapData.push([]);this.$updateWrapData(0,b-1)}this._emit("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(a,b){if(this.$wrapLimitRange.min!==a||this.$wrapLimitRange.max!==b)this.$wrapLimitRange.min=a,this.$wrapLimitRange.max=b,this.$modified=!0,this._emit("changeWrapMode")},this.adjustWrapLimit=function(a){var b=this.$constrainWrapLimit(a);return b!=this.$wrapLimit&&b>0?(this.$wrapLimit=b,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._emit("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(a){var b=this.$wrapLimitRange.min;b&&(a=Math.max(b,a));var c=this.$wrapLimitRange.max;return c&&(a=Math.min(c,a)),Math.max(1,a)},this.getWrapLimit=function(){return this.$wrapLimit},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(a){var b=this.$useWrapMode,c,d=a.data.action,e=a.data.range.start.row,f=a.data.range.end.row,g=a.data.range.start,h=a.data.range.end,i=null;d.indexOf("Lines")!=-1?(d=="insertLines"?f=e+a.data.lines.length:f=e,c=a.data.lines?a.data.lines.length:f-e):c=f-e;if(c!=0)if(d.indexOf("remove")!=-1){b&&this.$wrapData.splice(e,c);var j=this.$foldData;i=this.getFoldsInRange(a.data.range),this.removeFolds(i);var k=this.getFoldLine(h.row),l=0;if(k){k.addRemoveChars(h.row,h.column,g.column-h.column),k.shiftRow(-c);var m=this.getFoldLine(e);m&&m!==k&&(m.merge(k),k=m),l=j.indexOf(k)+1}for(l;l<j.length;l++){var k=j[l];k.start.row>=h.row&&k.shiftRow(-c)}f=e}else{var n;if(b){n=[e,0];for(var o=0;o<c;o++)n.push([]);this.$wrapData.splice.apply(this.$wrapData,n)}var j=this.$foldData,k=this.getFoldLine(e),l=0;if(k){var p=k.range.compareInside(g.row,g.column);p==0?(k=k.split(g.row,g.column),k.shiftRow(c),k.addRemoveChars(f,0,h.column-g.column)):p==-1&&(k.addRemoveChars(e,0,h.column-g.column),k.shiftRow(c)),l=j.indexOf(k)+1}for(l;l<j.length;l++){var k=j[l];k.start.row>=e&&k.shiftRow(c)}}else{c=Math.abs(a.data.range.start.column-a.data.range.end.column),d.indexOf("remove")!=-1&&(i=this.getFoldsInRange(a.data.range),this.removeFolds(i),c=-c);var k=this.getFoldLine(e);k&&k.addRemoveChars(e,g.column,c)}return b&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),b&&this.$updateWrapData(e,f),i},this.$updateWrapData=function(a,b){var c=this.doc.getAllLines(),d=this.getTabSize(),f=this.$wrapData,i=this.$wrapLimit,j,k,m=a;b=Math.min(b,c.length-1);while(m<=b){k=this.getFoldLine(m,k);if(!k)j=this.$getDisplayTokens(e.stringTrimRight(c[m])),f[m]=this.$computeWrapSplits(j,i,d),m++;else{j=[],k.walk(function(a,b,d,e){var f;if(a){f=this.$getDisplayTokens(a,j.length),f[0]=g;for(var i=1;i<f.length;i++)f[i]=h}else f=this.$getDisplayTokens(c[b].substring(e,d),j.length);j=j.concat(f)}.bind(this),k.end.row,c[k.end.row].length+1);while(j.length!=0&&j[j.length-1]>=l)j.pop();f[k.start.row]=this.$computeWrapSplits(j,i,d),m=k.end.row+1}}};var b=1,c=2,g=3,h=4,j=9,l=10,m=11,n=12;this.$computeWrapSplits=function(a,b){function i(b){var d=a.slice(e,b),g=d.length;d.join("").replace(/12/g,function(){g-=1}).replace(/2/g,function(){g-=1}),f+=g,c.push(f),e=b}if(a.length==0)return[];var c=[],d=a.length,e=0,f=0;while(d-e>b){var k=e+b;if(a[k]>=l){while(a[k]>=l)k++;i(k);continue}if(a[k]==g||a[k]==h){for(k;k!=e-1;k--)if(a[k]==g)break;if(k>e){i(k);continue}k=e+b;for(k;k<a.length;k++)if(a[k]!=h)break;if(k==a.length)break;i(k);continue}var m=Math.max(k-10,e-1);while(k>m&&a[k]<g)k--;while(k>m&&a[k]==j)k--;if(k>m){i(++k);continue}k=e+b,i(k)}return c},this.$getDisplayTokens=function(a,d){var e=[],f;d=d||0;for(var g=0;g<a.length;g++){var h=a.charCodeAt(g);if(h==9){f=this.getScreenTabSize(e.length+d),e.push(m);for(var i=1;i<f;i++)e.push(n)}else h==32?e.push(l):h>39&&h<48||h>57&&h<64?e.push(j):h>=4352&&o(h)?e.push(b,c):e.push(b)}return e},this.$getStringScreenWidth=function(a,b,c){if(b==0)return[0,0];b==null&&(b=c+a.length*Math.max(this.getTabSize(),2)),c=c||0;var d,e;for(e=0;e<a.length;e++){d=a.charCodeAt(e),d==9?c+=this.getScreenTabSize(c):d>=4352&&o(d)?c+=2:c+=1;if(c>b)break}return[c,e]},this.getRowLength=function(a){return!this.$useWrapMode||!this.$wrapData[a]?1:this.$wrapData[a].length+1},this.getRowHeight=function(a,b){return this.getRowLength(b)*a.lineHeight},this.getScreenLastRowColumn=function(a){return this.documentToScreenColumn(a,this.doc.getLine(a).length)},this.getDocumentLastRowColumn=function(a,b){var c=this.documentToScreenRow(a,b);return this.getScreenLastRowColumn(c)},this.getDocumentLastRowColumnPosition=function(a,b){var c=this.documentToScreenRow(a,b);return this.screenToDocumentPosition(c,Number.MAX_VALUE/10)},this.getRowSplitData=function(a){return this.$useWrapMode?this.$wrapData[a]:undefined},this.getScreenTabSize=function(a){return this.$tabSize-a%this.$tabSize},this.screenToDocumentRow=function(a,b){return this.screenToDocumentPosition(a,b).row},this.screenToDocumentColumn=function(a,b){return this.screenToDocumentPosition(a,b).column},this.screenToDocumentPosition=function(a,b){if(a<0)return{row:0,column:0};var c,d=0,e=0,f,g=0,h=0,i=this.$rowCache;for(var j=0;j<i.length;j++){if(!(i[j].screenRow<a))break;g=i[j].screenRow,d=i[j].docRow}var k=!i.length||j==i.length,l=this.getLength()-1,m=this.getNextFoldLine(d),n=m?m.start.row:Infinity;while(g<=a){h=this.getRowLength(d);if(g+h-1>=a||d>=l)break;g+=h,d++,d>n&&(d=m.end.row+1,m=this.getNextFoldLine(d,m),n=m?m.start.row:Infinity),k&&i.push({docRow:d,screenRow:g})}if(m&&m.start.row<=d)c=this.getFoldDisplayLine(m),d=m.start.row;else{if(g+h<=a||d>l)return{row:l,column:this.getLine(l).length};c=this.getLine(d),m=null}if(this.$useWrapMode){var o=this.$wrapData[d];o&&(f=o[a-g],a>g&&o.length&&(e=o[a-g-1]||o[o.length-1],c=c.substring(e)))}return e+=this.$getStringScreenWidth(c,b)[1],this.$useWrapMode?e>=f&&(e=f-1):e=Math.min(e,c.length),m?m.idxToPosition(e):{row:d,column:e}},this.documentToScreenPosition=function(a,b){if(typeof b=="undefined")var c=this.$clipPositionToDocument(a.row,a.column);else c=this.$clipPositionToDocument(a,b);a=c.row,b=c.column;var d;if(this.$useWrapMode){d=this.$wrapData;if(a>d.length-1)return{row:this.getScreenLength(),column:d.length==0?0:d[d.length-1].length-1}}var e=0,f=null,g=null;g=this.getFoldAt(a,b,1),g&&(a=g.start.row,b=g.start.column);var h,i=0,j=this.$rowCache;for(var k=0;k<j.length;k++){if(!(j[k].docRow<a))break;e=j[k].screenRow,i=j[k].docRow}var l=!j.length||k==j.length,m=this.getNextFoldLine(i),n=m?m.start.row:Infinity;while(i<a){if(i>=n){h=m.end.row+1;if(h>a)break;m=this.getNextFoldLine(h,m),n=m?m.start.row:Infinity}else h=i+1;e+=this.getRowLength(i),i=h,l&&j.push({docRow:i,screenRow:e})}var o="";m&&i>=n?(o=this.getFoldDisplayLine(m,a,b),f=m.start.row):(o=this.getLine(a).substring(0,b),f=a);if(this.$useWrapMode){var p=d[f],q=0;while(o.length>=p[q])e++,q++;o=o.substring(p[q-1]||0,o.length)}return{row:e,column:this.$getStringScreenWidth(o)[0]}},this.documentToScreenColumn=function(a,b){return this.documentToScreenPosition(a,b).column},this.documentToScreenRow=function(a,b){return this.documentToScreenPosition(a,b).row},this.getScreenLength=function(){var a=0,b=null;if(!this.$useWrapMode){a=this.getLength();var c=this.$foldData;for(var d=0;d<c.length;d++)b=c[d],a-=b.end.row-b.start.row}else{var e=this.$wrapData.length,f=0,d=0,b=this.$foldData[d++],g=b?b.start.row:Infinity;while(f<e)a+=this.$wrapData[f].length+1,f++,f>g&&(f=b.end.row+1,b=this.$foldData[d++],g=b?b.start.row:Infinity)}return a}})).call(l.prototype),a("./edit_session/folding").Folding.call(l.prototype),a("./edit_session/bracket_match").BracketMatch.call(l.prototype),b.EditSession=l}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/lang"),f=a("./lib/event_emitter").EventEmitter,g=a("./range").Range,h=function(a){this.session=a,this.doc=a.getDocument(),this.clearSelection(),this.selectionLead=this.doc.createAnchor(0,0),this.selectionAnchor=this.doc.createAnchor(0,0);var b=this;this.selectionLead.on("change",function(a){b._emit("changeCursor"),b.$isEmpty||b._emit("changeSelection"),!b.$preventUpdateDesiredColumnOnChange&&a.old.column!=a.value.column&&b.$updateDesiredColumn()}),this.selectionAnchor.on("change",function(){b.$isEmpty||b._emit("changeSelection")})};((function(){d.implement(this,f),this.isEmpty=function(){return this.$isEmpty||this.selectionAnchor.row==this.selectionLead.row&&this.selectionAnchor.column==this.selectionLead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.selectionLead.getPosition()},this.setSelectionAnchor=function(a,b){this.selectionAnchor.setPosition(a,b),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.selectionAnchor.getPosition()},this.getSelectionLead=function(){return this.selectionLead.getPosition()},this.shiftSelection=function(a){if(this.$isEmpty){this.moveCursorTo(this.selectionLead.row,this.selectionLead.column+a);return}var b=this.getSelectionAnchor(),c=this.getSelectionLead(),d=this.isBackwards();(!d||b.column!==0)&&this.setSelectionAnchor(b.row,b.column+a),(d||c.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(c.row,c.column+a)})},this.isBackwards=function(){var a=this.selectionAnchor,b=this.selectionLead;return a.row>b.row||a.row==b.row&&a.column>b.column},this.getRange=function(){var a=this.selectionAnchor,b=this.selectionLead;return this.isEmpty()?g.fromPoints(b,b):this.isBackwards()?g.fromPoints(b,a):g.fromPoints(a,b)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var a=this.doc.getLength()-1;this.setSelectionAnchor(a,this.doc.getLine(a).length),this.moveCursorTo(0,0)},this.setSelectionRange=function(a,b){b?(this.setSelectionAnchor(a.end.row,a.end.column),this.selectTo(a.start.row,a.start.column)):(this.setSelectionAnchor(a.start.row,a.start.column),this.selectTo(a.end.row,a.end.column)),this.$updateDesiredColumn()},this.$updateDesiredColumn=function(){var a=this.getCursor();this.$desiredColumn=this.session.documentToScreenColumn(a.row,a.column)},this.$moveSelection=function(a){var b=this.selectionLead;this.$isEmpty&&this.setSelectionAnchor(b.row,b.column),a.call(this)},this.selectTo=function(a,b){this.$moveSelection(function(){this.moveCursorTo(a,b)})},this.selectToPosition=function(a){this.$moveSelection(function(){this.moveCursorToPosition(a)})},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.selectWord=function(){var a=this.getCursor(),b=this.session.getWordRange(a.row,a.column);this.setSelectionRange(b)},this.selectAWord=function(){var a=this.getCursor(),b=this.session.getAWordRange(a.row,a.column);this.setSelectionRange(b)},this.selectLine=function(){var a=this.selectionLead.row,b,c=this.session.getFoldLine(a);c?(a=c.start.row,b=c.end.row):b=a,this.setSelectionAnchor(a,0),this.$moveSelection(function(){this.moveCursorTo(b+1,0)})},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var a=this.selectionLead.getPosition(),b;if(b=this.session.getFoldAt(a.row,a.column,-1))this.moveCursorTo(b.start.row,b.start.column);else if(a.column==0)a.row>0&&this.moveCursorTo(a.row-1,this.doc.getLine(a.row-1).length);else{var c=this.session.getTabSize();this.session.isTabStop(a)&&this.doc.getLine(a.row).slice(a.column-c,a.column).split(" ").length-1==c?this.moveCursorBy(0,-c):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var a=this.selectionLead.getPosition(),b;if(b=this.session.getFoldAt(a.row,a.column,1))this.moveCursorTo(b.end.row,b.end.column);else if(this.selectionLead.column==this.doc.getLine(this.selectionLead.row).length)this.selectionLead.row<this.doc.getLength()-1&&this.moveCursorTo(this.selectionLead.row+1,0);else{var c=this.session.getTabSize(),a=this.selectionLead;this.session.isTabStop(a)&&this.doc.getLine(a.row).slice(a.column,a.column+c).split(" ").length-1==c?this.moveCursorBy(0,c):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var a=this.selectionLead.row,b=this.selectionLead.column,c=this.session.documentToScreenRow(a,b),d=this.session.screenToDocumentPosition(c,0),e=this.session.getDisplayLine(a,null,d.row,d.column),f=e.match(/^\s*/);f[0].length==b?this.moveCursorTo(d.row,d.column):this.moveCursorTo(d.row,d.column+f[0].length)},this.moveCursorLineEnd=function(){var a=this.selectionLead,b=this.session.getDocumentLastRowColumnPosition(a.row,a.column);this.moveCursorTo(b.row,b.column)},this.moveCursorFileEnd=function(){var a=this.doc.getLength()-1,b=this.doc.getLine(a).length;this.moveCursorTo(a,b)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorWordRight=function(){var a=this.selectionLead.row,b=this.selectionLead.column,c=this.doc.getLine(a),d=c.substring(b),e;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var f=this.session.getFoldAt(a,b,1);if(f){this.moveCursorTo(f.end.row,f.end.column);return}if(e=this.session.nonTokenRe.exec(d))b+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,d=c.substring(b);if(b>=c.length){this.moveCursorTo(a,c.length),this.moveCursorRight(),a<this.doc.getLength()-1&&this.moveCursorWordRight();return}if(e=this.session.tokenRe.exec(d))b+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(a,b)},this.moveCursorWordLeft=function(){var a=this.selectionLead.row,b=this.selectionLead.column,c;if(c=this.session.getFoldAt(a,b,-1)){this.moveCursorTo(c.start.row,c.start.column);return}var d=this.session.getFoldStringAt(a,b,-1);d==null&&(d=this.doc.getLine(a).substring(0,b));var f=e.stringReverse(d),g;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;if(g=this.session.nonTokenRe.exec(f))b-=this.session.nonTokenRe.lastIndex,f=f.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0;if(b<=0){this.moveCursorTo(a,0),this.moveCursorLeft(),a>0&&this.moveCursorWordLeft();return}if(g=this.session.tokenRe.exec(f))b-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(a,b)},this.moveCursorBy=function(a,b){var c=this.session.documentToScreenPosition(this.selectionLead.row,this.selectionLead.column),d=b===0&&this.$desiredColumn||c.column,e=this.session.screenToDocumentPosition(c.row+a,d);this.moveCursorTo(e.row,e.column+b,b===0)},this.moveCursorToPosition=function(a){this.moveCursorTo(a.row,a.column)},this.moveCursorTo=function(a,b,c){var d=this.session.getFoldAt(a,b,1);d&&(a=d.start.row,b=d.start.column),this.$preventUpdateDesiredColumnOnChange=!0,this.selectionLead.setPosition(a,b),this.$preventUpdateDesiredColumnOnChange=!1,c||this.$updateDesiredColumn(this.selectionLead.column)},this.moveCursorToScreen=function(a,b,c){var d=this.session.screenToDocumentPosition(a,b);a=d.row,b=d.column,this.moveCursorTo(a,b,c)}})).call(h.prototype),b.Selection=h}),define("ace/range",["require","exports","module"],function(a,b,c){"use strict";var d=function(a,b,c,d){this.start={row:a,column:b},this.end={row:c,column:d}};((function(){this.isEequal=function(a){return this.start.row==a.start.row&&this.end.row==a.end.row&&this.start.column==a.start.column&&this.end.column==a.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(a,b){return this.compare(a,b)==0},this.compareRange=function(a){var b,c=a.end,d=a.start;return b=this.compare(c.row,c.column),b==1?(b=this.compare(d.row,d.column),b==1?2:b==0?1:0):b==-1?-2:(b=this.compare(d.row,d.column),b==-1?-1:b==1?42:0)},this.comparePoint=function(a){return this.compare(a.row,a.column)},this.containsRange=function(a){return this.comparePoint(a.start)==0&&this.comparePoint(a.end)==0},this.isEnd=function(a,b){return this.end.row==a&&this.end.column==b},this.isStart=function(a,b){return this.start.row==a&&this.start.column==b},this.setStart=function(a,b){typeof a=="object"?(this.start.column=a.column,this.start.row=a.row):(this.start.row=a,this.start.column=b)},this.setEnd=function(a,b){typeof a=="object"?(this.end.column=a.column,this.end.row=a.row):(this.end.row=a,this.end.column=b)},this.inside=function(a,b){return this.compare(a,b)==0?this.isEnd(a,b)||this.isStart(a,b)?!1:!0:!1},this.insideStart=function(a,b){return this.compare(a,b)==0?this.isEnd(a,b)?!1:!0:!1},this.insideEnd=function(a,b){return this.compare(a,b)==0?this.isStart(a,b)?!1:!0:!1},this.compare=function(a,b){return!this.isMultiLine()&&a===this.start.row?b<this.start.column?-1:b>this.end.column?1:0:a<this.start.row?-1:a>this.end.row?1:this.start.row===a?b>=this.start.column?0:-1:this.end.row===a?b<=this.end.column?0:1:0},this.compareStart=function(a,b){return this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.compareEnd=function(a,b){return this.end.row==a&&this.end.column==b?1:this.compare(a,b)},this.compareInside=function(a,b){return this.end.row==a&&this.end.column==b?1:this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.clipRows=function(a,b){if(this.end.row>b)var c={row:b+1,column:0};if(this.start.row>b)var e={row:b+1,column:0};if(this.start.row<a)var e={row:a,column:0};if(this.end.row<a)var c={row:a,column:0};return d.fromPoints(e||this.start,c||this.end)},this.extend=function(a,b){var c=this.compare(a,b);if(c==0)return this;if(c==-1)var e={row:a,column:b};else var f={row:a,column:b};return d.fromPoints(e||this.start,f||this.end)},this.isEmpty=function(){return this.start.row==this.end.row&&this.start.column==this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return d.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new d(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new d(this.start.row,0,this.end.row,0)},this.toScreenRange=function(a){var b=a.documentToScreenPosition(this.start),c=a.documentToScreenPosition(this.end);return new d(b.row,b.column,c.row,c.column)}})).call(d.prototype),d.fromPoints=function(a,b){return new d(a.row,a.column,b.row,b.column)},b.Range=d}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode"],function(a,b,c){"use strict";var d=a("../tokenizer").Tokenizer,e=a("./text_highlight_rules").TextHighlightRules,f=a("./behaviour").Behaviour,g=a("../unicode"),h=function(){this.$tokenizer=new d((new e).getRules()),this.$behaviour=new f};((function(){this.tokenRe=new RegExp("^["+g.packages.L+g.packages.Mn+g.packages.Mc+g.packages.Nd+g.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+g.packages.L+g.packages.Mn+g.packages.Mc+g.packages.Nd+g.packages.Pc+"\\$_]|s])+","g"),this.getTokenizer=function(){return this.$tokenizer},this.toggleCommentLines=function(a,b,c,d){},this.getNextLineIndent=function(a,b,c){return""},this.checkOutdent=function(a,b,c){return!1},this.autoOutdent=function(a,b,c){},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""},this.createWorker=function(a){return null},this.highlightSelection=function(a){var b=a.session;b.$selectionOccurrences||(b.$selectionOccurrences=[]),b.$selectionOccurrences.length&&this.clearSelectionHighlight(a);var c=a.getSelectionRange();if(c.isEmpty()||c.isMultiLine())return;var d=c.start.column-1,e=c.end.column+1,f=b.getLine(c.start.row),g=f.length,h=f.substring(Math.max(d,0),Math.min(e,g));if(d>=0&&/^[\w\d]/.test(h)||e<=g&&/[\w\d]$/.test(h))return;h=f.substring(c.start.column,c.end.column);if(!/^[\w\d]+$/.test(h))return;var i=a.getCursorPosition(),j={wrap:!0,wholeWord:!0,caseSensitive:!0,needle:h},k=a.$search.getOptions();a.$search.set(j);var l=a.$search.findAll(b);l.forEach(function(a){if(!a.contains(i.row,i.column)){var c=b.addMarker(a,"ace_selected_word","text");b.$selectionOccurrences.push(c)}}),a.$search.set(k)},this.clearSelectionHighlight=function(a){if(!a.session.$selectionOccurrences)return;a.session.$selectionOccurrences.forEach(function(b){a.session.removeMarker(b)}),a.session.$selectionOccurrences=[]},this.createModeDelegates=function(a){if(!this.$embeds)return;this.$modes={};for(var b=0;b<this.$embeds.length;b++)a[this.$embeds[b]]&&(this.$modes[this.$embeds[b]]=new a[this.$embeds[b]]);var c=["toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction"];for(var b=0;b<c.length;b++)(function(a){var d=c[b],e=a[d];a[c[b]]=function(){return this.$delegator(d,arguments,e)}})(this)},this.$delegator=function(a,b,c){var d=b[0];for(var e=0;e<this.$embeds.length;e++){if(!this.$modes[this.$embeds[e]])continue;var f=d.split(this.$embeds[e]);if(!f[0]&&f[1]){b[0]=f[1];var g=this.$modes[this.$embeds[e]];return g[a].apply(g,b)}}var h=c.apply(this,b);return c?h:undefined},this.transformAction=function(a,b,c,d,e){if(this.$behaviour){var f=this.$behaviour.getBehaviours();for(var g in f)if(f[g][b]){var h=f[g][b].apply(this,arguments);if(h)return h}}}})).call(h.prototype),b.Mode=h}),define("ace/tokenizer",["require","exports","module"],function(a,b,c){"use strict";var d=function(a,b){b=b?"g"+b:"g",this.rules=a,this.regExps={},this.matchMappings={};for(var c in this.rules){var d=this.rules[c],e=d,f=[],g=0,h=this.matchMappings[c]={};for(var i=0;i<e.length;i++){var j=(new RegExp("(?:("+e[i].regex+")|(.))")).exec("a").length-2,k=e[i].regex.replace(/\\([0-9]+)/g,function(a,b){return"\\"+(parseInt(b,10)+g+1)});h[g]={rule:i,len:j},g+=j,f.push(k)}this.regExps[c]=new RegExp("(?:("+f.join(")|(")+")|(.))",b)}};((function(){this.getLineTokens=function(a,b){var c=b,d=this.rules[c],e=this.matchMappings[c],f=this.regExps[c];f.lastIndex=0;var g,h=[],i=0,j={type:null,value:""};while(g=f.exec(a)){var k="text",l=null,m=[g[0]];for(var n=0;n<g.length-2;n++)if(g[n+1]!==undefined){l=d[e[n].rule],e[n].len>1&&(m=g.slice(n+2,n+1+e[n].len)),typeof l.token=="function"?k=l.token.apply(this,m):k=l.token;var o=l.next;o&&o!==c&&(c=o,d=this.rules[c],e=this.matchMappings[c],i=f.lastIndex,f=this.regExps[c],f.lastIndex=i);break}if(m[0]){typeof k=="string"&&(m=[m.join("")],k=[k]);for(var n=0;n<m.length;n++)(!l||l.merge||k[n]==="text")&&j.type===k[n]?j.value+=m[n]:(j.type&&h.push(j),j={type:k[n],value:m[n]})}if(i==a.length)break;i=f.lastIndex}return j.type&&h.push(j),{tokens:h,state:c}}})).call(d.prototype),b.Tokenizer=d}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(a,b,c){"use strict";var d=a("../lib/lang"),e=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{token:"text",regex:".+"}]}};((function(){this.addRules=function(a,b){for(var c in a){var d=a[c];for(var e=0;e<d.length;e++){var f=d[e];f.next?f.next=b+f.next:f.next=b+c}this.$rules[b+c]=d}},this.getRules=function(){return this.$rules},this.embedRules=function(a,b,c,e){var f=(new a).getRules();if(e)for(var g=0;g<e.length;g++)e[g]=b+e[g];else{e=[];for(var h in f)e.push(b+h)}this.addRules(f,b);for(var g=0;g<e.length;g++)Array.prototype.unshift.apply(this.$rules[e[g]],d.deepCopy(c));this.$embeds||(this.$embeds=[]),this.$embeds.push(b)},this.getEmbeds=function(){return this.$embeds}})).call(e.prototype),b.TextHighlightRules=e}),define("ace/mode/behaviour",["require","exports","module"],function(a,b,c){"use strict";var d=function(){this.$behaviours={}};((function(){this.add=function(a,b,c){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[a]:this.$behaviours[a]={}}this.$behaviours[a][b]=c},this.addBehaviours=function(a){for(var b in a)for(var c in a[b])this.add(b,c,a[b][c])},this.remove=function(a){this.$behaviours&&this.$behaviours[a]&&delete this.$behaviours[a]},this.inherit=function(a,b){if(typeof a=="function")var c=(new a).getBehaviours(b);else var c=a.getBehaviours(b);this.addBehaviours(c)},this.getBehaviours=function(a){if(!a)return this.$behaviours;var b={};for(var c=0;c<a.length;c++)this.$behaviours[a[c]]&&(b[a[c]]=this.$behaviours[a[c]]);return b}})).call(d.prototype),b.Behaviour=d}),define("ace/unicode",["require","exports","module"],function(a,b,c){function d(a){var c=/\w{4}/g;for(var d in a)b.packages[d]=a[d].replace(c,"\\u$&")}"use strict",b.packages={},d({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=a("./range").Range,g=a("./anchor").Anchor,h=function(a){this.$lines=[],Array.isArray(a)?this.insertLines(0,a):a.length==0?this.$lines=[""]:this.insert({row:0,column:0},a)};((function(){d.implement(this,e),this.setValue=function(a){var b=this.getLength();this.remove(new f(0,0,b,this.getLine(b-1).length)),this.insert({row:0,column:0},a)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(a,b){return new g(this,a,b)},"aaa".split(/a/).length==0?this.$split=function(a){return a.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(a){return a.split(/\r\n|\r|\n/)},this.$detectNewLine=function(a){var b=a.match(/^.*?(\r\n|\r|\n)/m);b?this.$autoNewLine=b[1]:this.$autoNewLine="\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";case"auto":return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(a){if(this.$newLineMode===a)return;this.$newLineMode=a},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(a){return a=="\r\n"||a=="\r"||a=="\n"},this.getLine=function(a){return this.$lines[a]||""},this.getLines=function(a,b){return this.$lines.slice(a,b+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(a){if(a.start.row==a.end.row)return this.$lines[a.start.row].substring(a.start.column,a.end.column);var b=[];return b.push(this.$lines[a.start.row].substring(a.start.column)),b.push.apply(b,this.getLines(a.start.row+1,a.end.row-1)),b.push(this.$lines[a.end.row].substring(0,a.end.column)),b.join(this.getNewLineCharacter())},this.$clipPosition=function(a){var b=this.getLength();return a.row>=b&&(a.row=Math.max(0,b-1),a.column=this.getLine(b-1).length),a},this.insert=function(a,b){if(b.length==0)return a;a=this.$clipPosition(a),this.getLength()<=1&&this.$detectNewLine(b);var c=this.$split(b),d=c.splice(0,1)[0],e=c.length==0?null:c.splice(c.length-1,1)[0];return a=this.insertInLine(a,d),e!==null&&(a=this.insertNewLine(a),a=this.insertLines(a.row,c),a=this.insertInLine(a,e||"")),a},this.insertLines=function(a,b){if(b.length==0)return{row:a,column:0};var c=[a,0];c.push.apply(c,b),this.$lines.splice.apply(this.$lines,c);var d=new f(a,0,a+b.length,0),e={action:"insertLines",range:d,lines:b};return this._emit("change",{data:e}),d.end},this.insertNewLine=function(a){a=this.$clipPosition(a);var b=this.$lines[a.row]||"";this.$lines[a.row]=b.substring(0,a.column),this.$lines.splice(a.row+1,0,b.substring(a.column,b.length));var c={row:a.row+1,column:0},d={action:"insertText",range:f.fromPoints(a,c),text:this.getNewLineCharacter()};return this._emit("change",{data:d}),c},this.insertInLine=function(a,b){if(b.length==0)return a;var c=this.$lines[a.row]||"";this.$lines[a.row]=c.substring(0,a.column)+b+c.substring(a.column);var d={row:a.row,column:a.column+b.length},e={action:"insertText",range:f.fromPoints(a,d),text:b};return this._emit("change",{data:e}),d},this.remove=function(a){a.start=this.$clipPosition(a.start),a.end=this.$clipPosition(a.end);if(a.isEmpty())return a.start;var b=a.start.row,c=a.end.row;if(a.isMultiLine()){var d=a.start.column==0?b:b+1,e=c-1;a.end.column>0&&this.removeInLine(c,0,a.end.column),e>=d&&this.removeLines(d,e),d!=b&&(this.removeInLine(b,a.start.column,this.getLine(b).length),this.removeNewLine(a.start.row))}else this.removeInLine(b,a.start.column,a.end.column);return a.start},this.removeInLine=function(a,b,c){if(b==c)return;var d=new f(a,b,a,c),e=this.getLine(a),g=e.substring(b,c),h=e.substring(0,b)+e.substring(c,e.length);this.$lines.splice(a,1,h);var i={action:"removeText",range:d,text:g};return this._emit("change",{data:i}),d.start},this.removeLines=function(a,b){var c=new f(a,0,b+1,0),d=this.$lines.splice(a,b-a+1),e={action:"removeLines",range:c,nl:this.getNewLineCharacter(),lines:d};return this._emit("change",{data:e}),d},this.removeNewLine=function(a){var b=this.getLine(a),c=this.getLine(a+1),d=new f(a,b.length,a+1,0),e=b+c;this.$lines.splice(a,2,e);var g={action:"removeText",range:d,text:this.getNewLineCharacter()};this._emit("change",{data:g})},this.replace=function(a,b){if(b.length==0&&a.isEmpty())return a.start;if(b==this.getTextRange(a))return a.end;this.remove(a);if(b)var c=this.insert(a.start,b);else c=a.start;return c},this.applyDeltas=function(a){for(var b=0;b<a.length;b++){var c=a[b],d=f.fromPoints(c.range.start,c.range.end);c.action=="insertLines"?this.insertLines(d.start.row,c.lines):c.action=="insertText"?this.insert(d.start,c.text):c.action=="removeLines"?this.removeLines(d.start.row,d.end.row-1):c.action=="removeText"&&this.remove(d)}},this.revertDeltas=function(a){for(var b=a.length-1;b>=0;b--){var c=a[b],d=f.fromPoints(c.range.start,c.range.end);c.action=="insertLines"?this.removeLines(d.start.row,d.end.row-1):c.action=="insertText"?this.remove(d):c.action=="removeLines"?this.insertLines(d.start.row,c.lines):c.action=="removeText"&&this.insert(d.start,c.text)}}})).call(h.prototype),b.Document=h}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=b.Anchor=function(a,b,c){this.document=a,typeof c=="undefined"?this.setPosition(b.row,b.column):this.setPosition(b,c),this.$onChange=this.onChange.bind(this),a.on("change",this.$onChange)};((function(){d.implement(this,e),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.onChange=function(a){var b=a.data,c=b.range;if(c.start.row==c.end.row&&c.start.row!=this.row)return;if(c.start.row>this.row)return;if(c.start.row==this.row&&c.start.column>this.column)return;var d=this.row,e=this.column;b.action==="insertText"?c.start.row===d&&c.start.column<=e?c.start.row===c.end.row?e+=c.end.column-c.start.column:(e-=c.start.column,d+=c.end.row-c.start.row):c.start.row!==c.end.row&&c.start.row<d&&(d+=c.end.row-c.start.row):b.action==="insertLines"?c.start.row<=d&&(d+=c.end.row-c.start.row):b.action=="removeText"?c.start.row==d&&c.start.column<e?c.end.column>=e?e=c.start.column:e=Math.max(0,e-(c.end.column-c.start.column)):c.start.row!==c.end.row&&c.start.row<d?(c.end.row==d&&(e=Math.max(0,e-c.end.column)+c.start.column),d-=c.end.row-c.start.row):c.end.row==d&&(d-=c.end.row-c.start.row,e=Math.max(0,e-c.end.column)+c.start.column):b.action=="removeLines"&&c.start.row<=d&&(c.end.row<=d?d-=c.end.row-c.start.row:(d=c.start.row,e=0)),this.setPosition(d,e,!0)},this.setPosition=function(a,b,c){var d;c?d={row:a,column:b}:d=this.$clipPositionToDocument(a,b);if(this.row==d.row&&this.column==d.column)return;var e={row:this.row,column:this.column};this.row=d.row,this.column=d.column,this._emit("change",{old:e,value:d})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.$clipPositionToDocument=function(a,b){var c={};return a>=this.document.getLength()?(c.row=Math.max(0,this.document.getLength()-1),c.column=this.document.getLine(c.row).length):a<0?(c.row=0,c.column=0):(c.row=a,c.column=Math.min(this.document.getLine(c.row).length,Math.max(0,b))),b<0&&(c.column=0),c}})).call(f.prototype)}),define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=function(a,b){this.running=!1,this.lines=[],this.currentLine=0,this.tokenizer=a;var c=this;this.$worker=function(){if(!c.running)return;var a=new Date,b=c.currentLine,d=c.doc,e=0,f=d.getLength();while(c.currentLine<f){c.lines[c.currentLine]=c.$tokenizeRows(c.currentLine,c.currentLine)[0],c.currentLine++,e+=1;if(e%5==0&&new Date-a>20){c.fireUpdateEvent(b,c.currentLine-1),c.running=setTimeout(c.$worker,20);return}}c.running=!1,c.fireUpdateEvent(b,f-1)}};((function(){d.implement(this,e),this.setTokenizer=function(a){this.tokenizer=a,this.lines=[],this.start(0)},this.setDocument=function(a){this.doc=a,this.lines=[],this.stop()},this.fireUpdateEvent=function(a,b){var c={first:a,last:b};this._emit("update",{data:c})},this.start=function(a){this.currentLine=Math.min(a||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(a,b){return this.$tokenizeRows(a,b)},this.getState=function(a){return this.$tokenizeRows(a,a)[0].state},this.$tokenizeRows=function(a,b){if(!this.doc||isNaN(a)||isNaN(b))return[{state:"start",tokens:[]}];var c=[],d="start",e=!1;a>0&&this.lines[a-1]?(d=this.lines[a-1].state,e=!0):a==0?(d="start",e=!0):this.lines.length>0&&(d=this.lines[this.lines.length-1].state);var f=this.doc.getLines(a,b);for(var g=a;g<=b;g++)if(!this.lines[g]){var h=this.tokenizer.getLineTokens(f[g-a]||"",d),d=h.state;c.push(h),e&&(this.lines[g]=h)}else{var h=this.lines[g];d=h.state,c.push(h)}return c}})).call(f.prototype),b.BackgroundTokenizer=f}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(a,b,c){function h(){this.getFoldAt=function(a,b,c){var d=this.getFoldLine(a);if(!d)return null;var e=d.folds;for(var f=0;f<e.length;f++){var g=e[f];if(g.range.contains(a,b)){if(c==1&&g.range.isEnd(a,b))continue;if(c==-1&&g.range.isStart(a,b))continue;return g}}},this.getFoldsInRange=function(a){a=a.clone();var b=a.start,c=a.end,d=this.$foldData,e=[];b.column+=1,c.column-=1;for(var f=0;f<d.length;f++){var g=d[f].range.compareRange(a);if(g==2)continue;if(g==-2)break;var h=d[f].folds;for(var i=0;i<h.length;i++){var j=h[i];g=j.range.compareRange(a);if(g==-2)break;if(g==2)continue;if(g==42)break;e.push(j)}}return e},this.getAllFolds=function(){function c(b){a.push(b);if(!b.subFolds)return;for(var d=0;d<b.subFolds.length;d++)c(b.subFolds[d])}var a=[],b=this.$foldData;for(var d=0;d<b.length;d++)for(var e=0;e<b[d].folds.length;e++)c(b[d].folds[e]);return a},this.getFoldStringAt=function(a,b,c,d){d=d||this.getFoldLine(a);if(!d)return null;var e={end:{column:0}},f,g;for(var h=0;h<d.folds.length;h++){g=d.folds[h];var i=g.range.compareEnd(a,b);if(i==-1){f=this.getLine(g.start.row).substring(e.end.column,g.start.column);break}if(i===0)return null;e=g}return f||(f=this.getLine(g.start.row).substring(e.end.column)),c==-1?f.substring(0,b-e.end.column):c==1?f.substring(b-e.end.column):f},this.getFoldLine=function(a,b){var c=this.$foldData,d=0;b&&(d=c.indexOf(b)),d==-1&&(d=0);for(d;d<c.length;d++){var e=c[d];if(e.start.row<=a&&e.end.row>=a)return e;if(e.end.row>a)return null}return null},this.getNextFoldLine=function(a,b){var c=this.$foldData,d=0;b&&(d=c.indexOf(b)),d==-1&&(d=0);for(d;d<c.length;d++){var e=c[d];if(e.end.row>=a)return e}return null},this.getFoldedRowCount=function(a,b){var c=this.$foldData,d=b-a+1;for(var e=0;e<c.length;e++){var f=c[e],g=f.end.row,h=f.start.row;if(g>=b){h<b&&(h>=a?d-=b-h:d=0);break}g>=a&&(h>=a?d-=g-h:d-=g-a+1)}return d},this.$addFoldLine=function(a){return this.$foldData.push(a),this.$foldData.sort(function(a,b){return a.start.row-b.start.row}),a},this.addFold=function(a,b){var c=this.$foldData,d=!1,g;a instanceof f?g=a:g=new f(b,a),this.$clipRangeToDocument(g.range);var h=g.start.row,i=g.start.column,j=g.end.row,k=g.end.column;if(g.placeholder.length<2)throw"Placeholder has to be at least 2 characters";if(h==j&&k-i<2)throw"The range has to be at least 2 characters width";var l=this.getFoldAt(h,i,1),m=this.getFoldAt(j,k,-1);if(l&&m==l)return l.addSubFold(g);if(l&&!l.range.isStart(h,i)||m&&!m.range.isEnd(j,k))throw"A fold can't intersect already existing fold"+g.range+l.range;var n=this.getFoldsInRange(g.range);n.length>0&&(this.removeFolds(n),g.subFolds=n);for(var o=0;o<c.length;o++){var p=c[o];if(j==p.start.row){p.addFold(g),d=!0;break}if(h==p.end.row){p.addFold(g),d=!0;if(!g.sameRow){var q=c[o+1];if(q&&q.start.row==j){p.merge(q);break}}break}if(j<=p.start.row)break}return d||(p=this.$addFoldLine(new e(this.$foldData,g))),this.$useWrapMode&&this.$updateWrapData(p.start.row,p.start.row),this.$modified=!0,this._emit("changeFold",{data:g}),g},this.addFolds=function(a){a.forEach(function(a){this.addFold(a)},this)},this.removeFold=function(a){var b=a.foldLine,c=b.start.row,d=b.end.row,e=this.$foldData,f=b.folds;if(f.length==1)e.splice(e.indexOf(b),1);else if(b.range.isEnd(a.end.row,a.end.column))f.pop(),b.end.row=f[f.length-1].end.row,b.end.column=f[f.length-1].end.column;else if(b.range.isStart(a.start.row,a.start.column))f.shift(),b.start.row=f[0].start.row,b.start.column=f[0].start.column;else if(a.sameRow)f.splice(f.indexOf(a),1);else{var g=b.split(a.start.row,a.start.column);f=g.folds,f.shift(),g.start.row=f[0].start.row,g.start.column=f[0].start.column}this.$useWrapMode&&this.$updateWrapData(c,d),this.$modified=!0,this._emit("changeFold",{data:a})},this.removeFolds=function(a){var b=[];for(var c=0;c<a.length;c++)b.push(a[c]);b.forEach(function(a){this.removeFold(a)},this),this.$modified=!0},this.expandFold=function(a){this.removeFold(a),a.subFolds.forEach(function(a){this.addFold(a)},this),a.subFolds=[]},this.expandFolds=function(a){a.forEach(function(a){this.expandFold(a)},this)},this.unfold=function(a,b){var c,e;a==null?c=new d(0,0,this.getLength(),0):typeof a=="number"?c=new d(a,0,a,this.getLine(a).length):"row"in a?c=d.fromPoints(a,a):c=a,e=this.getFoldsInRange(c);if(b)this.removeFolds(e);else while(e.length)this.expandFolds(e),e=this.getFoldsInRange(c)},this.isRowFolded=function(a,b){return!!this.getFoldLine(a,b)},this.getRowFoldEnd=function(a,b){var c=this.getFoldLine(a,b);return c?c.end.row:a},this.getFoldDisplayLine=function(a,b,c,d,e){d==null&&(d=a.start.row,e=0),b==null&&(b=a.end.row,c=this.getLine(b).length);var f=this.doc,g="";return a.walk(function(a,b,c,h){if(b<d)return;if(b==d){if(c<e)return;h=Math.max(e,h)}a?g+=a:g+=f.getLine(b).substring(h,c)}.bind(this),b,c),g},this.getDisplayLine=function(a,b,c,d){var e=this.getFoldLine(a);if(!e){var f;return f=this.doc.getLine(a),f.substring(d||0,b||f.length)}return this.getFoldDisplayLine(e,a,b,c,d)},this.$cloneFoldData=function(){var a=[];return a=this.$foldData.map(function(b){var c=b.folds.map(function(a){return a.clone()});return new e(a,c)}),a},this.toggleFold=function(a){var b=this.selection,c=b.getRange(),d,e;if(c.isEmpty()){var f=c.start;d=this.getFoldAt(f.row,f.column);if(d){this.expandFold(d);return}(e=this.findMatchingBracket(f))?c.comparePoint(e)==1?c.end=e:(c.start=e,c.start.column++,c.end.column--):(e=this.findMatchingBracket({row:f.row,column:f.column+1}))?(c.comparePoint(e)==1?c.end=e:c.start=e,c.start.column++):c=this.getCommentFoldRange(f.row,f.column)||c}else{var g=this.getFoldsInRange(c);if(a&&g.length){this.expandFolds(g);return}g.length==1&&(d=g[0])}d||(d=this.getFoldAt(c.start.row,c.start.column));if(d&&d.range.toString()==c.toString()){this.expandFold(d);return}var h="...";if(!c.isMultiLine()){h=this.getTextRange(c);if(h.length<4)return;h=h.trim().substring(0,2)+".."}this.addFold(h,c)},this.getCommentFoldRange=function(a,b){var c=new g(this,a,b),e=c.getCurrentToken();if(e&&/^comment|string/.test(e.type)){var f=new d,h=new RegExp(e.type.replace(/\..*/,"\\."));do e=c.stepBackward();while(e&&h.test(e.type));c.stepForward(),f.start.row=c.getCurrentTokenRow(),f.start.column=c.getCurrentTokenColumn()+2,c=new g(this,a,b);do e=c.stepForward();while(e&&h.test(e.type));return e=c.stepBackward(),f.end.row=c.getCurrentTokenRow(),f.end.column=c.getCurrentTokenColumn()+e.value.length,f}},this.foldAll=function(a,b){var c=this.foldWidgets;b=b||this.getLength();for(var d=a||0;d<b;d++){c[d]==null&&(c[d]=this.getFoldWidget(d));if(c[d]!="start")continue;var e=this.getFoldWidgetRange(d);if(e&&e.end.row<b)try{this.addFold("...",e)}catch(f){}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(a){if(!this.$foldStyles[a])throw new Error("invalid fold style: "+a+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==a)return;this.$foldStyle=a,a=="manual"&&this.unfold();var b=this.$foldMode;this.$setFolding(null),this.$setFolding(b)},this.$setFolding=function(a){if(this.$foldMode==a)return;this.$foldMode=a,this.removeListener("change",this.$updateFoldWidgets),this._emit("changeAnnotation");if(!a||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=a.getFoldWidget.bind(a,this,this.$foldStyle),this.getFoldWidgetRange=a.getFoldWidgetRange.bind(a,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets)},this.onFoldWidgetClick=function(a,b){var c=this.getFoldWidget(a),d=this.getLine(a),e=b.shiftKey,f=e||b.ctrlKey||b.altKey||b.metaKey,g;c=="end"?g=this.getFoldAt(a,0,-1):g=this.getFoldAt(a,d.length,1);if(g){f?this.removeFold(g):this.expandFold(g);return}var h=this.getFoldWidgetRange(a);if(h){if(!h.isMultiLine()){g=this.getFoldAt(h.start.row,h.start.column,1);if(g&&h.isEequal(g.range)){this.removeFold(g);return}}e||this.addFold("...",h),f&&this.foldAll(h.start.row+1,h.end.row)}else f&&this.foldAll(a+1,this.getLength()),b.target.className+=" invalid"},this.updateFoldWidgets=function(a){var b=a.data,c=b.range,d=c.start.row,e=c.end.row-d;if(e===0)this.foldWidgets[d]=null;else if(b.action=="removeText"||b.action=="removeLines")this.foldWidgets.splice(d,e+1,null);else{var f=Array(e+1);f.unshift(d,1),this.foldWidgets.splice.apply(this.foldWidgets,f)}}}"use strict";var d=a("../range").Range,e=a("./fold_line").FoldLine,f=a("./fold").Fold,g=a("../token_iterator").TokenIterator;b.Folding=h}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(a,b,c){function e(a,b){this.foldData=a,Array.isArray(b)?this.folds=b:b=this.folds=[b];var c=b[b.length-1];this.range=new d(b[0].start.row,b[0].start.column,c.end.row,c.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(a){a.setFoldLine(this)},this)}"use strict";var d=a("../range").Range;((function(){this.shiftRow=function(a){this.start.row+=a,this.end.row+=a,this.folds.forEach(function(b){b.start.row+=a,b.end.row+=a})},this.addFold=function(a){if(a.sameRow){if(a.start.row<this.startRow||a.endRow>this.endRow)throw"Can't add a fold to this FoldLine as it has no connection";this.folds.push(a),this.folds.sort(function(a,b){return-a.range.compareEnd(b.start.row,b.start.column)}),this.range.compareEnd(a.start.row,a.start.column)>0?(this.end.row=a.end.row,this.end.column=a.end.column):this.range.compareStart(a.end.row,a.end.column)<0&&(this.start.row=a.start.row,this.start.column=a.start.column)}else if(a.start.row==this.end.row)this.folds.push(a),this.end.row=a.end.row,this.end.column=a.end.column;else{if(a.end.row!=this.start.row)throw"Trying to add fold to FoldRow that doesn't have a matching row";this.folds.unshift(a),this.start.row=a.start.row,this.start.column=a.start.column}a.foldLine=this},this.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},this.walk=function(a,b,c){var d=0,e=this.folds,f,g,h,i=!0;b==null&&(b=this.end.row,c=this.end.column);for(var j=0;j<e.length;j++){f=e[j],g=f.range.compareStart(b,c);if(g==-1){a(null,b,c,d,i);return}h=a(null,f.start.row,f.start.column,d,i),h=!h&&a(f.placeholder,f.start.row,f.start.column,d);if(h||g==0)return;i=!f.sameRow,d=f.end.column}a(null,b,c,d,i)},this.getNextFoldTo=function(a,b){var c,d;for(var e=0;e<this.folds.length;e++){c=this.folds[e],d=c.range.compareEnd(a,b);if(d==-1)return{fold:c,kind:"after"};if(d==0)return{fold:c,kind:"inside"}}return null},this.addRemoveChars=function(a,b,c){var d=this.getNextFoldTo(a,b),e,f;if(d){e=d.fold;if(d.kind=="inside"&&e.start.column!=b&&e.start.row!=a)throw"Moving characters inside of a fold should never be reached";if(e.start.row==a){f=this.folds;var g=f.indexOf(e);g==0&&(this.start.column+=c);for(g;g<f.length;g++){e=f[g],e.start.column+=c;if(!e.sameRow)return;e.end.column+=c}this.end.column+=c}}},this.split=function(a,b){var c=this.getNextFoldTo(a,b).fold,d=this.folds,f=this.foldData;if(!c)return null;var g=d.indexOf(c),h=d[g-1];this.end.row=h.end.row,this.end.column=h.end.column,d=d.splice(g,d.length-g);var i=new e(f,d);return f.splice(f.indexOf(this)+1,0,i),i},this.merge=function(a){var b=a.folds;for(var c=0;c<b.length;c++)this.addFold(b[c]);var d=this.foldData;d.splice(d.indexOf(a),1)},this.toString=function(){var a=[this.range.toString()+": ["];return this.folds.forEach(function(b){a.push(" "+b.toString())}),a.push("]"),a.join("\n")},this.idxToPosition=function(a){var b=0,c;for(var d=0;d<this.folds.length;d++){var c=this.folds[d];a-=c.start.column-b;if(a<0)return{row:c.start.row,column:c.start.column+a};a-=c.placeholder.length;if(a<0)return c.start;b=c.end.column}return{row:this.end.row,column:this.end.column+a}}})).call(e.prototype),b.FoldLine=e}),define("ace/edit_session/fold",["require","exports","module"],function(a,b,c){"use strict";var d=b.Fold=function(a,b){this.foldLine=null,this.placeholder=b,this.range=a,this.start=a.start,this.end=a.end,this.sameRow=a.start.row==a.end.row,this.subFolds=[]};((function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(a){this.foldLine=a,this.subFolds.forEach(function(b){b.setFoldLine(a)})},this.clone=function(){var a=this.range.clone(),b=new d(a,this.placeholder);return this.subFolds.forEach(function(a){b.subFolds.push(a.clone())}),b},this.addSubFold=function(a){if(this.range.isEequal(a))return this;if(!this.range.containsRange(a))throw"A fold can't intersect already existing fold"+a.range+this.range;var b=a.range.start.row,c=a.range.start.column;for(var d=0,e=-1;d<this.subFolds.length;d++){e=this.subFolds[d].range.compare(b,c);if(e!=1)break}var f=this.subFolds[d];if(e==0)return f.addSubFold(a);var b=a.range.end.row,c=a.range.end.column;for(var g=d,e=-1;g<this.subFolds.length;g++){e=this.subFolds[g].range.compare(b,c);if(e!=1)break}var h=this.subFolds[g];if(e==0)throw"A fold can't intersect already existing fold"+a.range+this.range;var i=this.subFolds.splice(d,g-d,a);return a.setFoldLine(this.foldLine),a}})).call(d.prototype)}),define("ace/token_iterator",["require","exports","module"],function(a,b,c){"use strict";var d=function(a,b,c){this.$session=a,this.$row=b,this.$rowTokens=a.getTokens(b,b)[0].tokens;var d=a.getTokenAt(b,c);this.$tokenIndex=d?d.index:-1};((function(){this.stepBackward=function(){this.$tokenIndex-=1;while(this.$tokenIndex<0){this.$row-=1;if(this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row,this.$row)[0].tokens,this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){var a=this.$session.getLength();this.$tokenIndex+=1;while(this.$tokenIndex>=this.$rowTokens.length){this.$row+=1;if(this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row,this.$row)[0].tokens,this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var a=this.$rowTokens,b=this.$tokenIndex,c=a[b].start;if(c!==undefined)return c;c=0;while(b>0)b-=1,c+=a[b].value.length;return c}})).call(d.prototype),b.TokenIterator=d}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator"],function(a,b,c){function e(){this.findMatchingBracket=function(a){if(a.column==0)return null;var b=this.getLine(a.row).charAt(a.column-1);if(b=="")return null;var c=b.match(/([\(\[\{])|([\)\]\}])/);return c?c[1]?this.$findClosingBracket(c[1],a):this.$findOpeningBracket(c[2],a):null},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(a,b){var c=this.$brackets[a],e=1,f=new d(this,b.row,b.column),g=f.getCurrentToken();if(!g)return null;var h=new RegExp("(\\.?"+g.type.replace(".","|").replace("rparen","lparen|rparen")+")+"),i=b.column-f.getCurrentTokenColumn()-2,j=g.value;for(;;){while(i>=0){var k=j.charAt(i);if(k==c){e-=1;if(e==0)return{row:f.getCurrentTokenRow(),column:i+f.getCurrentTokenColumn()}}else k==a&&(e+=1);i-=1}do g=f.stepBackward();while(g&&!h.test(g.type));if(g==null)break;j=g.value,i=j.length-1}return null},this.$findClosingBracket=function(a,b){var c=this.$brackets[a],e=1,f=new d(this,b.row,b.column),g=f.getCurrentToken();if(!g)return null;var h=new RegExp("(\\.?"+g.type.replace(".","|").replace("lparen","lparen|rparen")+")+"),i=b.column-f.getCurrentTokenColumn();for(;;){var j=g.value,k=j.length;while(i<k){var l=j.charAt(i);if(l==c){e-=1;if(e==0)return{row:f.getCurrentTokenRow(),column:i+f.getCurrentTokenColumn()}}else l==a&&(e+=1);i+=1}do g=f.stepForward();while(g&&!h.test(g.type));if(g==null)break;i=0}return null}}"use strict";var d=a("../token_iterator").TokenIterator;b.BracketMatch=e}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(a,b,c){"use strict";var d=a("./lib/lang"),e=a("./lib/oop"),f=a("./range").Range,g=function(){this.$options={needle:"",backwards:!1,wrap:!1,caseSensitive:!1,wholeWord:!1,scope:g.ALL,regExp:!1}};g.ALL=1,g.SELECTION=2,function(){this.set=function(a){return e.mixin(this.$options,a),this},this.getOptions=function(){return d.copyObject(this.$options)},this.find=function(a){if(!this.$options.needle)return null;if(this.$options.backwards)var b=this.$backwardMatchIterator(a);else b=this.$forwardMatchIterator(a);var c=null;return b.forEach(function(a){return c=a,!0}),c},this.findAll=function(a){var b=this.$options;if(!b.needle)return[];if(b.backwards)var c=this.$backwardMatchIterator(a);else c=this.$forwardMatchIterator(a);var d=!b.start&&b.wrap&&b.scope==g.ALL;d&&(b.start={row:0,column:0});var e=[];return c.forEach(function(a){e.push(a)}),d&&(b.start=null),e},this.replace=function(a,b){var c=this.$assembleRegExp(),d=c.exec(a);return d&&d[0].length==a.length?this.$options.regExp?a.replace(c,b):b:null},this.$forwardMatchIterator=function(a){var b=this.$assembleRegExp(),c=this;return{forEach:function(d){c.$forwardLineIterator(a).forEach(function(a,e,f){e&&(a=a.substring(e));var g=[];a.replace(b,function(a){var b=arguments[arguments.length-2];return g.push({str:a,offset:e+b}),a});for(var h=0;h<g.length;h++){var i=g[h],j=c.$rangeFromMatch(f,i.offset,i.str.length);if(d(j))return!0}})}}},this.$backwardMatchIterator=function(a){var b=this.$assembleRegExp(),c=this;return{forEach:function(d){c.$backwardLineIterator(a).forEach(function(a,e,f){e&&(a=a.substring(e));var g=[];a.replace(b,function(a,b){return g.push({str:a,offset:e+b}),a});for(var h=g.length-1;h>=0;h--){var i=g[h],j=c.$rangeFromMatch(f,i.offset,i.str.length);if(d(j))return!0}})}}},this.$rangeFromMatch=function(a,b,c){return new f(a,b,a,b+c)},this.$assembleRegExp=function(){if(this.$options.regExp)var a=this.$options.needle;else a=d.escapeRegExp(this.$options.needle);this.$options.wholeWord&&(a="\\b"+a+"\\b");var b="g";this.$options.caseSensitive||(b+="i");var c=new RegExp(a,b);return c},this.$forwardLineIterator=function(a){function k(e){var f=a.getLine(e);return b&&e==c.end.row&&(f=f.substring(0,c.end.column)),j&&e==d.row&&(f=f.substring(0,d.column)),f}var b=this.$options.scope==g.SELECTION,c=this.$options.range||a.getSelection().getRange(),d=this.$options.start||c[b?"start":"end"],e=b?c.start.row:0,f=b?c.start.column:0,h=b?c.end.row:a.getLength()-1,i=this.$options.wrap,j=!1;return{forEach:function(a){var b=d.row,c=k(b),g=d.column,l=!1;j=!1;while(!a(c,g,b)){if(l)return;b++,g=0;if(b>h){if(!i)return;b=e,g=f,j=!0}b==d.row&&(l=!0),c=k(b)}}}},this.$backwardLineIterator=function(a){var b=this.$options.scope==g.SELECTION,c=this.$options.range||a.getSelection().getRange(),d=this.$options.start||c[b?"end":"start"],e=b?c.start.row:0,f=b?c.start.column:0,h=b?c.end.row:a.getLength()-1,i=this.$options.wrap;return{forEach:function(g){var j=d.row,k=a.getLine(j).substring(0,d.column),l=0,m=!1,n=!1;while(!g(k,l,j)){if(m)return;j--,l=0;if(j<e){if(!i)return;j=h,n=!0}j==d.row&&(m=!0),k=a.getLine(j),b&&(j==e?l=f:j==h&&(k=k.substring(0,c.end.column))),n&&j==d.row&&(l=d.column)}}}}}.call(g.prototype),b.Search=g}),define("ace/commands/command_manager",["require","exports","module","ace/lib/keys"],function(a,b,c){"use strict";var d=a("../lib/keys"),e=function(a,b){if(typeof a!="string")throw new TypeError("'platform' argument must be either 'mac' or 'win'");this.platform=a,this.commands={},this.commmandKeyBinding={},b&&b.forEach(this.addCommand,this)};((function(){function a(a,c,e){var f,g=0,h=b(a);for(var i=0,j=h.length;i<j;i++)d.KEY_MODS[h[i]]?g|=d.KEY_MODS[h[i]]:f=h[i]||"-";return{key:f,hashId:g}}function b(a,b){return a.toLowerCase().trim().split(new RegExp("[\\s ]*\\-[\\s ]*","g"),999)}this.addCommand=function(a){this.commands[a.name]&&this.removeCommand(a),this.commands[a.name]=a,a.bindKey&&this._buildKeyHash(a)},this.removeCommand=function(a){var b=typeof a=="string"?a:a.name;a=this.commands[b],delete this.commands[b];var c=this.commmandKeyBinding;for(var d in c)for(var e in c[d])c[d][e]==a&&delete c[d][e]},this.addCommands=function(a){Object.keys(a).forEach(function(b){var c=a[b];if(typeof c=="string")return this.bindKey(c,b);typeof c=="function"&&(c={exec:c}),c.name||(c.name=b),this.addCommand(c)},this)},this.removeCommands=function(a){Object.keys(a).forEach(function(b){this.removeCommand(a[b])},this)},this.bindKey=function(b,c){if(!b)return;var d=this.commmandKeyBinding;b.split("|").forEach(function(b){var e=a(b,c),f=e.hashId;(d[f]||(d[f]={}))[e.key]=c})},this.bindKeys=function(a){Object.keys(a).forEach(function(b){this.bindKey(b,a[b])},this)},this._buildKeyHash=function(a){var b=a.bindKey;if(!b)return;var c=typeof b=="string"?b:b[this.platform];this.bindKey(c,a)},this.findKeyCommand=function(b,c){typeof c=="number"&&(c=d.keyCodeToString(c));var e=this.commmandKeyBinding;return e[b]&&e[b][c.toLowerCase()]},this.exec=function(a,b,c){return typeof a=="string"&&(a=this.commands[a]),a?b&&b.$readOnly&&!a.readOnly?!1:(a.exec(b,c||{}),!0):!1},this.toggleRecording=function(){if(this.$inReplay)return;return this.recording?(this.macro.pop(),this.exec=this.normal_exec,this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.oldMacro=this.macro,this.macro=[],this.normal_exec=this.exec,this.exec=function(a,b,c){return this.macro.push([a,c]),this.normal_exec(a,b,c)},this.recording=!0)},this.replay=function(a){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording();try{this.$inReplay=!0,this.macro.forEach(function(b){typeof b=="string"?this.exec(b,a):this.exec(b[0],a,b[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(a){return a.map(function(a){return typeof a[0]!="string"&&(a[0]=a[0].name),a[1]||(a=a[0]),a})}})).call(e.prototype),b.CommandManager=e}),define("ace/undomanager",["require","exports","module"],function(a,b,c){"use strict";var d=function(){this.reset()};((function(){this.execute=function(a){var b=a.args[0];this.$doc=a.args[1],this.$undoStack.push(b),this.$redoStack=[]},this.undo=function(a){var b=this.$undoStack.pop(),c=null;return b&&(c=this.$doc.undoChanges(b,a),this.$redoStack.push(b)),c},this.redo=function(a){var b=this.$redoStack.pop(),c=null;return b&&(c=this.$doc.redoChanges(b,a),this.$undoStack.push(b)),c},this.reset=function(){this.$undoStack=[],this.$redoStack=[]},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0}})).call(d.prototype),b.UndoManager=d}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/renderloop","ace/lib/event_emitter","text!ace/css/editor.css"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./lib/event"),g=a("./lib/useragent"),h=a("./layer/gutter").Gutter,i=a("./layer/marker").Marker,j=a("./layer/text").Text,k=a("./layer/cursor").Cursor,l=a("./scrollbar").ScrollBar,m=a("./renderloop").RenderLoop,n=a("./lib/event_emitter").EventEmitter,o=a("text!./css/editor.css");e.importCssString(o,"ace_editor");var p=function(a,b){var c=this;this.container=a,e.addCssClass(a,"ace_editor"),this.setTheme(b),this.$gutter=e.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=e.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=e.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new h(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onResize.bind(this,!0)),this.$markerBack=new i(this.content);var d=this.$textLayer=new j(this.content);this.canvas=d.element,this.$markerFront=new i(this.content),this.characterWidth=d.getCharacterWidth(),this.lineHeight=d.getLineHeight(),this.$cursorLayer=new k(this.content),this.$cursorPadding=8,this.$horizScroll=!0,this.$horizScrollAlwaysVisible=!0,this.scrollBar=new l(a),this.scrollBar.addEventListener("scroll",function(a){c.session.setScrollTop(a.data)}),this.scrollTop=0,this.scrollLeft=0,f.addListener(this.scroller,"scroll",function(){var a=c.scroller.scrollLeft;c.scrollLeft=a,c.session.setScrollLeft(a)}),this.cursorPos={row:0,column:0},this.$textLayer.addEventListener("changeCharacterSize",function(){c.characterWidth=d.getCharacterWidth(),c.lineHeight=d.getLineHeight(),c.$updatePrintMargin(),c.onResize(!0),c.$loop.schedule(c.CHANGE_FULL)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:1,characterWidth:1,minHeight:1,maxHeight:1,offset:0,height:1},this.$loop=new m(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.setPadding(4),this.$updatePrintMargin()};((function(){this.showGutter=!0,this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,d.implement(this,n),this.setSession=function(a){this.session=a,this.$cursorLayer.setSession(a),this.$markerBack.setSession(a),this.$markerFront.setSession(a),this.$gutterLayer.setSession(a),this.$textLayer.setSession(a),this.$loop.schedule(this.CHANGE_FULL)},this.updateLines=function(a,b){b===undefined&&(b=Infinity),this.$changedLines?(this.$changedLines.firstRow>a&&(this.$changedLines.firstRow=a),this.$changedLines.lastRow<b&&(this.$changedLines.lastRow=b)):this.$changedLines={firstRow:a,lastRow:b},this.$loop.schedule(this.CHANGE_LINES)},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(){this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.onResize=function(a){var b=this.CHANGE_SIZE,c=this.$size,d=e.getInnerHeight(this.container);if(a||c.height!=d)c.height=d,this.scroller.style.height=d+"px",c.scrollerHeight=this.scroller.clientHeight,this.scrollBar.setHeight(c.scrollerHeight),this.session&&(this.session.setScrollTop(this.getScrollTop()),b|=this.CHANGE_FULL);var f=e.getInnerWidth(this.container);if(a||c.width!=f){c.width=f;var g=this.showGutter?this.$gutter.offsetWidth:0;this.scroller.style.left=g+"px",c.scrollerWidth=Math.max(0,f-g-this.scrollBar.getWidth()),this.scroller.style.width=c.scrollerWidth+"px";if(this.session.getUseWrapMode()&&this.adjustWrapLimit()||a)b|=this.CHANGE_FULL}this.$loop.schedule(b)},this.adjustWrapLimit=function(){var a=this.$size.scrollerWidth-this.$padding*2,b=Math.floor(a/this.characterWidth);return this.session.adjustWrapLimit(b)},this.setShowInvisibles=function(a){this.$textLayer.setShowInvisibles(a)&&this.$loop.schedule(this.CHANGE_TEXT)},this.getShowInvisibles=function(){return this.$textLayer.showInvisibles},this.$showPrintMargin=!0,this.setShowPrintMargin=function(a){this.$showPrintMargin=a,this.$updatePrintMargin()},this.getShowPrintMargin=function(){return this.$showPrintMargin},this.$printMarginColumn=80,this.setPrintMarginColumn=function(a){this.$printMarginColumn=a,this.$updatePrintMargin()},this.getPrintMarginColumn=function(){return this.$printMarginColumn},this.getShowGutter=function(){return this.showGutter},this.setShowGutter=function(a){if(this.showGutter===a)return;this.$gutter.style.display=a?"block":"none",this.showGutter=a,this.onResize(!0)},this.$updatePrintMargin=function(){var a;if(!this.$showPrintMargin&&!this.$printMarginEl)return;this.$printMarginEl||(a=e.createElement("div"),a.className="ace_print_margin_layer",this.$printMarginEl=e.createElement("div"),this.$printMarginEl.className="ace_print_margin",a.appendChild(this.$printMarginEl),this.content.insertBefore(a,this.$textLayer.element));var b=this.$printMarginEl.style;b.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",b.visibility=this.$showPrintMargin?"visible":"hidden"},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.moveTextAreaToCursor=function(a){if(g.isIE)return;if(this.layerConfig.lastRow===0)return;var b=this.$cursorLayer.getPixelPosition();if(!b)return;var c=this.content.getBoundingClientRect(),d=this.layerConfig.offset;a.style.left=c.left+b.left+"px",a.style.top=c.top+b.top-this.scrollTop+d+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var a=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+a},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(a){this.$padding=a,this.$textLayer.setPadding(a),this.$cursorLayer.setPadding(a),this.$markerFront.setPadding(a),this.$markerBack.setPadding(a),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.getHScrollBarAlwaysVisible=function(){return this.$horizScrollAlwaysVisible},this.setHScrollBarAlwaysVisible=function(a){this.$horizScrollAlwaysVisible!=a&&(this.$horizScrollAlwaysVisible=a,(!this.$horizScrollAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL))},this.$updateScrollBar=function(){this.scrollBar.setInnerHeight(this.layerConfig.maxHeight),this.scrollBar.setScrollTop(this.scrollTop)},this.$renderChanges=function(a){if(!a||!this.session||!this.container.offsetWidth)return;(a&this.CHANGE_FULL||a&this.CHANGE_SIZE||a&this.CHANGE_TEXT||a&this.CHANGE_LINES||a&this.CHANGE_SCROLL)&&this.$computeLayerConfig();if(a&this.CHANGE_H_SCROLL){this.scroller.scrollLeft=this.scrollLeft;var b=this.scroller.scrollLeft;this.scrollLeft=b,this.session.setScrollLeft(b)}if(a&this.CHANGE_FULL){this.$textLayer.checkForSizeChanges(),this.$updateScrollBar(),this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig);return}if(a&this.CHANGE_SCROLL){this.$updateScrollBar(),a&this.CHANGE_TEXT||a&this.CHANGE_LINES?this.$textLayer.update(this.layerConfig):this.$textLayer.scrollLines(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig);return}a&this.CHANGE_TEXT?(this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig)):a&this.CHANGE_LINES?this.$updateLines()&&(this.$updateScrollBar(),this.showGutter&&this.$gutterLayer.update(this.layerConfig)):a&this.CHANGE_GUTTER&&this.showGutter&&this.$gutterLayer.update(this.layerConfig),a&this.CHANGE_CURSOR&&this.$cursorLayer.update(this.layerConfig),a&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(this.layerConfig),a&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(this.layerConfig),a&this.CHANGE_SIZE&&this.$updateScrollBar()},this.$computeLayerConfig=function(){var a=this.session,b=this.scrollTop%this.lineHeight,c=this.$size.scrollerHeight+this.lineHeight,d=this.$getLongestLine(),e=this.$horizScrollAlwaysVisible||this.$size.scrollerWidth-d<0,f=this.$horizScroll!==e;this.$horizScroll=e,f&&(this.scroller.style.overflowX=e?"scroll":"hidden",e||this.session.setScrollLeft(0));var g=this.session.getScreenLength()*this.lineHeight;this.session.setScrollTop(Math.max(0,Math.min(this.scrollTop,g-this.$size.scrollerHeight)));var h=Math.ceil(c/this.lineHeight)-1,i=Math.max(0,Math.round((this.scrollTop-b)/this.lineHeight)),j=i+h,k,l,m={lineHeight:this.lineHeight};i=a.screenToDocumentRow(i,0);var n=a.getFoldLine(i);n&&(i=n.start.row),k=a.documentToScreenRow(i,0),l=a.getRowHeight(m,i),j=Math.min(a.screenToDocumentRow(j,0),a.getLength()-1),c=this.$size.scrollerHeight+a.getRowHeight(m,j)+l,b=this.scrollTop-k*this.lineHeight,this.layerConfig={width:d,padding:this.$padding,firstRow:i,firstRowScreen:k,lastRow:j,lineHeight:this.lineHeight,characterWidth:this.characterWidth,minHeight:c,maxHeight:g,offset:b,height:this.$size.scrollerHeight},this.$gutterLayer.element.style.marginTop=-b+"px",this.content.style.marginTop=-b+"px",this.content.style.width=d+2*this.$padding+"px",this.content.style.height=c+"px",f&&this.onResize(!0)},this.$updateLines=function(){var a=this.$changedLines.firstRow,b=this.$changedLines.lastRow;this.$changedLines=null;var c=this.layerConfig;if(c.width!=this.$getLongestLine())return this.$textLayer.update(c);if(a>c.lastRow+1)return;if(b<c.firstRow)return;if(b===Infinity){this.showGutter&&this.$gutterLayer.update(c),this.$textLayer.update(c);return}return this.$textLayer.updateLines(c,a,b),!0},this.$getLongestLine=function(){var a=this.session.getScreenWidth();return this.$textLayer.showInvisibles&&(a+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(a*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(a,b){this.$gutterLayer.addGutterDecoration(a,b),this.$loop.schedule(this.CHANGE_GUTTER)},this.removeGutterDecoration=function(a,b){this.$gutterLayer.removeGutterDecoration(a,b),this.$loop.schedule(this.CHANGE_GUTTER)},this.setBreakpoints=function(a){this.$gutterLayer.setBreakpoints(a),this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(a){this.$gutterLayer.setAnnotations(a),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollCursorIntoView=function(){if(this.$size.scrollerHeight===0)return;var a=this.$cursorLayer.getPixelPosition(),b=a.left,c=a.top;this.scrollTop>c&&this.session.setScrollTop(c),this.scrollTop+this.$size.scrollerHeight<c+this.lineHeight&&this.session.setScrollTop(c+this.lineHeight-this.$size.scrollerHeight);var d=this.scrollLeft;d>b&&(b<this.$padding+2*this.layerConfig.characterWidth&&(b=0),this.session.setScrollLeft(b)),d+this.$size.scrollerWidth<b+this.characterWidth&&this.session.setScrollLeft(Math.round(b+this.characterWidth-this.$size.scrollerWidth))},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(a){this.session.setScrollTop(a*this.lineHeight)},this.scrollToLine=function(a,b){var c=this.$cursorLayer.getPixelPosition({row:a,column:0}),d=c.top;b&&(d-=this.$size.scrollerHeight/2),this.session.setScrollTop(d)},this.scrollToY=function(a){this.scrollTop!==a&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=a)},this.scrollToX=function(a){a<=this.$padding&&(a=0),this.scrollLeft!==a&&(this.scrollLeft=a),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollBy=function(a,b){b&&this.session.setScrollTop(this.session.getScrollTop()+b),a&&this.session.setScrollLeft(this.session.getScrollLeft()+a)},this.isScrollableBy=function(a,b){if(b<0&&this.session.getScrollTop()>0)return!0;if(b>0&&this.session.getScrollTop()+this.$size.scrollerHeight<this.layerConfig.maxHeight)return!0},this.screenToTextCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=Math.round((a+this.scrollLeft-c.left-this.$padding-e.getPageScrollLeft())/this.characterWidth),f=Math.floor((b+this.scrollTop-c.top-e.getPageScrollTop())/this.lineHeight);return this.session.screenToDocumentPosition(f,Math.max(d,0))},this.textToScreenCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=this.session.documentToScreenPosition(a,b),e=this.$padding+Math.round(d.column*this.characterWidth),f=d.row*this.lineHeight;return{pageX:c.left+e-this.scrollLeft,pageY:c.top+f-this.scrollTop}},this.visualizeFocus=function(){e.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){e.removeCssClass(this.container,"ace_focus")},this.showComposition=function(a){this.$composition||(this.$composition=e.createElement("div"),this.$composition.className="ace_composition",this.content.appendChild(this.$composition)),this.$composition.innerHTML="&#160;";var b=this.$cursorLayer.getPixelPosition(),c=this.$composition.style;c.top=b.top+"px",c.left=b.left+this.$padding+"px",c.height=this.lineHeight+"px",this.hideCursor()},this.setCompositionText=function(a){e.setInnerText(this.$composition,a)},this.hideComposition=function(){this.showCursor();if(!this.$composition)return;var a=this.$composition.style;a.top="-10000px",a.left="-10000px"},this.setTheme=function(b){function d(a){e.importCssString(a.cssText,a.cssClass,c.container.ownerDocument),c.$theme&&e.removeCssClass(c.container,c.$theme),c.$theme=a?a.cssClass:null,c.$theme&&e.addCssClass(c.container,c.$theme),a&&a.isDark?e.addCssClass(c.container,"ace_dark"):e.removeCssClass(c.container,"ace_dark"),c.$size&&(c.$size.width=0,c.onResize())}var c=this;this.$themeValue=b,!b||typeof b=="string"?(b=b||"ace/theme/textmate",a([b],function(a){d(a)})):d(b)},this.getTheme=function(){return this.$themeValue},this.setStyle=function(b){e.addCssClass(this.container,b)},this.unsetStyle=function(b){e.removeCssClass(this.container,b)},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}})).call(p.prototype),b.VirtualRenderer=p}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("../lib/dom"),e=a("../lib/oop"),f=a("../lib/event_emitter").EventEmitter,g=function(a){this.element=d.createElement("div"),this.element.className="ace_layer ace_gutter-layer",a.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$breakpoints=[],this.$annotations=[],this.$decorations=[]};((function(){e.implement(this,f),this.setSession=function(a){this.session=a},this.addGutterDecoration=function(a,b){this.$decorations[a]||(this.$decorations[a]=""),this.$decorations[a]+=" ace_"+b},this.removeGutterDecoration=function(a,b){this.$decorations[a]=this.$decorations[a].replace(" ace_"+b,"")},this.setBreakpoints=function(a){this.$breakpoints=a.concat()},this.setAnnotations=function(a){this.$annotations=[];for(var b in a)if(a.hasOwnProperty(b)){var c=a[b];if(!c)continue;var d=this.$annotations[b]={text:[]};for(var e=0;e<c.length;e++){var f=c[e],g=f.text.replace(/"/g,"&quot;").replace(/'/g,"&#8217;").replace(/</,"&lt;");d.text.indexOf(g)===-1&&d.text.push(g);var h=f.type;h=="error"?d.className="ace_error":h=="warning"&&d.className!="ace_error"?d.className="ace_warning":h=="info"&&!d.className&&(d.className="ace_info")}}},this.update=function(a){this.$config=a;var b={className:"",text:[]},c=[],e=a.firstRow,f=a.lastRow,g=this.session.getNextFoldLine(e),h=g?g.start.row:Infinity,i=this.$showFoldWidgets&&this.session.foldWidgets;for(;;){e>h&&(e=g.end.row+1,g=this.session.getNextFoldLine(e,g),h=g?g.start.row:Infinity);if(e>f)break;var j=this.$annotations[e]||b;c.push("<div class='ace_gutter-cell",this.$decorations[e]||"",this.$breakpoints[e]?" ace_breakpoint ":" ",j.className,"' title='",j.text.join("\n"),"' style='height:",a.lineHeight,"px;'>",e+1);if(i){var k=i[e];k==null&&(k=i[e]=this.session.getFoldWidget(e)),k&&c.push("<span class='ace_fold-widget ",k,k=="start"&&e==h&&e<g.end.row?" closed":" open","'></span>")}var l=this.session.getRowLength(e)-1;while(l--)c.push("</div><div class='ace_gutter-cell' style='height:",a.lineHeight,"px'>¦");c.push("</div>"),e++}this.element=d.setInnerHtml(this.element,c.join("")),this.element.style.height=a.minHeight+"px";var m=this.element.offsetWidth;m!==this.gutterWidth&&(this.gutterWidth=m,this._emit("changeGutterWidth",m))},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(a){a?d.addCssClass(this.element,"ace_folding-enabled"):d.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=a},this.getShowFoldWidgets=function(){return this.$showFoldWidgets}})).call(g.prototype),b.Gutter=g}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(a,b,c){"use strict";var d=a("../range").Range,e=a("../lib/dom"),f=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_marker-layer",a.appendChild(this.element)};((function(){this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.setMarkers=function(a){this.markers=a},this.update=function(a){var a=a||this.config;if(!a)return;this.config=a;var b=[];for(var c in this.markers){var d=this.markers[c],f=d.range.clipRows(a.firstRow,a.lastRow);if(f.isEmpty())continue;f=f.toScreenRange(this.session);if(d.renderer){var g=this.$getTop(f.start.row,a),h=Math.round(this.$padding+f.start.column*a.characterWidth);d.renderer(b,f,h,g,a)}else f.isMultiLine()?d.type=="text"?this.drawTextMarker(b,f,d.clazz,a):this.drawMultiLineMarker(b,f,d.clazz,a,d.type):this.drawSingleLineMarker(b,f,d.clazz,a,null,d.type)}this.element=e.setInnerHtml(this.element,b.join(""))},this.$getTop=function(a,b){return(a-b.firstRowScreen)*b.lineHeight},this.drawTextMarker=function(a,b,c,e){var f=b.start.row,g=new d(f,b.start.column,f,this.session.getScreenLastRowColumn(f));this.drawSingleLineMarker(a,g,c,e,1,"text"),f=b.end.row,g=new d(f,0,f,b.end.column),this.drawSingleLineMarker(a,g,c,e,0,"text");for(f=b.start.row+1;f<b.end.row;f++)g.start.row=f,g.end.row=f,g.end.column=this.session.getScreenLastRowColumn(f),this.drawSingleLineMarker(a,g,c,e,1,"text")},this.drawMultiLineMarker=function(a,b,c,d,e){var f=e==="background"?0:this.$padding,g=d.width+2*this.$padding-f,h=d.lineHeight,i=Math.round(g-b.start.column*d.characterWidth),j=this.$getTop(b.start.row,d),k=Math.round(f+b.start.column*d.characterWidth);a.push("<div class='",c,"' style='","height:",h,"px;","width:",i,"px;","top:",j,"px;","left:",k,"px;'></div>"),j=this.$getTop(b.end.row,d),i=Math.round(b.end.column*d.characterWidth),a.push("<div class='",c,"' style='","height:",h,"px;","width:",i,"px;","top:",j,"px;","left:",f,"px;'></div>"),h=(b.end.row-b.start.row-1)*d.lineHeight;if(h<0)return;j=this.$getTop(b.start.row+1,d),a.push("<div class='",c,"' style='","height:",h,"px;","width:",g,"px;","top:",j,"px;","left:",f,"px;'></div>")},this.drawSingleLineMarker=function(a,b,c,d,e,f){var g=f==="background"?0:this.$padding,h=d.lineHeight;if(f==="background")var i=d.width;else i=Math.round((b.end.column+(e||0)-b.start.column)*d.characterWidth);var j=this.$getTop(b.start.row,d),k=Math.round(g+b.start.column*d.characterWidth);a.push("<div class='",c,"' style='","height:",h,"px;","width:",i,"px;","top:",j,"px;","left:",k,"px;'></div>")}})).call(f.prototype),b.Marker=f}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/dom"),f=a("../lib/lang"),g=a("../lib/useragent"),h=a("../lib/event_emitter").EventEmitter,i=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_text-layer",a.appendChild(this.element),this.$characterSize=this.$measureSizes()||{width:0,height:0},this.$pollSizeChanges()};((function(){d.implement(this,h),this.EOF_CHAR="¶",this.EOL_CHAR="¬",this.TAB_CHAR="→",this.SPACE_CHAR="·",this.$padding=0,this.setPadding=function(a){this.$padding=a,this.element.style.padding="0 "+a+"px"},this.getLineHeight=function(){return this.$characterSize.height||1},this.getCharacterWidth=function(){return this.$characterSize.width||1},this.checkForSizeChanges=function(){var a=this.$measureSizes();a&&(this.$characterSize.width!==a.width||this.$characterSize.height!==a.height)&&(this.$characterSize=a,this._emit("changeCharacterSize",{data:a}))},this.$pollSizeChanges=function(){var a=this;this.$pollSizeChangesTimer=setInterval(function(){a.checkForSizeChanges()},500)},this.$fontStyles={fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},this.$measureSizes=function(){var a=1e3;if(!this.$measureNode){var b=this.$measureNode=e.createElement("div"),c=b.style;c.width=c.height="auto",c.left=c.top=-a*40+"px",c.visibility="hidden",c.position="absolute",c.overflow="visible",c.whiteSpace="nowrap",b.innerHTML=f.stringRepeat("Xy",a);if(this.element.ownerDocument.body)this.element.ownerDocument.body.appendChild(b);else{var d=this.element.parentNode;while(!e.hasCssClass(d,"ace_editor"))d=d.parentNode;d.appendChild(b)}}if(!this.element.offsetWidth)return null;var c=this.$measureNode.style,g=e.computedStyle(this.element);for(var h in this.$fontStyles)c[h]=g[h];var i={height:this.$measureNode.offsetHeight,width:this.$measureNode.offsetWidth/(a*2)};return i.width==0&&i.height==0?null:i},this.setSession=function(a){this.session=a},this.showInvisibles=!1,this.setShowInvisibles=function(a){return this.showInvisibles==a?!1:(this.showInvisibles=a,!0)},this.$tabStrings=[],this.$computeTabString=function(){var a=this.session.getTabSize(),b=this.$tabStrings=[0];for(var c=1;c<a+1;c++)this.showInvisibles?b.push("<span class='ace_invisible'>"+this.TAB_CHAR+(new Array(c)).join("&#160;")+"</span>"):b.push((new Array(c+1)).join("&#160;"))},this.updateLines=function(a,b,c){this.$computeTabString(),(this.config.lastRow!=a.lastRow||this.config.firstRow!=a.firstRow)&&this.scrollLines(a),this.config=a;var d=Math.max(b,a.firstRow),f=Math.min(c,a.lastRow),g=this.element.childNodes,h=0;for(var i=a.firstRow;i<d;i++){var j=this.session.getFoldLine(i);if(j){if(j.containsRow(d)){d=j.start.row;break}i=j.end.row}h++}for(var k=d;k<=f;k++){var l=g[h++];if(!l)continue;var m=[],n=this.session.getTokens(k,k);this.$renderLine(m,k,n[0].tokens,!this.$useLineGroups()),l=e.setInnerHtml(l,m.join("")),k=this.session.getRowFoldEnd(k)}},this.scrollLines=function(a){this.$computeTabString();var b=this.config;this.config=a;if(!b||b.lastRow<a.firstRow)return this.update(a);if(a.lastRow<b.firstRow)return this.update(a);var c=this.element;if(b.firstRow<a.firstRow)for(var d=this.session.getFoldedRowCount(b.firstRow,a.firstRow-1);d>0;d--)c.removeChild(c.firstChild);if(b.lastRow>a.lastRow)for(var d=this.session.getFoldedRowCount(a.lastRow+1,b.lastRow);d>0;d--)c.removeChild(c.lastChild);if(a.firstRow<b.firstRow){var e=this.$renderLinesFragment(a,a.firstRow,b.firstRow-1);c.firstChild?c.insertBefore(e,c.firstChild):c.appendChild(e)}if(a.lastRow>b.lastRow){var e=this.$renderLinesFragment(a,b.lastRow+1,a.lastRow);c.appendChild(e)}},this.$renderLinesFragment=function(a,b,c){var d=this.element.ownerDocument.createDocumentFragment(),f=b,g=this.session.getNextFoldLine(f),h=g?g.start.row:Infinity;for(;;){f>h&&(f=g.end.row+1,g=this.session.getNextFoldLine(f,g),h=g?g.start.row:Infinity);if(f>c)break;var i=e.createElement("div"),j=[],k=this.session.getTokens(f,f);k.length==1&&this.$renderLine(j,f,k[0].tokens,!1),i.innerHTML=j.join("");if(this.$useLineGroups())i.className="ace_line_group",d.appendChild(i);else{var l=i.childNodes;while(l.length)d.appendChild(l[0])}f++}return d},this.update=function(a){this.$computeTabString(),this.config=a;var b=[],c=a.firstRow,d=a.lastRow,f=c,g=this.session.getNextFoldLine(f),h=g?g.start.row:Infinity;for(;;){f>h&&(f=g.end.row+1,g=this.session.getNextFoldLine(f,g),h=g?g.start.row:Infinity);if(f>d)break;this.$useLineGroups()&&b.push("<div class='ace_line_group'>");var i=this.session.getTokens(f,f);i.length==1&&this.$renderLine(b,f,i[0].tokens,!1),this.$useLineGroups()&&b.push("</div>"),f++}this.element=e.setInnerHtml(this.element,b.join(""))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(a,b,c,d){var e=this,f=/\t|&|<|( +)|([\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000])|[\u1100-\u115F]|[\u11A3-\u11A7]|[\u11FA-\u11FF]|[\u2329-\u232A]|[\u2E80-\u2E99]|[\u2E9B-\u2EF3]|[\u2F00-\u2FD5]|[\u2FF0-\u2FFB]|[\u3000-\u303E]|[\u3041-\u3096]|[\u3099-\u30FF]|[\u3105-\u312D]|[\u3131-\u318E]|[\u3190-\u31BA]|[\u31C0-\u31E3]|[\u31F0-\u321E]|[\u3220-\u3247]|[\u3250-\u32FE]|[\u3300-\u4DBF]|[\u4E00-\uA48C]|[\uA490-\uA4C6]|[\uA960-\uA97C]|[\uAC00-\uD7A3]|[\uD7B0-\uD7C6]|[\uD7CB-\uD7FB]|[\uF900-\uFAFF]|[\uFE10-\uFE19]|[\uFE30-\uFE52]|[\uFE54-\uFE66]|[\uFE68-\uFE6B]|[\uFF01-\uFF60]|[\uFFE0-\uFFE6]/g,h=function(a,c,d,f,h){if(a.charCodeAt(0)==32)return(new Array(a.length+1)).join("&#160;");if(a=="\t"){var i=e.session.getScreenTabSize(b+f);return b+=i-1,e.$tabStrings[i]}if(a=="&")return g.isOldGecko?"&":"&amp;";if(a=="<")return"&lt;";if(a==" "){var j=e.showInvisibles?"ace_cjk ace_invisible":"ace_cjk",k=e.showInvisibles?e.SPACE_CHAR:"";return b+=1,"<span class='"+j+"' style='width:"+e.config.characterWidth*2+"px'>"+k+"</span>"}if(a.match(/[\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]/)){if(e.showInvisibles){var k=(new Array(a.length+1)).join(e.SPACE_CHAR);return"<span class='ace_invisible'>"+k+"</span>"}return"&#160;"}return b+=1,"<span class='ace_cjk' style='width:"+e.config.characterWidth*2+"px'>"+a+"</span>"},i=d.replace(f,h);if(!this.$textToken[c.type]){var j="ace_"+c.type.replace(/\./g," ace_"),k="";c.type=="fold"&&(k=" style='width:"+c.value.length*this.config.characterWidth+"px;' "),a.push("<span class='",j,"'",k,">",i,"</span>")}else a.push(i);return b+d.length},this.$renderLineCore=function(a,b,c,d,e){var f=0,g=0,h,i=0,j=this;!d||d.length==0?h=Number.MAX_VALUE:h=d[0],e||a.push("<div class='ace_line' style='height:",this.config.lineHeight,"px","'>");for(var k=0;k<c.length;k++){var l=c[k],m=l.value;if(f+m.length<h)i=j.$renderToken(a,i,l,m),f+=m.length;else{while(f+m.length>=h)i=j.$renderToken(a,i,l,m.substring(0,h-f)),m=m.substring(h-f),f=h,e||a.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px","'>"),g++,i=0,h=d[g]||Number.MAX_VALUE;m.length!=0&&(f+=m.length,i=j.$renderToken(a,i,l,m))}}this.showInvisibles&&(b!==this.session.getLength()-1?a.push("<span class='ace_invisible'>"+this.EOL_CHAR+"</span>"):a.push("<span class='ace_invisible'>"+this.EOF_CHAR+"</span>")),e||a.push("</div>")},this.$renderLine=function(a,b,c,d){if(!this.session.isRowFolded(b)){var e=this.session.getRowSplitData(b);this.$renderLineCore(a,b,c,e,d)}else this.$renderFoldLine(a,b,c,d)},this.$renderFoldLine=function(a,b,c,d){function h(a,b,c){var d=0,e=0;while(e+a[d].value.length<b){e+=a[d].value.length,d++;if(d==a.length)return}if(e!=b){var f=a[d].value.substring(b-e);f.length>c-b&&(f=f.substring(0,c-b)),g.push({type:a[d].type,value:f}),e=b+f.length,d+=1}while(e<c){var f=a[d].value;f.length+e>c&&(f=f.substring(0,c-e)),g.push({type:a[d].type,value:f}),e+=f.length,d+=1}}var e=this.session,f=e.getFoldLine(b),g=[];f.walk(function(a,b,d,e,f){a?g.push({type:"fold",value:a}):(f&&(c=this.session.getTokens(b,b)[0].tokens),c.length!=0&&h(c,e,d))}.bind(this),f.end.row,this.session.getLine(f.end.row).length);var i=this.session.$useWrapMode?this.session.$wrapData[b]:null;this.$renderLineCore(a,b,g,i,d)},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}})).call(i.prototype),b.Text=i}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(a,b,c){"use strict";var d=a("../lib/dom"),e=function(a){this.element=d.createElement("div"),this.element.className="ace_layer ace_cursor-layer",a.appendChild(this.element),this.cursor=d.createElement("div"),this.cursor.className="ace_cursor ace_hidden",this.element.appendChild(this.cursor),this.isVisible=!1};((function(){this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.hideCursor=function(){this.isVisible=!1,d.addCssClass(this.cursor,"ace_hidden"),clearInterval(this.blinkId)},this.showCursor=function(){this.isVisible=!0,d.removeCssClass(this.cursor,"ace_hidden"),this.cursor.style.visibility="visible",this.restartTimer()},this.restartTimer=function(){clearInterval(this.blinkId);if(!this.isVisible)return;var a=this.cursor;this.blinkId=setInterval(function(){a.style.visibility="hidden",setTimeout(function(){a.style.visibility="visible"},400)},1e3)},this.getPixelPosition=function(a,b){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var c=this.session.documentToScreenPosition(a),d=Math.round(this.$padding+c.column*this.config.characterWidth),e=(c.row-(b?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:d,top:e}},this.update=function(a){this.config=a,this.pixelPos=this.getPixelPosition(null,!0),this.cursor.style.left=this.pixelPos.left+"px",this.cursor.style.top=this.pixelPos.top+"px",this.cursor.style.width=a.characterWidth+"px",this.cursor.style.height=a.lineHeight+"px";var b=this.session.getOverwrite();b!=this.overwrite&&(this.overwrite=b,b?d.addCssClass(this.cursor,"ace_overwrite"):d.removeCssClass(this.cursor,"ace_overwrite")),this.restartTimer()},this.destroy=function(){clearInterval(this.blinkId)}})).call(e.prototype),b.Cursor=e}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./lib/event"),g=a("./lib/event_emitter").EventEmitter,h=function(a){this.element=e.createElement("div"),this.element.className="ace_sb",this.inner=e.createElement("div"),this.element.appendChild(this.inner),a.appendChild(this.element),this.width=e.scrollbarWidth(a.ownerDocument),this.element.style.width=(this.width||15)+5+"px",f.addListener(this.element,"scroll",this.onScroll.bind(this))};((function(){d.implement(this,g),this.onScroll=function(){this._emit("scroll",{data:this.element.scrollTop})},this.getWidth=function(){return this.width},this.setHeight=function(a){this.element.style.height=a+"px"},this.setInnerHeight=function(a){this.inner.style.height=a+"px"},this.setScrollTop=function(a){this.element.scrollTop=a}})).call(h.prototype),b.ScrollBar=h}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(a,b,c){"use strict";var d=a("./lib/event"),e=function(a,b){this.onRender=a,this.pending=!1,this.changes=0,this.window=b||window};((function(){this.schedule=function(a){this.changes=this.changes|a;if(!this.pending){this.pending=!0;var b=this;d.nextTick(function(){b.pending=!1;var a;while(a=b.changes)b.changes=0,b.onRender(a)},this.window)}}})).call(e.prototype),b.RenderLoop=e}),define("text!ace/css/editor.css",[],"@import url(//fonts.googleapis.com/css?family=Droid+Sans+Mono);\n\n\n.ace_editor {\n position: absolute;\n overflow: hidden;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Droid Sans Mono', 'Consolas', monospace;\n font-size: 12px;\n}\n\n.ace_scroller {\n position: absolute;\n overflow-x: scroll;\n overflow-y: hidden;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n cursor: text;\n}\n\n.ace_composition {\n position: absolute;\n background: #555;\n color: #DDD;\n z-index: 4;\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n height: 100%;\n width: auto;\n cursor: default;\n}\n\n.ace_gutter-cell {\n padding-left: 19px;\n padding-right: 6px;\n}\n\n.ace_gutter-cell.ace_error {\n background-image: url(\"data:image/gif,GIF89a%10%00%10%00%D5%00%00%F5or%F5%87%88%F5nr%F4ns%EBmq%F5z%7F%DDJT%DEKS%DFOW%F1Yc%F2ah%CE(7%CE)8%D18E%DD%40M%F2KZ%EBU%60%F4%60m%DCir%C8%16(%C8%19*%CE%255%F1%3FR%F1%3FS%E6%AB%B5%CA%5DI%CEn%5E%F7%A2%9A%C9G%3E%E0a%5B%F7%89%85%F5yy%F6%82%80%ED%82%80%FF%BF%BF%E3%C4%C4%FF%FF%FF%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%25%00%2C%00%00%00%00%10%00%10%00%00%06p%C0%92pH%2C%1A%8F%C8%D2H%93%E1d4%23%E4%88%D3%09mB%1DN%B48%F5%90%40%60%92G%5B%94%20%3E%22%D2%87%24%FA%20%24%C5%06A%00%20%B1%07%02B%A38%89X.v%17%82%11%13q%10%0Fi%24%0F%8B%10%7BD%12%0Ei%09%92%09%0EpD%18%15%24%0A%9Ci%05%0C%18F%18%0B%07%04%01%04%06%A0H%18%12%0D%14%0D%12%A1I%B3%B4%B5IA%00%3B\");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning {\n background-image: url(\"data:image/gif,GIF89a%10%00%10%00%D5%00%00%FF%DBr%FF%DE%81%FF%E2%8D%FF%E2%8F%FF%E4%96%FF%E3%97%FF%E5%9D%FF%E6%9E%FF%EE%C1%FF%C8Z%FF%CDk%FF%D0s%FF%D4%81%FF%D5%82%FF%D5%83%FF%DC%97%FF%DE%9D%FF%E7%B8%FF%CCl%7BQ%13%80U%15%82W%16%81U%16%89%5B%18%87%5B%18%8C%5E%1A%94d%1D%C5%83-%C9%87%2F%C6%84.%C6%85.%CD%8B2%C9%871%CB%8A3%CD%8B5%DC%98%3F%DF%9BB%E0%9CC%E1%A5U%CB%871%CF%8B5%D1%8D6%DB%97%40%DF%9AB%DD%99B%E3%B0p%E7%CC%AE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%2F%00%2C%00%00%00%00%10%00%10%00%00%06a%C0%97pH%2C%1A%8FH%A1%ABTr%25%87%2B%04%82%F4%7C%B9X%91%08%CB%99%1C!%26%13%84*iJ9(%15G%CA%84%14%01%1A%97%0C%03%80%3A%9A%3E%81%84%3E%11%08%B1%8B%20%02%12%0F%18%1A%0F%0A%03'F%1C%04%0B%10%16%18%10%0B%05%1CF%1D-%06%07%9A%9A-%1EG%1B%A0%A1%A0U%A4%A5%A6BA%00%3B\");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info {\n background-image: url(\"data:image/gif;base64,R0lGODlhEAAQAMQAAAAAAEFBQVJSUl5eXmRkZGtra39/f4WFhYmJiZGRkaampry8vMPDw8zMzNXV1dzc3OTk5Orq6vDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABQALAAAAAAQABAAAAUuICWOZGmeaBml5XGwFCQSBGyXRSAwtqQIiRuiwIM5BoYVbEFIyGCQoeJGrVptIQA7\");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_editor .ace_sb {\n position: absolute;\n overflow-x: hidden;\n overflow-y: scroll;\n right: 0;\n}\n\n.ace_editor .ace_sb div {\n position: absolute;\n width: 1px;\n left: 0;\n}\n\n.ace_editor .ace_print_margin_layer {\n z-index: 0;\n position: absolute;\n overflow: hidden;\n margin: 0;\n left: 0;\n height: 100%;\n width: 100%;\n}\n\n.ace_editor .ace_print_margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_editor textarea {\n position: fixed;\n z-index: 0;\n width: 10px;\n height: 30px;\n opacity: 0;\n background: transparent;\n appearance: none;\n -moz-appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n white-space: nowrap;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter .ace_layer {\n position: relative;\n min-width: 40px;\n text-align: right;\n pointer-events: auto;\n}\n\n.ace_text-layer {\n color: black;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n}\n\n.ace_cursor.ace_hidden {\n opacity: 0.2;\n}\n\n.ace_line {\n white-space: nowrap;\n}\n\n.ace_marker-layer .ace_step {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 4;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_active_line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected_word {\n position: absolute;\n z-index: 6;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n \n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image: \n url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A'%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82\"),\n url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%3AIDAT8%11c%FC%FF%FF%7F%18%03%1A%60%01%F2%3F%A0%891%80%04%FF%11-%F8%17%9BJ%E2%05%B1ZD%81v%26t%E7%80%F8%A3%82h%A12%1A%20%A3%01%02%0F%01%BA%25%06%00%19%C0%0D%AEF%D5%3ES%00%00%00%00IEND%AEB%60%82\");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n -moz-border-radius: 2px;\n -webkit-border-radius: 2px;\n border-radius: 2px;\n \n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image: \n url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A'%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82\"),\n url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%003IDAT8%11c%FC%FF%FF%7F%3E%03%1A%60%01%F2%3F%A3%891%80%04%FFQ%26%F8w%C0%B43%A1%DB%0C%E2%8F%0A%A2%85%CAh%80%8C%06%08%3C%04%E8%96%18%00%A3S%0D%CD%CF%D8%C1%9D%00%00%00%00IEND%AEB%60%82\");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n}\n\n.ace_dragging .ace_content {\n cursor: move;\n}\n\n.ace_folding-enabled > .ace_gutter-cell {\n padding-right: 13px;\n}\n\n.ace_fold-widget {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n\n margin: 0 -12px 1px 1px;\n display: inline-block;\n height: 14px;\n width: 11px;\n vertical-align: text-bottom;\n \n background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAe%8A%B1%0D%000%0C%C2%F2%2CK%96%BC%D0%8F9%81%88H%E9%D0%0E%96%C0%10%92%3E%02%80%5E%82%E4%A9*-%EEsw%C8%CC%11%EE%96w%D8%DC%E9*Eh%0C%151(%00%00%00%00IEND%AEB%60%82\");\n background-repeat: no-repeat;\n background-position: center 5px;\n\n border-radius: 3px;\n}\n\n.ace_fold-widget.end {\n background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAm%C7%C1%09%000%08C%D1%8C%ECE%C8E(%8E%EC%02)%1EZJ%F1%C1'%04%07I%E1%E5%EE%CAL%F5%A2%99%99%22%E2%D6%1FU%B5%FE0%D9x%A7%26Wz5%0E%D5%00%00%00%00IEND%AEB%60%82\");\n}\n\n.ace_fold-widget.closed {\n background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%03%00%00%00%06%08%06%00%00%00%06%E5%24%0C%00%00%009IDATx%DA5%CA%C1%09%000%08%03%C0%AC*(%3E%04%C1%0D%BA%B1%23%A4Uh%E0%20%81%C0%CC%F8%82%81%AA%A2%AArGfr%88%08%11%11%1C%DD%7D%E0%EE%5B%F6%F6%CB%B8%05Q%2F%E9tai%D9%00%00%00%00IEND%AEB%60%82\");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n -moz-box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.7);\n -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n -webkit-box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.7);\n -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.7);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n background-position: center 4px;\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n -moz-box-shadow:inset 0 1px 1px rgba(255, 255, 255);\n -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n -webkit-box-shadow:inset 0 1px 1px rgba(255, 255, 255);\n -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n box-shadow:inset 0 1px 1px rgba(255, 255, 255);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n\n.ace_fold-widget.invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n"),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/event_emitter").EventEmitter,f=function(b,d,e,f){this.changeListener=this.changeListener.bind(this);if(c.packaged){var g=this.$guessBasePath();this.$worker=new Worker(g+d)}else{var h=this.$normalizePath(a.nameToUrl("ace/worker/worker",null,"_"));this.$worker=new Worker(h);var i={};for(var j=0;j<b.length;j++){var k=b[j],l=this.$normalizePath(a.nameToUrl(k,null,"_").replace(/.js$/,""));i[k]=l}}this.$worker.postMessage({init:!0,tlns:i,module:e,classname:f}),this.callbackId=1,this.callbacks={};var m=this;this.$worker.onerror=function(a){throw window.console&&console.log&&console.log(a),a},this.$worker.onmessage=function(a){var b=a.data;switch(b.type){case"log":window.console&&console.log&&console.log(b.data);break;case"event":m._emit(b.name,{data:b.data});break;case"call":var c=m.callbacks[b.id];c&&(c(b.data),delete m.callbacks[b.id])}}};((function(){d.implement(this,e),this.$normalizePath=function(a){return a=a.replace(/^[a-z]+:\/\/[^\/]+/,""),a=location.protocol+"//"+location.host+(a.charAt(0)=="/"?"":location.pathname.replace(/\/[^\/]*$/,""))+"/"+a.replace(/^[\/]+/,""),a},this.$guessBasePath=function(){if(a.aceBaseUrl)return a.aceBaseUrl;var b=document.getElementsByTagName("script");for(var c=0;c<b.length;c++){var d=b[c],e=d.getAttribute("data-ace-base");if(e)return e.replace(/\/*$/,"/");var f=d.src||d.getAttribute("src");if(!f)continue;var g=f.match(/^(?:(.*\/)ace\.js|(.*\/)ace(-uncompressed)?(-noconflict)?\.js)(?:\?|$)/);if(g)return g[1]||g[2]}return""},this.terminate=function(){this._emit("terminate",{}),this.$worker.terminate(),this.$worker=null,this.$doc.removeEventListener("change",this.changeListener),this.$doc=null},this.send=function(a,b){this.$worker.postMessage({command:a,args:b})},this.call=function(a,b,c){if(c){var d=this.callbackId++;this.callbacks[d]=c,b.push(d)}this.send(a,b)},this.emit=function(a,b){try{this.$worker.postMessage({event:a,data:{data:b.data}})}catch(c){}},this.attachToDocument=function(a){this.$doc&&this.terminate(),this.$doc=a,this.call("setValue",[a.getValue()]),a.on("change",this.changeListener)},this.changeListener=function(a){a.range={start:a.data.range.start,end:a.data.range.end},this.emit("change",a)}})).call(f.prototype),b.WorkerClient=f}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(a,b,c){"use strict",b.isDark=!1,b.cssClass="ace-tm",b.cssText=".ace-tm .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tm .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tm .ace_gutter { background: #e8e8e8; color: #333;}.ace-tm .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tm .ace_fold { background-color: #6B72E6;}.ace-tm .ace_text-layer { cursor: text;}.ace-tm .ace_cursor { border-left: 2px solid black;}.ace-tm .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;} .ace-tm .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-tm .ace_line .ace_keyword { color: blue;}.ace-tm .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-tm .ace_line .ace_constant.ace_language { color: rgb(88, 92, 246);}.ace-tm .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-tm .ace_line .ace_invalid { background-color: rgb(153, 0, 0); color: white;}.ace-tm .ace_line .ace_support.ace_function { color: rgb(60, 76, 114);}.ace-tm .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-tm .ace_line .ace_support.ace_type,.ace-tm .ace_line .ace_support.ace_class { color: rgb(109, 121, 222);}.ace-tm .ace_line .ace_keyword.ace_operator { color: rgb(104, 118, 135);}.ace-tm .ace_line .ace_string { color: rgb(3, 106, 7);}.ace-tm .ace_line .ace_comment { color: rgb(76, 136, 107);}.ace-tm .ace_line .ace_comment.ace_doc { color: rgb(0, 102, 255);}.ace-tm .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(128, 159, 191);}.ace-tm .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 205);}.ace-tm .ace_line .ace_variable { color: rgb(49, 132, 149);}.ace-tm .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function { color: #0000A2;}.ace-tm .ace_markup.ace_markupine { text-decoration:underline;}.ace-tm .ace_markup.ace_heading { color: rgb(12, 7, 255);}.ace-tm .ace_markup.ace_list { color:rgb(185, 6, 144);}.ace-tm .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-tm .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_meta.ace_tag { color:rgb(28, 2, 255);}.ace-tm .ace_string.ace_regex { color: rgb(255, 0, 0)}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)});
8+ (function() {
9+ window.require(["ace/ace"], function(a) {
10+ if (!window.ace)
11+ window.ace = {};
12+ for (var key in a) if (a.hasOwnProperty(key))
13+ ace[key] = a[key];
14+ });
15+ })();
16+
17\ No newline at end of file
18
19=== added file 'js/ace/mode-sql.js'
20--- js/ace/mode-sql.js 1970-01-01 00:00:00 +0000
21+++ js/ace/mode-sql.js 2012-04-04 16:15:27 +0000
22@@ -0,0 +1,1 @@
23+define("ace/mode/sql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/sql_highlight_rules","ace/range"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./sql_highlight_rules").SqlHighlightRules,h=a("../range").Range,i=function(){this.$tokenizer=new f((new g).getRules())};d.inherits(i,e),function(){this.toggleCommentLines=function(a,b,c,d){var e=!0,f=[],g=/^(\s*)--/;for(var i=c;i<=d;i++)if(!g.test(b.getLine(i))){e=!1;break}if(e){var j=new h(0,0,0,0);for(var i=c;i<=d;i++){var k=b.getLine(i),l=k.match(g);j.start.row=i,j.end.row=i,j.end.column=l[0].length,b.replace(j,l[1])}}else b.indentRows(c,d,"--")}}.call(i.prototype),b.Mode=i}),define("ace/mode/sql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("select|from|where|and|or|group|by|order|limit|offset|having|as|case|when|else|end|type|left|right|join|on|outer|desc|asc".split("|")),b=e.arrayToMap("true|false|null".split("|")),c=e.arrayToMap("count|min|max|avg|sum|rank|now|coalesce".split("|"));this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"string",regex:'".*"'},{token:"string",regex:"'.*'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:function(d){return d=d.toLowerCase(),a.hasOwnProperty(d)?"keyword":b.hasOwnProperty(d)?"constant.language":c.hasOwnProperty(d)?"support.function":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"lparen.paren",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};d.inherits(g,f),b.SqlHighlightRules=g})
24\ No newline at end of file
25
26=== added file 'js/ace/theme-chive-uncompressed.js'
27--- js/ace/theme-chive-uncompressed.js 1970-01-01 00:00:00 +0000
28+++ js/ace/theme-chive-uncompressed.js 2012-04-04 16:15:27 +0000
29@@ -0,0 +1,213 @@
30+/* ***** BEGIN LICENSE BLOCK *****
31+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
32+ *
33+ * The contents of this file are subject to the Mozilla Public License Version
34+ * 1.1 (the "License"); you may not use this file except in compliance with
35+ * the License. You may obtain a copy of the License at
36+ * http://www.mozilla.org/MPL/
37+ *
38+ * Software distributed under the License is distributed on an "AS IS" basis,
39+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
40+ * for the specific language governing rights and limitations under the
41+ * License.
42+ *
43+ * The Original Code is Ajax.org Code Editor (ACE).
44+ *
45+ * The Initial Developer of the Original Code is
46+ * Ajax.org B.V.
47+ * Portions created by the Initial Developer are Copyright (C) 2010
48+ * the Initial Developer. All Rights Reserved.
49+ *
50+ * Contributor(s):
51+ * Fabian Jakobs <fabian AT ajax DOT org> (tomorrow theme)
52+ * Fusonic GmbH (chive theme, based on tomorrow theme)
53+ *
54+ * Alternatively, the contents of this file may be used under the terms of
55+ * either the GNU General Public License Version 2 or later (the "GPL"), or
56+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
57+ * in which case the provisions of the GPL or the LGPL are applicable instead
58+ * of those above. If you wish to allow use of your version of this file only
59+ * under the terms of either the GPL or the LGPL, and not to allow others to
60+ * use your version of this file under the terms of the MPL, indicate your
61+ * decision by deleting the provisions above and replace them with the notice
62+ * and other provisions required by the GPL or the LGPL. If you do not delete
63+ * the provisions above, a recipient may use your version of this file under
64+ * the terms of any one of the MPL, the GPL or the LGPL.
65+ *
66+ * ***** END LICENSE BLOCK ***** */
67+
68+define('ace/theme/chive', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) {
69+
70+ exports.isDark = false;
71+ exports.cssClass = "ace-chive";
72+ exports.cssText = "\
73+.ace-chive .ace_editor {\
74+ border: 2px solid rgb(159, 159, 159);\
75+}\
76+\
77+.ace-chive .ace_editor.ace_focus {\
78+ border: 2px solid #327fbd;\
79+}\
80+\
81+.ace-chive .ace_gutter {\
82+ background-color: #F7F7F7;\
83+ color: #ccc;\
84+ border-right: 1px solid #ccc;\
85+}\
86+\
87+.ace-chive .ace_gutter-cell {\
88+ text-align: right;\
89+ min-width: 30px;\
90+ padding: 0px 5px;\
91+}\
92+\
93+.ace-chive .ace_print_margin {\
94+ width: 1px;\
95+ background: #e8e8e8;\
96+}\
97+\
98+.ace-chive .ace_scroller {\
99+ background-color: #F7F7F7;\
100+}\
101+\
102+.ace-chive .ace_text-layer {\
103+ cursor: text;\
104+ color: #444;\
105+}\
106+\
107+.ace-chive .ace_cursor {\
108+ border-left: 2px solid #AEAFAD;\
109+}\
110+\
111+.ace-chive .ace_cursor.ace_overwrite {\
112+ border-left: 0px;\
113+ border-bottom: 1px solid #AEAFAD;\
114+}\
115+ \
116+.ace-chive .ace_marker-layer .ace_selection {\
117+ background: #D6D6D6;\
118+}\
119+\
120+.ace-chive .ace_marker-layer .ace_step {\
121+ background: rgb(198, 219, 174);\
122+}\
123+\
124+.ace-chive .ace_marker-layer .ace_bracket {\
125+ margin: -1px 0 0 -1px;\
126+ border: 1px solid #D1D1D1;\
127+}\
128+\
129+.ace-chive .ace_marker-layer .ace_active_line {\
130+ background: #EFEFEF;\
131+}\
132+\
133+.ace-chive .ace_marker-layer .ace_selected_word {\
134+ border: 1px solid #D6D6D6;\
135+}\
136+ \
137+.ace-chive .ace_invisible {\
138+ color: #D1D1D1;\
139+}\
140+\
141+.ace-chive .ace_identifier {\
142+ color: #879EFA;\
143+}\
144+\
145+.ace-chive .ace_keyword, .ace-chive .ace_meta {\
146+ color:#60CA00;\
147+}\
148+\
149+.ace-chive .ace_keyword.ace_operator {\
150+ color:magenta;\
151+}\
152+\
153+.ace-chive .ace_constant.ace_language {\
154+ color:#F5871F;\
155+}\
156+\
157+.ace-chive .ace_constant.ace_numeric {\
158+ color:#F5871F;\
159+}\
160+\
161+.ace-chive .ace_constant.ace_other {\
162+ color:#666969;\
163+}\
164+\
165+.ace-chive .ace_invalid {\
166+ color:#FFFFFF;\
167+background-color:#C82829;\
168+}\
169+\
170+.ace-chive .ace_invalid.ace_deprecated {\
171+ color:#FFFFFF;\
172+background-color:#8959A8;\
173+}\
174+\
175+.ace-chive .ace_support.ace_constant {\
176+ color:#F5871F;\
177+}\
178+\
179+.ace-chive .ace_fold {\
180+ background-color: #4271AE;\
181+ border-color: #4D4D4C;\
182+}\
183+\
184+.ace-chive .ace_support.ace_function {\
185+ color:#4271AE;\
186+}\
187+\
188+.ace-chive .ace_storage {\
189+ color:#8959A8;\
190+}\
191+\
192+.ace-chive .ace_storage.ace_type, .ace-chive .ace_support.ace_type{\
193+ color:#8959A8;\
194+}\
195+\
196+.ace-chive .ace_variable {\
197+ color:#4271AE;\
198+}\
199+\
200+.ace-chive .ace_variable.ace_parameter {\
201+ color:#F5871F;\
202+}\
203+\
204+.ace-chive .ace_string {\
205+ color:#879EFA;\
206+}\
207+\
208+.ace-chive .ace_string.ace_regexp {\
209+ color:#879EFA;\
210+}\
211+\
212+.ace-chive .ace_comment {\
213+ color:#8E908C;\
214+}\
215+\
216+.ace-chive .ace_variable {\
217+ color:#C82829;\
218+}\
219+\
220+.ace-chive .ace_meta.ace_tag {\
221+ color:#C82829;\
222+}\
223+\
224+.ace-chive .ace_entity.ace_other.ace_attribute-name {\
225+ color:#C82829;\
226+}\
227+\
228+.ace-chive .ace_entity.ace_name.ace_function {\
229+ color:#4271AE;\
230+}\
231+\
232+.ace-chive .ace_markup.ace_underline {\
233+ text-decoration:underline;\
234+}\
235+\
236+.ace-chive .ace_markup.ace_heading {\
237+ color:#718C00;\
238+}";
239+
240+ var dom = require("../lib/dom");
241+ dom.importCssString(exports.cssText, exports.cssClass);
242+});
243\ No newline at end of file
244
245=== modified file 'js/chive.js'
246--- js/chive.js 2011-09-01 08:01:12 +0000
247+++ js/chive.js 2012-04-04 16:15:27 +0000
248@@ -105,7 +105,61 @@
249 });
250
251 },
252-
253+
254+ initAce: function(id)
255+ {
256+ var editor = ace.edit(id + '_editor');
257+ var session = editor.getSession();
258+ var div = $('#' + id + '_editor');
259+ var container = $('#' + id + '_container');
260+
261+ // Set SQL edit mode
262+ var sqlMode = require("ace/mode/sql").Mode;
263+ session.setMode(new sqlMode());
264+
265+ // Set theme and layout
266+ editor.setTheme("ace/theme/chive");
267+ editor.setShowPrintMargin(false);
268+ editor.setFontSize("16px");
269+
270+ // Value
271+ var textArea = $('#' + id);
272+ session.setValue(textArea.val());
273+ session.on('change', function() {
274+ textArea.val(session.getValue());
275+ });
276+
277+ // Set resizing to container width
278+ var containerWidth = container.width();
279+ window.setInterval(function() {
280+ if(container.width() != containerWidth)
281+ {
282+ containerWidth = container.width();
283+ editor.resize();
284+ }
285+ }, 100);
286+
287+ // Set autogrow
288+ var minHeight = 100;
289+ var maxHeight = 300;
290+ session.on('change', function() {
291+ var lines = session.getValue().split("\n").length;
292+
293+ var calculatedHeight = lines * 18 + 20;
294+ if(calculatedHeight > maxHeight)
295+ {
296+ calculatedHeight = maxHeight;
297+ }
298+ else if(calculatedHeight < minHeight)
299+ {
300+ calculatedHeight = minHeight;
301+ }
302+
303+ div.height(calculatedHeight);
304+ editor.resize();
305+ });
306+ },
307+
308 /*
309 * Loads the specified page.
310 */
311
312=== removed directory 'js/components'
313=== removed directory 'js/components/EditArea'
314=== removed file 'js/components/EditArea/edit_area_full.js'
315--- js/components/EditArea/edit_area_full.js 2011-05-17 16:24:47 +0000
316+++ js/components/EditArea/edit_area_full.js 1970-01-01 00:00:00 +0000
317@@ -1,1235 +0,0 @@
318-function EAL() {
319- var t = this;
320- t.version = "0.8.2";
321- date = new Date();
322- t.start_time = date.getTime();
323- t.win = "loading";
324- t.error = false;
325- t.baseURL = "";
326- t.template = "";
327- t.lang = {};
328- t.load_syntax = {};
329- t.syntax = {};
330- t.loadedFiles = [];
331- t.waiting_loading = {};
332- t.scripts_to_load = [];
333- t.sub_scripts_to_load = [];
334- t.syntax_display_name = {
335- 'basic': 'Basic',
336- 'brainfuck': 'Brainfuck',
337- 'c': 'C',
338- 'coldfusion': 'Coldfusion',
339- 'cpp': 'CPP',
340- 'css': 'CSS',
341- 'html': 'HTML',
342- 'java': 'Java',
343- 'js': 'Javascript',
344- 'pas': 'Pascal',
345- 'perl': 'Perl',
346- 'php': 'Php',
347- 'python': 'Python',
348- 'robotstxt': 'Robots txt',
349- 'ruby': 'Ruby',
350- 'sql': 'SQL',
351- 'tsql': 'T-SQL',
352- 'vb': 'Visual Basic',
353- 'xml': 'XML'
354- };
355- t.resize = [];
356- t.hidden = {};
357- t.default_settings = {
358- debug: false,
359- smooth_selection: true,
360- font_size: "10",
361- font_family: "monospace",
362- start_highlight: false,
363- toolbar: "search,go_to_line,fullscreen,|,undo,redo,|,select_font,|,change_smooth_selection,highlight,reset_highlight,word_wrap,|,help",
364- begin_toolbar: "",
365- end_toolbar: "",
366- is_multi_files: false,
367- allow_resize: "both",
368- show_line_colors: false,
369- min_width: 400,
370- min_height: 125,
371- replace_tab_by_spaces: false,
372- allow_toggle: true,
373- language: "en",
374- syntax: "",
375- syntax_selection_allow: "basic,brainfuck,c,coldfusion,cpp,css,html,java,js,pas,perl,php,python,ruby,robotstxt,sql,tsql,vb,xml",
376- display: "onload",
377- max_undo: 30,
378- browsers: "known",
379- plugins: "",
380- gecko_spellcheck: false,
381- fullscreen: false,
382- is_editable: true,
383- cursor_position: "begin",
384- word_wrap: false,
385- autocompletion: false,
386- load_callback: "",
387- save_callback: "",
388- change_callback: "",
389- submit_callback: "",
390- EA_init_callback: "",
391- EA_delete_callback: "",
392- EA_load_callback: "",
393- EA_unload_callback: "",
394- EA_toggle_on_callback: "",
395- EA_toggle_off_callback: "",
396- EA_file_switch_on_callback: "",
397- EA_file_switch_off_callback: "",
398- EA_file_close_callback: ""
399- };
400- t.advanced_buttons = [
401- ['new_document', 'newdocument.gif', 'new_document', false],
402- ['search', 'search.gif', 'show_search', false],
403- ['go_to_line', 'go_to_line.gif', 'go_to_line', false],
404- ['undo', 'undo.gif', 'undo', true],
405- ['redo', 'redo.gif', 'redo', true],
406- ['change_smooth_selection', 'smooth_selection.gif', 'change_smooth_selection_mode', true],
407- ['reset_highlight', 'reset_highlight.gif', 'resync_highlight', true],
408- ['highlight', 'highlight.gif', 'change_highlight', true],
409- ['help', 'help.gif', 'show_help', false],
410- ['save', 'save.gif', 'save', false],
411- ['load', 'load.gif', 'load', false],
412- ['fullscreen', 'fullscreen.gif', 'toggle_full_screen', false],
413- ['word_wrap', 'word_wrap.gif', 'toggle_word_wrap', true],
414- ['autocompletion', 'autocompletion.gif', 'toggle_autocompletion', true]
415- ];
416- t.set_browser_infos(t);
417- if (t.isIE >= 6 || t.isGecko || (t.isWebKit && !t.isSafari < 3) || t.isOpera >= 9 || t.isCamino) t.isValidBrowser = true;
418- else t.isValidBrowser = false;
419- t.set_base_url();
420- for (var i = 0; i < t.scripts_to_load.length; i++) {
421- setTimeout("eAL.load_script('" + t.baseURL + t.scripts_to_load[i] + ".js');", 1);
422- t.waiting_loading[t.scripts_to_load[i] + ".js"] = false;
423- }
424- t.add_event(window, "load", EAL.prototype.window_loaded);
425-};
426-EAL.prototype = {
427- has_error: function () {
428- this.error = true;
429- for (var i in EAL.prototype) {
430- EAL.prototype[i] = function () {};
431- }
432- },
433- set_browser_infos: function (o) {
434- ua = navigator.userAgent;
435- o.isWebKit = /WebKit/.test(ua);
436- o.isGecko = !o.isWebKit && /Gecko/.test(ua);
437- o.isMac = /Mac/.test(ua);
438- o.isIE = (navigator.appName == "Microsoft Internet Explorer");
439- if (o.isIE) {
440- o.isIE = ua.replace(/^.*?MSIE\s+([0-9\.]+).*$/, "$1");
441- if (o.isIE < 6) o.has_error();
442- }
443- if (o.isOpera = (ua.indexOf('Opera') != -1)) {
444- o.isOpera = ua.replace(/^.*?Opera.*?([0-9\.]+).*$/i, "$1");
445- if (o.isOpera < 9) o.has_error();
446- o.isIE = false;
447- }
448- if (o.isFirefox = (ua.indexOf('Firefox') != -1)) o.isFirefox = ua.replace(/^.*?Firefox.*?([0-9\.]+).*$/i, "$1");
449- if (ua.indexOf('Iceweasel') != -1) o.isFirefox = ua.replace(/^.*?Iceweasel.*?([0-9\.]+).*$/i, "$1");
450- if (ua.indexOf('GranParadiso') != -1) o.isFirefox = ua.replace(/^.*?GranParadiso.*?([0-9\.]+).*$/i, "$1");
451- if (ua.indexOf('BonEcho') != -1) o.isFirefox = ua.replace(/^.*?BonEcho.*?([0-9\.]+).*$/i, "$1");
452- if (ua.indexOf('SeaMonkey') != -1) o.isFirefox = (ua.replace(/^.*?SeaMonkey.*?([0-9\.]+).*$/i, "$1")) + 1;
453- if (o.isCamino = (ua.indexOf('Camino') != -1)) o.isCamino = ua.replace(/^.*?Camino.*?([0-9\.]+).*$/i, "$1");
454- if (o.isSafari = (ua.indexOf('Safari') != -1)) o.isSafari = ua.replace(/^.*?Version\/([0-9]+\.[0-9]+).*$/i, "$1");
455- if (o.isChrome = (ua.indexOf('Chrome') != -1)) {
456- o.isChrome = ua.replace(/^.*?Chrome.*?([0-9\.]+).*$/i, "$1");
457- o.isSafari = false;
458- }
459- },
460- window_loaded: function () {
461- eAL.win = "loaded";
462- if (document.forms) {
463- for (var i = 0; i < document.forms.length; i++) {
464- var form = document.forms[i];
465- form.edit_area_replaced_submit = null;
466- try {
467- form.edit_area_replaced_submit = form.onsubmit;
468- form.onsubmit = "";
469- } catch(e) {}
470- eAL.add_event(form, "submit", EAL.prototype.submit);
471- eAL.add_event(form, "reset", EAL.prototype.reset);
472- }
473- }
474- eAL.add_event(window, "unload", function () {
475- for (var i in eAs) {
476- eAL.delete_instance(i);
477- }
478- });
479- },
480- init_ie_textarea: function (id) {
481- var a = document.getElementById(id);
482- try {
483- if (a && typeof(a.focused) == "undefined") {
484- a.focus();
485- a.focused = true;
486- a.selectionStart = a.selectionEnd = 0;
487- get_IE_selection(a);
488- eAL.add_event(a, "focus", IE_textarea_focus);
489- eAL.add_event(a, "blur", IE_textarea_blur);
490- }
491- } catch(ex) {}
492- },
493- init: function (settings) {
494- var t = this,
495- s = settings,
496- i;
497- if (!s["id"]) t.has_error();
498- if (t.error) return;
499- if (eAs[s["id"]]) t.delete_instance(s["id"]);
500- for (i in t.default_settings) {
501- if (typeof(s[i]) == "undefined") s[i] = t.default_settings[i];
502- }
503- if (s["browsers"] == "known" && t.isValidBrowser == false) {
504- return;
505- }
506- if (s["begin_toolbar"].length > 0) s["toolbar"] = s["begin_toolbar"] + "," + s["toolbar"];
507- if (s["end_toolbar"].length > 0) s["toolbar"] = s["toolbar"] + "," + s["end_toolbar"];
508- s["tab_toolbar"] = s["toolbar"].replace(/ /g, "").split(",");
509- s["plugins"] = s["plugins"].replace(/ /g, "").split(",");
510- for (i = 0; i < s["plugins"].length; i++) {
511- if (s["plugins"][i].length == 0) s["plugins"].splice(i, 1);
512- }
513- t.get_template();
514- t.load_script(t.baseURL + "langs/" + s["language"] + ".js");
515- if (s["syntax"].length > 0) {
516- s["syntax"] = s["syntax"].toLowerCase();
517- t.load_script(t.baseURL + "reg_syntax/" + s["syntax"] + ".js");
518- }
519- eAs[s["id"]] = {
520- "settings": s
521- };
522- eAs[s["id"]]["displayed"] = false;
523- eAs[s["id"]]["hidden"] = false;
524- t.start(s["id"]);
525- },
526- delete_instance: function (id) {
527- var d = document,
528- fs = window.frames,
529- span, iframe;
530- eAL.execCommand(id, "EA_delete");
531- if (fs["frame_" + id] && fs["frame_" + id].editArea) {
532- if (eAs[id]["displayed"]) eAL.toggle(id, "off");
533- fs["frame_" + id].editArea.execCommand("EA_unload");
534- }
535- span = d.getElementById("EditAreaArroundInfos_" + id);
536- if (span) span.parentNode.removeChild(span);
537- iframe = d.getElementById("frame_" + id);
538- if (iframe) {
539- iframe.parentNode.removeChild(iframe);
540- try {
541- delete fs["frame_" + id];
542- } catch(e) {}
543- }
544- delete eAs[id];
545- },
546- start: function (id) {
547- var t = this,
548- d = document,
549- f, span, father, next, html = '',
550- html_toolbar_content = '',
551- template, content, i;
552- if (t.win != "loaded") {
553- setTimeout("eAL.start('" + id + "');", 50);
554- return;
555- }
556- for (i in t.waiting_loading) {
557- if (t.waiting_loading[i] != "loaded" && typeof(t.waiting_loading[i]) != "function") {
558- setTimeout("eAL.start('" + id + "');", 50);
559- return;
560- }
561- }
562- if (!t.lang[eAs[id]["settings"]["language"]] || (eAs[id]["settings"]["syntax"].length > 0 && !t.load_syntax[eAs[id]["settings"]["syntax"]])) {
563- setTimeout("eAL.start('" + id + "');", 50);
564- return;
565- }
566- if (eAs[id]["settings"]["syntax"].length > 0) t.init_syntax_regexp();
567- if (!d.getElementById("EditAreaArroundInfos_" + id) && (eAs[id]["settings"]["debug"] || eAs[id]["settings"]["allow_toggle"])) {
568- span = d.createElement("span");
569- span.id = "EditAreaArroundInfos_" + id;
570- if (eAs[id]["settings"]["allow_toggle"]) {
571- checked = (eAs[id]["settings"]["display"] == "onload") ? "checked='checked'" : "";
572- html += "<div id='edit_area_toggle_" + i + "'>";
573- html += "<input id='edit_area_toggle_checkbox_" + id + "' class='toggle_" + id + "' type='checkbox' onclick='eAL.toggle(\"" + id + "\");' accesskey='e' " + checked + " />";
574- html += "<label for='edit_area_toggle_checkbox_" + id + "'>{$toggle}</label></div>";
575- }
576- if (eAs[id]["settings"]["debug"]) html += "<textarea id='edit_area_debug_" + id + "' spellcheck='off' style='z-index:20;width:100%;height:120px;overflow:auto;border:solid black 1px;'></textarea><br />";
577- html = t.translate(html, eAs[id]["settings"]["language"]);
578- span.innerHTML = html;
579- father = d.getElementById(id).parentNode;
580- next = d.getElementById(id).nextSibling;
581- if (next == null) father.appendChild(span);
582- else father.insertBefore(span, next);
583- }
584- if (!eAs[id]["initialized"]) {
585- t.execCommand(id, "EA_init");
586- if (eAs[id]["settings"]["display"] == "later") {
587- eAs[id]["initialized"] = true;
588- return;
589- }
590- }
591- if (t.isIE) {
592- t.init_ie_textarea(id);
593- }
594- var area = eAs[id];
595- for (i = 0; i < area["settings"]["tab_toolbar"].length; i++) {
596- html_toolbar_content += t.get_control_html(area["settings"]["tab_toolbar"][i], area["settings"]["language"]);
597- }
598- html_toolbar_content = t.translate(html_toolbar_content, area["settings"]["language"], "template");
599- if (!t.iframe_script) {
600- t.iframe_script = "";
601- for (i = 0; i < t.sub_scripts_to_load.length; i++) t.iframe_script += '<script language="javascript" type="text/javascript" src="' + t.baseURL + t.sub_scripts_to_load[i] + '.js"></script>';
602- }
603- for (i = 0; i < area["settings"]["plugins"].length; i++) {
604- if (!t.all_plugins_loaded) t.iframe_script += '<script language="javascript" type="text/javascript" src="' + t.baseURL + 'plugins/' + area["settings"]["plugins"][i] + '/' + area["settings"]["plugins"][i] + '.js"></script>';
605- t.iframe_script += '<script language="javascript" type="text/javascript" src="' + t.baseURL + 'plugins/' + area["settings"]["plugins"][i] + '/langs/' + area["settings"]["language"] + '.js"></script>';
606- }
607- if (!t.iframe_css) {
608- t.iframe_css = "<link href='" + t.baseURL + "edit_area.css' rel='stylesheet' type='text/css' />";
609- }
610- template = t.template.replace(/\[__BASEURL__\]/g, t.baseURL);
611- template = template.replace("[__TOOLBAR__]", html_toolbar_content);
612- template = t.translate(template, area["settings"]["language"], "template");
613- template = template.replace("[__CSSRULES__]", t.iframe_css);
614- template = template.replace("[__JSCODE__]", t.iframe_script);
615- template = template.replace("[__EA_VERSION__]", t.version);
616- area.textarea = d.getElementById(area["settings"]["id"]);
617- eAs[area["settings"]["id"]]["textarea"] = area.textarea;
618- if (typeof(window.frames["frame_" + area["settings"]["id"]]) != 'undefined') delete window.frames["frame_" + area["settings"]["id"]];
619- father = area.textarea.parentNode;
620- content = d.createElement("iframe");
621- content.name = "frame_" + area["settings"]["id"];
622- content.id = "frame_" + area["settings"]["id"];
623- content.style.borderWidth = "0px";
624- setAttribute(content, "frameBorder", "0");
625- content.style.overflow = "hidden";
626- content.style.display = "none";
627- next = area.textarea.nextSibling;
628- if (next == null) father.appendChild(content);
629- else father.insertBefore(content, next);
630- f = window.frames["frame_" + area["settings"]["id"]];
631- window.setTimeout(function() {
632- f.document.open();
633- f.eAs = eAs;
634- f.area_id = area["settings"]["id"];
635- f.document.area_id = area["settings"]["id"];
636- f.document.write(template);
637- f.document.close();
638- }, 1);
639- },
640- toggle: function (id, toggle_to) {
641- if (!toggle_to) toggle_to = (eAs[id]["displayed"] == true) ? "off" : "on";
642- if (eAs[id]["displayed"] == true && toggle_to == "off") {
643- this.toggle_off(id);
644- } else if (eAs[id]["displayed"] == false && toggle_to == "on") {
645- this.toggle_on(id);
646- }
647- return false;
648- },
649- toggle_off: function (id) {
650- var fs = window.frames,
651- f, t, parNod, nxtSib, selStart, selEnd, scrollTop, scrollLeft;
652- if (fs["frame_" + id]) {
653- f = fs["frame_" + id];
654- t = eAs[id]["textarea"];
655- if (f.editArea.fullscreen['isFull']) f.editArea.toggle_full_screen(false);
656- eAs[id]["displayed"] = false;
657- t.wrap = "off";
658- setAttribute(t, "wrap", "off");
659- parNod = t.parentNode;
660- nxtSib = t.nextSibling;
661- parNod.removeChild(t);
662- parNod.insertBefore(t, nxtSib);
663- t.value = f.editArea.textarea.value;
664- selStart = f.editArea.last_selection["selectionStart"];
665- selEnd = f.editArea.last_selection["selectionEnd"];
666- scrollTop = f.document.getElementById("result").scrollTop;
667- scrollLeft = f.document.getElementById("result").scrollLeft;
668- document.getElementById("frame_" + id).style.display = 'none';
669- t.style.display = "inline";
670- try {
671- t.focus();
672- } catch(e) {};
673- if (this.isIE) {
674- t.selectionStart = selStart;
675- t.selectionEnd = selEnd;
676- t.focused = true;
677- set_IE_selection(t);
678- } else {
679- if (this.isOpera && this.isOpera < 9.6) {
680- t.setSelectionRange(0, 0);
681- }
682- try {
683- t.setSelectionRange(selStart, selEnd);
684- } catch(e) {};
685- }
686- t.scrollTop = scrollTop;
687- t.scrollLeft = scrollLeft;
688- f.editArea.execCommand("toggle_off");
689- }
690- },
691- toggle_on: function (id) {
692- var fs = window.frames,
693- f, t, selStart = 0,
694- selEnd = 0,
695- scrollTop = 0,
696- scrollLeft = 0,
697- curPos, elem;
698- if (fs["frame_" + id]) {
699- f = fs["frame_" + id];
700- t = eAs[id]["textarea"];
701- area = f.editArea;
702- area.textarea.value = t.value;
703- curPos = eAs[id]["settings"]["cursor_position"];
704- if (t.use_last == true) {
705- selStart = t.last_selectionStart;
706- selEnd = t.last_selectionEnd;
707- scrollTop = t.last_scrollTop;
708- scrollLeft = t.last_scrollLeft;
709- t.use_last = false;
710- } else if (curPos == "auto") {
711- try {
712- selStart = t.selectionStart;
713- selEnd = t.selectionEnd;
714- scrollTop = t.scrollTop;
715- scrollLeft = t.scrollLeft;
716- } catch(ex) {}
717- }
718- this.set_editarea_size_from_textarea(id, document.getElementById("frame_" + id));
719- t.style.display = "none";
720- document.getElementById("frame_" + id).style.display = "inline";
721- area.execCommand("focus");
722- eAs[id]["displayed"] = true;
723- area.execCommand("update_size");
724- f.document.getElementById("result").scrollTop = scrollTop;
725- f.document.getElementById("result").scrollLeft = scrollLeft;
726- area.area_select(selStart, selEnd - selStart);
727- area.execCommand("toggle_on");
728- } else {
729- elem = document.getElementById(id);
730- elem.last_selectionStart = elem.selectionStart;
731- elem.last_selectionEnd = elem.selectionEnd;
732- elem.last_scrollTop = elem.scrollTop;
733- elem.last_scrollLeft = elem.scrollLeft;
734- elem.use_last = true;
735- eAL.start(id);
736- }
737- },
738- set_editarea_size_from_textarea: function (id, frame) {
739- var elem, width, height;
740- elem = document.getElementById(id);
741- width = Math.max(eAs[id]["settings"]["min_width"], elem.offsetWidth) + "px";
742- height = Math.max(eAs[id]["settings"]["min_height"], elem.offsetHeight) + "px";
743- if (elem.style.width.indexOf("%") != -1) width = elem.style.width;
744- if (elem.style.height.indexOf("%") != -1) height = elem.style.height;
745- frame.style.width = width;
746- frame.style.height = height;
747- },
748- set_base_url: function () {
749- var t = this,
750- elems, i, docBasePath;
751- if (!this.baseURL) {
752- elems = document.getElementsByTagName('script');
753- for (i = 0; i < elems.length; i++) {
754- if (elems[i].src && elems[i].src.match(/edit_area_[^\\\/]*$/i)) {
755- var src = unescape(elems[i].src);
756- src = src.substring(0, src.lastIndexOf('/'));
757- this.baseURL = src;
758- this.file_name = elems[i].src.substr(elems[i].src.lastIndexOf("/") + 1);
759- break;
760- }
761- }
762- }
763- docBasePath = document.location.href;
764- if (docBasePath.indexOf('?') != -1) docBasePath = docBasePath.substring(0, docBasePath.indexOf('?'));
765- docBasePath = docBasePath.substring(0, docBasePath.lastIndexOf('/'));
766- if (t.baseURL.indexOf('://') == -1 && t.baseURL.charAt(0) != '/') {
767- t.baseURL = docBasePath + "/" + t.baseURL;
768- }
769- t.baseURL += "/";
770- },
771- get_button_html: function (id, img, exec, isFileSpecific, baseURL) {
772- var cmd, html;
773- if (!baseURL) baseURL = this.baseURL;
774- cmd = 'editArea.execCommand(\'' + exec + '\')';
775- html = '<a id="a_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + ';return false;" onmousedown="return false;" target="_self" fileSpecific="' + (isFileSpecific ? 'yes' : 'no') + '">';
776- html += '<img id="' + id + '" src="' + baseURL + 'images/' + img + '" title="{$' + id + '}" width="20" height="20" class="editAreaButtonNormal" onmouseover="editArea.switchClass(this,\'editAreaButtonOver\');" onmouseout="editArea.restoreClass(this);" onmousedown="editArea.restoreAndSwitchClass(this,\'editAreaButtonDown\');" /></a>';
777- return html;
778- },
779- get_control_html: function (button_name, lang) {
780- var t = this,
781- i, but, html, si;
782- for (i = 0; i < t.advanced_buttons.length; i++) {
783- but = t.advanced_buttons[i];
784- if (but[0] == button_name) {
785- return t.get_button_html(but[0], but[1], but[2], but[3]);
786- }
787- }
788- switch (button_name) {
789- case "*":
790- case "return":
791- return "<br />";
792- case "|":
793- case "separator":
794- return '<img src="' + t.baseURL + 'images/spacer.gif" width="1" height="15" class="editAreaSeparatorLine">';
795- case "select_font":
796- html = "<select id='area_font_size' onchange='javascript:editArea.execCommand(\"change_font_size\")' fileSpecific='yes'>";
797- html += "<option value='-1'>{$font_size}</option>";
798- si = [8, 9, 10, 11, 12, 14];
799- for (i = 0; i < si.length; i++) {
800- html += "<option value='" + si[i] + "'>" + si[i] + " pt</option>";
801- }
802- html += "</select>";
803- return html;
804- case "syntax_selection":
805- html = "<select id='syntax_selection' onchange='javascript:editArea.execCommand(\"change_syntax\",this.value)' fileSpecific='yes'>";
806- html += "<option value='-1'>{$syntax_selection}</option>";
807- html += "</select>";
808- return html;
809- }
810- return "<span id='tmp_tool_" + button_name + "'>[" + button_name + "]</span>";
811- },
812- get_template: function () {
813- if (this.template == "") {
814- var xhr_object = null;
815- if (window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
816- else if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
817- else {
818- alert("XMLHTTPRequest not supported. EditArea not loaded");
819- return;
820- }
821- xhr_object.open("GET", this.baseURL + "template.html", false);
822- xhr_object.send(null);
823- if (xhr_object.readyState == 4) this.template = xhr_object.responseText;
824- else this.has_error();
825- }
826- },
827- translate: function (text, lang, mode) {
828- if (mode == "word") text = eAL.get_word_translation(text, lang);
829- else if (mode = "template") {
830- eAL.current_language = lang;
831- text = text.replace(/\{\$([^\}]+)\}/gm, eAL.translate_template);
832- }
833- return text;
834- },
835- translate_template: function () {
836- return eAL.get_word_translation(EAL.prototype.translate_template.arguments[1], eAL.current_language);
837- },
838- get_word_translation: function (val, lang) {
839- var i;
840- for (i in eAL.lang[lang]) {
841- if (i == val) return eAL.lang[lang][i];
842- }
843- return "_" + val;
844- },
845- load_script: function (url) {
846- var t = this,
847- d = document,
848- script, head;
849- if (t.loadedFiles[url]) return;
850- try {
851- script = d.createElement("script");
852- script.type = "text/javascript";
853- script.src = url;
854- script.charset = "UTF-8";
855- d.getElementsByTagName("head")[0].appendChild(script);
856- } catch(e) {
857- d.write('<sc' + 'ript language="javascript" type="text/javascript" src="' + url + '" charset="UTF-8"></sc' + 'ript>');
858- }
859- t.loadedFiles[url] = true;
860- },
861- add_event: function (obj, name, handler) {
862- try {
863- if (obj.attachEvent) {
864- obj.attachEvent("on" + name, handler);
865- } else {
866- obj.addEventListener(name, handler, false);
867- }
868- } catch(e) {}
869- },
870- remove_event: function (obj, name, handler) {
871- try {
872- if (obj.detachEvent) obj.detachEvent("on" + name, handler);
873- else obj.removeEventListener(name, handler, false);
874- } catch(e) {}
875- },
876- reset: function (e) {
877- var formObj, is_child, i, x;
878- formObj = eAL.isIE ? window.event.srcElement : e.target;
879- if (formObj.tagName != 'FORM') formObj = formObj.form;
880- for (i in eAs) {
881- is_child = false;
882- for (x = 0; x < formObj.elements.length; x++) {
883- if (formObj.elements[x].id == i) is_child = true;
884- }
885- if (window.frames["frame_" + i] && is_child && eAs[i]["displayed"] == true) {
886- var exec = 'window.frames["frame_' + i + '"].editArea.textarea.value=document.getElementById("' + i + '").value;';
887- exec += 'window.frames["frame_' + i + '"].editArea.execCommand("focus");';
888- exec += 'window.frames["frame_' + i + '"].editArea.check_line_selection();';
889- exec += 'window.frames["frame_' + i + '"].editArea.execCommand("reset");';
890- window.setTimeout(exec, 10);
891- }
892- }
893- return;
894- },
895- submit: function (e) {
896- var formObj, is_child, fs = window.frames,
897- i, x;
898- formObj = eAL.isIE ? window.event.srcElement : e.target;
899- if (formObj.tagName != 'FORM') formObj = formObj.form;
900- for (i in eAs) {
901- is_child = false;
902- for (x = 0; x < formObj.elements.length; x++) {
903- if (formObj.elements[x].id == i) is_child = true;
904- }
905- if (is_child) {
906- if (fs["frame_" + i] && eAs[i]["displayed"] == true) document.getElementById(i).value = fs["frame_" + i].editArea.textarea.value;
907- eAL.execCommand(i, "EA_submit");
908- }
909- }
910- if (typeof(formObj.edit_area_replaced_submit) == "function") {
911- res = formObj.edit_area_replaced_submit();
912- if (res == false) {
913- if (eAL.isIE) return false;
914- else e.preventDefault();
915- }
916- }
917- return;
918- },
919- getValue: function (id) {
920- if (window.frames["frame_" + id] && eAs[id]["displayed"] == true) {
921- return window.frames["frame_" + id].editArea.textarea.value;
922- } else if (elem = document.getElementById(id)) {
923- return elem.value;
924- }
925- return false;
926- },
927- setValue: function (id, new_val) {
928- var fs = window.frames;
929- if ((f = fs["frame_" + id]) && eAs[id]["displayed"] == true) {
930- f.editArea.textarea.value = new_val;
931- f.editArea.execCommand("focus");
932- f.editArea.check_line_selection(false);
933- f.editArea.execCommand("onchange");
934- } else if (elem = document.getElementById(id)) {
935- elem.value = new_val;
936- }
937- },
938- getSelectionRange: function (id) {
939- var sel, eA, fs = window.frames;
940- sel = {
941- "start": 0,
942- "end": 0
943- };
944- if (fs["frame_" + id] && eAs[id]["displayed"] == true) {
945- eA = fs["frame_" + id].editArea;
946- sel["start"] = eA.textarea.selectionStart;
947- sel["end"] = eA.textarea.selectionEnd;
948- } else if (elem = document.getElementById(id)) {
949- sel = getSelectionRange(elem);
950- }
951- return sel;
952- },
953- setSelectionRange: function (id, new_start, new_end) {
954- var fs = window.frames;
955- if (fs["frame_" + id] && eAs[id]["displayed"] == true) {
956- fs["frame_" + id].editArea.area_select(new_start, new_end - new_start);
957- if (!this.isIE) {
958- fs["frame_" + id].editArea.check_line_selection(false);
959- fs["frame_" + id].editArea.scroll_to_view();
960- }
961- } else if (elem = document.getElementById(id)) {
962- setSelectionRange(elem, new_start, new_end);
963- }
964- },
965- getSelectedText: function (id) {
966- var sel = this.getSelectionRange(id);
967- return this.getValue(id).substring(sel["start"], sel["end"]);
968- },
969- setSelectedText: function (id, new_val) {
970- var fs = window.frames,
971- d = document,
972- sel, text, scrollTop, scrollLeft, new_sel_end;
973- new_val = new_val.replace(/\r/g, "");
974- sel = this.getSelectionRange(id);
975- text = this.getValue(id);
976- if (fs["frame_" + id] && eAs[id]["displayed"] == true) {
977- scrollTop = fs["frame_" + id].document.getElementById("result").scrollTop;
978- scrollLeft = fs["frame_" + id].document.getElementById("result").scrollLeft;
979- } else {
980- scrollTop = d.getElementById(id).scrollTop;
981- scrollLeft = d.getElementById(id).scrollLeft;
982- }
983- text = text.substring(0, sel["start"]) + new_val + text.substring(sel["end"]);
984- this.setValue(id, text);
985- new_sel_end = sel["start"] + new_val.length;
986- this.setSelectionRange(id, sel["start"], new_sel_end);
987- if (new_val != this.getSelectedText(id).replace(/\r/g, "")) {
988- this.setSelectionRange(id, sel["start"], new_sel_end + new_val.split("\n").length - 1);
989- }
990- if (fs["frame_" + id] && eAs[id]["displayed"] == true) {
991- fs["frame_" + id].document.getElementById("result").scrollTop = scrollTop;
992- fs["frame_" + id].document.getElementById("result").scrollLeft = scrollLeft;
993- fs["frame_" + id].editArea.execCommand("onchange");
994- } else {
995- d.getElementById(id).scrollTop = scrollTop;
996- d.getElementById(id).scrollLeft = scrollLeft;
997- }
998- },
999- insertTags: function (id, open_tag, close_tag) {
1000- var old_sel, new_sel;
1001- old_sel = this.getSelectionRange(id);
1002- text = open_tag + this.getSelectedText(id) + close_tag;
1003- eAL.setSelectedText(id, text);
1004- new_sel = this.getSelectionRange(id);
1005- if (old_sel["end"] > old_sel["start"]) this.setSelectionRange(id, new_sel["end"], new_sel["end"]);
1006- else this.setSelectionRange(id, old_sel["start"] + open_tag.length, old_sel["start"] + open_tag.length);
1007- },
1008- hide: function (id) {
1009- var fs = window.frames,
1010- d = document,
1011- t = this,
1012- scrollTop, scrollLeft, span;
1013- if (d.getElementById(id) && !t.hidden[id]) {
1014- t.hidden[id] = {};
1015- t.hidden[id]["selectionRange"] = t.getSelectionRange(id);
1016- if (d.getElementById(id).style.display != "none") {
1017- t.hidden[id]["scrollTop"] = d.getElementById(id).scrollTop;
1018- t.hidden[id]["scrollLeft"] = d.getElementById(id).scrollLeft;
1019- }
1020- if (fs["frame_" + id]) {
1021- t.hidden[id]["toggle"] = eAs[id]["displayed"];
1022- if (fs["frame_" + id] && eAs[id]["displayed"] == true) {
1023- scrollTop = fs["frame_" + id].document.getElementById("result").scrollTop;
1024- scrollLeft = fs["frame_" + id].document.getElementById("result").scrollLeft;
1025- } else {
1026- scrollTop = d.getElementById(id).scrollTop;
1027- scrollLeft = d.getElementById(id).scrollLeft;
1028- }
1029- t.hidden[id]["scrollTop"] = scrollTop;
1030- t.hidden[id]["scrollLeft"] = scrollLeft;
1031- if (eAs[id]["displayed"] == true) eAL.toggle_off(id);
1032- }
1033- span = d.getElementById("EditAreaArroundInfos_" + id);
1034- if (span) {
1035- span.style.display = 'none';
1036- }
1037- d.getElementById(id).style.display = "none";
1038- }
1039- },
1040- show: function (id) {
1041- var fs = window.frames,
1042- d = document,
1043- t = this,
1044- span;
1045- if ((elem = d.getElementById(id)) && t.hidden[id]) {
1046- elem.style.display = "inline";
1047- elem.scrollTop = t.hidden[id]["scrollTop"];
1048- elem.scrollLeft = t.hidden[id]["scrollLeft"];
1049- span = d.getElementById("EditAreaArroundInfos_" + id);
1050- if (span) {
1051- span.style.display = 'inline';
1052- }
1053- if (fs["frame_" + id]) {
1054- elem.style.display = "inline";
1055- if (t.hidden[id]["toggle"] == true) eAL.toggle_on(id);
1056- scrollTop = t.hidden[id]["scrollTop"];
1057- scrollLeft = t.hidden[id]["scrollLeft"];
1058- if (fs["frame_" + id] && eAs[id]["displayed"] == true) {
1059- fs["frame_" + id].document.getElementById("result").scrollTop = scrollTop;
1060- fs["frame_" + id].document.getElementById("result").scrollLeft = scrollLeft;
1061- } else {
1062- elem.scrollTop = scrollTop;
1063- elem.scrollLeft = scrollLeft;
1064- }
1065- }
1066- sel = t.hidden[id]["selectionRange"];
1067- t.setSelectionRange(id, sel["start"], sel["end"]);
1068- delete t.hidden[id];
1069- }
1070- },
1071- getCurrentFile: function (id) {
1072- return this.execCommand(id, 'get_file', this.execCommand(id, 'curr_file'));
1073- },
1074- getFile: function (id, file_id) {
1075- return this.execCommand(id, 'get_file', file_id);
1076- },
1077- getAllFiles: function (id) {
1078- return this.execCommand(id, 'get_all_files()');
1079- },
1080- openFile: function (id, file_infos) {
1081- return this.execCommand(id, 'open_file', file_infos);
1082- },
1083- closeFile: function (id, file_id) {
1084- return this.execCommand(id, 'close_file', file_id);
1085- },
1086- setFileEditedMode: function (id, file_id, to) {
1087- var reg1, reg2;
1088- reg1 = new RegExp('\\\\', 'g');
1089- reg2 = new RegExp('"', 'g');
1090- return this.execCommand(id, 'set_file_edited_mode("' + file_id.replace(reg1, '\\\\').replace(reg2, '\\"') + '",' + to + ')');
1091- },
1092- execCommand: function (id, cmd, fct_param) {
1093- switch (cmd) {
1094- case "EA_init":
1095- if (eAs[id]['settings']["EA_init_callback"].length > 0) eval(eAs[id]['settings']["EA_init_callback"] + "('" + id + "');");
1096- break;
1097- case "EA_delete":
1098- if (eAs[id]['settings']["EA_delete_callback"].length > 0) eval(eAs[id]['settings']["EA_delete_callback"] + "('" + id + "');");
1099- break;
1100- case "EA_submit":
1101- if (eAs[id]['settings']["submit_callback"].length > 0) eval(eAs[id]['settings']["submit_callback"] + "('" + id + "');");
1102- break;
1103- }
1104- if (window.frames["frame_" + id] && window.frames["frame_" + id].editArea) {
1105- if (fct_param != undefined) return eval('window.frames["frame_' + id + '"].editArea.' + cmd + '(fct_param);');
1106- else return eval('window.frames["frame_' + id + '"].editArea.' + cmd + ';');
1107- }
1108- return false;
1109- }
1110-};
1111-var eAL = new EAL();
1112-var eAs = {};
1113-
1114-function getAttribute(elm, aName) {
1115- var aValue, taName, i;
1116- try {
1117- aValue = elm.getAttribute(aName);
1118- } catch(exept) {}
1119- if (!aValue) {
1120- for (i = 0; i < elm.attributes.length; i++) {
1121- taName = elm.attributes[i].name.toLowerCase();
1122- if (taName == aName) {
1123- aValue = elm.attributes[i].value;
1124- return aValue;
1125- }
1126- }
1127- }
1128- return aValue;
1129-};
1130-
1131-function setAttribute(elm, attr, val) {
1132- if (attr == "class") {
1133- elm.setAttribute("className", val);
1134- elm.setAttribute("class", val);
1135- } else {
1136- elm.setAttribute(attr, val);
1137- }
1138-};
1139-
1140-function getChildren(elem, elem_type, elem_attribute, elem_attribute_match, option, depth) {
1141- if (!option) var option = "single";
1142- if (!depth) var depth = -1;
1143- if (elem) {
1144- var children = elem.childNodes;
1145- var result = null;
1146- var results = [];
1147- for (var x = 0; x < children.length; x++) {
1148- strTagName = new String(children[x].tagName);
1149- children_class = "?";
1150- if (strTagName != "undefined") {
1151- child_attribute = getAttribute(children[x], elem_attribute);
1152- if ((strTagName.toLowerCase() == elem_type.toLowerCase() || elem_type == "") && (elem_attribute == "" || child_attribute == elem_attribute_match)) {
1153- if (option == "all") {
1154- results.push(children[x]);
1155- } else {
1156- return children[x];
1157- }
1158- }
1159- if (depth != 0) {
1160- result = getChildren(children[x], elem_type, elem_attribute, elem_attribute_match, option, depth - 1);
1161- if (option == "all") {
1162- if (result.length > 0) {
1163- results = results.concat(result);
1164- }
1165- } else if (result != null) {
1166- return result;
1167- }
1168- }
1169- }
1170- }
1171- if (option == "all") return results;
1172- }
1173- return null;
1174-};
1175-
1176-function isChildOf(elem, parent) {
1177- if (elem) {
1178- if (elem == parent) return true;
1179- while (elem.parentNode != 'undefined') {
1180- return isChildOf(elem.parentNode, parent);
1181- }
1182- }
1183- return false;
1184-};
1185-
1186-function getMouseX(e) {
1187- if (e != null && typeof(e.pageX) != "undefined") {
1188- return e.pageX;
1189- } else {
1190- return (e != null ? e.x : event.x) + document.documentElement.scrollLeft;
1191- }
1192-};
1193-
1194-function getMouseY(e) {
1195- if (e != null && typeof(e.pageY) != "undefined") {
1196- return e.pageY;
1197- } else {
1198- return (e != null ? e.y : event.y) + document.documentElement.scrollTop;
1199- }
1200-};
1201-
1202-function calculeOffsetLeft(r) {
1203- return calculeOffset(r, "offsetLeft")
1204-};
1205-
1206-function calculeOffsetTop(r) {
1207- return calculeOffset(r, "offsetTop")
1208-};
1209-
1210-function calculeOffset(element, attr) {
1211- var offset = 0;
1212- while (element) {
1213- offset += element[attr];
1214- element = element.offsetParent
1215- }
1216- return offset;
1217-};
1218-
1219-function get_css_property(elem, prop) {
1220- if (document.defaultView) {
1221- return document.defaultView.getComputedStyle(elem, null).getPropertyValue(prop);
1222- } else if (elem.currentStyle) {
1223- var prop = prop.replace(/-\D/gi, function (sMatch) {
1224- return sMatch.charAt(sMatch.length - 1).toUpperCase();
1225- });
1226- return elem.currentStyle[prop];
1227- } else return null;
1228-}
1229-var _mCE;
1230-
1231-function start_move_element(e, id, frame) {
1232- var elem_id = (e.target || e.srcElement).id;
1233- if (id) elem_id = id;
1234- if (!frame) frame = window;
1235- if (frame.event) e = frame.event;
1236- _mCE = frame.document.getElementById(elem_id);
1237- _mCE.frame = frame;
1238- frame.document.onmousemove = move_element;
1239- frame.document.onmouseup = end_move_element;
1240- mouse_x = getMouseX(e);
1241- mouse_y = getMouseY(e);
1242- _mCE.start_pos_x = mouse_x - (_mCE.style.left.replace("px", "") || calculeOffsetLeft(_mCE));
1243- _mCE.start_pos_y = mouse_y - (_mCE.style.top.replace("px", "") || calculeOffsetTop(_mCE));
1244- return false;
1245-};
1246-
1247-function end_move_element(e) {
1248- _mCE.frame.document.onmousemove = "";
1249- _mCE.frame.document.onmouseup = "";
1250- _mCE = null;
1251-};
1252-
1253-function move_element(e) {
1254- var newTop, newLeft, maxLeft;
1255- if (_mCE.frame && _mCE.frame.event) e = _mCE.frame.event;
1256- newTop = getMouseY(e) - _mCE.start_pos_y;
1257- newLeft = getMouseX(e) - _mCE.start_pos_x;
1258- maxLeft = _mCE.frame.document.body.offsetWidth - _mCE.offsetWidth;
1259- max_top = _mCE.frame.document.body.offsetHeight - _mCE.offsetHeight;
1260- newTop = Math.min(Math.max(0, newTop), max_top);
1261- newLeft = Math.min(Math.max(0, newLeft), maxLeft);
1262- _mCE.style.top = newTop + "px";
1263- _mCE.style.left = newLeft + "px";
1264- return false;
1265-};
1266-var nav = eAL.nav;
1267-
1268-function getSelectionRange(textarea) {
1269- return {
1270- "start": textarea.selectionStart,
1271- "end": textarea.selectionEnd
1272- };
1273-};
1274-
1275-function setSelectionRange(t, start, end) {
1276- t.focus();
1277- start = Math.max(0, Math.min(t.value.length, start));
1278- end = Math.max(start, Math.min(t.value.length, end));
1279- if (nav.isOpera && nav.isOpera < 9.6) {
1280- t.selectionEnd = 1;
1281- t.selectionStart = 0;
1282- t.selectionEnd = 1;
1283- t.selectionStart = 0;
1284- }
1285- t.selectionStart = start;
1286- t.selectionEnd = end;
1287- if (nav.isIE) set_IE_selection(t);
1288-};
1289-
1290-function get_IE_selection(t) {
1291- var d = document,
1292- div, range, stored_range, elem, scrollTop, relative_top, line_start, line_nb, range_start, range_end, tab;
1293- if (t && t.focused) {
1294- if (!t.ea_line_height) {
1295- div = d.createElement("div");
1296- div.style.fontFamily = get_css_property(t, "font-family");
1297- div.style.fontSize = get_css_property(t, "font-size");
1298- div.style.visibility = "hidden";
1299- div.innerHTML = "0";
1300- d.body.appendChild(div);
1301- t.ea_line_height = div.offsetHeight;
1302- d.body.removeChild(div);
1303- }
1304- range = d.selection.createRange();
1305- try {
1306- stored_range = range.duplicate();
1307- stored_range.moveToElementText(t);
1308- stored_range.setEndPoint('EndToEnd', range);
1309- if (stored_range.parentElement() == t) {
1310- elem = t;
1311- scrollTop = 0;
1312- while (elem.parentNode) {
1313- scrollTop += elem.scrollTop;
1314- elem = elem.parentNode;
1315- }
1316- relative_top = range.offsetTop - calculeOffsetTop(t) + scrollTop;
1317- line_start = Math.round((relative_top / t.ea_line_height) + 1);
1318- line_nb = Math.round(range.boundingHeight / t.ea_line_height);
1319- range_start = stored_range.text.length - range.text.length;
1320- tab = t.value.substr(0, range_start).split("\n");
1321- range_start += (line_start - tab.length) * 2;
1322- t.selectionStart = range_start;
1323- range_end = t.selectionStart + range.text.length;
1324- tab = t.value.substr(0, range_start + range.text.length).split("\n");
1325- range_end += (line_start + line_nb - 1 - tab.length) * 2;
1326- t.selectionEnd = range_end;
1327- }
1328- } catch(e) {}
1329- }
1330- if (t && t.id) {
1331- setTimeout("get_IE_selection(document.getElementById('" + t.id + "'));", 50);
1332- }
1333-};
1334-
1335-function IE_textarea_focus() {
1336- event.srcElement.focused = true;
1337-}
1338-function IE_textarea_blur() {
1339- event.srcElement.focused = false;
1340-}
1341-function set_IE_selection(t) {
1342- var nbLineStart, nbLineStart, nbLineEnd, range;
1343- if (!window.closed) {
1344- nbLineStart = t.value.substr(0, t.selectionStart).split("\n").length - 1;
1345- nbLineEnd = t.value.substr(0, t.selectionEnd).split("\n").length - 1;
1346- try {
1347- range = document.selection.createRange();
1348- range.moveToElementText(t);
1349- range.setEndPoint('EndToStart', range);
1350- range.moveStart('character', t.selectionStart - nbLineStart);
1351- range.moveEnd('character', t.selectionEnd - nbLineEnd - (t.selectionStart - nbLineStart));
1352- range.select();
1353- } catch(e) {}
1354- }
1355-};
1356-eAL.waiting_loading["elements_functions.js"] = "loaded";
1357-EAL.prototype.start_resize_area = function () {
1358- var d = document,
1359- a, div, width, height, father;
1360- d.onmouseup = eAL.end_resize_area;
1361- d.onmousemove = eAL.resize_area;
1362- eAL.toggle(eAL.resize["id"]);
1363- a = eAs[eAL.resize["id"]]["textarea"];
1364- div = d.getElementById("edit_area_resize");
1365- if (!div) {
1366- div = d.createElement("div");
1367- div.id = "edit_area_resize";
1368- div.style.border = "dashed #888888 1px";
1369- }
1370- width = a.offsetWidth - 2;
1371- height = a.offsetHeight - 2;
1372- div.style.display = "block";
1373- div.style.width = width + "px";
1374- div.style.height = height + "px";
1375- father = a.parentNode;
1376- father.insertBefore(div, a);
1377- a.style.display = "none";
1378- eAL.resize["start_top"] = calculeOffsetTop(div);
1379- eAL.resize["start_left"] = calculeOffsetLeft(div);
1380-};
1381-EAL.prototype.end_resize_area = function (e) {
1382- var d = document,
1383- div, a, width, height;
1384- d.onmouseup = "";
1385- d.onmousemove = "";
1386- div = d.getElementById("edit_area_resize");
1387- a = eAs[eAL.resize["id"]]["textarea"];
1388- width = Math.max(eAs[eAL.resize["id"]]["settings"]["min_width"], div.offsetWidth - 4);
1389- height = Math.max(eAs[eAL.resize["id"]]["settings"]["min_height"], div.offsetHeight - 4);
1390- if (eAL.isIE == 6) {
1391- width -= 2;
1392- height -= 2;
1393- }
1394- a.style.width = width + "px";
1395- a.style.height = height + "px";
1396- div.style.display = "none";
1397- a.style.display = "inline";
1398- a.selectionStart = eAL.resize["selectionStart"];
1399- a.selectionEnd = eAL.resize["selectionEnd"];
1400- eAL.toggle(eAL.resize["id"]);
1401- return false;
1402-};
1403-EAL.prototype.resize_area = function (e) {
1404- var allow, newHeight, newWidth;
1405- allow = eAs[eAL.resize["id"]]["settings"]["allow_resize"];
1406- if (allow == "both" || allow == "y") {
1407- newHeight = Math.max(20, getMouseY(e) - eAL.resize["start_top"]);
1408- document.getElementById("edit_area_resize").style.height = newHeight + "px";
1409- }
1410- if (allow == "both" || allow == "x") {
1411- newWidth = Math.max(20, getMouseX(e) - eAL.resize["start_left"]);
1412- document.getElementById("edit_area_resize").style.width = newWidth + "px";
1413- }
1414- return false;
1415-};
1416-eAL.waiting_loading["resize_area.js"] = "loaded";
1417-EAL.prototype.get_regexp = function (text_array) {
1418- res = "(\\b)(";
1419- for (i = 0; i < text_array.length; i++) {
1420- if (i > 0) res += "|";
1421- res += this.get_escaped_regexp(text_array[i]);
1422- }
1423- res += ")(\\b)";
1424- reg = new RegExp(res);
1425- return res;
1426-};
1427-EAL.prototype.get_escaped_regexp = function (str) {
1428- return str.toString().replace(/(\.|\?|\*|\+|\\|\(|\)|\[|\]|\}|\{|\$|\^|\|)/g, "\\$1");
1429-};
1430-EAL.prototype.init_syntax_regexp = function () {
1431- var lang_style = {};
1432- for (var lang in this.load_syntax) {
1433- if (!this.syntax[lang]) {
1434- this.syntax[lang] = {};
1435- this.syntax[lang]["keywords_reg_exp"] = {};
1436- this.keywords_reg_exp_nb = 0;
1437- if (this.load_syntax[lang]['KEYWORDS']) {
1438- param = "g";
1439- if (this.load_syntax[lang]['KEYWORD_CASE_SENSITIVE'] === false) param += "i";
1440- for (var i in this.load_syntax[lang]['KEYWORDS']) {
1441- if (typeof(this.load_syntax[lang]['KEYWORDS'][i]) == "function") continue;
1442- this.syntax[lang]["keywords_reg_exp"][i] = new RegExp(this.get_regexp(this.load_syntax[lang]['KEYWORDS'][i]), param);
1443- this.keywords_reg_exp_nb++;
1444- }
1445- }
1446- if (this.load_syntax[lang]['OPERATORS']) {
1447- var str = "";
1448- var nb = 0;
1449- for (var i in this.load_syntax[lang]['OPERATORS']) {
1450- if (typeof(this.load_syntax[lang]['OPERATORS'][i]) == "function") continue;
1451- if (nb > 0) str += "|";
1452- str += this.get_escaped_regexp(this.load_syntax[lang]['OPERATORS'][i]);
1453- nb++;
1454- }
1455- if (str.length > 0) this.syntax[lang]["operators_reg_exp"] = new RegExp("(" + str + ")", "g");
1456- }
1457- if (this.load_syntax[lang]['DELIMITERS']) {
1458- var str = "";
1459- var nb = 0;
1460- for (var i in this.load_syntax[lang]['DELIMITERS']) {
1461- if (typeof(this.load_syntax[lang]['DELIMITERS'][i]) == "function") continue;
1462- if (nb > 0) str += "|";
1463- str += this.get_escaped_regexp(this.load_syntax[lang]['DELIMITERS'][i]);
1464- nb++;
1465- }
1466- if (str.length > 0) this.syntax[lang]["delimiters_reg_exp"] = new RegExp("(" + str + ")", "g");
1467- }
1468- var syntax_trace = [];
1469- this.syntax[lang]["quotes"] = {};
1470- var quote_tab = [];
1471- if (this.load_syntax[lang]['QUOTEMARKS']) {
1472- for (var i in this.load_syntax[lang]['QUOTEMARKS']) {
1473- if (typeof(this.load_syntax[lang]['QUOTEMARKS'][i]) == "function") continue;
1474- var x = this.get_escaped_regexp(this.load_syntax[lang]['QUOTEMARKS'][i]);
1475- this.syntax[lang]["quotes"][x] = x;
1476- quote_tab[quote_tab.length] = "(" + x + "(\\\\.|[^" + x + "])*(?:" + x + "|$))";
1477- syntax_trace.push(x);
1478- }
1479- }
1480- this.syntax[lang]["comments"] = {};
1481- if (this.load_syntax[lang]['COMMENT_SINGLE']) {
1482- for (var i in this.load_syntax[lang]['COMMENT_SINGLE']) {
1483- if (typeof(this.load_syntax[lang]['COMMENT_SINGLE'][i]) == "function") continue;
1484- var x = this.get_escaped_regexp(this.load_syntax[lang]['COMMENT_SINGLE'][i]);
1485- quote_tab[quote_tab.length] = "(" + x + "(.|\\r|\\t)*(\\n|$))";
1486- syntax_trace.push(x);
1487- this.syntax[lang]["comments"][x] = "\n";
1488- }
1489- }
1490- if (this.load_syntax[lang]['COMMENT_MULTI']) {
1491- for (var i in this.load_syntax[lang]['COMMENT_MULTI']) {
1492- if (typeof(this.load_syntax[lang]['COMMENT_MULTI'][i]) == "function") continue;
1493- var start = this.get_escaped_regexp(i);
1494- var end = this.get_escaped_regexp(this.load_syntax[lang]['COMMENT_MULTI'][i]);
1495- quote_tab[quote_tab.length] = "(" + start + "(.|\\n|\\r)*?(" + end + "|$))";
1496- syntax_trace.push(start);
1497- syntax_trace.push(end);
1498- this.syntax[lang]["comments"][i] = this.load_syntax[lang]['COMMENT_MULTI'][i];
1499- }
1500- }
1501- if (quote_tab.length > 0) this.syntax[lang]["comment_or_quote_reg_exp"] = new RegExp("(" + quote_tab.join("|") + ")", "gi");
1502- if (syntax_trace.length > 0) this.syntax[lang]["syntax_trace_regexp"] = new RegExp("((.|\n)*?)(\\\\*(" + syntax_trace.join("|") + "|$))", "gmi");
1503- if (this.load_syntax[lang]['SCRIPT_DELIMITERS']) {
1504- this.syntax[lang]["script_delimiters"] = {};
1505- for (var i in this.load_syntax[lang]['SCRIPT_DELIMITERS']) {
1506- if (typeof(this.load_syntax[lang]['SCRIPT_DELIMITERS'][i]) == "function") continue;
1507- this.syntax[lang]["script_delimiters"][i] = this.load_syntax[lang]['SCRIPT_DELIMITERS'];
1508- }
1509- }
1510- this.syntax[lang]["custom_regexp"] = {};
1511- if (this.load_syntax[lang]['REGEXPS']) {
1512- for (var i in this.load_syntax[lang]['REGEXPS']) {
1513- if (typeof(this.load_syntax[lang]['REGEXPS'][i]) == "function") continue;
1514- var val = this.load_syntax[lang]['REGEXPS'][i];
1515- if (!this.syntax[lang]["custom_regexp"][val['execute']]) this.syntax[lang]["custom_regexp"][val['execute']] = {};
1516- this.syntax[lang]["custom_regexp"][val['execute']][i] = {
1517- 'regexp': new RegExp(val['search'], val['modifiers']),
1518- 'class': val['class']
1519- };
1520- }
1521- }
1522- if (this.load_syntax[lang]['STYLES']) {
1523- lang_style[lang] = {};
1524- for (var i in this.load_syntax[lang]['STYLES']) {
1525- if (typeof(this.load_syntax[lang]['STYLES'][i]) == "function") continue;
1526- if (typeof(this.load_syntax[lang]['STYLES'][i]) != "string") {
1527- for (var j in this.load_syntax[lang]['STYLES'][i]) {
1528- lang_style[lang][j] = this.load_syntax[lang]['STYLES'][i][j];
1529- }
1530- } else {
1531- lang_style[lang][i] = this.load_syntax[lang]['STYLES'][i];
1532- }
1533- }
1534- }
1535- var style = "";
1536- for (var i in lang_style[lang]) {
1537- if (lang_style[lang][i].length > 0) {
1538- style += "." + lang + " ." + i.toLowerCase() + " span{" + lang_style[lang][i] + "}\n";
1539- style += "." + lang + " ." + i.toLowerCase() + "{" + lang_style[lang][i] + "}\n";
1540- }
1541- }
1542- this.syntax[lang]["styles"] = style;
1543- }
1544- }
1545-};
1546-eAL.waiting_loading["reg_syntax.js"] = "loaded";
1547-var editAreaLoader = eAL;
1548-var editAreas = eAs;
1549-EditAreaLoader = EAL;
1550-editAreaLoader.iframe_script = "<script type='text/javascript'> Ã EA(){var t=Á;t.error=Ì;t.inlinePopup=[{popup_id:\"area_search_replace\",icon_id:\"search\"},{popup_id:\"edit_area_help\",icon_id:\"help\"}];t.plugins={};t.line_number=0;È.eAL.set_browser_infos(t);if(t.isIE >=8)t.isIE=7;t.É={};t.last_text_to_highlight=\"\";t.last_hightlighted_text=\"\";t.syntax_list=[];t.allready_used_syntax={};t.check_line_selection_timer=50;t.ÂFocused=Ì;t.highlight_selection_line=null;t.previous=[];t.next=[];t.last_undo=\"\";t.files={};t.filesIdAssoc={};t.curr_file='';t.assocBracket={};t.revertAssocBracket={};t.assocBracket[\"(\"]=\")\";t.assocBracket[\"{\"]=\"}\";t.assocBracket[\"[\"]=\"]\";for(var index in t.assocBracket){t.revertAssocBracket[t.assocBracket[index]]=index;}t.is_editable=Ë;t.lineHeight=16;t.tab_nb_char=8;if(t.isOpera)t.tab_nb_char=6;t.is_tabbing=Ì;t.fullscreen={'isFull':Ì};t.isResizing=Ì;t.id=area_id;t.Å=eAs[t.id][\"Å\"];if((\"\"+t.Å['replace_tab_by_spaces']).match(/^[0-9]+$/)){t.tab_nb_char=t.Å['replace_tab_by_spaces'];t.tabulation=\"\";for(var i=0;i<t.tab_nb_char;i++)t.tabulation+=\" \";}\nelse{t.tabulation=\"\t\";}if(t.Å[\"syntax_selection_allow\"]&&t.Å[\"syntax_selection_allow\"].Æ>0)t.syntax_list=t.Å[\"syntax_selection_allow\"].replace(/ /g,\"\").split(\",\");if(t.Å['syntax'])t.allready_used_syntax[t.Å['syntax']]=Ë;};EA.Ä.init=Ã(){var t=Á,a,s=t.Å;t.Â=_$(\"Â\");t.container=_$(\"container\");t.result=_$(\"result\");t.content_highlight=_$(\"content_highlight\");t.selection_field=_$(\"selection_field\");t.selection_field_text=_$(\"selection_field_text\");t.processing_screen=_$(\"processing\");t.editor_area=_$(\"editor\");t.tab_browsing_area=_$(\"tab_browsing_area\");t.test_font_size=_$(\"test_font_size\");a=t.Â;if(!s['is_editable'])t.set_editable(Ì);t.set_show_line_colors(s['show_line_colors']);if(syntax_selec=_$(\"syntax_selection\")){for(var i=0;i<t.syntax_list.Æ;i++){var syntax=t.syntax_list[i];var option=document.createElement(\"option\");option.Ê=syntax;if(syntax==s['syntax'])option.selected=\"selected\";dispSyntax=È.eAL.syntax_display_name[ syntax ];option.innerHTML=typeof(dispSyntax)=='undefined' ? syntax.substring(0,1).toUpperCase()+syntax.substring(1):dispSyntax;syntax_selec.appendChild(option);}}spans=È.getChildren(_$(\"toolbar_1\"),\"span\",\"\",\"\",\"all\",-1);for(var i=0;i<spans.Æ;i++){id=spans[i].id.replace(/tmp_tool_(.*)/,\"$1\");if(id!=spans[i].id){for(var j in t.plugins){if(typeof(t.plugins[j].get_control_html)==\"Ã\"){html=t.plugins[j].get_control_html(id);if(html!=Ì){html=t.get_translation(html,\"template\");var new_span=document.createElement(\"span\");new_span.innerHTML=html;var father=spans[i].ÈNode;spans[i].ÈNode.replaceChild(new_span,spans[i]);break;}}}}}if(s[\"debug\"]){t.debug=È.document.getElementById(\"edit_area_debug_\"+t.id);}if(_$(\"redo\")!=null)t.switchClassSticky(_$(\"redo\"),'editAreaButtonDisabled',Ë);if(typeof(È.eAL.syntax[s[\"syntax\"]])!=\"undefined\"){for(var i in È.eAL.syntax){if(typeof(È.eAL.syntax[i][\"Çs\"])!=\"undefined\"){t.add_Ç(È.eAL.syntax[i][\"Çs\"]);}}}if(t.isOpera)_$(\"editor\").onkeypress=keyDown;\nelse _$(\"editor\").onkeydown=keyDown;for(var i=0;i<t.inlinePopup.Æ;i++){if(t.isOpera)_$(t.inlinePopup[i][\"popup_id\"]).onkeypress=keyDown;\nelse _$(t.inlinePopup[i][\"popup_id\"]).onkeydown=keyDown;}if(s[\"allow_resize\"]==\"both\"||s[\"allow_resize\"]==\"x\"||s[\"allow_resize\"]==\"y\")t.allow_resize(Ë);È.eAL.toggle(t.id,\"on\");t.change_smooth_selection_mode(eA.smooth_selection);t.execCommand(\"change_highlight\",s[\"start_highlight\"]);t.set_font(eA.Å[\"font_family\"],eA.Å[\"font_size\"]);children=È.getChildren(document.body,\"\",\"selec\",\"none\",\"all\",-1);for(var i=0;i<children.Æ;i++){if(t.isIE)children[i].unselectable=Ë;\nelse children[i].onmousedown=Ã(){return Ì};}a.spellcheck=s[\"gecko_spellcheck\"];if(t.isFirefox >='3'){t.content_highlight.Ç.paddingLeft=\"1px\";t.selection_field.Ç.paddingLeft=\"1px\";t.selection_field_text.Ç.paddingLeft=\"1px\";}if(t.isIE&&t.isIE < 8){a.Ç.marginTop=\"-1px\";}if(t.isSafari){t.editor_area.Ç.position=\"absolute\";a.Ç.marginLeft=\"0px\";if(t.isSafari < 3.2)a.Ç.marginTop=\"1px\";}È.eAL.add_event(t.result,\"click\",Ã(e){if((e.target||e.srcElement)==eA.result){eA.area_select(eA.Â.Ê.Æ,0);}});if(s['is_multi_files']!=Ì)t.open_file({'id':t.curr_file,'text':''});t.set_word_wrap(s['word_wrap']);setTimeout(\"eA.focus();eA.manage_size();eA.execCommand('EA_load');\",10);t.check_undo();t.check_line_selection(Ë);t.scroll_to_view();for(var i in t.plugins){if(typeof(t.plugins[i].onload)==\"Ã\")t.plugins[i].onload();}if(s['fullscreen']==Ë)t.toggle_full_screen(Ë);È.eAL.add_event(window,\"resize\",eA.update_size);È.eAL.add_event(È.window,\"resize\",eA.update_size);È.eAL.add_event(top.window,\"resize\",eA.update_size);È.eAL.add_event(window,\"unload\",Ã(){if(È.eAL){È.eAL.remove_event(È.window,\"resize\",eA.update_size);È.eAL.remove_event(top.window,\"resize\",eA.update_size);}if(eAs[eA.id]&&eAs[eA.id][\"displayed\"]){eA.execCommand(\"EA_unload\");}});};EA.Ä.update_size=Ã(){var d=document,pd=È.document,height,width,popup,maxLeft,maxTop;if(typeof eAs !='undefined'&&eAs[eA.id]&&eAs[eA.id][\"displayed\"]==Ë){if(eA.fullscreen['isFull']){pd.getElementById(\"frame_\"+eA.id).Ç.width=pd.getElementsByTagName(\"html\")[0].clientWidth+\"px\";pd.getElementById(\"frame_\"+eA.id).Ç.height=pd.getElementsByTagName(\"html\")[0].clientHeight+\"px\";}if(eA.tab_browsing_area.Ç.display=='block'&&(!eA.isIE||eA.isIE >=8)){eA.tab_browsing_area.Ç.height=\"0px\";eA.tab_browsing_area.Ç.height=(eA.result.offsetTop-eA.tab_browsing_area.offsetTop-1)+\"px\";}height=d.body.offsetHeight-eA.get_all_toolbar_height()-4;eA.result.Ç.height=height+\"px\";width=d.body.offsetWidth-2;eA.result.Ç.width=width+\"px\";for(i=0;i < eA.inlinePopup.Æ;i++){popup=_$(eA.inlinePopup[i][\"popup_id\"]);maxLeft=d.body.offsetWidth-popup.offsetWidth;maxTop=d.body.offsetHeight-popup.offsetHeight;if(popup.offsetTop > maxTop)popup.Ç.top=maxTop+\"px\";if(popup.offsetLeft > maxLeft)popup.Ç.left=maxLeft+\"px\";}eA.manage_size(Ë);eA.fixLinesHeight(eA.Â.Ê,0,-1);}};EA.Ä.manage_size=Ã(onlyOneTime){if(!eAs[Á.id])return Ì;if(eAs[Á.id][\"displayed\"]==Ë&&Á.ÂFocused){var area_height,resized=Ì;if(!Á.Å['word_wrap']){var area_width=Á.Â.scrollWidth;area_height=Á.Â.scrollHeight;if(Á.isOpera&&Á.isOpera < 9.6){area_width=10000;}if(Á.Â.previous_scrollWidth!=area_width){Á.container.Ç.width=area_width+\"px\";Á.Â.Ç.width=area_width+\"px\";Á.content_highlight.Ç.width=area_width+\"px\";Á.Â.previous_scrollWidth=area_width;resized=Ë;}}if(Á.Å['word_wrap']){newW=Á.Â.offsetWidth;if(Á.isFirefox||Á.isIE)newW-=2;if(Á.isSafari)newW-=6;Á.content_highlight.Ç.width=Á.selection_field_text.Ç.width=Á.selection_field.Ç.width=Á.test_font_size.Ç.width=newW+\"px\";}if(Á.isOpera||Á.isFirefox||Á.isSafari){area_height=Á.getLinePosTop(Á.É[\"nb_line\"]+1);}\nelse{area_height=Á.Â.scrollHeight;}if(Á.Â.previous_scrollHeight!=area_height){Á.container.Ç.height=(area_height+2)+\"px\";Á.Â.Ç.height=area_height+\"px\";Á.content_highlight.Ç.height=area_height+\"px\";Á.Â.previous_scrollHeight=area_height;resized=Ë;}if(Á.É[\"nb_line\"] >=Á.line_number){var newLines='',destDiv=_$(\"line_number\"),start=Á.line_number,end=Á.É[\"nb_line\"]+100;for(i=start+1;i < end;i++){newLines+='<div id=\"line_'+i+'\">'+i+\"</div>\";Á.line_number++;}destDiv.innerHTML=destDiv.innerHTML+newLines;if(Á.Å['word_wrap']){Á.fixLinesHeight(Á.Â.Ê,start,-1);}}Á.Â.scrollTop=\"0px\";Á.Â.scrollLeft=\"0px\";if(resized==Ë){Á.scroll_to_view();}}if(!onlyOneTime)setTimeout(\"eA.manage_size();\",100);};EA.Ä.execCommand=Ã(cmd,param){for(var i in Á.plugins){if(typeof(Á.plugins[i].execCommand)==\"Ã\"){if(!Á.plugins[i].execCommand(cmd,param))return;}}switch(cmd){case \"save\":if(Á.Å[\"save_callback\"].Æ>0)eval(\"È.\"+Á.Å[\"save_callback\"]+\"('\"+Á.id+\"',eA.Â.Ê);\");break;case \"load\":if(Á.Å[\"load_callback\"].Æ>0)eval(\"È.\"+Á.Å[\"load_callback\"]+\"('\"+Á.id+\"');\");break;case \"onchange\":if(Á.Å[\"change_callback\"].Æ>0)eval(\"È.\"+Á.Å[\"change_callback\"]+\"('\"+Á.id+\"');\");break;case \"EA_load\":if(Á.Å[\"EA_load_callback\"].Æ>0)eval(\"È.\"+Á.Å[\"EA_load_callback\"]+\"('\"+Á.id+\"');\");break;case \"EA_unload\":if(Á.Å[\"EA_unload_callback\"].Æ>0)eval(\"È.\"+Á.Å[\"EA_unload_callback\"]+\"('\"+Á.id+\"');\");break;case \"toggle_on\":if(Á.Å[\"EA_toggle_on_callback\"].Æ>0)eval(\"È.\"+Á.Å[\"EA_toggle_on_callback\"]+\"('\"+Á.id+\"');\");break;case \"toggle_off\":if(Á.Å[\"EA_toggle_off_callback\"].Æ>0)eval(\"È.\"+Á.Å[\"EA_toggle_off_callback\"]+\"('\"+Á.id+\"');\");break;case \"re_sync\":if(!Á.do_highlight)break;case \"file_switch_on\":if(Á.Å[\"EA_file_switch_on_callback\"].Æ>0)eval(\"È.\"+Á.Å[\"EA_file_switch_on_callback\"]+\"(param);\");break;case \"file_switch_off\":if(Á.Å[\"EA_file_switch_off_callback\"].Æ>0)eval(\"È.\"+Á.Å[\"EA_file_switch_off_callback\"]+\"(param);\");break;case \"file_close\":if(Á.Å[\"EA_file_close_callback\"].Æ>0)return eval(\"È.\"+Á.Å[\"EA_file_close_callback\"]+\"(param);\");break;default:if(typeof(eval(\"eA.\"+cmd))==\"Ã\"){if(Á.Å[\"debug\"])eval(\"eA.\"+cmd+\"(param);\");\nelse try{eval(\"eA.\"+cmd+\"(param);\");}catch(e){};}}};EA.Ä.get_translation=Ã(word,mode){if(mode==\"template\")return È.eAL.translate(word,Á.Å[\"language\"],mode);\nelse return È.eAL.get_word_translation(word,Á.Å[\"language\"]);};EA.Ä.add_plugin=Ã(plug_name,plug_obj){for(var i=0;i<Á.Å[\"plugins\"].Æ;i++){if(Á.Å[\"plugins\"][i]==plug_name){Á.plugins[plug_name]=plug_obj;plug_obj.baseURL=È.eAL.baseURL+\"plugins/\"+plug_name+\"/\";if(typeof(plug_obj.init)==\"Ã\")plug_obj.init();}}};EA.Ä.load_css=Ã(url){try{link=document.createElement(\"link\");link.type=\"text/css\";link.rel=\"Çsheet\";link.media=\"all\";link.href=url;head=document.getElementsByTagName(\"head\");head[0].appendChild(link);}catch(e){document.write(\"<link href='\"+url+\"' rel='Çsheet' type='text/css' />\");}};EA.Ä.load_script=Ã(url){try{script=document.createElement(\"script\");script.type=\"text/javascript\";script.src=url;script.charset=\"UTF-8\";head=document.getElementsByTagName(\"head\");head[0].appendChild(script);}catch(e){document.write(\"<script type='text/javascript' src='\"+url+\"' charset=\\\"UTF-8\\\"><\"+\"/script>\");}};EA.Ä.add_lang=Ã(language,Ês){if(!È.eAL.lang[language])È.eAL.lang[language]={};for(var i in Ês)È.eAL.lang[language][i]=Ês[i];};Ã _$(id){return document.getElementById(id);};var eA=new EA();È.eAL.add_event(window,\"load\",init);Ã init(){setTimeout(\"eA.init();\",10);}; EA.Ä.focus=Ã(){Á.Â.focus();Á.ÂFocused=Ë;};EA.Ä.check_line_selection=Ã(timer_checkup){var changes,infos,new_top,new_width,i;var t1=t2=t2_1=t3=tLines=tend=new Date().getTime();if(!eAs[Á.id])return Ì;if(!Á.smooth_selection&&!Á.do_highlight){}\nelse if(Á.ÂFocused&&eAs[Á.id][\"displayed\"]==Ë&&Á.isResizing==Ì){infos=Á.get_selection_infos();changes=Á.checkTextEvolution(typeof(Á.É['full_text'])=='undefined' ? '':Á.É['full_text'],infos['full_text']);t2=new Date().getTime();if(Á.É[\"line_start\"] !=infos[\"line_start\"]||Á.É[\"line_nb\"] !=infos[\"line_nb\"]||infos[\"full_text\"] !=Á.É[\"full_text\"]||Á.reload_highlight||Á.É[\"selectionStart\"] !=infos[\"selectionStart\"]||Á.É[\"selectionEnd\"] !=infos[\"selectionEnd\"]||!timer_checkup){new_top=Á.getLinePosTop(infos[\"line_start\"]);new_width=Math.max(Á.Â.scrollWidth,Á.container.clientWidth-50);Á.selection_field.Ç.top=Á.selection_field_text.Ç.top=new_top+\"px\";if(!Á.Å['word_wrap']){Á.selection_field.Ç.width=Á.selection_field_text.Ç.width=Á.test_font_size.Ç.width=new_width+\"px\";}if(Á.do_highlight==Ë){var curr_text=infos[\"full_text\"].split(\"\\n\");var content=\"\";var start=Math.max(0,infos[\"line_start\"]-1);var end=Math.min(curr_text.Æ,infos[\"line_start\"]+infos[\"line_nb\"]-1);for(i=start;i< end;i++){content+=curr_text[i]+\"\\n\";}selLength=infos['selectionEnd']-infos['selectionStart'];content=content.substr(0,infos[\"curr_pos\"]-1)+\"\\r\\r\"+content.substr(infos[\"curr_pos\"]-1,selLength)+\"\\r\\r\"+content.substr(infos[\"curr_pos\"]-1+selLength);content='<span>'+content.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(\"\\r\\r\",'</span><strong>').replace(\"\\r\\r\",'</strong><span>')+'</span>';if(Á.isIE||(Á.isOpera&&Á.isOpera < 9.6)){Á.selection_field.innerHTML=\"<pre>\"+content.replace(/^\\r?\\n/,\"<br>\")+\"</pre>\";}\nelse{Á.selection_field.innerHTML=content;}Á.selection_field_text.innerHTML=Á.selection_field.innerHTML;t2_1=new Date().getTime();if(Á.reload_highlight||(infos[\"full_text\"] !=Á.last_text_to_highlight&&(Á.É[\"line_start\"]!=infos[\"line_start\"]||Á.show_line_colors||Á.Å['word_wrap']||Á.É[\"line_nb\"]!=infos[\"line_nb\"]||Á.É[\"nb_line\"]!=infos[\"nb_line\"]))){Á.maj_highlight(infos);}}}t3=new Date().getTime();if(Á.Å['word_wrap']&&infos[\"full_text\"] !=Á.É[\"full_text\"]){if(changes.newText.split(\"\\n\").Æ==1&&Á.É['nb_line']&&infos['nb_line']==Á.É['nb_line']){Á.fixLinesHeight(infos['full_text'],changes.lineStart,changes.lineStart);}\nelse{Á.fixLinesHeight(infos['full_text'],changes.lineStart,-1);}}tLines=new Date().getTime();if(infos[\"line_start\"] !=Á.É[\"line_start\"]||infos[\"curr_pos\"] !=Á.É[\"curr_pos\"]||infos[\"full_text\"].Æ!=Á.É[\"full_text\"].Æ||Á.reload_highlight||!timer_checkup){var selec_char=infos[\"curr_line\"].charAt(infos[\"curr_pos\"]-1);var no_real_move=Ë;if(infos[\"line_nb\"]==1&&(Á.assocBracket[selec_char]||Á.revertAssocBracket[selec_char])){no_real_move=Ì;if(Á.findEndBracket(infos,selec_char)===Ë){_$(\"end_bracket\").Ç.visibility=\"visible\";_$(\"cursor_pos\").Ç.visibility=\"visible\";_$(\"cursor_pos\").innerHTML=selec_char;_$(\"end_bracket\").innerHTML=(Á.assocBracket[selec_char]||Á.revertAssocBracket[selec_char]);}\nelse{_$(\"end_bracket\").Ç.visibility=\"hidden\";_$(\"cursor_pos\").Ç.visibility=\"hidden\";}}\nelse{_$(\"cursor_pos\").Ç.visibility=\"hidden\";_$(\"end_bracket\").Ç.visibility=\"hidden\";}Á.displayToCursorPosition(\"cursor_pos\",infos[\"line_start\"],infos[\"curr_pos\"]-1,infos[\"curr_line\"],no_real_move);if(infos[\"line_nb\"]==1&&infos[\"line_start\"]!=Á.É[\"line_start\"])Á.scroll_to_view();}Á.É=infos;}tend=new Date().getTime();if(timer_checkup){setTimeout(\"eA.check_line_selection(Ë)\",Á.check_line_selection_timer);}};EA.Ä.get_selection_infos=Ã(){var sel={},start,end,len,str;Á.getIESelection();start=Á.Â.selectionStart;end=Á.Â.selectionEnd;if(Á.É[\"selectionStart\"]==start&&Á.É[\"selectionEnd\"]==end&&Á.É[\"full_text\"]==Á.Â.Ê){return Á.É;}if(Á.tabulation!=\"\t\"&&Á.Â.Ê.indexOf(\"\t\")!=-1){len=Á.Â.Ê.Æ;Á.Â.Ê=Á.replace_tab(Á.Â.Ê);start=end=start+(Á.Â.Ê.Æ-len);Á.area_select(start,0);}sel[\"selectionStart\"]=start;sel[\"selectionEnd\"]=end;sel[\"full_text\"]=Á.Â.Ê;sel[\"line_start\"]=1;sel[\"line_nb\"]=1;sel[\"curr_pos\"]=0;sel[\"curr_line\"]=\"\";sel[\"indexOfCursor\"]=0;sel[\"selec_direction\"]=Á.É[\"selec_direction\"];var splitTab=sel[\"full_text\"].split(\"\\n\");var nbLine=Math.max(0,splitTab.Æ);var nbChar=Math.max(0,sel[\"full_text\"].Æ-(nbLine-1));if(sel[\"full_text\"].indexOf(\"\\r\")!=-1)nbChar=nbChar-(nbLine-1);sel[\"nb_line\"]=nbLine;sel[\"nb_char\"]=nbChar;if(start>0){str=sel[\"full_text\"].substr(0,start);sel[\"curr_pos\"]=start-str.lastIndexOf(\"\\n\");sel[\"line_start\"]=Math.max(1,str.split(\"\\n\").Æ);}\nelse{sel[\"curr_pos\"]=1;}if(end>start){sel[\"line_nb\"]=sel[\"full_text\"].substring(start,end).split(\"\\n\").Æ;}sel[\"indexOfCursor\"]=start;sel[\"curr_line\"]=splitTab[Math.max(0,sel[\"line_start\"]-1)];if(sel[\"selectionStart\"]==Á.É[\"selectionStart\"]){if(sel[\"selectionEnd\"]>Á.É[\"selectionEnd\"])sel[\"selec_direction\"]=\"down\";\nelse if(sel[\"selectionEnd\"]==Á.É[\"selectionStart\"])sel[\"selec_direction\"]=Á.É[\"selec_direction\"];}\nelse if(sel[\"selectionStart\"]==Á.É[\"selectionEnd\"]&&sel[\"selectionEnd\"]>Á.É[\"selectionEnd\"]){sel[\"selec_direction\"]=\"down\";}\nelse{sel[\"selec_direction\"]=\"up\";}_$(\"nbLine\").innerHTML=nbLine;_$(\"nbChar\").innerHTML=nbChar;_$(\"linePos\").innerHTML=sel[\"line_start\"];_$(\"currPos\").innerHTML=sel[\"curr_pos\"];return sel;};EA.Ä.getIESelection=Ã(){var selectionStart,selectionEnd,range,stored_range;if(!Á.isIE)return Ì;if(Á.Å['word_wrap'])Á.Â.wrap='off';try{range=document.selection.createRange();stored_range=range.duplicate();stored_range.moveToElementText(Á.Â);stored_range.setEndPoint('EndToEnd',range);if(stored_range.ÈElement()!=Á.Â)throw \"invalid focus\";var scrollTop=Á.result.scrollTop+document.body.scrollTop;var relative_top=range.offsetTop-È.calculeOffsetTop(Á.Â)+scrollTop;var line_start=Math.round((relative_top / Á.lineHeight)+1);var line_nb=Math.round(range.boundingHeight / Á.lineHeight);selectionStart=stored_range.text.Æ-range.text.Æ;selectionStart+=(line_start-Á.Â.Ê.substr(0,selectionStart).split(\"\\n\").Æ)*2;selectionStart-=(line_start-Á.Â.Ê.substr(0,selectionStart).split(\"\\n\").Æ)* 2;selectionEnd=selectionStart+range.text.Æ;selectionEnd+=(line_start+line_nb-1-Á.Â.Ê.substr(0,selectionEnd).split(\"\\n\").Æ)*2;Á.Â.selectionStart=selectionStart;Á.Â.selectionEnd=selectionEnd;}catch(e){}if(Á.Å['word_wrap'])Á.Â.wrap='soft';};EA.Ä.setIESelection=Ã(){var a=Á.Â,nbLineStart,nbLineEnd,range;if(!Á.isIE)return Ì;nbLineStart=a.Ê.substr(0,a.selectionStart).split(\"\\n\").Æ-1;nbLineEnd=a.Ê.substr(0,a.selectionEnd).split(\"\\n\").Æ-1;range=document.selection.createRange();range.moveToElementText(a);range.setEndPoint('EndToStart',range);range.moveStart('character',a.selectionStart-nbLineStart);range.moveEnd('character',a.selectionEnd-nbLineEnd-(a.selectionStart-nbLineStart));range.select();};EA.Ä.checkTextEvolution=Ã(lastText,newText){var ch={},baseStep=200,cpt=0,end,step,tStart=new Date().getTime();end=Math.min(newText.Æ,lastText.Æ);step=baseStep;while(cpt<end&&step>=1){if(lastText.substr(cpt,step)==newText.substr(cpt,step)){cpt+=step;}\nelse{step=Math.floor(step/2);}}ch.posStart=cpt;ch.lineStart=newText.substr(0,ch.posStart).split(\"\\n\").Æ-1;cpt_last=lastText.Æ;cpt=newText.Æ;step=baseStep;while(cpt>=0&&cpt_last>=0&&step>=1){if(lastText.substr(cpt_last-step,step)==newText.substr(cpt-step,step)){cpt-=step;cpt_last-=step;}\nelse{step=Math.floor(step/2);}}ch.posNewEnd=cpt;ch.posLastEnd=cpt_last;if(ch.posNewEnd<=ch.posStart){if(lastText.Æ < newText.Æ){ch.posNewEnd=ch.posStart+newText.Æ-lastText.Æ;ch.posLastEnd=ch.posStart;}\nelse{ch.posLastEnd=ch.posStart+lastText.Æ-newText.Æ;ch.posNewEnd=ch.posStart;}}ch.newText=newText.substring(ch.posStart,ch.posNewEnd);ch.lastText=lastText.substring(ch.posStart,ch.posLastEnd);ch.lineNewEnd=newText.substr(0,ch.posNewEnd).split(\"\\n\").Æ-1;ch.lineLastEnd=lastText.substr(0,ch.posLastEnd).split(\"\\n\").Æ-1;ch.newTextLine=newText.split(\"\\n\").slice(ch.lineStart,ch.lineNewEnd+1).join(\"\\n\");ch.lastTextLine=lastText.split(\"\\n\").slice(ch.lineStart,ch.lineLastEnd+1).join(\"\\n\");return ch;};EA.Ä.tab_selection=Ã(){if(Á.is_tabbing)return;Á.is_tabbing=Ë;Á.getIESelection();var start=Á.Â.selectionStart;var end=Á.Â.selectionEnd;var insText=Á.Â.Ê.substring(start,end);var pos_start=start;var pos_end=end;if(insText.Æ==0){Á.Â.Ê=Á.Â.Ê.substr(0,start)+Á.tabulation+Á.Â.Ê.substr(end);pos_start=start+Á.tabulation.Æ;pos_end=pos_start;}\nelse{start=Math.max(0,Á.Â.Ê.substr(0,start).lastIndexOf(\"\\n\")+1);endText=Á.Â.Ê.substr(end);startText=Á.Â.Ê.substr(0,start);tmp=Á.Â.Ê.substring(start,end).split(\"\\n\");insText=Á.tabulation+tmp.join(\"\\n\"+Á.tabulation);Á.Â.Ê=startText+insText+endText;pos_start=start;pos_end=Á.Â.Ê.indexOf(\"\\n\",startText.Æ+insText.Æ);if(pos_end==-1)pos_end=Á.Â.Ê.Æ;}Á.Â.selectionStart=pos_start;Á.Â.selectionEnd=pos_end;if(Á.isIE){Á.setIESelection();setTimeout(\"eA.is_tabbing=Ì;\",100);}\nelse{Á.is_tabbing=Ì;}};EA.Ä.invert_tab_selection=Ã(){var t=Á,a=Á.Â;if(t.is_tabbing)return;t.is_tabbing=Ë;t.getIESelection();var start=a.selectionStart;var end=a.selectionEnd;var insText=a.Ê.substring(start,end);var pos_start=start;var pos_end=end;if(insText.Æ==0){if(a.Ê.substring(start-t.tabulation.Æ,start)==t.tabulation){a.Ê=a.Ê.substr(0,start-t.tabulation.Æ)+a.Ê.substr(end);pos_start=Math.max(0,start-t.tabulation.Æ);pos_end=pos_start;}}\nelse{start=a.Ê.substr(0,start).lastIndexOf(\"\\n\")+1;endText=a.Ê.substr(end);startText=a.Ê.substr(0,start);tmp=a.Ê.substring(start,end).split(\"\\n\");insText=\"\";for(i=0;i<tmp.Æ;i++){for(j=0;j<t.tab_nb_char;j++){if(tmp[i].charAt(0)==\"\t\"){tmp[i]=tmp[i].substr(1);j=t.tab_nb_char;}\nelse if(tmp[i].charAt(0)==\" \")tmp[i]=tmp[i].substr(1);}insText+=tmp[i];if(i<tmp.Æ-1)insText+=\"\\n\";}a.Ê=startText+insText+endText;pos_start=start;pos_end=a.Ê.indexOf(\"\\n\",startText.Æ+insText.Æ);if(pos_end==-1)pos_end=a.Ê.Æ;}a.selectionStart=pos_start;a.selectionEnd=pos_end;if(t.isIE){t.setIESelection();setTimeout(\"eA.is_tabbing=Ì;\",100);}\nelse t.is_tabbing=Ì;};EA.Ä.press_enter=Ã(){if(!Á.smooth_selection)return Ì;Á.getIESelection();var scrollTop=Á.result.scrollTop;var scrollLeft=Á.result.scrollLeft;var start=Á.Â.selectionStart;var end=Á.Â.selectionEnd;var start_last_line=Math.max(0,Á.Â.Ê.substring(0,start).lastIndexOf(\"\\n\")+1);var begin_line=Á.Â.Ê.substring(start_last_line,start).replace(/^([ \t]*).*/gm,\"$1\");var lineStart=Á.Â.Ê.substring(0,start).split(\"\\n\").Æ;if(begin_line==\"\\n\"||begin_line==\"\\r\"||begin_line.Æ==0){return Ì;}if(Á.isIE||(Á.isOpera&&Á.isOpera < 9.6)){begin_line=\"\\r\\n\"+begin_line;}\nelse{begin_line=\"\\n\"+begin_line;}Á.Â.Ê=Á.Â.Ê.substring(0,start)+begin_line+Á.Â.Ê.substring(end);Á.area_select(start+begin_line.Æ,0);if(Á.isIE){Á.result.scrollTop=scrollTop;Á.result.scrollLeft=scrollLeft;}return Ë;};EA.Ä.findEndBracket=Ã(infos,bracket){var start=infos[\"indexOfCursor\"];var normal_order=Ë;if(Á.assocBracket[bracket])endBracket=Á.assocBracket[bracket];\nelse if(Á.revertAssocBracket[bracket]){endBracket=Á.revertAssocBracket[bracket];normal_order=Ì;}var end=-1;var nbBracketOpen=0;for(var i=start;i<infos[\"full_text\"].Æ&&i>=0;){if(infos[\"full_text\"].charAt(i)==endBracket){nbBracketOpen--;if(nbBracketOpen<=0){end=i;break;}}\nelse if(infos[\"full_text\"].charAt(i)==bracket)nbBracketOpen++;if(normal_order)i++;\nelse i--;}if(end==-1)return Ì;var endLastLine=infos[\"full_text\"].substr(0,end).lastIndexOf(\"\\n\");if(endLastLine==-1)line=1;\nelse line=infos[\"full_text\"].substr(0,endLastLine).split(\"\\n\").Æ+1;var curPos=end-endLastLine-1;var endLineLength=infos[\"full_text\"].substring(end).split(\"\\n\")[0].Æ;Á.displayToCursorPosition(\"end_bracket\",line,curPos,infos[\"full_text\"].substring(endLastLine+1,end+endLineLength));return Ë;};EA.Ä.displayToCursorPosition=Ã(id,start_line,cur_pos,lineContent,no_real_move){var elem,dest,content,posLeft=0,posTop,fixPadding,topOffset,endElem;elem=Á.test_font_size;dest=_$(id);content=\"<span id='test_font_size_inner'>\"+lineContent.substr(0,cur_pos).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\")+\"</span><span id='endTestFont'>\"+lineContent.substr(cur_pos).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\")+\"</span>\";if(Á.isIE||(Á.isOpera&&Á.isOpera < 9.6)){elem.innerHTML=\"<pre>\"+content.replace(/^\\r?\\n/,\"<br>\")+\"</pre>\";}\nelse{elem.innerHTML=content;}endElem=_$('endTestFont');topOffset=endElem.offsetTop;fixPadding=parseInt(Á.content_highlight.Ç.paddingLeft.replace(\"px\",\"\"));posLeft=45+endElem.offsetLeft+(!isNaN(fixPadding)&&topOffset > 0 ? fixPadding:0);posTop=Á.getLinePosTop(start_line)+topOffset;if(Á.isIE&&cur_pos > 0&&endElem.offsetLeft==0){posTop+=Á.lineHeight;}if(no_real_move!=Ë){dest.Ç.top=posTop+\"px\";dest.Ç.left=posLeft+\"px\";}dest.cursor_top=posTop;dest.cursor_left=posLeft;};EA.Ä.getLinePosTop=Ã(start_line){var elem=_$('line_'+start_line),posTop=0;if(elem)posTop=elem.offsetTop;\nelse posTop=Á.lineHeight *(start_line-1);return posTop;};EA.Ä.getTextHeight=Ã(text){var t=Á,elem,height;elem=t.test_font_size;content=text.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\");if(t.isIE||(Á.isOpera&&Á.isOpera < 9.6)){elem.innerHTML=\"<pre>\"+content.replace(/^\\r?\\n/,\"<br>\")+\"</pre>\";}\nelse{elem.innerHTML=content;}height=elem.offsetHeight;height=Math.max(1,Math.floor(elem.offsetHeight / Á.lineHeight))* Á.lineHeight;return height;};EA.Ä.fixLinesHeight=Ã(textValue,lineStart,lineEnd){var aText=textValue.split(\"\\n\");if(lineEnd==-1)lineEnd=aText.Æ-1;for(var i=Math.max(0,lineStart);i <=lineEnd;i++){if(elem=_$('line_'+(i+1))){elem.Ç.height=typeof(aText[i])!=\"undefined\" ? Á.getTextHeight(aText[i])+\"px\":Á.lineHeight;}}};EA.Ä.area_select=Ã(start,Æ){Á.Â.focus();start=Math.max(0,Math.min(Á.Â.Ê.Æ,start));end=Math.max(start,Math.min(Á.Â.Ê.Æ,start+Æ));if(Á.isIE){Á.Â.selectionStart=start;Á.Â.selectionEnd=end;Á.setIESelection();}\nelse{if(Á.isOpera&&Á.isOpera < 9.6){Á.Â.setSelectionRange(0,0);}Á.Â.setSelectionRange(start,end);}Á.check_line_selection();};EA.Ä.area_get_selection=Ã(){var text=\"\";if(document.selection){var range=document.selection.createRange();text=range.text;}\nelse{text=Á.Â.Ê.substring(Á.Â.selectionStart,Á.Â.selectionEnd);}return text;}; EA.Ä.replace_tab=Ã(text){return text.replace(/((\\n?)([^\t\\n]*)\t)/gi,eA.smartTab);};EA.Ä.smartTab=Ã(){val=\" \";return EA.Ä.smartTab.arguments[2]+EA.Ä.smartTab.arguments[3]+val.substr(0,eA.tab_nb_char-(EA.Ä.smartTab.arguments[3].Æ)%eA.tab_nb_char);};EA.Ä.show_waiting_screen=Ã(){width=Á.editor_area.offsetWidth;height=Á.editor_area.offsetHeight;if(!(Á.isIE&&Á.isIE<6)){width-=2;height-=2;}Á.processing_screen.Ç.display=\"block\";Á.processing_screen.Ç.width=width+\"px\";Á.processing_screen.Ç.height=height+\"px\";Á.waiting_screen_displayed=Ë;};EA.Ä.hide_waiting_screen=Ã(){Á.processing_screen.Ç.display=\"none\";Á.waiting_screen_displayed=Ì;};EA.Ä.add_Ç=Ã(Çs){if(Çs.Æ>0){newcss=document.createElement(\"Ç\");newcss.type=\"text/css\";newcss.media=\"all\";if(newcss.ÇSheet){newcss.ÇSheet.cssText=Çs;}\nelse{newcss.appendChild(document.createTextNode(Çs));}document.getElementsByTagName(\"head\")[0].appendChild(newcss);}};EA.Ä.set_font=Ã(family,size){var t=Á,a=Á.Â,s=Á.Å,elem_font,i,elem;var elems=[\"Â\",\"content_highlight\",\"cursor_pos\",\"end_bracket\",\"selection_field\",\"selection_field_text\",\"line_number\"];if(family&&family!=\"\")s[\"font_family\"]=family;if(size&&size>0)s[\"font_size\"]=size;if(t.isOpera&&t.isOpera < 9.6)s['font_family']=\"monospace\";if(elem_font=_$(\"area_font_size\")){for(i=0;i < elem_font.Æ;i++){if(elem_font.options[i].Ê&&elem_font.options[i].Ê==s[\"font_size\"])elem_font.options[i].selected=Ë;}}if(t.isFirefox){var nbTry=3;do{var div1=document.createElement('div'),text1=document.createElement('Â');var Çs={width:'40px',overflow:'scroll',zIndex:50,visibility:'hidden',fontFamily:s[\"font_family\"],fontSize:s[\"font_size\"]+\"pt\",lineHeight:t.lineHeight+\"px\",padding:'0',margin:'0',border:'none',whiteSpace:'nowrap'};var diff,changed=Ì;for(i in Çs){div1.Ç[ i ]=Çs[i];text1.Ç[ i ]=Çs[i];}text1.wrap='off';text1.setAttribute('wrap','off');t.container.appendChild(div1);t.container.appendChild(text1);div1.innerHTML=text1.Ê='azertyuiopqsdfghjklm';div1.innerHTML=text1.Ê=text1.Ê+'wxcvbn^p*ù$!:;,,';diff=text1.scrollWidth-div1.scrollWidth;if(Math.abs(diff)>=2){s[\"font_size\"]++;changed=Ë;}t.container.removeChild(div1);t.container.removeChild(text1);nbTry--;}while(changed&&nbTry > 0);}elem=t.test_font_size;elem.Ç.fontFamily=\"\"+s[\"font_family\"];elem.Ç.fontSize=s[\"font_size\"]+\"pt\";elem.innerHTML=\"0\";t.lineHeight=elem.offsetHeight;for(i=0;i<elems.Æ;i++){elem=_$(elems[i]);elem.Ç.fontFamily=s[\"font_family\"];elem.Ç.fontSize=s[\"font_size\"]+\"pt\";elem.Ç.lineHeight=t.lineHeight+\"px\";}t.add_Ç(\"pre{font-family:\"+s[\"font_family\"]+\"}\");if((t.isOpera&&t.isOpera < 9.6)||t.isIE >=8){var parNod=a.ÈNode,nxtSib=a.nextSibling,start=a.selectionStart,end=a.selectionEnd;parNod.removeChild(a);parNod.insertBefore(a,nxtSib);t.area_select(start,end-start);}Á.focus();Á.update_size();Á.check_line_selection();};EA.Ä.change_font_size=Ã(){var size=_$(\"area_font_size\").Ê;if(size>0)Á.set_font(\"\",size);};EA.Ä.open_inline_popup=Ã(popup_id){Á.close_all_inline_popup();var popup=_$(popup_id);var editor=_$(\"editor\");for(var i=0;i<Á.inlinePopup.Æ;i++){if(Á.inlinePopup[i][\"popup_id\"]==popup_id){var icon=_$(Á.inlinePopup[i][\"icon_id\"]);if(icon){Á.switchClassSticky(icon,'editAreaButtonSelected',Ë);break;}}}popup.Ç.height=\"auto\";popup.Ç.overflow=\"visible\";if(document.body.offsetHeight< popup.offsetHeight){popup.Ç.height=(document.body.offsetHeight-10)+\"px\";popup.Ç.overflow=\"auto\";}if(!popup.positionned){var new_left=editor.offsetWidth /2-popup.offsetWidth /2;var new_top=editor.offsetHeight /2-popup.offsetHeight /2;popup.Ç.left=new_left+\"px\";popup.Ç.top=new_top+\"px\";popup.positionned=Ë;}popup.Ç.visibility=\"visible\";};EA.Ä.close_inline_popup=Ã(popup_id){var popup=_$(popup_id);for(var i=0;i<Á.inlinePopup.Æ;i++){if(Á.inlinePopup[i][\"popup_id\"]==popup_id){var icon=_$(Á.inlinePopup[i][\"icon_id\"]);if(icon){Á.switchClassSticky(icon,'editAreaButtonNormal',Ì);break;}}}popup.Ç.visibility=\"hidden\";};EA.Ä.close_all_inline_popup=Ã(e){for(var i=0;i<Á.inlinePopup.Æ;i++){Á.close_inline_popup(Á.inlinePopup[i][\"popup_id\"]);}Á.Â.focus();};EA.Ä.show_help=Ã(){Á.open_inline_popup(\"edit_area_help\");};EA.Ä.new_document=Ã(){Á.Â.Ê=\"\";Á.area_select(0,0);};EA.Ä.get_all_toolbar_height=Ã(){var area=_$(\"editor\");var results=È.getChildren(area,\"div\",\"class\",\"area_toolbar\",\"all\",\"0\");var height=0;for(var i=0;i<results.Æ;i++){height+=results[i].offsetHeight;}return height;};EA.Ä.go_to_line=Ã(line){if(!line){var icon=_$(\"go_to_line\");if(icon !=null){Á.restoreClass(icon);Á.switchClassSticky(icon,'editAreaButtonSelected',Ë);}line=prompt(Á.get_translation(\"go_to_line_prompt\"));if(icon !=null)Á.switchClassSticky(icon,'editAreaButtonNormal',Ì);}if(line&&line!=null&&line.search(/^[0-9]+$/)!=-1){var start=0;var lines=Á.Â.Ê.split(\"\\n\");if(line > lines.Æ)start=Á.Â.Ê.Æ;\nelse{for(var i=0;i<Math.min(line-1,lines.Æ);i++)start+=lines[i].Æ+1;}Á.area_select(start,0);}};EA.Ä.change_smooth_selection_mode=Ã(setTo){if(Á.do_highlight)return;if(setTo !=null){if(setTo===Ì)Á.smooth_selection=Ë;\nelse Á.smooth_selection=Ì;}var icon=_$(\"change_smooth_selection\");Á.Â.focus();if(Á.smooth_selection===Ë){Á.switchClassSticky(icon,'editAreaButtonNormal',Ì);Á.smooth_selection=Ì;Á.selection_field.Ç.display=\"none\";_$(\"cursor_pos\").Ç.display=\"none\";_$(\"end_bracket\").Ç.display=\"none\";}\nelse{Á.switchClassSticky(icon,'editAreaButtonSelected',Ì);Á.smooth_selection=Ë;Á.selection_field.Ç.display=\"block\";_$(\"cursor_pos\").Ç.display=\"block\";_$(\"end_bracket\").Ç.display=\"block\";}};EA.Ä.scroll_to_view=Ã(show){var zone,lineElem;if(!Á.smooth_selection)return;zone=_$(\"result\");var cursor_pos_top=_$(\"cursor_pos\").cursor_top;if(show==\"bottom\"){cursor_pos_top+=Á.getLinePosTop(Á.É['line_start']+Á.É['line_nb']-1);}var max_height_visible=zone.clientHeight+zone.scrollTop;var miss_top=cursor_pos_top+Á.lineHeight-max_height_visible;if(miss_top>0){zone.scrollTop=zone.scrollTop+miss_top;}\nelse if(zone.scrollTop > cursor_pos_top){zone.scrollTop=cursor_pos_top;}var cursor_pos_left=_$(\"cursor_pos\").cursor_left;var max_width_visible=zone.clientWidth+zone.scrollLeft;var miss_left=cursor_pos_left+10-max_width_visible;if(miss_left>0){zone.scrollLeft=zone.scrollLeft+miss_left+50;}\nelse if(zone.scrollLeft > cursor_pos_left){zone.scrollLeft=cursor_pos_left;}\nelse if(zone.scrollLeft==45){zone.scrollLeft=0;}};EA.Ä.check_undo=Ã(only_once){if(!eAs[Á.id])return Ì;if(Á.ÂFocused&&eAs[Á.id][\"displayed\"]==Ë){var text=Á.Â.Ê;if(Á.previous.Æ<=1)Á.switchClassSticky(_$(\"undo\"),'editAreaButtonDisabled',Ë);if(!Á.previous[Á.previous.Æ-1]||Á.previous[Á.previous.Æ-1][\"text\"] !=text){Á.previous.push({\"text\":text,\"selStart\":Á.Â.selectionStart,\"selEnd\":Á.Â.selectionEnd});if(Á.previous.Æ > Á.Å[\"max_undo\"]+1)Á.previous.shift();}if(Á.previous.Æ >=2)Á.switchClassSticky(_$(\"undo\"),'editAreaButtonNormal',Ì);}if(!only_once)setTimeout(\"eA.check_undo()\",3000);};EA.Ä.undo=Ã(){if(Á.previous.Æ > 0){Á.getIESelection();Á.next.push({\"text\":Á.Â.Ê,\"selStart\":Á.Â.selectionStart,\"selEnd\":Á.Â.selectionEnd});var prev=Á.previous.pop();if(prev[\"text\"]==Á.Â.Ê&&Á.previous.Æ > 0)prev=Á.previous.pop();Á.Â.Ê=prev[\"text\"];Á.last_undo=prev[\"text\"];Á.area_select(prev[\"selStart\"],prev[\"selEnd\"]-prev[\"selStart\"]);Á.switchClassSticky(_$(\"redo\"),'editAreaButtonNormal',Ì);Á.resync_highlight(Ë);Á.check_file_changes();}};EA.Ä.redo=Ã(){if(Á.next.Æ > 0){var next=Á.next.pop();Á.previous.push(next);Á.Â.Ê=next[\"text\"];Á.last_undo=next[\"text\"];Á.area_select(next[\"selStart\"],next[\"selEnd\"]-next[\"selStart\"]);Á.switchClassSticky(_$(\"undo\"),'editAreaButtonNormal',Ì);Á.resync_highlight(Ë);Á.check_file_changes();}if(Á.next.Æ==0)Á.switchClassSticky(_$(\"redo\"),'editAreaButtonDisabled',Ë);};EA.Ä.check_redo=Ã(){if(eA.next.Æ==0||eA.Â.Ê!=eA.last_undo){eA.next=[];eA.switchClassSticky(_$(\"redo\"),'editAreaButtonDisabled',Ë);}\nelse{Á.switchClassSticky(_$(\"redo\"),'editAreaButtonNormal',Ì);}};EA.Ä.switchClass=Ã(element,class_name,lock_state){var lockChanged=Ì;if(typeof(lock_state)!=\"undefined\"&&element !=null){element.classLock=lock_state;lockChanged=Ë;}if(element !=null&&(lockChanged||!element.classLock)){element.oldClassName=element.className;element.className=class_name;}};EA.Ä.restoreAndSwitchClass=Ã(element,class_name){if(element !=null&&!element.classLock){Á.restoreClass(element);Á.switchClass(element,class_name);}};EA.Ä.restoreClass=Ã(element){if(element !=null&&element.oldClassName&&!element.classLock){element.className=element.oldClassName;element.oldClassName=null;}};EA.Ä.setClassLock=Ã(element,lock_state){if(element !=null)element.classLock=lock_state;};EA.Ä.switchClassSticky=Ã(element,class_name,lock_state){var lockChanged=Ì;if(typeof(lock_state)!=\"undefined\"&&element !=null){element.classLock=lock_state;lockChanged=Ë;}if(element !=null&&(lockChanged||!element.classLock)){element.className=class_name;element.oldClassName=class_name;}};EA.Ä.scroll_page=Ã(params){var dir=params[\"dir\"],shift_pressed=params[\"shift\"];var lines=Á.Â.Ê.split(\"\\n\");var new_pos=0,Æ=0,char_left=0,line_nb=0,curLine=0;var toScrollAmount=_$(\"result\").clientHeight-30;var nbLineToScroll=0,diff=0;if(dir==\"up\"){nbLineToScroll=Math.ceil(toScrollAmount / Á.lineHeight);for(i=Á.É[\"line_start\"];i-diff > Á.É[\"line_start\"]-nbLineToScroll;i--){if(elem=_$('line_'+i)){diff+=Math.floor((elem.offsetHeight-1)/ Á.lineHeight);}}nbLineToScroll-=diff;if(Á.É[\"selec_direction\"]==\"up\"){for(line_nb=0;line_nb< Math.min(Á.É[\"line_start\"]-nbLineToScroll,lines.Æ);line_nb++){new_pos+=lines[line_nb].Æ+1;}char_left=Math.min(lines[Math.min(lines.Æ-1,line_nb)].Æ,Á.É[\"curr_pos\"]-1);if(shift_pressed)Æ=Á.É[\"selectionEnd\"]-new_pos-char_left;Á.area_select(new_pos+char_left,Æ);view=\"top\";}\nelse{view=\"bottom\";for(line_nb=0;line_nb< Math.min(Á.É[\"line_start\"]+Á.É[\"line_nb\"]-1-nbLineToScroll,lines.Æ);line_nb++){new_pos+=lines[line_nb].Æ+1;}char_left=Math.min(lines[Math.min(lines.Æ-1,line_nb)].Æ,Á.É[\"curr_pos\"]-1);if(shift_pressed){start=Math.min(Á.É[\"selectionStart\"],new_pos+char_left);Æ=Math.max(new_pos+char_left,Á.É[\"selectionStart\"])-start;if(new_pos+char_left < Á.É[\"selectionStart\"])view=\"top\";}\nelse start=new_pos+char_left;Á.area_select(start,Æ);}}\nelse{var nbLineToScroll=Math.floor(toScrollAmount / Á.lineHeight);for(i=Á.É[\"line_start\"];i+diff < Á.É[\"line_start\"]+nbLineToScroll;i++){if(elem=_$('line_'+i)){diff+=Math.floor((elem.offsetHeight-1)/ Á.lineHeight);}}nbLineToScroll-=diff;if(Á.É[\"selec_direction\"]==\"down\"){view=\"bottom\";for(line_nb=0;line_nb< Math.min(Á.É[\"line_start\"]+Á.É[\"line_nb\"]-2+nbLineToScroll,lines.Æ);line_nb++){if(line_nb==Á.É[\"line_start\"]-1)char_left=Á.É[\"selectionStart\"]-new_pos;new_pos+=lines[line_nb].Æ+1;}if(shift_pressed){Æ=Math.abs(Á.É[\"selectionStart\"]-new_pos);Æ+=Math.min(lines[Math.min(lines.Æ-1,line_nb)].Æ,Á.É[\"curr_pos\"]);Á.area_select(Math.min(Á.É[\"selectionStart\"],new_pos),Æ);}\nelse{Á.area_select(new_pos+char_left,0);}}\nelse{view=\"top\";for(line_nb=0;line_nb< Math.min(Á.É[\"line_start\"]+nbLineToScroll-1,lines.Æ,lines.Æ);line_nb++){if(line_nb==Á.É[\"line_start\"]-1)char_left=Á.É[\"selectionStart\"]-new_pos;new_pos+=lines[line_nb].Æ+1;}if(shift_pressed){Æ=Math.abs(Á.É[\"selectionEnd\"]-new_pos-char_left);Æ+=Math.min(lines[Math.min(lines.Æ-1,line_nb)].Æ,Á.É[\"curr_pos\"])-char_left-1;Á.area_select(Math.min(Á.É[\"selectionEnd\"],new_pos+char_left),Æ);if(new_pos+char_left > Á.É[\"selectionEnd\"])view=\"bottom\";}\nelse{Á.area_select(new_pos+char_left,0);}}}Á.check_line_selection();Á.scroll_to_view(view);};EA.Ä.start_resize=Ã(e){È.eAL.resize[\"id\"]=eA.id;È.eAL.resize[\"start_x\"]=(e)? e.pageX:event.x+document.body.scrollLeft;È.eAL.resize[\"start_y\"]=(e)? e.pageY:event.y+document.body.scrollTop;if(eA.isIE){eA.Â.focus();eA.getIESelection();}È.eAL.resize[\"selectionStart\"]=eA.Â.selectionStart;È.eAL.resize[\"selectionEnd\"]=eA.Â.selectionEnd;È.eAL.start_resize_area();};EA.Ä.toggle_full_screen=Ã(to){var t=Á,p=È,a=t.Â,html,frame,selStart,selEnd,old,icon;if(typeof(to)==\"undefined\")to=!t.fullscreen['isFull'];old=t.fullscreen['isFull'];t.fullscreen['isFull']=to;icon=_$(\"fullscreen\");selStart=t.Â.selectionStart;selEnd=t.Â.selectionEnd;html=p.document.getElementsByTagName(\"html\")[0];frame=p.document.getElementById(\"frame_\"+t.id);if(to&&to!=old){t.fullscreen['old_overflow']=p.get_css_property(html,\"overflow\");t.fullscreen['old_height']=p.get_css_property(html,\"height\");t.fullscreen['old_width']=p.get_css_property(html,\"width\");t.fullscreen['old_scrollTop']=html.scrollTop;t.fullscreen['old_scrollLeft']=html.scrollLeft;t.fullscreen['old_zIndex']=p.get_css_property(frame,\"z-index\");if(t.isOpera){html.Ç.height=\"100%\";html.Ç.width=\"100%\";}html.Ç.overflow=\"hidden\";html.scrollTop=0;html.scrollLeft=0;frame.Ç.position=\"absolute\";frame.Ç.width=html.clientWidth+\"px\";frame.Ç.height=html.clientHeight+\"px\";frame.Ç.display=\"block\";frame.Ç.zIndex=\"999999\";frame.Ç.top=\"0px\";frame.Ç.left=\"0px\";frame.Ç.top=\"-\"+p.calculeOffsetTop(frame)+\"px\";frame.Ç.left=\"-\"+p.calculeOffsetLeft(frame)+\"px\";t.switchClassSticky(icon,'editAreaButtonSelected',Ì);t.fullscreen['allow_resize']=t.resize_allowed;t.allow_resize(Ì);if(t.isFirefox){p.eAL.execCommand(t.id,\"update_size();\");t.area_select(selStart,selEnd-selStart);t.scroll_to_view();t.focus();}\nelse{setTimeout(\"È.eAL.execCommand('\"+t.id+\"','update_size();');eA.focus();\",10);}}\nelse if(to!=old){frame.Ç.position=\"static\";frame.Ç.zIndex=t.fullscreen['old_zIndex'];if(t.isOpera){html.Ç.height=\"auto\";html.Ç.width=\"auto\";html.Ç.overflow=\"auto\";}\nelse if(t.isIE&&p!=top){html.Ç.overflow=\"auto\";}\nelse{html.Ç.overflow=t.fullscreen['old_overflow'];}html.scrollTop=t.fullscreen['old_scrollTop'];html.scrollLeft=t.fullscreen['old_scrollLeft'];p.eAL.hide(t.id);p.eAL.show(t.id);t.switchClassSticky(icon,'editAreaButtonNormal',Ì);if(t.fullscreen['allow_resize'])t.allow_resize(t.fullscreen['allow_resize']);if(t.isFirefox){t.area_select(selStart,selEnd-selStart);setTimeout(\"eA.scroll_to_view();\",10);}}};EA.Ä.allow_resize=Ã(allow){var resize=_$(\"resize_area\");if(allow){resize.Ç.visibility=\"visible\";È.eAL.add_event(resize,\"mouseup\",eA.start_resize);}\nelse{resize.Ç.visibility=\"hidden\";È.eAL.remove_event(resize,\"mouseup\",eA.start_resize);}Á.resize_allowed=allow;};EA.Ä.change_syntax=Ã(new_syntax,is_waiting){if(new_syntax==Á.Å['syntax'])return Ë;var founded=Ì;for(var i=0;i<Á.syntax_list.Æ;i++){if(Á.syntax_list[i]==new_syntax)founded=Ë;}if(founded==Ë){if(!È.eAL.load_syntax[new_syntax]){if(!is_waiting)È.eAL.load_script(È.eAL.baseURL+\"reg_syntax/\"+new_syntax+\".js\");setTimeout(\"eA.change_syntax('\"+new_syntax+\"',Ë);\",100);Á.show_waiting_screen();}\nelse{if(!Á.allready_used_syntax[new_syntax]){È.eAL.init_syntax_regexp();Á.add_Ç(È.eAL.syntax[new_syntax][\"Çs\"]);Á.allready_used_syntax[new_syntax]=Ë;}var sel=_$(\"syntax_selection\");if(sel&&sel.Ê!=new_syntax){for(var i=0;i<sel.Æ;i++){if(sel.options[i].Ê&&sel.options[i].Ê==new_syntax)sel.options[i].selected=Ë;}}Á.Å['syntax']=new_syntax;Á.resync_highlight(Ë);Á.hide_waiting_screen();return Ë;}}return Ì;};EA.Ä.set_editable=Ã(is_editable){if(is_editable){document.body.className=\"\";Á.Â.readOnly=Ì;Á.is_editable=Ë;}\nelse{document.body.className=\"non_editable\";Á.Â.readOnly=Ë;Á.is_editable=Ì;}if(eAs[Á.id][\"displayed\"]==Ë)Á.update_size();};EA.Ä.toggle_word_wrap=Ã(){Á.set_word_wrap(!Á.Å['word_wrap']);};EA.Ä.set_word_wrap=Ã(to){var t=Á,a=t.Â;if(t.isOpera&&t.isOpera < 9.8){Á.Å['word_wrap']=Ì;t.switchClassSticky(_$(\"word_wrap\"),'editAreaButtonDisabled',Ë);return Ì;}if(to){wrap_mode='soft';Á.container.className+=' word_wrap';Á.container.Ç.width=\"\";Á.content_highlight.Ç.width=\"\";a.Ç.width=\"100%\";if(t.isIE&&t.isIE < 7){a.Ç.width=(a.offsetWidth-5)+\"px\";}t.switchClassSticky(_$(\"word_wrap\"),'editAreaButtonSelected',Ì);}\nelse{wrap_mode='off';Á.container.className=Á.container.className.replace(/word_wrap/g,'');t.switchClassSticky(_$(\"word_wrap\"),'editAreaButtonNormal',Ë);}Á.Â.previous_scrollWidth='';Á.Â.previous_scrollHeight='';a.wrap=wrap_mode;a.setAttribute('wrap',wrap_mode);if(!Á.isIE){var start=a.selectionStart,end=a.selectionEnd;var parNod=a.ÈNode,nxtSib=a.nextSibling;parNod.removeChild(a);parNod.insertBefore(a,nxtSib);Á.area_select(start,end-start);}Á.Å['word_wrap']=to;Á.focus();Á.update_size();Á.check_line_selection();};EA.Ä.open_file=Ã(Å){if(Å['id']!=\"undefined\"){var id=Å['id'];var new_file={};new_file['id']=id;new_file['title']=id;new_file['text']=\"\";new_file['É']=\"\";new_file['last_text_to_highlight']=\"\";new_file['last_hightlighted_text']=\"\";new_file['previous']=[];new_file['next']=[];new_file['last_undo']=\"\";new_file['smooth_selection']=Á.Å['smooth_selection'];new_file['do_highlight']=Á.Å['start_highlight'];new_file['syntax']=Á.Å['syntax'];new_file['scroll_top']=0;new_file['scroll_left']=0;new_file['selection_start']=0;new_file['selection_end']=0;new_file['edited']=Ì;new_file['font_size']=Á.Å[\"font_size\"];new_file['font_family']=Á.Å[\"font_family\"];new_file['word_wrap']=Á.Å[\"word_wrap\"];new_file['toolbar']={'links':{},'selects':{}};new_file['compare_edited_text']=new_file['text'];Á.files[id]=new_file;Á.update_file(id,Å);Á.files[id]['compare_edited_text']=Á.files[id]['text'];var html_id='tab_file_'+encodeURIComponent(id);Á.filesIdAssoc[html_id]=id;Á.files[id]['html_id']=html_id;if(!_$(Á.files[id]['html_id'])&&id!=\"\"){Á.tab_browsing_area.Ç.display=\"block\";var elem=document.createElement('li');elem.id=Á.files[id]['html_id'];var close=\"<img src=\\\"\"+È.eAL.baseURL+\"images/close.gif\\\" title=\\\"\"+Á.get_translation('close_tab','word')+\"\\\" onclick=\\\"eA.execCommand('close_file',eA.filesIdAssoc['\"+html_id+\"']);return Ì;\\\" class=\\\"hidden\\\" onmouseover=\\\"Á.className=''\\\" onmouseout=\\\"Á.className='hidden'\\\" />\";elem.innerHTML=\"<a onclick=\\\"javascript:eA.execCommand('switch_to_file',eA.filesIdAssoc['\"+html_id+\"']);\\\" selec=\\\"none\\\"><b><span><strong class=\\\"edited\\\">*</strong>\"+Á.files[id]['title']+close+\"</span></b></a>\";_$('tab_browsing_list').appendChild(elem);var elem=document.createElement('text');Á.update_size();}if(id!=\"\")Á.execCommand('file_open',Á.files[id]);Á.switch_to_file(id,Ë);return Ë;}\nelse return Ì;};EA.Ä.close_file=Ã(id){if(Á.files[id]){Á.save_file(id);if(Á.execCommand('file_close',Á.files[id])!==Ì){var li=_$(Á.files[id]['html_id']);li.ÈNode.removeChild(li);if(id==Á.curr_file){var next_file=\"\";var is_next=Ì;for(var i in Á.files){if(is_next){next_file=i;break;}\nelse if(i==id)is_next=Ë;\nelse next_file=i;}Á.switch_to_file(next_file);}delete(Á.files[id]);Á.update_size();}}};EA.Ä.save_file=Ã(id){var t=Á,save,a_links,a_selects,save_butt,img,i;if(t.files[id]){var save=t.files[id];save['É']=t.É;save['last_text_to_highlight']=t.last_text_to_highlight;save['last_hightlighted_text']=t.last_hightlighted_text;save['previous']=t.previous;save['next']=t.next;save['last_undo']=t.last_undo;save['smooth_selection']=t.smooth_selection;save['do_highlight']=t.do_highlight;save['syntax']=t.Å['syntax'];save['text']=t.Â.Ê;save['scroll_top']=t.result.scrollTop;save['scroll_left']=t.result.scrollLeft;save['selection_start']=t.É[\"selectionStart\"];save['selection_end']=t.É[\"selectionEnd\"];save['font_size']=t.Å[\"font_size\"];save['font_family']=t.Å[\"font_family\"];save['word_wrap']=t.Å[\"word_wrap\"];save['toolbar']={'links':{},'selects':{}};a_links=_$(\"toolbar_1\").getElementsByTagName(\"a\");for(i=0;i<a_links.Æ;i++){if(a_links[i].getAttribute('fileSpecific')=='yes'){save_butt={};img=a_links[i].getElementsByTagName('img')[0];save_butt['classLock']=img.classLock;save_butt['className']=img.className;save_butt['oldClassName']=img.oldClassName;save['toolbar']['links'][a_links[i].id]=save_butt;}}a_selects=_$(\"toolbar_1\").getElementsByTagName(\"select\");for(i=0;i<a_selects.Æ;i++){if(a_selects[i].getAttribute('fileSpecific')=='yes'){save['toolbar']['selects'][a_selects[i].id]=a_selects[i].Ê;}}t.files[id]=save;return save;}return Ì;};EA.Ä.update_file=Ã(id,new_Ês){for(var i in new_Ês){Á.files[id][i]=new_Ês[i];}};EA.Ä.display_file=Ã(id){var t=Á,a=t.Â,new_file,a_lis,a_selects,a_links,a_options,i,j;if(id==''){a.readOnly=Ë;t.tab_browsing_area.Ç.display=\"none\";_$(\"no_file_selected\").Ç.display=\"block\";t.result.className=\"empty\";if(!t.files['']){t.open_file({id:''});}}\nelse if(typeof(t.files[id])=='undefined'){return Ì;}\nelse{t.result.className=\"\";a.readOnly=!t.is_editable;_$(\"no_file_selected\").Ç.display=\"none\";t.tab_browsing_area.Ç.display=\"block\";}t.check_redo(Ë);t.check_undo(Ë);t.curr_file=id;a_lis=t.tab_browsing_area.getElementsByTagName('li');for(i=0;i<a_lis.Æ;i++){if(a_lis[i].id==t.files[id]['html_id'])a_lis[i].className='selected';\nelse a_lis[i].className='';}new_file=t.files[id];a.Ê=new_file['text'];t.set_font(new_file['font_family'],new_file['font_size']);t.area_select(new_file['selection_start'],new_file['selection_end']-new_file['selection_start']);t.manage_size(Ë);t.result.scrollTop=new_file['scroll_top'];t.result.scrollLeft=new_file['scroll_left'];t.previous=new_file['previous'];t.next=new_file['next'];t.last_undo=new_file['last_undo'];t.check_redo(Ë);t.check_undo(Ë);t.execCommand(\"change_highlight\",new_file['do_highlight']);t.execCommand(\"change_syntax\",new_file['syntax']);t.execCommand(\"change_smooth_selection_mode\",new_file['smooth_selection']);t.execCommand(\"set_word_wrap\",new_file['word_wrap']);a_links=new_file['toolbar']['links'];for(i in a_links){if(img=_$(i).getElementsByTagName('img')[0]){img.classLock=a_links[i]['classLock'];img.className=a_links[i]['className'];img.oldClassName=a_links[i]['oldClassName'];}}a_selects=new_file['toolbar']['selects'];for(i in a_selects){a_options=_$(i).options;for(j=0;j<a_options.Æ;j++){if(a_options[j].Ê==a_selects[i])_$(i).options[j].selected=Ë;}}};EA.Ä.switch_to_file=Ã(file_to_show,force_refresh){if(file_to_show!=Á.curr_file||force_refresh){Á.save_file(Á.curr_file);if(Á.curr_file!='')Á.execCommand('file_switch_off',Á.files[Á.curr_file]);Á.display_file(file_to_show);if(file_to_show!='')Á.execCommand('file_switch_on',Á.files[file_to_show]);}};EA.Ä.get_file=Ã(id){if(id==Á.curr_file)Á.save_file(id);return Á.files[id];};EA.Ä.get_all_files=Ã(){tmp_files=Á.files;Á.save_file(Á.curr_file);if(tmp_files[''])delete(Á.files['']);return tmp_files;};EA.Ä.check_file_changes=Ã(){var id=Á.curr_file;if(Á.files[id]&&Á.files[id]['compare_edited_text']!=undefined){if(Á.files[id]['compare_edited_text'].Æ==Á.Â.Ê.Æ&&Á.files[id]['compare_edited_text']==Á.Â.Ê){if(Á.files[id]['edited']!=Ì)Á.set_file_edited_mode(id,Ì);}\nelse{if(Á.files[id]['edited']!=Ë)Á.set_file_edited_mode(id,Ë);}}};EA.Ä.set_file_edited_mode=Ã(id,to){if(Á.files[id]&&_$(Á.files[id]['html_id'])){var link=_$(Á.files[id]['html_id']).getElementsByTagName('a')[0];if(to==Ë){link.className='edited';}\nelse{link.className='';if(id==Á.curr_file)text=Á.Â.Ê;\nelse text=Á.files[id]['text'];Á.files[id]['compare_edited_text']=text;}Á.files[id]['edited']=to;}};EA.Ä.set_show_line_colors=Ã(new_Ê){Á.show_line_colors=new_Ê;if(new_Ê)Á.selection_field.className+=' show_colors';\nelse Á.selection_field.className=Á.selection_field.className.replace(/ show_colors/g,'');};var EA_keys={8:\"Retour arriere\",9:\"Tabulation\",12:\"Milieu(pave numerique)\",13:\"Entrer\",16:\"Shift\",17:\"Ctrl\",18:\"Alt\",19:\"Pause\",20:\"Verr Maj\",27:\"Esc\",32:\"Space\",33:\"Page up\",34:\"Page down\",35:\"End\",36:\"Begin\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",44:\"Impr ecran\",45:\"Inser\",46:\"Suppr\",91:\"Menu Demarrer Windows / touche pomme Mac\",92:\"Menu Demarrer Windows\",93:\"Menu contextuel Windows\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"Verr Num\",145:\"Arret defil\"};Ã keyDown(e){if(!e){e=event;}for(var i in eA.plugins){if(typeof(eA.plugins[i].onkeydown)==\"Ã\"){if(eA.plugins[i].onkeydown(e)===Ì){if(eA.isIE)e.keyCode=0;return Ì;}}}var target_id=(e.target||e.srcElement).id;var use=Ì;if(EA_keys[e.keyCode])letter=EA_keys[e.keyCode];\nelse letter=String.fromCharCode(e.keyCode);var low_letter=letter.toLowerCase();if(letter==\"Page up\"&&!AltPressed(e)&&!eA.isOpera){eA.execCommand(\"scroll_page\",{\"dir\":\"up\",\"shift\":ShiftPressed(e)});use=Ë;}\nelse if(letter==\"Page down\"&&!AltPressed(e)&&!eA.isOpera){eA.execCommand(\"scroll_page\",{\"dir\":\"down\",\"shift\":ShiftPressed(e)});use=Ë;}\nelse if(eA.is_editable==Ì){return Ë;}\nelse if(letter==\"Tabulation\"&&target_id==\"Â\"&&!CtrlPressed(e)&&!AltPressed(e)){if(ShiftPressed(e))eA.execCommand(\"invert_tab_selection\");\nelse eA.execCommand(\"tab_selection\");use=Ë;if(eA.isOpera||(eA.isFirefox&&eA.isMac))setTimeout(\"eA.execCommand('focus');\",1);}\nelse if(letter==\"Entrer\"&&target_id==\"Â\"){if(eA.press_enter())use=Ë;}\nelse if(letter==\"Entrer\"&&target_id==\"area_search\"){eA.execCommand(\"area_search\");use=Ë;}\nelse if(letter==\"Esc\"){eA.execCommand(\"close_all_inline_popup\",e);use=Ë;}\nelse if(CtrlPressed(e)&&!AltPressed(e)&&!ShiftPressed(e)){switch(low_letter){case \"f\":eA.execCommand(\"area_search\");use=Ë;break;case \"r\":eA.execCommand(\"area_replace\");use=Ë;break;case \"q\":eA.execCommand(\"close_all_inline_popup\",e);use=Ë;break;case \"h\":eA.execCommand(\"change_highlight\");use=Ë;break;case \"g\":setTimeout(\"eA.execCommand('go_to_line');\",5);use=Ë;break;case \"e\":eA.execCommand(\"show_help\");use=Ë;break;case \"z\":use=Ë;eA.execCommand(\"undo\");break;case \"y\":use=Ë;eA.execCommand(\"redo\");break;default:break;}}if(eA.next.Æ > 0){setTimeout(\"eA.check_redo();\",10);}setTimeout(\"eA.check_file_changes();\",10);if(use){if(eA.isIE)e.keyCode=0;return Ì;}return Ë;};Ã AltPressed(e){if(window.event){return(window.event.altKey);}\nelse{if(e.modifiers)return(e.altKey||(e.modifiers % 2));\nelse return e.altKey;}};Ã CtrlPressed(e){if(window.event){return(window.event.ctrlKey);}\nelse{return(e.ctrlKey||(e.modifiers==2)||(e.modifiers==3)||(e.modifiers>5));}};Ã ShiftPressed(e){if(window.event){return(window.event.shiftKey);}\nelse{return(e.shiftKey||(e.modifiers>3));}}; EA.Ä.show_search=Ã(){if(_$(\"area_search_replace\").Ç.visibility==\"visible\"){Á.hidden_search();}\nelse{Á.open_inline_popup(\"area_search_replace\");var text=Á.area_get_selection();var search=text.split(\"\\n\")[0];_$(\"area_search\").Ê=search;_$(\"area_search\").focus();}};EA.Ä.hidden_search=Ã(){Á.close_inline_popup(\"area_search_replace\");};EA.Ä.area_search=Ã(mode){if(!mode)mode=\"search\";_$(\"area_search_msg\").innerHTML=\"\";var search=_$(\"area_search\").Ê;Á.Â.focus();Á.Â.ÂFocused=Ë;var infos=Á.get_selection_infos();var start=infos[\"selectionStart\"];var pos=-1;var pos_begin=-1;var Æ=search.Æ;if(_$(\"area_search_replace\").Ç.visibility!=\"visible\"){Á.show_search();return;}if(search.Æ==0){_$(\"area_search_msg\").innerHTML=Á.get_translation(\"search_field_empty\");return;}if(mode!=\"replace\"){if(_$(\"area_search_reg_exp\").checked)start++;\nelse start+=search.Æ;}if(_$(\"area_search_reg_exp\").checked){var opt=\"m\";if(!_$(\"area_search_match_case\").checked)opt+=\"i\";var reg=new RegExp(search,opt);pos=infos[\"full_text\"].substr(start).search(reg);pos_begin=infos[\"full_text\"].search(reg);if(pos!=-1){pos+=start;Æ=infos[\"full_text\"].substr(start).match(reg)[0].Æ;}\nelse if(pos_begin!=-1){Æ=infos[\"full_text\"].match(reg)[0].Æ;}}\nelse{if(_$(\"area_search_match_case\").checked){pos=infos[\"full_text\"].indexOf(search,start);pos_begin=infos[\"full_text\"].indexOf(search);}\nelse{pos=infos[\"full_text\"].toLowerCase().indexOf(search.toLowerCase(),start);pos_begin=infos[\"full_text\"].toLowerCase().indexOf(search.toLowerCase());}}if(pos==-1&&pos_begin==-1){_$(\"area_search_msg\").innerHTML=\"<strong>\"+search+\"</strong> \"+Á.get_translation(\"not_found\");return;}\nelse if(pos==-1&&pos_begin !=-1){begin=pos_begin;_$(\"area_search_msg\").innerHTML=Á.get_translation(\"restart_search_at_begin\");}\nelse begin=pos;if(mode==\"replace\"&&pos==infos[\"indexOfCursor\"]){var replace=_$(\"area_replace\").Ê;var new_text=\"\";if(_$(\"area_search_reg_exp\").checked){var opt=\"m\";if(!_$(\"area_search_match_case\").checked)opt+=\"i\";var reg=new RegExp(search,opt);new_text=infos[\"full_text\"].substr(0,begin)+infos[\"full_text\"].substr(start).replace(reg,replace);}\nelse{new_text=infos[\"full_text\"].substr(0,begin)+replace+infos[\"full_text\"].substr(begin+Æ);}Á.Â.Ê=new_text;Á.area_select(begin,Æ);Á.area_search();}\nelse Á.area_select(begin,Æ);};EA.Ä.area_replace=Ã(){Á.area_search(\"replace\");};EA.Ä.area_replace_all=Ã(){var base_text=Á.Â.Ê;var search=_$(\"area_search\").Ê;var replace=_$(\"area_replace\").Ê;if(search.Æ==0){_$(\"area_search_msg\").innerHTML=Á.get_translation(\"search_field_empty\");return;}var new_text=\"\";var nb_change=0;if(_$(\"area_search_reg_exp\").checked){var opt=\"mg\";if(!_$(\"area_search_match_case\").checked)opt+=\"i\";var reg=new RegExp(search,opt);nb_change=infos[\"full_text\"].match(reg).Æ;new_text=infos[\"full_text\"].replace(reg,replace);}\nelse{if(_$(\"area_search_match_case\").checked){var tmp_tab=base_text.split(search);nb_change=tmp_tab.Æ-1;new_text=tmp_tab.join(replace);}\nelse{var lower_Ê=base_text.toLowerCase();var lower_search=search.toLowerCase();var start=0;var pos=lower_Ê.indexOf(lower_search);while(pos!=-1){nb_change++;new_text+=Á.Â.Ê.substring(start,pos)+replace;start=pos+search.Æ;pos=lower_Ê.indexOf(lower_search,pos+1);}new_text+=Á.Â.Ê.substring(start);}}if(new_text==base_text){_$(\"area_search_msg\").innerHTML=\"<strong>\"+search+\"</strong> \"+Á.get_translation(\"not_found\");}\nelse{Á.Â.Ê=new_text;_$(\"area_search_msg\").innerHTML=\"<strong>\"+nb_change+\"</strong> \"+Á.get_translation(\"occurrence_replaced\");setTimeout(\"eA.Â.focus();eA.Â.ÂFocused=Ë;\",100);}}; EA.Ä.change_highlight=Ã(change_to){if(Á.Å[\"syntax\"].Æ==0&&change_to==Ì){Á.switchClassSticky(_$(\"highlight\"),'editAreaButtonDisabled',Ë);Á.switchClassSticky(_$(\"reset_highlight\"),'editAreaButtonDisabled',Ë);return Ì;}if(Á.do_highlight==change_to)return Ì;Á.getIESelection();var pos_start=Á.Â.selectionStart;var pos_end=Á.Â.selectionEnd;if(Á.do_highlight===Ë||change_to==Ì)Á.disable_highlight();\nelse Á.enable_highlight();Á.Â.focus();Á.Â.selectionStart=pos_start;Á.Â.selectionEnd=pos_end;Á.setIESelection();};EA.Ä.disable_highlight=Ã(displayOnly){var t=Á,a=t.Â,new_Obj,old_class,new_class;t.selection_field.innerHTML=\"\";t.selection_field_text.innerHTML=\"\";t.content_highlight.Ç.visibility=\"hidden\";new_Obj=t.content_highlight.cloneNode(Ì);new_Obj.innerHTML=\"\";t.content_highlight.ÈNode.insertBefore(new_Obj,t.content_highlight);t.content_highlight.ÈNode.removeChild(t.content_highlight);t.content_highlight=new_Obj;old_class=È.getAttribute(a,\"class\");if(old_class){new_class=old_class.replace(\"hidden\",\"\");È.setAttribute(a,\"class\",new_class);}a.Ç.backgroundColor=\"transÈ\";t.switchClassSticky(_$(\"highlight\"),'editAreaButtonNormal',Ë);t.switchClassSticky(_$(\"reset_highlight\"),'editAreaButtonDisabled',Ë);t.do_highlight=Ì;t.switchClassSticky(_$(\"change_smooth_selection\"),'editAreaButtonSelected',Ë);if(typeof(t.smooth_selection_before_highlight)!=\"undefined\"&&t.smooth_selection_before_highlight===Ì){t.change_smooth_selection_mode(Ì);}};EA.Ä.enable_highlight=Ã(){var t=Á,a=t.Â,new_class;t.show_waiting_screen();t.content_highlight.Ç.visibility=\"visible\";new_class=È.getAttribute(a,\"class\")+\" hidden\";È.setAttribute(a,\"class\",new_class);if(t.isIE)a.Ç.backgroundColor=\"#FFFFFF\";t.switchClassSticky(_$(\"highlight\"),'editAreaButtonSelected',Ì);t.switchClassSticky(_$(\"reset_highlight\"),'editAreaButtonNormal',Ì);t.smooth_selection_before_highlight=t.smooth_selection;if(!t.smooth_selection)t.change_smooth_selection_mode(Ë);t.switchClassSticky(_$(\"change_smooth_selection\"),'editAreaButtonDisabled',Ë);t.do_highlight=Ë;t.resync_highlight();t.hide_waiting_screen();};EA.Ä.maj_highlight=Ã(infos){var debug_opti=\"\",tps_start=new Date().getTime(),tps_middle_opti=new Date().getTime();var t=Á,hightlighted_text,updated_highlight;var textToHighlight=infos[\"full_text\"],doSyntaxOpti=Ì,doHtmlOpti=Ì,stay_begin=\"\",stay_end=\"\",trace_new,trace_last;if(t.last_text_to_highlight==infos[\"full_text\"]&&t.resync_highlight!==Ë)return;if(t.reload_highlight===Ë){t.reload_highlight=Ì;}\nelse if(textToHighlight.Æ==0){textToHighlight=\"\\n \";}\nelse{changes=t.checkTextEvolution(t.last_text_to_highlight,textToHighlight);trace_new=t.get_syntax_trace(changes.newTextLine).replace(/\\r/g,'');trace_last=t.get_syntax_trace(changes.lastTextLine).replace(/\\r/g,'');doSyntaxOpti=(trace_new==trace_last);if(!doSyntaxOpti&&trace_new==\"\\n\"+trace_last&&/^[ \t\s]*\\n[ \t\s]*$/.test(changes.newText.replace(/\\r/g,''))&&changes.lastText==\"\"){doSyntaxOpti=Ë;}if(doSyntaxOpti){tps_middle_opti=new Date().getTime();stay_begin=t.last_hightlighted_text.split(\"\\n\").slice(0,changes.lineStart).join(\"\\n\");if(changes.lineStart>0)stay_begin+=\"\\n\";stay_end=t.last_hightlighted_text.split(\"\\n\").slice(changes.lineLastEnd+1).join(\"\\n\");if(stay_end.Æ>0)stay_end=\"\\n\"+stay_end;if(stay_begin.split('<span').Æ !=stay_begin.split('</span').Æ||stay_end.split('<span').Æ !=stay_end.split('</span').Æ){doSyntaxOpti=Ì;stay_end='';stay_begin='';}\nelse{if(stay_begin.Æ==0&&changes.posLastEnd==-1)changes.newTextLine+=\"\\n\";textToHighlight=changes.newTextLine;}}if(t.Å[\"debug\"]){var ch=changes;debug_opti=(doSyntaxOpti?\"Optimisation\":\"No optimisation\")+\" start:\"+ch.posStart+\"(\"+ch.lineStart+\")\"+\" end_new:\"+ch.posNewEnd+\"(\"+ch.lineNewEnd+\")\"+\" end_last:\"+ch.posLastEnd+\"(\"+ch.lineLastEnd+\")\"+\"\\nchanged_text:\"+ch.newText+\"=> trace:\"+trace_new+\"\\nchanged_last_text:\"+ch.lastText+\"=> trace:\"+trace_last+\"\\nchanged_line:\"+ch.newTextLine+\"\\nlast_changed_line:\"+ch.lastTextLine+\"\\nstay_begin:\"+stay_begin.slice(-100)+\"\\nstay_end:\"+stay_end.substr(0,100);+\"\\n\";}}tps_end_opti=new Date().getTime();updated_highlight=t.colorize_text(textToHighlight);tpsAfterReg=new Date().getTime();doSyntaxOpti=doHtmlOpti=Ì;if(doSyntaxOpti){try{var replacedBloc,i,nbStart='',nbEnd='',newHtml,ÆOld,ÆNew;replacedBloc=t.last_hightlighted_text.substring(stay_begin.Æ,t.last_hightlighted_text.Æ-stay_end.Æ);ÆOld=replacedBloc.Æ;ÆNew=updated_highlight.Æ;for(i=0;i < ÆOld&&i < ÆNew&&replacedBloc.charAt(i)==updated_highlight.charAt(i);i++){}nbStart=i;for(i=0;i+nbStart < ÆOld&&i+nbStart < ÆNew&&replacedBloc.charAt(ÆOld-i-1)==updated_highlight.charAt(ÆNew-i-1);i++){}nbEnd=i;lastHtml=replacedBloc.substring(nbStart,ÆOld-nbEnd);newHtml=updated_highlight.substring(nbStart,ÆNew-nbEnd);if(newHtml.indexOf('<span')==-1&&newHtml.indexOf('</span')==-1&&lastHtml.indexOf('<span')==-1&&lastHtml.indexOf('</span')==-1){var beginStr,nbOpendedSpan,nbClosedSpan,nbUnchangedChars,span,textNode;doHtmlOpti=Ë;beginStr=t.last_hightlighted_text.substr(0,stay_begin.Æ+nbStart);newHtml=newHtml.replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');nbOpendedSpan=beginStr.split('<span').Æ-1;nbClosedSpan=beginStr.split('</span').Æ-1;span=t.content_highlight.getElementsByTagName('span')[ nbOpendedSpan ];ÈSpan=span;maxStartOffset=maxEndOffset=0;if(nbOpendedSpan==nbClosedSpan){while(ÈSpan.ÈNode !=t.content_highlight&&ÈSpan.ÈNode.tagName !='PRE'){ÈSpan=ÈSpan.ÈNode;}}\nelse{maxStartOffset=maxEndOffset=beginStr.Æ+1;nbClosed=beginStr.substr(Math.max(0,beginStr.lastIndexOf('<span',maxStartOffset-1))).split('</span').Æ-1;while(nbClosed > 0){nbClosed--;ÈSpan=ÈSpan.ÈNode;}while(ÈSpan.ÈNode !=t.content_highlight&&ÈSpan.ÈNode.tagName !='PRE'&&(tmpMaxStartOffset=Math.max(0,beginStr.lastIndexOf('<span',maxStartOffset-1)))<(tmpMaxEndOffset=Math.max(0,beginStr.lastIndexOf('</span',maxEndOffset-1)))){maxStartOffset=tmpMaxStartOffset;maxEndOffset=tmpMaxEndOffset;}}if(ÈSpan.ÈNode==t.content_highlight||ÈSpan.ÈNode.tagName=='PRE'){maxStartOffset=Math.max(0,beginStr.indexOf('<span'));}if(maxStartOffset==beginStr.Æ){nbSubSpanBefore=0;}\nelse{lastEndPos=Math.max(0,beginStr.lastIndexOf('>',maxStartOffset));nbSubSpanBefore=beginStr.substr(lastEndPos).split('<span').Æ-1;}if(nbSubSpanBefore==0){textNode=ÈSpan.firstChild;}\nelse{lastSubSpan=ÈSpan.getElementsByTagName('span')[ nbSubSpanBefore-1 ];while(lastSubSpan.ÈNode !=ÈSpan){lastSubSpan=lastSubSpan.ÈNode;}if(lastSubSpan.nextSibling==null||lastSubSpan.nextSibling.nodeType !=3){textNode=document.createTextNode('');lastSubSpan.ÈNode.insertBefore(textNode,lastSubSpan.nextSibling);}\nelse{textNode=lastSubSpan.nextSibling;}}if((lastIndex=beginStr.lastIndexOf('>'))==-1){nbUnchangedChars=beginStr.Æ;}\nelse{nbUnchangedChars=beginStr.substr(lastIndex+1).replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&').Æ;}if(t.isIE){nbUnchangedChars-=(beginStr.substr(beginStr.Æ-nbUnchangedChars).split(\"\\n\").Æ-1);textNode.replaceData(nbUnchangedChars,lastHtml.replace(/\\n/g,'').Æ,newHtml.replace(/\\n/g,''));}\nelse{textNode.replaceData(nbUnchangedChars,lastHtml.Æ,newHtml);}}}catch(e){doHtmlOpti=Ì;}}tpsAfterOpti2=new Date().getTime();hightlighted_text=stay_begin+updated_highlight+stay_end;if(!doHtmlOpti){var new_Obj=t.content_highlight.cloneNode(Ì);if((t.isIE&&t.isIE < 8)||(t.isOpera&&t.isOpera < 9.6))new_Obj.innerHTML=\"<pre><span class='\"+t.Å[\"syntax\"]+\"'>\"+hightlighted_text+\"</span></pre>\";\nelse new_Obj.innerHTML=\"<span class='\"+t.Å[\"syntax\"]+\"'>\"+hightlighted_text+\"</span>\";t.content_highlight.ÈNode.replaceChild(new_Obj,t.content_highlight);t.content_highlight=new_Obj;}t.last_text_to_highlight=infos[\"full_text\"];t.last_hightlighted_text=hightlighted_text;tps3=new Date().getTime();if(t.Å[\"debug\"]){t.debug.Ê=\"Tps optimisation \"+(tps_end_opti-tps_start)+\" | tps reg exp:\"+(tpsAfterReg-tps_end_opti)+\" | tps opti HTML:\"+(tpsAfterOpti2-tpsAfterReg)+' '+(doHtmlOpti ? 'yes':'no')+\" | tps update highlight content:\"+(tps3-tpsAfterOpti2)+\" | tpsTotal:\"+(tps3-tps_start)+\"(\"+tps3+\")\\n\"+debug_opti;}};EA.Ä.resync_highlight=Ã(reload_now){Á.reload_highlight=Ë;Á.last_text_to_highlight=\"\";Á.focus();if(reload_now)Á.check_line_selection(Ì);}; EA.Ä.comment_or_quote=Ã(){var new_class=\"\",close_tag=\"\",sy,arg,i;sy=È.eAL.syntax[eA.current_code_lang];arg=EA.Ä.comment_or_quote.arguments[0];for(i in sy[\"quotes\"]){if(arg.indexOf(i)==0){new_class=\"quotesmarks\";close_tag=sy[\"quotes\"][i];}}if(new_class.Æ==0){for(var i in sy[\"comments\"]){if(arg.indexOf(i)==0){new_class=\"comments\";close_tag=sy[\"comments\"][i];}}}if(close_tag==\"\\n\"){return \"µ__\"+new_class+\"__µ\"+arg.replace(/(\\r?\\n)?$/m,\"µ_END_µ$1\");}\nelse{reg=new RegExp(È.eAL.get_escaped_regexp(close_tag)+\"$\",\"m\");if(arg.search(reg)!=-1)return \"µ__\"+new_class+\"__µ\"+arg+\"µ_END_µ\";\nelse return \"µ__\"+new_class+\"__µ\"+arg;}};EA.Ä.get_syntax_trace=Ã(text){if(Á.Å[\"syntax\"].Æ>0&&È.eAL.syntax[Á.Å[\"syntax\"]][\"syntax_trace_regexp\"])return text.replace(È.eAL.syntax[Á.Å[\"syntax\"]][\"syntax_trace_regexp\"],\"$3\");};EA.Ä.colorize_text=Ã(text){text=\" \"+text;if(Á.Å[\"syntax\"].Æ>0)text=Á.apply_syntax(text,Á.Å[\"syntax\"]);return text.substr(1).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/µ_END_µ/g,\"</span>\").replace(/µ__([a-zA-Z0-9]+)__µ/g,\"<span class='$1'>\");};EA.Ä.apply_syntax=Ã(text,lang){var sy;Á.current_code_lang=lang;if(!È.eAL.syntax[lang])return text;sy=È.eAL.syntax[lang];if(sy[\"custom_regexp\"]['before']){for(var i in sy[\"custom_regexp\"]['before']){var convert=\"$1µ__\"+sy[\"custom_regexp\"]['before'][i]['class']+\"__µ$2µ_END_µ$3\";text=text.replace(sy[\"custom_regexp\"]['before'][i]['regexp'],convert);}}if(sy[\"comment_or_quote_reg_exp\"]){text=text.replace(sy[\"comment_or_quote_reg_exp\"],Á.comment_or_quote);}if(sy[\"keywords_reg_exp\"]){for(var i in sy[\"keywords_reg_exp\"]){text=text.replace(sy[\"keywords_reg_exp\"][i],'µ__'+i+'__µ$2µ_END_µ');}}if(sy[\"delimiters_reg_exp\"]){text=text.replace(sy[\"delimiters_reg_exp\"],'µ__delimiters__µ$1µ_END_µ');}if(sy[\"operators_reg_exp\"]){text=text.replace(sy[\"operators_reg_exp\"],'µ__operators__µ$1µ_END_µ');}if(sy[\"custom_regexp\"]['after']){for(var i in sy[\"custom_regexp\"]['after']){var convert=\"$1µ__\"+sy[\"custom_regexp\"]['after'][i]['class']+\"__µ$2µ_END_µ$3\";text=text.replace(sy[\"custom_regexp\"]['after'][i]['regexp'],convert);}}return text;};var editArea= eA;EditArea=EA;</script>".replace(/Á/g, 'this').replace(/Â/g, 'textarea').replace(/Ã/g, 'function').replace(/Ä/g, 'prototype').replace(/Å/g, 'settings').replace(/Æ/g, 'length').replace(/Ç/g, 'style').replace(/È/g, 'parent').replace(/É/g, 'last_selection').replace(/Ê/g, 'value').replace(/Ë/g, 'true').replace(/Ì/g, 'false');
1551-editAreaLoader.template = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" > <head> <title>EditArea</title> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <meta http-equiv=\"X-UA-Compatible\" content=\"IE=EmulateIE7\"/> [__CSSRULES__] [__JSCODE__] <link rel=\"stylesheet\" type=\"text/css\" href=\"" + themeUrl + "/css/edit_area.css\"/></head> <body> <div id='editor'> <div class='area_toolbar' id='toolbar_1'>[__TOOLBAR__]</div> <div class='area_toolbar' id='tab_browsing_area'><ul id='tab_browsing_list' class='menu'> <li> </li> </ul></div> <div id='result'> <div id='no_file_selected'></div> <div id='container'> <div id='cursor_pos' class='edit_area_cursor'>&nbsp;</div> <div id='end_bracket' class='edit_area_cursor'>&nbsp;</div> <div id='selection_field'></div> <div id='line_number' selec='none'></div> <div id='content_highlight'></div> <div id='test_font_size'></div> <div id='selection_field_text'></div> <textarea id='textarea' wrap='off' onchange='editArea.execCommand(\"onchange\");' onfocus='javascript:editArea.textareaFocused=true;' onblur='javascript:editArea.textareaFocused=false;'> </textarea> </div> </div> <div class='area_toolbar' id='toolbar_2'> <table class='statusbar' cellspacing='0' cellpadding='0'> <tr> <td class='total' selec='none'>{$position}:</td> <td class='infos' selec='none'> {$line_abbr} <span id='linePos'>0</span>, {$char_abbr} <span id='currPos'>0</span> </td> <td class='total' selec='none'>{$total}:</td> <td class='infos' selec='none'> {$line_abbr} <span id='nbLine'>0</span>, {$char_abbr} <span id='nbChar'>0</span> </td> <td class='resize'> <span id='resize_area'><img src='[__BASEURL__]images/statusbar_resize.gif' alt='resize' selec='none'></span> </td> </tr> </table> </div> </div> <div id='processing'> <div id='processing_text'> {$processing} </div> </div> <div id='area_search_replace' class='editarea_popup'> <table cellspacing='2' cellpadding='0' style='width: 100%'> <tr> <td selec='none'>{$search}</td> <td><input type='text' id='area_search' /></td> <td id='close_area_search_replace'> <a onclick='Javascript:editArea.execCommand(\"hidden_search\")'><img selec='none' src='[__BASEURL__]images/close.gif' alt='{$close_popup}' title='{$close_popup}' /></a><br /> </tr><tr> <td selec='none'>{$replace}</td> <td><input type='text' id='area_replace' /></td> <td><img id='move_area_search_replace' onmousedown='return parent.start_move_element(event,\"area_search_replace\", parent.frames[\"frame_\"+editArea.id]);' src='[__BASEURL__]images/move.gif' alt='{$move_popup}' title='{$move_popup}' /></td> </tr> </table> <div class='button'> <input type='checkbox' id='area_search_match_case' /><label for='area_search_match_case' selec='none'>{$match_case}</label> <input type='checkbox' id='area_search_reg_exp' /><label for='area_search_reg_exp' selec='none'>{$reg_exp}</label> <br /> <a onclick='Javascript:editArea.execCommand(\"area_search\")' selec='none'>{$find_next}</a> <a onclick='Javascript:editArea.execCommand(\"area_replace\")' selec='none'>{$replace}</a> <a onclick='Javascript:editArea.execCommand(\"area_replace_all\")' selec='none'>{$replace_all}</a><br /> </div> <div id='area_search_msg' selec='none'></div> </div> <div id='edit_area_help' class='editarea_popup'> <div class='close_popup'> <a onclick='Javascript:editArea.execCommand(\"close_all_inline_popup\")'><img src='[__BASEURL__]images/close.gif' alt='{$close_popup}' title='{$close_popup}' /></a> </div> <div><h2>Editarea [__EA_VERSION__]</h2><br /> <h3>{$shortcuts}:</h3> {$tab}: {$add_tab}<br /> {$shift}+{$tab}: {$remove_tab}<br /> {$ctrl}+f: {$search_command}<br /> {$ctrl}+r: {$replace_command}<br /> {$ctrl}+h: {$highlight}<br /> {$ctrl}+g: {$go_to_line}<br /> {$ctrl}+z: {$undo}<br /> {$ctrl}+y: {$redo}<br /> {$ctrl}+e: {$help}<br /> {$ctrl}+q, {$esc}: {$close_popup}<br /> {$accesskey} E: {$toggle}<br /> <br /> <em>{$about_notice}</em> <br /><div class='copyright'>&copy; Christophe Dolivet 2007-2010</div> </div> </div> </body> </html> ";
1552-editAreaLoader.iframe_css = "<style>body,html{margin:0;padding:0;height:100%;border:none;overflow:hidden;background-color:#FFF;}body,html,table,form,textarea{font:12px monospace,sans-serif;}#editor{border:solid #888 1px;overflow:hidden;}#result{z-index:4;overflow-x:auto;overflow-y:scroll;border-top:solid #888 1px;border-bottom:solid #888 1px;position:relative;clear:both;}#result.empty{overflow:hidden;}#container{overflow:hidden;border:solid blue 0;position:relative;z-index:10;padding:0 5px 0 45px;}#textarea{position:relative;top:0;left:0;margin:0;padding:0;width:100%;height:100%;overflow:hidden;z-index:7;border-width:0;background-color:transparent;resize:none;}#textarea,#textarea:hover{outline:none;}#content_highlight{white-space:pre;margin:0;padding:0;position:absolute;z-index:4;overflow:visible;}#selection_field,#selection_field_text{margin:0;background-color:#E1F2F9;position:absolute;z-index:5;top:-100px;padding:0;white-space:pre;overflow:hidden;}#selection_field.show_colors {z-index:3;background-color:#EDF9FC;}#selection_field strong{font-weight:normal;}#selection_field.show_colors *,#selection_field_text * {visibility:hidden;}#selection_field_text{background-color:transparent;}#selection_field_text strong{font-weight:normal;background-color:#3399FE;color:#FFF;visibility:visible;}#container.word_wrap #content_highlight,#container.word_wrap #selection_field,#container.word_wrap #selection_field_text,#container.word_wrap #test_font_size{white-space:pre-wrap;white-space:-moz-pre-wrap !important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;width:99%;}#line_number{position:absolute;overflow:hidden;border-right:solid black 1px;z-index:8;width:38px;padding:0 5px 0 0;margin:0 0 0 -45px;text-align:right;color:#AAAAAA;}#test_font_size{padding:0;margin:0;visibility:hidden;position:absolute;white-space:pre;}pre{margin:0;padding:0;}.hidden{opacity:0.2;filter:alpha(opacity=20);}#result .edit_area_cursor{position:absolute;z-index:6;background-color:#FF6633;top:-100px;margin:0;}#result .edit_area_selection_field .overline{background-color:#996600;}.editarea_popup{border:solid 1px #888888;background-color:#ECE9D8;width:250px;padding:4px;position:absolute;visibility:hidden;z-index:15;top:-500px;}.editarea_popup,.editarea_popup table{font-family:sans-serif;font-size:10pt;}.editarea_popup img{border:0;}.editarea_popup .close_popup{float:right;line-height:16px;border:0;padding:0;}.editarea_popup h1,.editarea_popup h2,.editarea_popup h3,.editarea_popup h4,.editarea_popup h5,.editarea_popup h6{margin:0;padding:0;}.editarea_popup .copyright{text-align:right;}div#area_search_replace{}div#area_search_replace img{border:0;}div#area_search_replace div.button{text-align:center;line-height:1.7em;}div#area_search_replace .button a{cursor:pointer;border:solid 1px #888888;background-color:#DEDEDE;text-decoration:none;padding:0 2px;color:#000000;white-space:nowrap;}div#area_search_replace a:hover{background-color:#EDEDED;}div#area_search_replace #move_area_search_replace{cursor:move;border:solid 1px #888;}div#area_search_replace #close_area_search_replace{text-align:right;vertical-align:top;white-space:nowrap;}div#area_search_replace #area_search_msg{height:18px;overflow:hidden;border-top:solid 1px #888;margin-top:3px;}#edit_area_help{width:350px;}#edit_area_help div.close_popup{float:right;}.area_toolbar{width:100%;margin:0;padding:0;background-color:#ECE9D8;text-align:center;}.area_toolbar,.area_toolbar table{font:11px sans-serif;}.area_toolbar img{border:0;vertical-align:middle;}.area_toolbar input{margin:0;padding:0;}.area_toolbar select{font-family:'MS Sans Serif',sans-serif,Verdana,Arial;font-size:7pt;font-weight:normal;margin:2px 0 0 0 ;padding:0;vertical-align:top;background-color:#F0F0EE;}table.statusbar{width:100%;}.area_toolbar td.infos{text-align:center;width:130px;border-right:solid 1px #888;border-width:0 1px 0 0;padding:0;}.area_toolbar td.total{text-align:right;width:50px;padding:0;}.area_toolbar td.resize{text-align:right;}.area_toolbar span#resize_area{cursor:nw-resize;visibility:hidden;}.editAreaButtonNormal,.editAreaButtonOver,.editAreaButtonDown,.editAreaSeparator,.editAreaSeparatorLine,.editAreaButtonDisabled,.editAreaButtonSelected {border:0; margin:0; padding:0; background:transparent;margin-top:0;margin-left:1px;padding:0;}.editAreaButtonNormal {border:1px solid #ECE9D8 !important;cursor:pointer;}.editAreaButtonOver {border:1px solid #0A246A !important;cursor:pointer;background-color:#B6BDD2;}.editAreaButtonDown {cursor:pointer;border:1px solid #0A246A !important;background-color:#8592B5;}.editAreaButtonSelected {border:1px solid #C0C0BB !important;cursor:pointer;background-color:#F4F2E8;}.editAreaButtonDisabled {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;border:1px solid #F0F0EE !important;cursor:pointer;}.editAreaSeparatorLine {margin:1px 2px;background-color:#C0C0BB;width:2px;height:18px;}#processing{display:none;background-color:#ECE9D8;border:solid #888 1px;position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;text-align:center;}#processing_text{position:absolute;left:50%;top:50%;width:200px;height:20px;margin-left:-100px;margin-top:-10px;text-align:center;}#tab_browsing_area{display:none;background-color:#CCC9A8;border-top:1px solid #888;text-align:left;margin:0;}#tab_browsing_list {padding:0;margin:0;list-style-type:none;white-space:nowrap;}#tab_browsing_list li {float:left;margin:-1px;}#tab_browsing_list a {position:relative;display:block;text-decoration:none;float:left;cursor:pointer;line-height:14px;}#tab_browsing_list a span {display:block;color:#000;background:#ECE9D8;border:1px solid #888;border-width:1px 1px 0;text-align:center;padding:2px 2px 1px 4px;position:relative;}#tab_browsing_list a b {display:block;border-bottom:2px solid #617994;}#tab_browsing_list a .edited {display:none;}#tab_browsing_list a.edited .edited {display:inline;}#tab_browsing_list a img{margin-left:7px;}#tab_browsing_list a.edited img{margin-left:3px;}#tab_browsing_list a:hover span {background:#F4F2E8;border-color:#0A246A;}#tab_browsing_list .selected a span{background:#046380;color:#FFF;}#no_file_selected{height:100%;width:150%;background:#CCC;display:none;z-index:20;position:absolute;}.non_editable #editor{border-width:0 1px;}.non_editable .area_toolbar{display:none;}#auto_completion_area{background:#FFF;border:solid 1px #888;position:absolute;z-index:15;width:280px;height:180px;overflow:auto;display:none;}#auto_completion_area a,#auto_completion_area a:visited{display:block;padding:0 2px 1px;color:#000;text-decoration:none;}#auto_completion_area a:hover,#auto_completion_area a:focus,#auto_completion_area a.focus{background:#D6E1FE;text-decoration:none;}#auto_completion_area ul{margin:0;padding:0;list-style:none inside;}#auto_completion_area li{padding:0;}#auto_completion_area .prefix{font-style:italic;padding:0 3px;}</style>";
1553\ No newline at end of file
1554
1555=== removed directory 'js/components/EditArea/fusonic_extensions'
1556=== removed file 'js/components/EditArea/fusonic_extensions/editarea.js'
1557--- js/components/EditArea/fusonic_extensions/editarea.js 2011-07-13 07:50:43 +0000
1558+++ js/components/EditArea/fusonic_extensions/editarea.js 1970-01-01 00:00:00 +0000
1559@@ -1,165 +0,0 @@
1560-/**
1561- * this function sets up the autogrow functionality for the EditArea
1562- * its called by the EditArea EA_load_callback
1563- * @param: _id id of the textarea
1564- * @return void
1565- */
1566-function setupEditAreaAutoGrow(_id){
1567- var ua = navigator.userAgent;
1568-
1569- // select the iframe
1570- var frame = $('#frame_' + _id).get(0);
1571-
1572- // getting the maxheight, saved in the textarea's style attribute
1573- var maxHeight = parseInt($('#' + _id).css('max-height'));
1574-
1575- // getting the minheight, saved in the textarea's style attribute
1576- var minHeight = parseInt($('#' + _id).css('min-height'));
1577-
1578- var browseTable = document.getElementById("browseTable");
1579- var colLeft = document.getElementById("browseTable_ColLeft");
1580- var colRight = document.getElementById("browseTable_ColRight");
1581-
1582- frame.style.width = browseTable.offsetWidth - colRight.offsetWidth + "px";
1583-
1584- // setting maxheight of the iframe
1585- $('#frame_' + _id).css('max-height', maxHeight);
1586-
1587- // setting minheight of the iframe
1588- $('#frame_' + _id).css('min-height', minHeight);
1589-
1590- var resultDiv = frame.contentWindow.document.getElementById('result');
1591-
1592-
1593- // getting the toolbars of the editor
1594- var toolbar1 = frame.contentWindow.document.getElementById('toolbar_1');
1595- var toolbar2 = frame.contentWindow.document.getElementById('toolbar_2');
1596-
1597- // get the div containing the number of lines
1598- var nbLineDiv = frame.contentWindow.document.getElementById('nbLine');
1599-
1600- var lineHeight = parseInt(frame.contentWindow.document.getElementById('line_1').offsetHeight);
1601-
1602- // set overflow-y of the resultDiv auto
1603- // resultDiv.style.border = "1px solid black";
1604- //$(resultDiv).css('border','1px solid black;');
1605-
1606- var autoGrowHandler = function(){
1607-
1608- // get the number of lines
1609- var lines = parseInt(nbLineDiv.innerHTML);
1610-
1611- // set the new height of the iframe
1612- // lineheight * number of lines + 25px savety-height + the height of the two toolbars
1613- var newHeight = (lineHeight * lines) + 18 +
1614- toolbar1.offsetHeight +
1615- toolbar2.offsetHeight;
1616-
1617-
1618- if (minHeight > newHeight) {
1619- newHeight = minHeight;
1620- }
1621-
1622-
1623- // set the height of the editor iframe
1624- frame.style.height = newHeight + "px";
1625-
1626- // sets the overflow att of the result Div to auto if
1627- // the new textarea height is greater then its max height
1628- if (newHeight > maxHeight) {
1629- resultDiv.style.overflowY = "auto";
1630- }
1631- else {
1632- resultDiv.style.overflowY = "";
1633- }
1634- }
1635-
1636- //sets up an interval and calls all 500 milliseconds the autoGrowHandler()
1637- setInterval(autoGrowHandler, 500);
1638-
1639- // calls the autoGrowHandler
1640- // to set the correct editor height at the start
1641- autoGrowHandler();
1642-
1643- if (document.addEventListener) {
1644- frame.contentWindow.document.addEventListener('keyup', autoGrowHandler, true);
1645- }
1646- else
1647- if (document.attachEvent) {
1648- frame.contentWindow.document.attachEvent('onkeyup', autoGrowHandler, true);
1649- }
1650-
1651- var ctrlClicked = false;
1652- var textarea = $(frame.contentWindow.document.getElementById("textarea"));
1653-
1654- textarea.keydown(function(e) {
1655-
1656- if(e.which == 17) {
1657- ctrlClicked = true;
1658- }
1659- else if(e.ctrlKey && e.which == 13 && ctrlClicked) {
1660-
1661- e.preventDefault();
1662- e.stopPropagation();
1663- $("#queryForm").submit();
1664- }
1665- });
1666-
1667- $('#queryForm').submit(function() {
1668- textarea.select();
1669- });
1670-}
1671-
1672-/**
1673- * this function sets the overflow attribute to auto if the
1674- * editarea is not allowed to autogrow
1675- * its called by the EditArea EA_load_callback
1676- * @param: _id id of the textarea
1677- * @return void
1678- */
1679-function setoverflow(_id){
1680- // select the iframe
1681- var frame = $('#frame_' + _id).get(0);
1682- var resultDiv = frame.contentWindow.document.getElementById('result');
1683- resultDiv.style.overflowY = "auto";
1684-}
1685-
1686-/**
1687- * this function toggles the editarea editor on and off
1688- * @param: id id of the textarea
1689- * @param iconId id of the icon that should be changed
1690- * @return void
1691- */
1692-function toggleEditor(id, iconId)
1693-{
1694- var frame = document.getElementById('frame_' + id);
1695-
1696- if(frame)
1697- {
1698- if (frame.style.display == 'none')
1699- {
1700- value = 1;
1701- var img = 'square_green.png';
1702- var classname = 'icon icon16 icon_square_green';
1703- }
1704- else {
1705- value = 0;
1706- var img = 'square_red.png';
1707- var classname = 'icon icon16 icon_square_red';
1708- }
1709- }
1710- else
1711- {
1712- value = 1;
1713- var img = 'square_green.png';
1714- var classname = 'icon icon16 icon_square_green';
1715- }
1716-
1717- $.post(baseUrl + '/ajaxSettings/set', {
1718- name: 'sqlEditorOn',
1719- value: value
1720- }, function(){
1721- $('#' + iconId + '>img').attr('src', basePath + '/images/icons/fugue/16/' + img).attr('class', classname);
1722- eAL.toggle(id);
1723- });
1724-}
1725\ No newline at end of file
1726
1727=== removed directory 'js/components/EditArea/images'
1728=== removed file 'js/components/EditArea/images/autocompletion.gif'
1729Binary files js/components/EditArea/images/autocompletion.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/autocompletion.gif 1970-01-01 00:00:00 +0000 differ
1730=== removed file 'js/components/EditArea/images/close.gif'
1731Binary files js/components/EditArea/images/close.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/close.gif 1970-01-01 00:00:00 +0000 differ
1732=== removed file 'js/components/EditArea/images/fullscreen.gif'
1733Binary files js/components/EditArea/images/fullscreen.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/fullscreen.gif 1970-01-01 00:00:00 +0000 differ
1734=== removed file 'js/components/EditArea/images/go_to_line.gif'
1735Binary files js/components/EditArea/images/go_to_line.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/go_to_line.gif 1970-01-01 00:00:00 +0000 differ
1736=== removed file 'js/components/EditArea/images/help.gif'
1737Binary files js/components/EditArea/images/help.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/help.gif 1970-01-01 00:00:00 +0000 differ
1738=== removed file 'js/components/EditArea/images/highlight.gif'
1739Binary files js/components/EditArea/images/highlight.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/highlight.gif 1970-01-01 00:00:00 +0000 differ
1740=== removed file 'js/components/EditArea/images/load.gif'
1741Binary files js/components/EditArea/images/load.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/load.gif 1970-01-01 00:00:00 +0000 differ
1742=== removed file 'js/components/EditArea/images/move.gif'
1743Binary files js/components/EditArea/images/move.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/move.gif 1970-01-01 00:00:00 +0000 differ
1744=== removed file 'js/components/EditArea/images/newdocument.gif'
1745Binary files js/components/EditArea/images/newdocument.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/newdocument.gif 1970-01-01 00:00:00 +0000 differ
1746=== removed file 'js/components/EditArea/images/opacity.png'
1747Binary files js/components/EditArea/images/opacity.png 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/opacity.png 1970-01-01 00:00:00 +0000 differ
1748=== removed file 'js/components/EditArea/images/processing.gif'
1749Binary files js/components/EditArea/images/processing.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/processing.gif 1970-01-01 00:00:00 +0000 differ
1750=== removed file 'js/components/EditArea/images/redo.gif'
1751Binary files js/components/EditArea/images/redo.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/redo.gif 1970-01-01 00:00:00 +0000 differ
1752=== removed file 'js/components/EditArea/images/redo.png'
1753Binary files js/components/EditArea/images/redo.png 2009-07-02 09:26:09 +0000 and js/components/EditArea/images/redo.png 1970-01-01 00:00:00 +0000 differ
1754=== removed file 'js/components/EditArea/images/reset_highlight.gif'
1755Binary files js/components/EditArea/images/reset_highlight.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/reset_highlight.gif 1970-01-01 00:00:00 +0000 differ
1756=== removed file 'js/components/EditArea/images/save.gif'
1757Binary files js/components/EditArea/images/save.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/save.gif 1970-01-01 00:00:00 +0000 differ
1758=== removed file 'js/components/EditArea/images/search.gif'
1759Binary files js/components/EditArea/images/search.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/search.gif 1970-01-01 00:00:00 +0000 differ
1760=== removed file 'js/components/EditArea/images/smooth_selection.gif'
1761Binary files js/components/EditArea/images/smooth_selection.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/smooth_selection.gif 1970-01-01 00:00:00 +0000 differ
1762=== removed file 'js/components/EditArea/images/spacer.gif'
1763Binary files js/components/EditArea/images/spacer.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/spacer.gif 1970-01-01 00:00:00 +0000 differ
1764=== removed file 'js/components/EditArea/images/statusbar_resize.gif'
1765Binary files js/components/EditArea/images/statusbar_resize.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/statusbar_resize.gif 1970-01-01 00:00:00 +0000 differ
1766=== removed file 'js/components/EditArea/images/undo.gif'
1767Binary files js/components/EditArea/images/undo.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/undo.gif 1970-01-01 00:00:00 +0000 differ
1768=== removed file 'js/components/EditArea/images/undo.png'
1769Binary files js/components/EditArea/images/undo.png 2009-07-02 09:26:09 +0000 and js/components/EditArea/images/undo.png 1970-01-01 00:00:00 +0000 differ
1770=== removed file 'js/components/EditArea/images/word_wrap.gif'
1771Binary files js/components/EditArea/images/word_wrap.gif 2009-07-01 06:23:48 +0000 and js/components/EditArea/images/word_wrap.gif 1970-01-01 00:00:00 +0000 differ
1772=== removed directory 'js/components/EditArea/langs'
1773=== removed file 'js/components/EditArea/langs/bg.js'
1774--- js/components/EditArea/langs/bg.js 2010-02-11 11:48:21 +0000
1775+++ js/components/EditArea/langs/bg.js 1970-01-01 00:00:00 +0000
1776@@ -1,54 +0,0 @@
1777-/*
1778- * Bulgarian translation
1779- * Author: Valentin Hristov
1780- * Company: SOFTKIT Bulgarian
1781- * Site: http://www.softkit-bg.com
1782- */
1783-editAreaLoader.lang["bg"]={
1784-new_document: "нов документ",
1785-search_button: "търсене и замяна",
1786-search_command: "търси следващия / отвори прозорец с търсачка",
1787-search: "търсене",
1788-replace: "замяна",
1789-replace_command: "замяна / отвори прозорец с търсачка",
1790-find_next: "намери следващия",
1791-replace_all: "замени всички",
1792-reg_exp: "реголярни изрази",
1793-match_case: "чуствителен към регистъра",
1794-not_found: "няма резултат.",
1795-occurrence_replaced: "замяната е осъществена.",
1796-search_field_empty: "Полето за търсене е празно",
1797-restart_search_at_begin: "До края на документа. Почни с началото.",
1798-move_popup: "премести прозореца с търсачката",
1799-font_size: "--Размер на шрифта--",
1800-go_to_line: "премени към реда",
1801-go_to_line_prompt: "премени към номера на реда:",
1802-undo: "отмени",
1803-redo: "върни",
1804-change_smooth_selection: "включи/изключи някой от функциите за преглед (по красиво, но повече натоварва)",
1805-highlight: "превключване на оцветяване на синтаксиса включена/изключена",
1806-reset_highlight: "въстанови оцветяване на синтаксиса (ако не е синхронизиран с текста)",
1807-word_wrap: "режим на пренасяне на дълги редове",
1808-help: "за програмата",
1809-save: "съхрани",
1810-load: "зареди",
1811-line_abbr: "Стр",
1812-char_abbr: "Стлб",
1813-position: "Позиция",
1814-total: "Всичко",
1815-close_popup: "затвори прозореца",
1816-shortcuts: "Бързи клавиши",
1817-add_tab: "добави табулация в текста",
1818-remove_tab: "премахни табулацията в текста",
1819-about_notice: "Внимание: използвайте функцията оцветяване на синтаксиса само за малки текстове",
1820-toggle: "Превключи редактор",
1821-accesskey: "Бърз клавиш",
1822-tab: "Tab",
1823-shift: "Shift",
1824-ctrl: "Ctrl",
1825-esc: "Esc",
1826-processing: "Зареждане...",
1827-fullscreen: "на цял екран",
1828-syntax_selection: "--Синтаксис--",
1829-close_tab: "Затвори файла"
1830-};
1831
1832=== removed file 'js/components/EditArea/langs/cs.js'
1833--- js/components/EditArea/langs/cs.js 2010-02-11 11:48:21 +0000
1834+++ js/components/EditArea/langs/cs.js 1970-01-01 00:00:00 +0000
1835@@ -1,48 +0,0 @@
1836-editAreaLoader.lang["cs"]={
1837-new_document: "Nový dokument",
1838-search_button: "Najdi a nahraď",
1839-search_command: "Hledej další / otevři vyhledávací pole",
1840-search: "Hledej",
1841-replace: "Nahraď",
1842-replace_command: "Nahraď / otevři vyhledávací pole",
1843-find_next: "Najdi další",
1844-replace_all: "Nahraď vše",
1845-reg_exp: "platné výrazy",
1846-match_case: "vyhodnocené výrazy",
1847-not_found: "nenalezené.",
1848-occurrence_replaced: "výskyty nahrazené.",
1849-search_field_empty: "Pole vyhledávání je prázdné",
1850-restart_search_at_begin: "Dosažen konec souboru, začínám od začátku.",
1851-move_popup: "Přesuň vyhledávací okno",
1852-font_size: "--Velikost textu--",
1853-go_to_line: "Přejdi na řádek",
1854-go_to_line_prompt: "Přejdi na řádek:",
1855-undo: "krok zpět",
1856-redo: "znovu",
1857-change_smooth_selection: "Povolit nebo zakázat některé ze zobrazených funkcí (účelnější zobrazení požaduje větší zatížení procesoru)",
1858-highlight: "Zvýrazňování syntaxe zap./vyp.",
1859-reset_highlight: "Obnovit zvýraznění (v případě nesrovnalostí)",
1860-word_wrap: "toggle word wrapping mode",
1861-help: "O programu",
1862-save: "Uložit",
1863-load: "Otevřít",
1864-line_abbr: "Ř.",
1865-char_abbr: "S.",
1866-position: "Pozice",
1867-total: "Celkem",
1868-close_popup: "Zavřít okno",
1869-shortcuts: "Zkratky",
1870-add_tab: "Přidat tabulování textu",
1871-remove_tab: "Odtsranit tabulování textu",
1872-about_notice: "Upozornění! Funkce zvýrazňování textu je k dispozici pouze pro malý text",
1873-toggle: "Přepnout editor",
1874-accesskey: "Přístupová klávesa",
1875-tab: "Záložka",
1876-shift: "Shift",
1877-ctrl: "Ctrl",
1878-esc: "Esc",
1879-processing: "Zpracovávám ...",
1880-fullscreen: "Celá obrazovka",
1881-syntax_selection: "--vyber zvýrazňovač--",
1882-close_tab: "Close file"
1883-};
1884
1885=== removed file 'js/components/EditArea/langs/de.js'
1886--- js/components/EditArea/langs/de.js 2010-02-11 11:48:21 +0000
1887+++ js/components/EditArea/langs/de.js 1970-01-01 00:00:00 +0000
1888@@ -1,48 +0,0 @@
1889-editAreaLoader.lang["de"]={
1890-new_document: "Neues Dokument",
1891-search_button: "Suchen und Ersetzen",
1892-search_command: "Weitersuchen / &ouml;ffne Suchfeld",
1893-search: "Suchen",
1894-replace: "Ersetzen",
1895-replace_command: "Ersetzen / &ouml;ffne Suchfeld",
1896-find_next: "Weitersuchen",
1897-replace_all: "Ersetze alle Treffer",
1898-reg_exp: "regul&auml;re Ausdr&uuml;cke",
1899-match_case: "passt auf den Begriff<br />",
1900-not_found: "Nicht gefunden.",
1901-occurrence_replaced: "Die Vorkommen wurden ersetzt.",
1902-search_field_empty: "Leeres Suchfeld",
1903-restart_search_at_begin: "Ende des zu durchsuchenden Bereiches erreicht. Es wird die Suche von Anfang an fortgesetzt.", //find a shorter translation
1904-move_popup: "Suchfenster bewegen",
1905-font_size: "--Schriftgr&ouml;&szlig;e--",
1906-go_to_line: "Gehe zu Zeile",
1907-go_to_line_prompt: "Gehe zu Zeilennummmer:",
1908-undo: "R&uuml;ckg&auml;ngig",
1909-redo: "Wiederherstellen",
1910-change_smooth_selection: "Aktiviere/Deaktiviere einige Features (weniger Bildschirmnutzung aber mehr CPU-Belastung)",
1911-highlight: "Syntax Highlighting an- und ausschalten",
1912-reset_highlight: "Highlighting zur&uuml;cksetzen (falls mit Text nicht konform)",
1913-word_wrap: "Toggle word wrapping mode",
1914-help: "Info",
1915-save: "Speichern",
1916-load: "&Ouml;ffnen",
1917-line_abbr: "Ln",
1918-char_abbr: "Ch",
1919-position: "Position",
1920-total: "Gesamt",
1921-close_popup: "Popup schlie&szlig;en",
1922-shortcuts: "Shortcuts",
1923-add_tab: "Tab zum Text hinzuf&uuml;gen",
1924-remove_tab: "Tab aus Text entfernen",
1925-about_notice: "Bemerkung: Syntax Highlighting ist nur f&uuml;r kurze Texte",
1926-toggle: "Editor an- und ausschalten",
1927-accesskey: "Accesskey",
1928-tab: "Tab",
1929-shift: "Shift",
1930-ctrl: "Ctrl",
1931-esc: "Esc",
1932-processing: "In Bearbeitung...",
1933-fullscreen: "Full-Screen",
1934-syntax_selection: "--Syntax--",
1935-close_tab: "Close file"
1936-};
1937
1938=== removed file 'js/components/EditArea/langs/dk.js'
1939--- js/components/EditArea/langs/dk.js 2010-02-11 11:48:21 +0000
1940+++ js/components/EditArea/langs/dk.js 1970-01-01 00:00:00 +0000
1941@@ -1,48 +0,0 @@
1942-editAreaLoader.lang["dk"]={
1943-new_document: "nyt tomt dokument",
1944-search_button: "s&oslash;g og erstat",
1945-search_command: "find n&aelig;ste / &aring;ben s&oslash;gefelt",
1946-search: "s&oslash;g",
1947-replace: "erstat",
1948-replace_command: "erstat / &aring;ben s&oslash;gefelt",
1949-find_next: "find n&aelig;ste",
1950-replace_all: "erstat alle",
1951-reg_exp: "regular expressions",
1952-match_case: "forskel på store/sm&aring; bogstaver<br />",
1953-not_found: "not found.",
1954-occurrence_replaced: "occurences replaced.",
1955-search_field_empty: "Search field empty",
1956-restart_search_at_begin: "End of area reached. Restart at begin.",
1957-move_popup: "flyt søgepopup",
1958-font_size: "--Skriftstørrelse--",
1959-go_to_line: "g&aring; til linie",
1960-go_to_line_prompt: "gå til linienummer:",
1961-undo: "fortryd",
1962-redo: "gentag",
1963-change_smooth_selection: "sl&aring; display funktioner til/fra (smartere display men mere CPU kr&aelig;vende)",
1964-highlight: "sl&aring; syntax highlight til/fra",
1965-reset_highlight: "nulstil highlight (hvis den er desynkroniseret fra teksten)",
1966-word_wrap: "toggle word wrapping mode",
1967-help: "om",
1968-save: "gem",
1969-load: "hent",
1970-line_abbr: "Ln",
1971-char_abbr: "Ch",
1972-position: "Position",
1973-total: "Total",
1974-close_popup: "luk popup",
1975-shortcuts: "Genveje",
1976-add_tab: "tilf&oslash;j tabulation til tekst",
1977-remove_tab: "fjern tabulation fra tekst",
1978-about_notice: "Husk: syntax highlight funktionen b&oslash;r kun bruge til sm&aring; tekster",
1979-toggle: "Sl&aring; editor til / fra",
1980-accesskey: "Accesskey",
1981-tab: "Tab",
1982-shift: "Skift",
1983-ctrl: "Ctrl",
1984-esc: "Esc",
1985-processing: "Processing...",
1986-fullscreen: "fullscreen",
1987-syntax_selection: "--Syntax--",
1988-close_tab: "Close file"
1989-};
1990
1991=== removed file 'js/components/EditArea/langs/en.js'
1992--- js/components/EditArea/langs/en.js 2010-02-11 11:48:21 +0000
1993+++ js/components/EditArea/langs/en.js 1970-01-01 00:00:00 +0000
1994@@ -1,48 +0,0 @@
1995-editAreaLoader.lang["en"]={
1996-new_document: "new empty document",
1997-search_button: "search and replace",
1998-search_command: "search next / open search area",
1999-search: "search",
2000-replace: "replace",
2001-replace_command: "replace / open search area",
2002-find_next: "find next",
2003-replace_all: "replace all",
2004-reg_exp: "regular expressions",
2005-match_case: "match case",
2006-not_found: "not found.",
2007-occurrence_replaced: "occurences replaced.",
2008-search_field_empty: "Search field empty",
2009-restart_search_at_begin: "End of area reached. Restart at begin.",
2010-move_popup: "move search popup",
2011-font_size: "--Font size--",
2012-go_to_line: "go to line",
2013-go_to_line_prompt: "go to line number:",
2014-undo: "undo",
2015-redo: "redo",
2016-change_smooth_selection: "enable/disable some display features (smarter display but more CPU charge)",
2017-highlight: "toggle syntax highlight on/off",
2018-reset_highlight: "reset highlight (if desyncronized from text)",
2019-word_wrap: "toggle word wrapping mode",
2020-help: "about",
2021-save: "save",
2022-load: "load",
2023-line_abbr: "Ln",
2024-char_abbr: "Ch",
2025-position: "Position",
2026-total: "Total",
2027-close_popup: "close popup",
2028-shortcuts: "Shortcuts",
2029-add_tab: "add tabulation to text",
2030-remove_tab: "remove tabulation to text",
2031-about_notice: "Notice: syntax highlight function is only for small text",
2032-toggle: "Toggle editor",
2033-accesskey: "Accesskey",
2034-tab: "Tab",
2035-shift: "Shift",
2036-ctrl: "Ctrl",
2037-esc: "Esc",
2038-processing: "Processing...",
2039-fullscreen: "fullscreen",
2040-syntax_selection: "--Syntax--",
2041-close_tab: "Close file"
2042-};
2043
2044=== removed file 'js/components/EditArea/langs/eo.js'
2045--- js/components/EditArea/langs/eo.js 2010-02-11 11:48:21 +0000
2046+++ js/components/EditArea/langs/eo.js 1970-01-01 00:00:00 +0000
2047@@ -1,48 +0,0 @@
2048-editAreaLoader.lang["eo"]={
2049-new_document: "nova dokumento (vakigas la enhavon)",
2050-search_button: "ser&#265;i / anstata&#365;igi",
2051-search_command: "pluser&#265;i / malfermi la ser&#265;o-fenestron",
2052-search: "ser&#265;i",
2053-replace: "anstata&#365;igi",
2054-replace_command: "anstata&#365;igi / malfermi la ser&#265;o-fenestron",
2055-find_next: "ser&#265;i",
2056-replace_all: "anstata&#365;igi &#265;ion",
2057-reg_exp: "regula esprimo",
2058-match_case: "respekti la usklecon",
2059-not_found: "ne trovita.",
2060-occurrence_replaced: "anstata&#365;igoj plenumitaj.",
2061-search_field_empty: "La kampo estas malplena.",
2062-restart_search_at_begin: "Fino de teksto &#285;isrirata, &#265;u da&#365;rigi el la komenco?",
2063-move_popup: "movi la ser&#265;o-fenestron",
2064-font_size: "--Tipara grando--",
2065-go_to_line: "iri al la linio",
2066-go_to_line_prompt: "iri al la linio numero:",
2067-undo: "rezigni",
2068-redo: "refari",
2069-change_smooth_selection: "ebligi/malebligi la funkcioj de vidigo (pli bona vidigo, sed pli da &#349;ar&#285;o de la &#265;eforgano)",
2070-highlight: "ebligi/malebligi la sintaksan kolorigon",
2071-reset_highlight: "repravalorizi la sintaksan kolorigon (se malsinkronigon de la teksto)",
2072-word_wrap: "toggle word wrapping mode",
2073-help: "pri",
2074-save: "registri",
2075-load: "&#349;ar&#285;i",
2076-line_abbr: "Ln",
2077-char_abbr: "Sg",
2078-position: "Pozicio",
2079-total: "Sumo",
2080-close_popup: "fermi la &#349;prucfenestron",
2081-shortcuts: "Fulmoklavo",
2082-add_tab: "aldoni tabon en la tekston",
2083-remove_tab: "forigi tablon el la teksto",
2084-about_notice: "Noto: la sintaksa kolorigo estas nur prikalkulita por mallongaj tekstoj.",
2085-toggle: "baskuligi la redaktilon",
2086-accesskey: "Fulmoklavo",
2087-tab: "Tab",
2088-shift: "Maj",
2089-ctrl: "Ktrl",
2090-esc: "Esk",
2091-processing: "&#349;argante...",
2092-fullscreen: "plenekrane",
2093-syntax_selection: "--Sintakso--",
2094-close_tab: "Fermi la dosieron"
2095-};
2096\ No newline at end of file
2097
2098=== removed file 'js/components/EditArea/langs/es.js'
2099--- js/components/EditArea/langs/es.js 2010-02-11 11:48:21 +0000
2100+++ js/components/EditArea/langs/es.js 1970-01-01 00:00:00 +0000
2101@@ -1,48 +0,0 @@
2102-editAreaLoader.lang["es"]={
2103-new_document: "nuevo documento vacío",
2104-search_button: "buscar y reemplazar",
2105-search_command: "buscar siguiente / abrir área de búsqueda",
2106-search: "buscar",
2107-replace: "reemplazar",
2108-replace_command: "reemplazar / abrir área de búsqueda",
2109-find_next: "encontrar siguiente",
2110-replace_all: "reemplazar todos",
2111-reg_exp: "expresiones regulares",
2112-match_case: "coincidir capitalización",
2113-not_found: "no encontrado.",
2114-occurrence_replaced: "ocurrencias reemplazadas.",
2115-search_field_empty: "Campo de búsqueda vacío",
2116-restart_search_at_begin: "Se ha llegado al final del área. Se va a seguir desde el principio.",
2117-move_popup: "mover la ventana de búsqueda",
2118-font_size: "--Tamaño de la fuente--",
2119-go_to_line: "ir a la línea",
2120-go_to_line_prompt: "ir a la línea número:",
2121-undo: "deshacer",
2122-redo: "rehacer",
2123-change_smooth_selection: "activar/desactivar algunas características de visualización (visualización más inteligente pero más carga de CPU)",
2124-highlight: "intercambiar resaltado de sintaxis",
2125-reset_highlight: "reinicializar resaltado (si no esta sincronizado con el texto)",
2126-word_wrap: "toggle word wrapping mode",
2127-help: "acerca",
2128-save: "guardar",
2129-load: "cargar",
2130-line_abbr: "Ln",
2131-char_abbr: "Ch",
2132-position: "Posición",
2133-total: "Total",
2134-close_popup: "recuadro de cierre",
2135-shortcuts: "Atajos",
2136-add_tab: "añadir tabulado al texto",
2137-remove_tab: "borrar tabulado del texto",
2138-about_notice: "Aviso: el resaltado de sintaxis sólo funciona para texto pequeño",
2139-toggle: "Cambiar editor",
2140-accesskey: "Tecla de acceso",
2141-tab: "Tab",
2142-shift: "Mayúsc",
2143-ctrl: "Ctrl",
2144-esc: "Esc",
2145-processing: "Procesando...",
2146-fullscreen: "pantalla completa",
2147-syntax_selection: "--Syntax--",
2148-close_tab: "Close file"
2149-};
2150
2151=== removed file 'js/components/EditArea/langs/fi.js'
2152--- js/components/EditArea/langs/fi.js 2010-02-11 11:48:21 +0000
2153+++ js/components/EditArea/langs/fi.js 1970-01-01 00:00:00 +0000
2154@@ -1,48 +0,0 @@
2155-editAreaLoader.lang["fi"]={
2156-new_document: "uusi tyhjä dokumentti",
2157-search_button: "etsi ja korvaa",
2158-search_command: "etsi seuraava / avaa etsintävalikko",
2159-search: "etsi",
2160-replace: "korvaa",
2161-replace_command: "korvaa / avaa etsintävalikko",
2162-find_next: "etsi seuraava",
2163-replace_all: "korvaa kaikki",
2164-reg_exp: "säännölliset lausekkeet",
2165-match_case: "täsmää kirjainkokoon",
2166-not_found: "ei löytynyt.",
2167-occurrence_replaced: "esiintymää korvattu.",
2168-search_field_empty: "Haettava merkkijono on tyhjä",
2169-restart_search_at_begin: "Alueen loppu saavutettiin. Aloitetaan alusta.",
2170-move_popup: "siirrä etsintävalikkoa",
2171-font_size: "--Fontin koko--",
2172-go_to_line: "siirry riville",
2173-go_to_line_prompt: "mene riville:",
2174-undo: "peruuta",
2175-redo: "tee uudelleen",
2176-change_smooth_selection: "kytke/sammuta joitakin näyttötoimintoja (Älykkäämpi toiminta, mutta suurempi CPU kuormitus)",
2177-highlight: "kytke syntaksikorostus päälle/pois",
2178-reset_highlight: "resetoi syntaksikorostus (jos teksti ei ole synkassa korostuksen kanssa)",
2179-word_wrap: "toggle word wrapping mode",
2180-help: "tietoja",
2181-save: "tallenna",
2182-load: "lataa",
2183-line_abbr: "Rv",
2184-char_abbr: "Pos",
2185-position: "Paikka",
2186-total: "Yhteensä",
2187-close_popup: "sulje valikko",
2188-shortcuts: "Pikatoiminnot",
2189-add_tab: "lisää sisennys tekstiin",
2190-remove_tab: "poista sisennys tekstistä",
2191-about_notice: "Huomautus: syntaksinkorostus toimii vain pienelle tekstille",
2192-toggle: "Kytke editori",
2193-accesskey: "Pikanäppäin",
2194-tab: "Tab",
2195-shift: "Shift",
2196-ctrl: "Ctrl",
2197-esc: "Esc",
2198-processing: "Odota...",
2199-fullscreen: "koko ruutu",
2200-syntax_selection: "--Syntaksi--",
2201-close_tab: "Sulje tiedosto"
2202-};
2203\ No newline at end of file
2204
2205=== removed file 'js/components/EditArea/langs/fr.js'
2206--- js/components/EditArea/langs/fr.js 2010-02-11 11:48:21 +0000
2207+++ js/components/EditArea/langs/fr.js 1970-01-01 00:00:00 +0000
2208@@ -1,48 +0,0 @@
2209-editAreaLoader.lang["fr"]={
2210-new_document: "nouveau document (efface le contenu)",
2211-search_button: "rechercher / remplacer",
2212-search_command: "rechercher suivant / ouvrir la fen&ecirc;tre de recherche",
2213-search: "rechercher",
2214-replace: "remplacer",
2215-replace_command: "remplacer / ouvrir la fen&ecirc;tre de recherche",
2216-find_next: "rechercher",
2217-replace_all: "tout remplacer",
2218-reg_exp: "expr. r&eacute;guli&egrave;re",
2219-match_case: "respecter la casse",
2220-not_found: "pas trouv&eacute;.",
2221-occurrence_replaced: "remplacements &eacute;ffectu&eacute;s.",
2222-search_field_empty: "Le champ de recherche est vide.",
2223-restart_search_at_begin: "Fin du texte atteint, poursuite au d&eacute;but.",
2224-move_popup: "d&eacute;placer la fen&ecirc;tre de recherche",
2225-font_size: "--Taille police--",
2226-go_to_line: "aller &agrave; la ligne",
2227-go_to_line_prompt: "aller a la ligne numero:",
2228-undo: "annuler",
2229-redo: "refaire",
2230-change_smooth_selection: "activer/d&eacute;sactiver des fonctions d'affichage (meilleur affichage mais plus de charge processeur)",
2231-highlight: "activer/d&eacute;sactiver la coloration syntaxique",
2232-reset_highlight: "r&eacute;initialiser la coloration syntaxique (si d&eacute;syncronis&eacute;e du texte)",
2233-word_wrap: "activer/d&eacute;sactiver les retours &agrave; la ligne automatiques",
2234-help: "&agrave; propos",
2235-save: "sauvegarder",
2236-load: "charger",
2237-line_abbr: "Ln",
2238-char_abbr: "Ch",
2239-position: "Position",
2240-total: "Total",
2241-close_popup: "fermer le popup",
2242-shortcuts: "Racourcis clavier",
2243-add_tab: "ajouter une tabulation dans le texte",
2244-remove_tab: "retirer une tabulation dans le texte",
2245-about_notice: "Note: la coloration syntaxique n'est pr&eacute;vue que pour de courts textes.",
2246-toggle: "basculer l'&eacute;diteur",
2247-accesskey: "Accesskey",
2248-tab: "Tab",
2249-shift: "Maj",
2250-ctrl: "Ctrl",
2251-esc: "Esc",
2252-processing: "chargement...",
2253-fullscreen: "plein &eacute;cran",
2254-syntax_selection: "--Syntaxe--",
2255-close_tab: "Fermer le fichier"
2256-};
2257
2258=== removed file 'js/components/EditArea/langs/hr.js'
2259--- js/components/EditArea/langs/hr.js 2010-02-11 11:48:21 +0000
2260+++ js/components/EditArea/langs/hr.js 1970-01-01 00:00:00 +0000
2261@@ -1,48 +0,0 @@
2262-editAreaLoader.lang["hr"]={
2263-new_document: "Novi dokument",
2264-search_button: "Traži i izmijeni",
2265-search_command: "Traži dalje / Otvori prozor za traženje",
2266-search: "Traži",
2267-replace: "Izmijeni",
2268-replace_command: "Izmijeni / Otvori prozor za traženje",
2269-find_next: "Traži dalje",
2270-replace_all: "Izmjeni sve",
2271-reg_exp: "Regularni izrazi",
2272-match_case: "Bitna vel. slova",
2273-not_found: "nije naðeno.",
2274-occurrence_replaced: "izmjenjenih.",
2275-search_field_empty: "Prazno polje za traženje!",
2276-restart_search_at_begin: "Došao do kraja. Poèeo od poèetka.",
2277-move_popup: "Pomakni prozor",
2278-font_size: "--Velièina teksta--",
2279-go_to_line: "Odi na redak",
2280-go_to_line_prompt: "Odi na redak:",
2281-undo: "Vrati natrag",
2282-redo: "Napravi ponovo",
2283-change_smooth_selection: "Ukljuèi/iskljuèi neke moguænosti prikaza (pametniji prikaz, ali zagušeniji CPU)",
2284-highlight: "Ukljuèi/iskljuèi bojanje sintakse",
2285-reset_highlight: "Ponovi kolorizaciju (ako je nesinkronizirana s tekstom)",
2286-word_wrap: "toggle word wrapping mode",
2287-help: "O edit_area",
2288-save: "Spremi",
2289-load: "Uèitaj",
2290-line_abbr: "Ln",
2291-char_abbr: "Zn",
2292-position: "Pozicija",
2293-total: "Ukupno",
2294-close_popup: "Zatvori prozor",
2295-shortcuts: "Kratice",
2296-add_tab: "Dodaj tabulaciju",
2297-remove_tab: "Makni tabulaciju",
2298-about_notice: "Napomena: koloriziranje sintakse je samo za kratke kodove",
2299-toggle: "Prebaci naèin ureðivanja",
2300-accesskey: "Accesskey",
2301-tab: "Tab",
2302-shift: "Shift",
2303-ctrl: "Ctrl",
2304-esc: "Esc",
2305-processing: "Procesiram...",
2306-fullscreen: "Cijeli prozor",
2307-syntax_selection: "--Syntax--",
2308-close_tab: "Close file"
2309-};
2310
2311=== removed file 'js/components/EditArea/langs/it.js'
2312--- js/components/EditArea/langs/it.js 2010-02-11 11:48:21 +0000
2313+++ js/components/EditArea/langs/it.js 1970-01-01 00:00:00 +0000
2314@@ -1,48 +0,0 @@
2315-editAreaLoader.lang["it"]={
2316-new_document: "nuovo documento vuoto",
2317-search_button: "cerca e sostituisci",
2318-search_command: "trova successivo / apri finestra di ricerca",
2319-search: "cerca",
2320-replace: "sostituisci",
2321-replace_command: "sostituisci / apri finestra di ricerca",
2322-find_next: "trova successivo",
2323-replace_all: "sostituisci tutti",
2324-reg_exp: "espressioni regolari",
2325-match_case: "confronta maiuscole/minuscole<br />",
2326-not_found: "non trovato.",
2327-occurrence_replaced: "occorrenze sostituite.",
2328-search_field_empty: "Campo ricerca vuoto",
2329-restart_search_at_begin: "Fine del testo raggiunta. Ricomincio dall'inizio.",
2330-move_popup: "sposta popup di ricerca",
2331-font_size: "-- Dimensione --",
2332-go_to_line: "vai alla linea",
2333-go_to_line_prompt: "vai alla linea numero:",
2334-undo: "annulla",
2335-redo: "ripeti",
2336-change_smooth_selection: "abilita/disabilita alcune caratteristiche della visualizzazione",
2337-highlight: "abilita/disabilita colorazione della sintassi",
2338-reset_highlight: "aggiorna colorazione (se non sincronizzata)",
2339-word_wrap: "toggle word wrapping mode",
2340-help: "informazioni su...",
2341-save: "salva",
2342-load: "carica",
2343-line_abbr: "Ln",
2344-char_abbr: "Ch",
2345-position: "Posizione",
2346-total: "Totale",
2347-close_popup: "chiudi popup",
2348-shortcuts: "Scorciatoie",
2349-add_tab: "aggiungi tabulazione",
2350-remove_tab: "rimuovi tabulazione",
2351-about_notice: "Avviso: la colorazione della sintassi vale solo con testo piccolo",
2352-toggle: "Abilita/disabilita editor",
2353-accesskey: "Accesskey",
2354-tab: "Tab",
2355-shift: "Shift",
2356-ctrl: "Ctrl",
2357-esc: "Esc",
2358-processing: "In corso...",
2359-fullscreen: "fullscreen",
2360-syntax_selection: "--Syntax--",
2361-close_tab: "Close file"
2362-};
2363
2364=== removed file 'js/components/EditArea/langs/ja.js'
2365--- js/components/EditArea/langs/ja.js 2010-02-11 11:48:21 +0000
2366+++ js/components/EditArea/langs/ja.js 1970-01-01 00:00:00 +0000
2367@@ -1,48 +0,0 @@
2368-editAreaLoader.lang["ja"]={
2369-new_document: "新規作成",
2370-search_button: "検索・置換",
2371-search_command: "次を検索 / 検索窓を表示",
2372-search: "検索",
2373-replace: "置換",
2374-replace_command: "置換 / 置換窓を表示",
2375-find_next: "次を検索",
2376-replace_all: "全置換",
2377-reg_exp: "正規表現",
2378-match_case: "大文字小文字の区別",
2379-not_found: "見つかりません。",
2380-occurrence_replaced: "置換しました。",
2381-search_field_empty: "検索対象文字列が空です。",
2382-restart_search_at_begin: "終端に達しました、始めに戻ります",
2383-move_popup: "検索窓を移動",
2384-font_size: "--フォントサイズ--",
2385-go_to_line: "指定行へ移動",
2386-go_to_line_prompt: "指定行へ移動します:",
2387-undo: "元に戻す",
2388-redo: "やり直し",
2389-change_smooth_selection: "スムース表示の切り替え(CPUを使います)",
2390-highlight: "構文強調表示の切り替え",
2391-reset_highlight: "構文強調表示のリセット",
2392-word_wrap: "toggle word wrapping mode",
2393-help: "ヘルプを表示",
2394-save: "保存",
2395-load: "読み込み",
2396-line_abbr: "行",
2397-char_abbr: "文字",
2398-position: "位置",
2399-total: "合計",
2400-close_popup: "ポップアップを閉じる",
2401-shortcuts: "ショートカット",
2402-add_tab: "タブを挿入する",
2403-remove_tab: "タブを削除する",
2404-about_notice: "注意:構文強調表示は短いテキストでしか有効に機能しません。",
2405-toggle: "テキストエリアとeditAreaの切り替え",
2406-accesskey: "アクセスキー",
2407-tab: "Tab",
2408-shift: "Shift",
2409-ctrl: "Ctrl",
2410-esc: "Esc",
2411-processing: "処理中です...",
2412-fullscreen: "fullscreen",
2413-syntax_selection: "--Syntax--",
2414-close_tab: "Close file"
2415-};
2416
2417=== removed file 'js/components/EditArea/langs/mk.js'
2418--- js/components/EditArea/langs/mk.js 2010-02-11 11:48:21 +0000
2419+++ js/components/EditArea/langs/mk.js 1970-01-01 00:00:00 +0000
2420@@ -1,48 +0,0 @@
2421-editAreaLoader.lang["mk"]={
2422-new_document: "Нов документ",
2423-search_button: "Најди и замени",
2424-search_command: "Барај следно / Отвори нов прозорец за пребарување",
2425-search: "Барај",
2426-replace: "Замени",
2427-replace_command: "Замени / Отвори прозорец за пребарување",
2428-find_next: "најди следно",
2429-replace_all: "Замени ги сите",
2430-reg_exp: "Регуларни изрази",
2431-match_case: "Битна е големината на буквите",
2432-not_found: "не е пронајдено.",
2433-occurrence_replaced: "замени.",
2434-search_field_empty: "Полето за пребарување е празно",
2435-restart_search_at_begin: "Крај на областа. Стартувај од почеток.",
2436-move_popup: "Помести го прозорецот",
2437-font_size: "--Големина на текстот--",
2438-go_to_line: "Оди на линија",
2439-go_to_line_prompt: "Оди на линија со број:",
2440-undo: "Врати",
2441-redo: "Повтори",
2442-change_smooth_selection: "Вклучи/исклучи некои карактеристики за приказ (попаметен приказ, но поголемо оптеретување за процесорот)",
2443-highlight: "Вклучи/исклучи осветлување на синтакса",
2444-reset_highlight: "Ресетирај го осветлувањето на синтакса (доколку е десинхронизиранo со текстот)",
2445-word_wrap: "toggle word wrapping mode",
2446-help: "За",
2447-save: "Зачувај",
2448-load: "Вчитај",
2449-line_abbr: "Лн",
2450-char_abbr: "Зн",
2451-position: "Позиција",
2452-total: "Вкупно",
2453-close_popup: "Затвори го прозорецот",
2454-shortcuts: "Кратенки",
2455-add_tab: "Додај табулација на текстот",
2456-remove_tab: "Отстрани ја табулацијата",
2457-about_notice: "Напомена: Осветлувањето на синтанса е само за краток текст",
2458-toggle: "Смени начин на уредување",
2459-accesskey: "Accesskey",
2460-tab: "Tab",
2461-shift: "Shift",
2462-ctrl: "Ctrl",
2463-esc: "Esc",
2464-processing: "Обработувам...",
2465-fullscreen: "Цел прозорец",
2466-syntax_selection: "--Синтакса--",
2467-close_tab: "Избери датотека"
2468-};
2469
2470=== removed file 'js/components/EditArea/langs/nl.js'
2471--- js/components/EditArea/langs/nl.js 2010-02-11 11:48:21 +0000
2472+++ js/components/EditArea/langs/nl.js 1970-01-01 00:00:00 +0000
2473@@ -1,48 +0,0 @@
2474-editAreaLoader.lang["nl"]={
2475-new_document: "nieuw leeg document",
2476-search_button: "zoek en vervang",
2477-search_command: "zoek volgende / zoekscherm openen",
2478-search: "zoek",
2479-replace: "vervang",
2480-replace_command: "vervang / zoekscherm openen",
2481-find_next: "volgende vinden",
2482-replace_all: "alles vervangen",
2483-reg_exp: "reguliere expressies",
2484-match_case: "hoofdletter gevoelig",
2485-not_found: "niet gevonden.",
2486-occurrence_replaced: "object vervangen.",
2487-search_field_empty: "Zoek veld leeg",
2488-restart_search_at_begin: "Niet meer instanties gevonden, begin opnieuw",
2489-move_popup: "versleep zoek scherm",
2490-font_size: "--Letter grootte--",
2491-go_to_line: "Ga naar regel",
2492-go_to_line_prompt: "Ga naar regel nummer:",
2493-undo: "Ongedaan maken",
2494-redo: "Opnieuw doen",
2495-change_smooth_selection: "zet wat schermopties aan/uit (kan langzamer zijn)",
2496-highlight: "zet syntax highlight aan/uit",
2497-reset_highlight: "reset highlight (indien gedesynchronizeerd)",
2498-word_wrap: "toggle word wrapping mode",
2499-help: "informatie",
2500-save: "opslaan",
2501-load: "laden",
2502-line_abbr: "Ln",
2503-char_abbr: "Ch",
2504-position: "Positie",
2505-total: "Totaal",
2506-close_popup: "Popup sluiten",
2507-shortcuts: "Snelkoppelingen",
2508-add_tab: "voeg tabs toe in tekst",
2509-remove_tab: "verwijder tabs uit tekst",
2510-about_notice: "Notitie: syntax highlight functie is alleen voor kleine tekst",
2511-toggle: "geavanceerde bewerkingsopties",
2512-accesskey: "Accessknop",
2513-tab: "Tab",
2514-shift: "Shift",
2515-ctrl: "Ctrl",
2516-esc: "Esc",
2517-processing: "Verwerken...",
2518-fullscreen: "fullscreen",
2519-syntax_selection: "--Syntax--",
2520-close_tab: "Close file"
2521-};
2522
2523=== removed file 'js/components/EditArea/langs/pl.js'
2524--- js/components/EditArea/langs/pl.js 2010-02-11 11:48:21 +0000
2525+++ js/components/EditArea/langs/pl.js 1970-01-01 00:00:00 +0000
2526@@ -1,48 +0,0 @@
2527-editAreaLoader.lang["pl"]={
2528-new_document: "nowy dokument",
2529-search_button: "znajdź i zamień",
2530-search_command: "znajdź następny",
2531-search: "znajdź",
2532-replace: "zamień",
2533-replace_command: "zamień",
2534-find_next: "następny",
2535-replace_all: "zamień wszystko",
2536-reg_exp: "wyrażenie regularne",
2537-match_case: "uwzględnij wielkość liter<br />",
2538-not_found: "nie znaleziono.",
2539-occurrence_replaced: "wystąpień zamieniono.",
2540-search_field_empty: "Nie wprowadzono tekstu",
2541-restart_search_at_begin: "Koniec dokumentu. Wyszukiwanie od początku.",
2542-move_popup: "przesuń okienko wyszukiwania",
2543-font_size: "Rozmiar",
2544-go_to_line: "idź do linii",
2545-go_to_line_prompt: "numer linii:",
2546-undo: "cofnij",
2547-redo: "przywróć",
2548-change_smooth_selection: "włącz/wyłącz niektóre opcje wyglądu (zaawansowane opcje wyglądu obciążają procesor)",
2549-highlight: "włącz/wyłącz podświetlanie składni",
2550-reset_highlight: "odśwież podświetlanie składni (jeśli rozsynchronizowało się z tekstem)",
2551-word_wrap: "toggle word wrapping mode",
2552-help: "o programie",
2553-save: "zapisz",
2554-load: "otwórz",
2555-line_abbr: "Ln",
2556-char_abbr: "Zn",
2557-position: "Pozycja",
2558-total: "W sumie",
2559-close_popup: "zamknij okienko",
2560-shortcuts: "Skróty klawiaturowe",
2561-add_tab: "dodaj wcięcie do zaznaczonego tekstu",
2562-remove_tab: "usuń wcięcie",
2563-about_notice: "Uwaga: podświetlanie składni nie jest zalecane dla długich tekstów",
2564-toggle: "Włącz/wyłącz edytor",
2565-accesskey: "Alt+",
2566-tab: "Tab",
2567-shift: "Shift",
2568-ctrl: "Ctrl",
2569-esc: "Esc",
2570-processing: "Przetwarzanie...",
2571-fullscreen: "fullscreen",
2572-syntax_selection: "--Syntax--",
2573-close_tab: "Close file"
2574-};
2575
2576=== removed file 'js/components/EditArea/langs/pt.js'
2577--- js/components/EditArea/langs/pt.js 2010-02-11 11:48:21 +0000
2578+++ js/components/EditArea/langs/pt.js 1970-01-01 00:00:00 +0000
2579@@ -1,48 +0,0 @@
2580-editAreaLoader.lang["pt"]={
2581-new_document: "Novo documento",
2582-search_button: "Localizar e substituir",
2583-search_command: "Localizar próximo",
2584-search: "Localizar",
2585-replace: "Substituir",
2586-replace_command: "Substituir",
2587-find_next: "Localizar",
2588-replace_all: "Subst. tudo",
2589-reg_exp: "Expressões regulares",
2590-match_case: "Diferenciar maiúsculas e minúsculas",
2591-not_found: "Não encontrado.",
2592-occurrence_replaced: "Ocorrências substituidas",
2593-search_field_empty: "Campo localizar vazio.",
2594-restart_search_at_begin: "Fim das ocorrências. Recomeçar do inicio.",
2595-move_popup: "Mover janela",
2596-font_size: "--Tamanho da fonte--",
2597-go_to_line: "Ir para linha",
2598-go_to_line_prompt: "Ir para a linha:",
2599-undo: "Desfazer",
2600-redo: "Refazer",
2601-change_smooth_selection: "Opções visuais",
2602-highlight: "Cores de sintaxe",
2603-reset_highlight: "Resetar cores (se não sincronizado)",
2604-word_wrap: "toggle word wrapping mode",
2605-help: "Sobre",
2606-save: "Salvar",
2607-load: "Carregar",
2608-line_abbr: "Ln",
2609-char_abbr: "Ch",
2610-position: "Posição",
2611-total: "Total",
2612-close_popup: "Fechar",
2613-shortcuts: "Shortcuts",
2614-add_tab: "Adicionar tabulação",
2615-remove_tab: "Remover tabulação",
2616-about_notice: "Atenção: Cores de sintaxe são indicados somente para textos pequenos",
2617-toggle: "Exibir editor",
2618-accesskey: "Accesskey",
2619-tab: "Tab",
2620-shift: "Shift",
2621-ctrl: "Ctrl",
2622-esc: "Esc",
2623-processing: "Processando...",
2624-fullscreen: "fullscreen",
2625-syntax_selection: "--Syntax--",
2626-close_tab: "Close file"
2627-};
2628
2629=== removed file 'js/components/EditArea/langs/ru.js'
2630--- js/components/EditArea/langs/ru.js 2010-02-11 11:48:21 +0000
2631+++ js/components/EditArea/langs/ru.js 1970-01-01 00:00:00 +0000
2632@@ -1,48 +0,0 @@
2633-editAreaLoader.lang["ru"]={
2634-new_document: "новый пустой документ",
2635-search_button: "поиск и замена",
2636-search_command: "искать следующий / открыть панель поиска",
2637-search: "поиск",
2638-replace: "замена",
2639-replace_command: "заменить / открыть панель поиска",
2640-find_next: "найти следующее",
2641-replace_all: "заменить все",
2642-reg_exp: "регулярное выражение",
2643-match_case: "учитывать регистр",
2644-not_found: "не найдено.",
2645-occurrence_replaced: "вхождение заменено.",
2646-search_field_empty: "Поле поиска пустое",
2647-restart_search_at_begin: "Достигнут конец документа. Начинаю с начала.",
2648-move_popup: "переместить окно поиска",
2649-font_size: "--Размер шрифта--",
2650-go_to_line: "перейти к строке",
2651-go_to_line_prompt: "перейти к строке номер:",
2652-undo: "отменить",
2653-redo: "вернуть",
2654-change_smooth_selection: "включить/отключить некоторые функции просмотра (более красиво, но больше использует процессор)",
2655-highlight: "переключить подсветку синтаксиса включена/выключена",
2656-reset_highlight: "восстановить подсветку (если разсинхронизирована от текста)",
2657-word_wrap: "toggle word wrapping mode",
2658-help: "о программе",
2659-save: "сохранить",
2660-load: "загрузить",
2661-line_abbr: "Стр",
2662-char_abbr: "Стлб",
2663-position: "Позиция",
2664-total: "Всего",
2665-close_popup: "закрыть всплывающее окно",
2666-shortcuts: "Горячие клавиши",
2667-add_tab: "добавить табуляцию в текст",
2668-remove_tab: "убрать табуляцию из текста",
2669-about_notice: "Внимание: функция подсветки синтаксиса только для небольших текстов",
2670-toggle: "Переключить редактор",
2671-accesskey: "Горячая клавиша",
2672-tab: "Tab",
2673-shift: "Shift",
2674-ctrl: "Ctrl",
2675-esc: "Esc",
2676-processing: "Обработка...",
2677-fullscreen: "полный экран",
2678-syntax_selection: "--Синтакс--",
2679-close_tab: "Закрыть файл"
2680-};
2681
2682=== removed file 'js/components/EditArea/langs/sk.js'
2683--- js/components/EditArea/langs/sk.js 2010-02-11 11:48:21 +0000
2684+++ js/components/EditArea/langs/sk.js 1970-01-01 00:00:00 +0000
2685@@ -1,48 +0,0 @@
2686-editAreaLoader.lang["sk"]={
2687-new_document: "nový prázdy dokument",
2688-search_button: "vyhľadaj a nahraď",
2689-search_command: "hľadaj ďalsšie / otvor vyhľadávacie pole",
2690-search: "hľadaj",
2691-replace: "nahraď",
2692-replace_command: "nahraď / otvor vyhľadávacie pole",
2693-find_next: "nájdi ďalšie",
2694-replace_all: "nahraď všetko",
2695-reg_exp: "platné výrazy",
2696-match_case: "zhodujúce sa výrazy",
2697-not_found: "nenájdené.",
2698-occurrence_replaced: "výskyty nahradené.",
2699-search_field_empty: "Pole vyhľadávanie je prádzne",
2700-restart_search_at_begin: "End of area reached. Restart at begin.",
2701-move_popup: "presuň vyhľadávacie okno",
2702-font_size: "--Veľkosť textu--",
2703-go_to_line: "prejdi na riadok",
2704-go_to_line_prompt: "prejdi na riadok:",
2705-undo: "krok späť",
2706-redo: "prepracovať",
2707-change_smooth_selection: "povoliť/zamietnúť niektoré zo zobrazených funkcií (účelnejšie zobrazenie vyžaduje väčšie zaťaženie procesora CPU)",
2708-highlight: "prepnúť zvýrazňovanie syntaxe zap/vyp",
2709-reset_highlight: "zrušiť zvýrazňovanie (ak je nesynchronizované s textom)",
2710-word_wrap: "toggle word wrapping mode",
2711-help: "o programe",
2712-save: "uložiť",
2713-load: "načítať",
2714-line_abbr: "Ln",
2715-char_abbr: "Ch",
2716-position: "Pozícia",
2717-total: "Spolu",
2718-close_popup: "zavrieť okno",
2719-shortcuts: "Skratky",
2720-add_tab: "pridať tabulovanie textu",
2721-remove_tab: "odstrániť tabulovanie textu",
2722-about_notice: "Upozornenie: funkcia zvýrazňovania syntaxe je dostupná iba pre malý text",
2723-toggle: "Prepnúť editor",
2724-accesskey: "Accesskey",
2725-tab: "Záložka",
2726-shift: "Shift",
2727-ctrl: "Ctrl",
2728-esc: "Esc",
2729-processing: "Spracúvam...",
2730-fullscreen: "cel=a obrazovka",
2731-syntax_selection: "--Vyber Syntax--",
2732-close_tab: "Close file"
2733-};
2734
2735=== removed file 'js/components/EditArea/langs/zh.js'
2736--- js/components/EditArea/langs/zh.js 2010-02-11 11:48:21 +0000
2737+++ js/components/EditArea/langs/zh.js 1970-01-01 00:00:00 +0000
2738@@ -1,48 +0,0 @@
2739-editAreaLoader.lang["zh"]={
2740-new_document: "新建空白文档",
2741-search_button: "查找与替换",
2742-search_command: "查找下一个 / 打开查找框",
2743-search: "查找",
2744-replace: "替换",
2745-replace_command: "替换 / 打开查找框",
2746-find_next: "查找下一个",
2747-replace_all: "全部替换",
2748-reg_exp: "正则表达式",
2749-match_case: "匹配大小写",
2750-not_found: "未找到.",
2751-occurrence_replaced: "处被替换.",
2752-search_field_empty: "查找框没有内容",
2753-restart_search_at_begin: "已到到文档末尾. 从头重新查找.",
2754-move_popup: "移动查找对话框",
2755-font_size: "--字体大小--",
2756-go_to_line: "转到行",
2757-go_to_line_prompt: "转到行:",
2758-undo: "恢复",
2759-redo: "重做",
2760-change_smooth_selection: "启用/禁止一些显示特性(更好看但更耗费资源)",
2761-highlight: "启用/禁止语法高亮",
2762-reset_highlight: "重置语法高亮(当文本显示不同步时)",
2763-word_wrap: "toggle word wrapping mode",
2764-help: "关于",
2765-save: "保存",
2766-load: "加载",
2767-line_abbr: "行",
2768-char_abbr: "字符",
2769-position: "位置",
2770-total: "总计",
2771-close_popup: "关闭对话框",
2772-shortcuts: "快捷键",
2773-add_tab: "添加制表符(Tab)",
2774-remove_tab: "移除制表符(Tab)",
2775-about_notice: "注意:语法高亮功能仅用于较少内容的文本(文件内容太大会导致浏览器反应慢)",
2776-toggle: "切换编辑器",
2777-accesskey: "快捷键",
2778-tab: "Tab",
2779-shift: "Shift",
2780-ctrl: "Ctrl",
2781-esc: "Esc",
2782-processing: "正在处理中...",
2783-fullscreen: "全屏编辑",
2784-syntax_selection: "--语法--",
2785-close_tab: "关闭文件"
2786-};
2787
2788=== removed file 'js/components/EditArea/license_apache.txt'
2789--- js/components/EditArea/license_apache.txt 2010-02-11 11:48:21 +0000
2790+++ js/components/EditArea/license_apache.txt 1970-01-01 00:00:00 +0000
2791@@ -1,7 +0,0 @@
2792-Copyright 2008 Christophe Dolivet
2793-
2794-Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
2795-
2796- http://www.apache.org/licenses/LICENSE-2.0
2797-
2798-Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2799\ No newline at end of file
2800
2801=== removed file 'js/components/EditArea/license_bsd.txt'
2802--- js/components/EditArea/license_bsd.txt 2010-02-11 11:48:21 +0000
2803+++ js/components/EditArea/license_bsd.txt 1970-01-01 00:00:00 +0000
2804@@ -1,10 +0,0 @@
2805-Copyright (c) 2008, Christophe Dolivet
2806-All rights reserved.
2807-
2808-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
2809-
2810- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2811- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
2812- * Neither the name of EditArea nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
2813-
2814-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2815\ No newline at end of file
2816
2817=== removed file 'js/components/EditArea/license_lgpl.txt'
2818--- js/components/EditArea/license_lgpl.txt 2009-07-01 06:23:48 +0000
2819+++ js/components/EditArea/license_lgpl.txt 1970-01-01 00:00:00 +0000
2820@@ -1,458 +0,0 @@
2821- GNU LESSER GENERAL PUBLIC LICENSE
2822- Version 2.1, February 1999
2823-
2824- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
2825- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2826- Everyone is permitted to copy and distribute verbatim copies
2827- of this license document, but changing it is not allowed.
2828-
2829-[This is the first released version of the Lesser GPL. It also counts
2830- as the successor of the GNU Library Public License, version 2, hence
2831- the version number 2.1.]
2832-
2833- Preamble
2834-
2835- The licenses for most software are designed to take away your
2836-freedom to share and change it. By contrast, the GNU General Public
2837-Licenses are intended to guarantee your freedom to share and change
2838-free software--to make sure the software is free for all its users.
2839-
2840- This license, the Lesser General Public License, applies to some
2841-specially designated software packages--typically libraries--of the
2842-Free Software Foundation and other authors who decide to use it. You
2843-can use it too, but we suggest you first think carefully about whether
2844-this license or the ordinary General Public License is the better
2845-strategy to use in any particular case, based on the explanations below.
2846-
2847- When we speak of free software, we are referring to freedom of use,
2848-not price. Our General Public Licenses are designed to make sure that
2849-you have the freedom to distribute copies of free software (and charge
2850-for this service if you wish); that you receive source code or can get
2851-it if you want it; that you can change the software and use pieces of
2852-it in new free programs; and that you are informed that you can do
2853-these things.
2854-
2855- To protect your rights, we need to make restrictions that forbid
2856-distributors to deny you these rights or to ask you to surrender these
2857-rights. These restrictions translate to certain responsibilities for
2858-you if you distribute copies of the library or if you modify it.
2859-
2860- For example, if you distribute copies of the library, whether gratis
2861-or for a fee, you must give the recipients all the rights that we gave
2862-you. You must make sure that they, too, receive or can get the source
2863-code. If you link other code with the library, you must provide
2864-complete object files to the recipients, so that they can relink them
2865-with the library after making changes to the library and recompiling
2866-it. And you must show them these terms so they know their rights.
2867-
2868- We protect your rights with a two-step method: (1) we copyright the
2869-library, and (2) we offer you this license, which gives you legal
2870-permission to copy, distribute and/or modify the library.
2871-
2872- To protect each distributor, we want to make it very clear that
2873-there is no warranty for the free library. Also, if the library is
2874-modified by someone else and passed on, the recipients should know
2875-that what they have is not the original version, so that the original
2876-author's reputation will not be affected by problems that might be
2877-introduced by others.
2878-
2879- Finally, software patents pose a constant threat to the existence of
2880-any free program. We wish to make sure that a company cannot
2881-effectively restrict the users of a free program by obtaining a
2882-restrictive license from a patent holder. Therefore, we insist that
2883-any patent license obtained for a version of the library must be
2884-consistent with the full freedom of use specified in this license.
2885-
2886- Most GNU software, including some libraries, is covered by the
2887-ordinary GNU General Public License. This license, the GNU Lesser
2888-General Public License, applies to certain designated libraries, and
2889-is quite different from the ordinary General Public License. We use
2890-this license for certain libraries in order to permit linking those
2891-libraries into non-free programs.
2892-
2893- When a program is linked with a library, whether statically or using
2894-a shared library, the combination of the two is legally speaking a
2895-combined work, a derivative of the original library. The ordinary
2896-General Public License therefore permits such linking only if the
2897-entire combination fits its criteria of freedom. The Lesser General
2898-Public License permits more lax criteria for linking other code with
2899-the library.
2900-
2901- We call this license the "Lesser" General Public License because it
2902-does Less to protect the user's freedom than the ordinary General
2903-Public License. It also provides other free software developers Less
2904-of an advantage over competing non-free programs. These disadvantages
2905-are the reason we use the ordinary General Public License for many
2906-libraries. However, the Lesser license provides advantages in certain
2907-special circumstances.
2908-
2909- For example, on rare occasions, there may be a special need to
2910-encourage the widest possible use of a certain library, so that it becomes
2911-a de-facto standard. To achieve this, non-free programs must be
2912-allowed to use the library. A more frequent case is that a free
2913-library does the same job as widely used non-free libraries. In this
2914-case, there is little to gain by limiting the free library to free
2915-software only, so we use the Lesser General Public License.
2916-
2917- In other cases, permission to use a particular library in non-free
2918-programs enables a greater number of people to use a large body of
2919-free software. For example, permission to use the GNU C Library in
2920-non-free programs enables many more people to use the whole GNU
2921-operating system, as well as its variant, the GNU/Linux operating
2922-system.
2923-
2924- Although the Lesser General Public License is Less protective of the
2925-users' freedom, it does ensure that the user of a program that is
2926-linked with the Library has the freedom and the wherewithal to run
2927-that program using a modified version of the Library.
2928-
2929- The precise terms and conditions for copying, distribution and
2930-modification follow. Pay close attention to the difference between a
2931-"work based on the library" and a "work that uses the library". The
2932-former contains code derived from the library, whereas the latter must
2933-be combined with the library in order to run.
2934-
2935- GNU LESSER GENERAL PUBLIC LICENSE
2936- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
2937-
2938- 0. This License Agreement applies to any software library or other
2939-program which contains a notice placed by the copyright holder or
2940-other authorized party saying it may be distributed under the terms of
2941-this Lesser General Public License (also called "this License").
2942-Each licensee is addressed as "you".
2943-
2944- A "library" means a collection of software functions and/or data
2945-prepared so as to be conveniently linked with application programs
2946-(which use some of those functions and data) to form executables.
2947-
2948- The "Library", below, refers to any such software library or work
2949-which has been distributed under these terms. A "work based on the
2950-Library" means either the Library or any derivative work under
2951-copyright law: that is to say, a work containing the Library or a
2952-portion of it, either verbatim or with modifications and/or translated
2953-straightforwardly into another language. (Hereinafter, translation is
2954-included without limitation in the term "modification".)
2955-
2956- "Source code" for a work means the preferred form of the work for
2957-making modifications to it. For a library, complete source code means
2958-all the source code for all modules it contains, plus any associated
2959-interface definition files, plus the scripts used to control compilation
2960-and installation of the library.
2961-
2962- Activities other than copying, distribution and modification are not
2963-covered by this License; they are outside its scope. The act of
2964-running a program using the Library is not restricted, and output from
2965-such a program is covered only if its contents constitute a work based
2966-on the Library (independent of the use of the Library in a tool for
2967-writing it). Whether that is true depends on what the Library does
2968-and what the program that uses the Library does.
2969-
2970- 1. You may copy and distribute verbatim copies of the Library's
2971-complete source code as you receive it, in any medium, provided that
2972-you conspicuously and appropriately publish on each copy an
2973-appropriate copyright notice and disclaimer of warranty; keep intact
2974-all the notices that refer to this License and to the absence of any
2975-warranty; and distribute a copy of this License along with the
2976-Library.
2977-
2978- You may charge a fee for the physical act of transferring a copy,
2979-and you may at your option offer warranty protection in exchange for a
2980-fee.
2981-
2982- 2. You may modify your copy or copies of the Library or any portion
2983-of it, thus forming a work based on the Library, and copy and
2984-distribute such modifications or work under the terms of Section 1
2985-above, provided that you also meet all of these conditions:
2986-
2987- a) The modified work must itself be a software library.
2988-
2989- b) You must cause the files modified to carry prominent notices
2990- stating that you changed the files and the date of any change.
2991-
2992- c) You must cause the whole of the work to be licensed at no
2993- charge to all third parties under the terms of this License.
2994-
2995- d) If a facility in the modified Library refers to a function or a
2996- table of data to be supplied by an application program that uses
2997- the facility, other than as an argument passed when the facility
2998- is invoked, then you must make a good faith effort to ensure that,
2999- in the event an application does not supply such function or
3000- table, the facility still operates, and performs whatever part of
3001- its purpose remains meaningful.
3002-
3003- (For example, a function in a library to compute square roots has
3004- a purpose that is entirely well-defined independent of the
3005- application. Therefore, Subsection 2d requires that any
3006- application-supplied function or table used by this function must
3007- be optional: if the application does not supply it, the square
3008- root function must still compute square roots.)
3009-
3010-These requirements apply to the modified work as a whole. If
3011-identifiable sections of that work are not derived from the Library,
3012-and can be reasonably considered independent and separate works in
3013-themselves, then this License, and its terms, do not apply to those
3014-sections when you distribute them as separate works. But when you
3015-distribute the same sections as part of a whole which is a work based
3016-on the Library, the distribution of the whole must be on the terms of
3017-this License, whose permissions for other licensees extend to the
3018-entire whole, and thus to each and every part regardless of who wrote
3019-it.
3020-
3021-Thus, it is not the intent of this section to claim rights or contest
3022-your rights to work written entirely by you; rather, the intent is to
3023-exercise the right to control the distribution of derivative or
3024-collective works based on the Library.
3025-
3026-In addition, mere aggregation of another work not based on the Library
3027-with the Library (or with a work based on the Library) on a volume of
3028-a storage or distribution medium does not bring the other work under
3029-the scope of this License.
3030-
3031- 3. You may opt to apply the terms of the ordinary GNU General Public
3032-License instead of this License to a given copy of the Library. To do
3033-this, you must alter all the notices that refer to this License, so
3034-that they refer to the ordinary GNU General Public License, version 2,
3035-instead of to this License. (If a newer version than version 2 of the
3036-ordinary GNU General Public License has appeared, then you can specify
3037-that version instead if you wish.) Do not make any other change in
3038-these notices.
3039-
3040- Once this change is made in a given copy, it is irreversible for
3041-that copy, so the ordinary GNU General Public License applies to all
3042-subsequent copies and derivative works made from that copy.
3043-
3044- This option is useful when you wish to copy part of the code of
3045-the Library into a program that is not a library.
3046-
3047- 4. You may copy and distribute the Library (or a portion or
3048-derivative of it, under Section 2) in object code or executable form
3049-under the terms of Sections 1 and 2 above provided that you accompany
3050-it with the complete corresponding machine-readable source code, which
3051-must be distributed under the terms of Sections 1 and 2 above on a
3052-medium customarily used for software interchange.
3053-
3054- If distribution of object code is made by offering access to copy
3055-from a designated place, then offering equivalent access to copy the
3056-source code from the same place satisfies the requirement to
3057-distribute the source code, even though third parties are not
3058-compelled to copy the source along with the object code.
3059-
3060- 5. A program that contains no derivative of any portion of the
3061-Library, but is designed to work with the Library by being compiled or
3062-linked with it, is called a "work that uses the Library". Such a
3063-work, in isolation, is not a derivative work of the Library, and
3064-therefore falls outside the scope of this License.
3065-
3066- However, linking a "work that uses the Library" with the Library
3067-creates an executable that is a derivative of the Library (because it
3068-contains portions of the Library), rather than a "work that uses the
3069-library". The executable is therefore covered by this License.
3070-Section 6 states terms for distribution of such executables.
3071-
3072- When a "work that uses the Library" uses material from a header file
3073-that is part of the Library, the object code for the work may be a
3074-derivative work of the Library even though the source code is not.
3075-Whether this is true is especially significant if the work can be
3076-linked without the Library, or if the work is itself a library. The
3077-threshold for this to be true is not precisely defined by law.
3078-
3079- If such an object file uses only numerical parameters, data
3080-structure layouts and accessors, and small macros and small inline
3081-functions (ten lines or less in length), then the use of the object
3082-file is unrestricted, regardless of whether it is legally a derivative
3083-work. (Executables containing this object code plus portions of the
3084-Library will still fall under Section 6.)
3085-
3086- Otherwise, if the work is a derivative of the Library, you may
3087-distribute the object code for the work under the terms of Section 6.
3088-Any executables containing that work also fall under Section 6,
3089-whether or not they are linked directly with the Library itself.
3090-
3091- 6. As an exception to the Sections above, you may also combine or
3092-link a "work that uses the Library" with the Library to produce a
3093-work containing portions of the Library, and distribute that work
3094-under terms of your choice, provided that the terms permit
3095-modification of the work for the customer's own use and reverse
3096-engineering for debugging such modifications.
3097-
3098- You must give prominent notice with each copy of the work that the
3099-Library is used in it and that the Library and its use are covered by
3100-this License. You must supply a copy of this License. If the work
3101-during execution displays copyright notices, you must include the
3102-copyright notice for the Library among them, as well as a reference
3103-directing the user to the copy of this License. Also, you must do one
3104-of these things:
3105-
3106- a) Accompany the work with the complete corresponding
3107- machine-readable source code for the Library including whatever
3108- changes were used in the work (which must be distributed under
3109- Sections 1 and 2 above); and, if the work is an executable linked
3110- with the Library, with the complete machine-readable "work that
3111- uses the Library", as object code and/or source code, so that the
3112- user can modify the Library and then relink to produce a modified
3113- executable containing the modified Library. (It is understood
3114- that the user who changes the contents of definitions files in the
3115- Library will not necessarily be able to recompile the application
3116- to use the modified definitions.)
3117-
3118- b) Use a suitable shared library mechanism for linking with the
3119- Library. A suitable mechanism is one that (1) uses at run time a
3120- copy of the library already present on the user's computer system,
3121- rather than copying library functions into the executable, and (2)
3122- will operate properly with a modified version of the library, if
3123- the user installs one, as long as the modified version is
3124- interface-compatible with the version that the work was made with.
3125-
3126- c) Accompany the work with a written offer, valid for at
3127- least three years, to give the same user the materials
3128- specified in Subsection 6a, above, for a charge no more
3129- than the cost of performing this distribution.
3130-
3131- d) If distribution of the work is made by offering access to copy
3132- from a designated place, offer equivalent access to copy the above
3133- specified materials from the same place.
3134-
3135- e) Verify that the user has already received a copy of these
3136- materials or that you have already sent this user a copy.
3137-
3138- For an executable, the required form of the "work that uses the
3139-Library" must include any data and utility programs needed for
3140-reproducing the executable from it. However, as a special exception,
3141-the materials to be distributed need not include anything that is
3142-normally distributed (in either source or binary form) with the major
3143-components (compiler, kernel, and so on) of the operating system on
3144-which the executable runs, unless that component itself accompanies
3145-the executable.
3146-
3147- It may happen that this requirement contradicts the license
3148-restrictions of other proprietary libraries that do not normally
3149-accompany the operating system. Such a contradiction means you cannot
3150-use both them and the Library together in an executable that you
3151-distribute.
3152-
3153- 7. You may place library facilities that are a work based on the
3154-Library side-by-side in a single library together with other library
3155-facilities not covered by this License, and distribute such a combined
3156-library, provided that the separate distribution of the work based on
3157-the Library and of the other library facilities is otherwise
3158-permitted, and provided that you do these two things:
3159-
3160- a) Accompany the combined library with a copy of the same work
3161- based on the Library, uncombined with any other library
3162- facilities. This must be distributed under the terms of the
3163- Sections above.
3164-
3165- b) Give prominent notice with the combined library of the fact
3166- that part of it is a work based on the Library, and explaining
3167- where to find the accompanying uncombined form of the same work.
3168-
3169- 8. You may not copy, modify, sublicense, link with, or distribute
3170-the Library except as expressly provided under this License. Any
3171-attempt otherwise to copy, modify, sublicense, link with, or
3172-distribute the Library is void, and will automatically terminate your
3173-rights under this License. However, parties who have received copies,
3174-or rights, from you under this License will not have their licenses
3175-terminated so long as such parties remain in full compliance.
3176-
3177- 9. You are not required to accept this License, since you have not
3178-signed it. However, nothing else grants you permission to modify or
3179-distribute the Library or its derivative works. These actions are
3180-prohibited by law if you do not accept this License. Therefore, by
3181-modifying or distributing the Library (or any work based on the
3182-Library), you indicate your acceptance of this License to do so, and
3183-all its terms and conditions for copying, distributing or modifying
3184-the Library or works based on it.
3185-
3186- 10. Each time you redistribute the Library (or any work based on the
3187-Library), the recipient automatically receives a license from the
3188-original licensor to copy, distribute, link with or modify the Library
3189-subject to these terms and conditions. You may not impose any further
3190-restrictions on the recipients' exercise of the rights granted herein.
3191-You are not responsible for enforcing compliance by third parties with
3192-this License.
3193-
3194- 11. If, as a consequence of a court judgment or allegation of patent
3195-infringement or for any other reason (not limited to patent issues),
3196-conditions are imposed on you (whether by court order, agreement or
3197-otherwise) that contradict the conditions of this License, they do not
3198-excuse you from the conditions of this License. If you cannot
3199-distribute so as to satisfy simultaneously your obligations under this
3200-License and any other pertinent obligations, then as a consequence you
3201-may not distribute the Library at all. For example, if a patent
3202-license would not permit royalty-free redistribution of the Library by
3203-all those who receive copies directly or indirectly through you, then
3204-the only way you could satisfy both it and this License would be to
3205-refrain entirely from distribution of the Library.
3206-
3207-If any portion of this section is held invalid or unenforceable under any
3208-particular circumstance, the balance of the section is intended to apply,
3209-and the section as a whole is intended to apply in other circumstances.
3210-
3211-It is not the purpose of this section to induce you to infringe any
3212-patents or other property right claims or to contest validity of any
3213-such claims; this section has the sole purpose of protecting the
3214-integrity of the free software distribution system which is
3215-implemented by public license practices. Many people have made
3216-generous contributions to the wide range of software distributed
3217-through that system in reliance on consistent application of that
3218-system; it is up to the author/donor to decide if he or she is willing
3219-to distribute software through any other system and a licensee cannot
3220-impose that choice.
3221-
3222-This section is intended to make thoroughly clear what is believed to
3223-be a consequence of the rest of this License.
3224-
3225- 12. If the distribution and/or use of the Library is restricted in
3226-certain countries either by patents or by copyrighted interfaces, the
3227-original copyright holder who places the Library under this License may add
3228-an explicit geographical distribution limitation excluding those countries,
3229-so that distribution is permitted only in or among countries not thus
3230-excluded. In such case, this License incorporates the limitation as if
3231-written in the body of this License.
3232-
3233- 13. The Free Software Foundation may publish revised and/or new
3234-versions of the Lesser General Public License from time to time.
3235-Such new versions will be similar in spirit to the present version,
3236-but may differ in detail to address new problems or concerns.
3237-
3238-Each version is given a distinguishing version number. If the Library
3239-specifies a version number of this License which applies to it and
3240-"any later version", you have the option of following the terms and
3241-conditions either of that version or of any later version published by
3242-the Free Software Foundation. If the Library does not specify a
3243-license version number, you may choose any version ever published by
3244-the Free Software Foundation.
3245-
3246- 14. If you wish to incorporate parts of the Library into other free
3247-programs whose distribution conditions are incompatible with these,
3248-write to the author to ask for permission. For software which is
3249-copyrighted by the Free Software Foundation, write to the Free
3250-Software Foundation; we sometimes make exceptions for this. Our
3251-decision will be guided by the two goals of preserving the free status
3252-of all derivatives of our free software and of promoting the sharing
3253-and reuse of software generally.
3254-
3255- NO WARRANTY
3256-
3257- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
3258-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
3259-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
3260-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
3261-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
3262-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
3263-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
3264-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
3265-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
3266-
3267- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
3268-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
3269-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
3270-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
3271-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
3272-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
3273-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
3274-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
3275-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
3276-DAMAGES.
3277-
3278- END OF TERMS AND CONDITIONS
3279
3280=== removed directory 'js/components/EditArea/reg_syntax'
3281=== removed file 'js/components/EditArea/reg_syntax/basic.js'
3282--- js/components/EditArea/reg_syntax/basic.js 2010-02-11 11:48:21 +0000
3283+++ js/components/EditArea/reg_syntax/basic.js 1970-01-01 00:00:00 +0000
3284@@ -1,70 +0,0 @@
3285-editAreaLoader.load_syntax["basic"] = {
3286- 'DISPLAY_NAME' : 'Basic'
3287- ,'COMMENT_SINGLE' : {1 : "'", 2 : 'rem'}
3288- ,'COMMENT_MULTI' : { }
3289- ,'QUOTEMARKS' : {1: '"'}
3290- ,'KEYWORD_CASE_SENSITIVE' : false
3291- ,'KEYWORDS' : {
3292- 'statements' : [
3293- 'if','then','for','wend','while',
3294- 'else','elseif','select','case','end select',
3295- 'until','next','step','to','end if', 'call'
3296- ]
3297- ,'keywords' : [
3298- 'sub', 'end sub', 'function', 'end function', 'exit',
3299- 'exit function', 'dim', 'redim', 'shared', 'const',
3300- 'is', 'absolute', 'access', 'any', 'append', 'as',
3301- 'base', 'beep', 'binary', 'bload', 'bsave', 'chain',
3302- 'chdir', 'circle', 'clear', 'close', 'cls', 'color',
3303- 'com', 'common', 'data', 'date', 'declare', 'def',
3304- 'defdbl', 'defint', 'deflng', 'defsng', 'defstr',
3305- 'double', 'draw', 'environ', 'erase', 'error', 'field',
3306- 'files', 'fn', 'get', 'gosub', 'goto', 'integer', 'key',
3307- 'kill', 'let', 'line', 'list', 'locate', 'lock', 'long',
3308- 'lprint', 'lset', 'mkdir', 'name', 'off', 'on', 'open',
3309- 'option', 'out', 'output', 'paint', 'palette', 'pcopy',
3310- 'poke', 'preset', 'print', 'pset', 'put', 'random',
3311- 'randomize', 'read', 'reset', 'restore', 'resume',
3312- 'return', 'rmdir', 'rset', 'run', 'screen', 'seg',
3313- 'shell', 'single', 'sleep', 'sound', 'static', 'stop',
3314- 'strig', 'string', 'swap', 'system', 'time', 'timer',
3315- 'troff', 'tron', 'type', 'unlock', 'using', 'view',
3316- 'wait', 'width', 'window', 'write'
3317- ]
3318- ,'functions' : [
3319- 'abs', 'asc', 'atn', 'cdbl', 'chr', 'cint', 'clng',
3320- 'cos', 'csng', 'csrlin', 'cvd', 'cvdmbf', 'cvi', 'cvl',
3321- 'cvs', 'cvsmbf', 'eof', 'erdev', 'erl', 'err', 'exp',
3322- 'fileattr', 'fix', 'fre', 'freefile', 'hex', 'inkey',
3323- 'inp', 'input', 'instr', 'int', 'ioctl', 'lbound',
3324- 'lcase', 'left', 'len', 'loc', 'lof', 'log', 'lpos',
3325- 'ltrim', 'mid', 'mkd', 'mkdmbf', 'mki', 'mkl', 'mks',
3326- 'mksmbf', 'oct', 'peek', 'pen', 'play', 'pmap', 'point',
3327- 'pos', 'right', 'rnd', 'rtrim', 'seek', 'sgn', 'sin',
3328- 'space', 'spc', 'sqr', 'stick', 'str', 'tab', 'tan',
3329- 'ubound', 'ucase', 'val', 'varptr', 'varseg'
3330- ]
3331- ,'operators' : [
3332- 'and', 'eqv', 'imp', 'mod', 'not', 'or', 'xor'
3333- ]
3334- }
3335- ,'OPERATORS' :[
3336- '+', '-', '/', '*', '=', '<', '>', '!', '&'
3337- ]
3338- ,'DELIMITERS' :[
3339- '(', ')', '[', ']', '{', '}'
3340- ]
3341- ,'STYLES' : {
3342- 'COMMENTS': 'color: #99CC00;'
3343- ,'QUOTESMARKS': 'color: #333399;'
3344- ,'KEYWORDS' : {
3345- 'keywords' : 'color: #3366FF;'
3346- ,'functions' : 'color: #0000FF;'
3347- ,'statements' : 'color: #3366FF;'
3348- ,'operators' : 'color: #FF0000;'
3349- }
3350- ,'OPERATORS' : 'color: #FF0000;'
3351- ,'DELIMITERS' : 'color: #0000FF;'
3352-
3353- }
3354-};
3355
3356=== removed file 'js/components/EditArea/reg_syntax/brainfuck.js'
3357--- js/components/EditArea/reg_syntax/brainfuck.js 2010-02-11 11:48:21 +0000
3358+++ js/components/EditArea/reg_syntax/brainfuck.js 1970-01-01 00:00:00 +0000
3359@@ -1,45 +0,0 @@
3360-editAreaLoader.load_syntax["brainfuck"] = {
3361- 'DISPLAY_NAME' : 'Brainfuck'
3362- ,'COMMENT_SINGLE' : {}
3363- ,'COMMENT_MULTI' : {}
3364- ,'QUOTEMARKS' : {}
3365- ,'KEYWORD_CASE_SENSITIVE' : true
3366- ,'OPERATORS' :[
3367- '+', '-'
3368- ]
3369- ,'DELIMITERS' :[
3370- '[', ']'
3371- ]
3372- ,'REGEXPS' : {
3373- 'bfispis' : {
3374- 'search' : '()(\\.)()'
3375- ,'class' : 'bfispis'
3376- ,'modifiers' : 'g'
3377- ,'execute' : 'before'
3378- }
3379- ,'bfupis' : {
3380- 'search' : '()(\\,)()'
3381- ,'class' : 'bfupis'
3382- ,'modifiers' : 'g'
3383- ,'execute' : 'before'
3384- }
3385- ,'bfmemory' : {
3386- 'search' : '()([<>])()'
3387- ,'class' : 'bfmemory'
3388- ,'modifiers' : 'g'
3389- ,'execute' : 'before'
3390- }
3391- }
3392- ,'STYLES' : {
3393- 'COMMENTS': 'color: #AAAAAA;'
3394- ,'QUOTESMARKS': 'color: #6381F8;'
3395- ,'OPERATORS' : 'color: #88AA00;'
3396- ,'DELIMITERS' : 'color: #00C138;'
3397- ,'REGEXPS' : {
3398- 'bfispis' : 'color: #EE0000;'
3399- ,'bfupis' : 'color: #4455ee;'
3400- ,'bfmemory' : 'color: #DD00DD;'
3401- }
3402- }
3403-};
3404-
3405
3406=== removed file 'js/components/EditArea/reg_syntax/c.js'
3407--- js/components/EditArea/reg_syntax/c.js 2010-02-11 11:48:21 +0000
3408+++ js/components/EditArea/reg_syntax/c.js 1970-01-01 00:00:00 +0000
3409@@ -1,63 +0,0 @@
3410-editAreaLoader.load_syntax["c"] = {
3411- 'DISPLAY_NAME' : 'C'
3412- ,'COMMENT_SINGLE' : {1 : '//'}
3413- ,'COMMENT_MULTI' : {'/*' : '*/'}
3414- ,'QUOTEMARKS' : {1: "'", 2: '"'}
3415- ,'KEYWORD_CASE_SENSITIVE' : true
3416- ,'KEYWORDS' : {
3417- 'constants' : [
3418- 'NULL', 'false', 'stdin', 'stdout', 'stderr', 'true'
3419- ]
3420- ,'types' : [
3421- 'FILE', 'auto', 'char', 'const', 'double',
3422- 'extern', 'float', 'inline', 'int', 'long', 'register',
3423- 'short', 'signed', 'size_t', 'static', 'struct',
3424- 'time_t', 'typedef', 'union', 'unsigned', 'void',
3425- 'volatile'
3426- ]
3427- ,'statements' : [
3428- 'do', 'else', 'enum', 'for', 'goto', 'if', 'sizeof',
3429- 'switch', 'while'
3430- ]
3431- ,'keywords' : [
3432- 'break', 'case', 'continue', 'default', 'delete',
3433- 'return'
3434- ]
3435- }
3436- ,'OPERATORS' :[
3437- '+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
3438- ]
3439- ,'DELIMITERS' :[
3440- '(', ')', '[', ']', '{', '}'
3441- ]
3442- ,'REGEXPS' : {
3443- 'precompiler' : {
3444- 'search' : '()(#[^\r\n]*)()'
3445- ,'class' : 'precompiler'
3446- ,'modifiers' : 'g'
3447- ,'execute' : 'before'
3448- }
3449-/* ,'precompilerstring' : {
3450- 'search' : '(#[\t ]*include[\t ]*)([^\r\n]*)([^\r\n]*[\r\n])'
3451- ,'class' : 'precompilerstring'
3452- ,'modifiers' : 'g'
3453- ,'execute' : 'before'
3454- }*/
3455- }
3456- ,'STYLES' : {
3457- 'COMMENTS': 'color: #AAAAAA;'
3458- ,'QUOTESMARKS': 'color: #6381F8;'
3459- ,'KEYWORDS' : {
3460- 'constants' : 'color: #EE0000;'
3461- ,'types' : 'color: #0000EE;'
3462- ,'statements' : 'color: #60CA00;'
3463- ,'keywords' : 'color: #48BDDF;'
3464- }
3465- ,'OPERATORS' : 'color: #FF00FF;'
3466- ,'DELIMITERS' : 'color: #0038E1;'
3467- ,'REGEXPS' : {
3468- 'precompiler' : 'color: #009900;'
3469- ,'precompilerstring' : 'color: #994400;'
3470- }
3471- }
3472-};
3473
3474=== removed file 'js/components/EditArea/reg_syntax/coldfusion.js'
3475--- js/components/EditArea/reg_syntax/coldfusion.js 2010-02-11 11:48:21 +0000
3476+++ js/components/EditArea/reg_syntax/coldfusion.js 1970-01-01 00:00:00 +0000
3477@@ -1,120 +0,0 @@
3478-editAreaLoader.load_syntax["coldfusion"] = {
3479- 'DISPLAY_NAME' : 'Coldfusion'
3480- ,'COMMENT_SINGLE' : {1 : '//', 2 : '#'}
3481- ,'COMMENT_MULTI' : {'<!--' : '-->'}
3482- ,'COMMENT_MULTI2' : {'<!---' : '--->'}
3483- ,'QUOTEMARKS' : {1: "'", 2: '"'}
3484- ,'KEYWORD_CASE_SENSITIVE' : false
3485- ,'KEYWORDS' : {
3486- 'statements' : [
3487- 'include', 'require', 'include_once', 'require_once',
3488- 'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile',
3489- 'endif', 'switch', 'case', 'endswitch',
3490- 'return', 'break', 'continue'
3491- ]
3492- ,'reserved' : [
3493- 'AND', 'break', 'case', 'CONTAIN', 'CONTAINS', 'continue', 'default', 'do',
3494- 'DOES', 'else', 'EQ', 'EQUAL', 'EQUALTO', 'EQV', 'FALSE', 'for', 'GE',
3495- 'GREATER', 'GT', 'GTE', 'if', 'IMP', 'in', 'IS', 'LE', 'LESS', 'LT', 'LTE',
3496- 'MOD', 'NEQ', 'NOT', 'OR', 'return', 'switch', 'THAN', 'TO', 'TRUE', 'var',
3497- 'while', 'XOR'
3498- ]
3499- ,'functions' : [
3500- 'Abs', 'ACos', 'ArrayAppend', 'ArrayAvg', 'ArrayClear', 'ArrayDeleteAt', 'ArrayInsertAt',
3501- 'ArrayIsEmpty', 'ArrayLen', 'ArrayMax', 'ArrayMin', 'ArrayNew', 'ArrayPrepend', 'ArrayResize',
3502- 'ArraySet', 'ArraySort', 'ArraySum', 'ArraySwap', 'ArrayToList', 'Asc', 'ASin', 'Atn', 'AuthenticatedContext',
3503- 'AuthenticatedUser', 'BitAnd', 'BitMaskClear', 'BitMaskRead', 'BitMaskSet', 'BitNot', 'BitOr',
3504- 'BitSHLN', 'BitSHRN', 'BitXor', 'Ceiling', 'Chr', 'CJustify', 'Compare', 'CompareNoCase', 'Cos',
3505- 'CreateDate', 'CreateDateTime', 'CreateODBCDate', 'CreateODBCDateTime', 'CreateODBCTime',
3506- 'CreateTime', 'CreateTimeSpan', 'DateAdd', 'DateCompare', 'DateConvert', 'DateDiff',
3507- 'DateFormat', 'DatePart', 'Day', 'DayOfWeek', 'DayOfWeekAsString', 'DayOfYear', 'DaysInMonth',
3508- 'DaysInYear', 'DE', 'DecimalFormat', 'DecrementValue', 'Decrypt', 'DeleteClientVariable',
3509- 'DirectoryExists', 'DollarFormat', 'Duplicate', 'Encrypt', 'Evaluate', 'Exp', 'ExpandPath',
3510- 'FileExists', 'Find', 'FindNoCase', 'FindOneOf', 'FirstDayOfMonth', 'Fix', 'FormatBaseN',
3511- 'GetBaseTagData', 'GetBaseTagList', 'GetBaseTemplatePath', 'GetClientVariablesList',
3512- 'GetCurrentTemplatePath', 'GetDirectoryFromPath', 'GetException', 'GetFileFromPath',
3513- 'GetFunctionList', 'GetHttpTimeString', 'GetHttpRequestData', 'GetLocale', 'GetMetricData',
3514- 'GetProfileString', 'GetTempDirectory', 'GetTempFile', 'GetTemplatePath', 'GetTickCount',
3515- 'GetTimeZoneInfo', 'GetToken', 'Hash', 'Hour', 'HTMLCodeFormat', 'HTMLEditFormat', 'IIf',
3516- 'IncrementValue', 'InputBaseN', 'Insert', 'Int', 'IsArray', 'IsAuthenticated', 'IsAuthorized',
3517- 'IsBoolean', 'IsBinary', 'IsCustomFunction', 'IsDate', 'IsDebugMode', 'IsDefined', 'IsLeapYear',
3518- 'IsNumeric', 'IsNumericDate', 'IsProtected', 'IsQuery', 'IsSimpleValue', 'IsStruct', 'IsWDDX',
3519- 'JavaCast', 'JSStringFormat', 'LCase', 'Left', 'Len', 'ListAppend', 'ListChangeDelims',
3520- 'ListContains', 'ListContainsNoCase', 'ListDeleteAt', 'ListFind', 'ListFindNoCase', 'ListFirst',
3521- 'ListGetAt', 'ListInsertAt', 'ListLast', 'ListLen', 'ListPrepend', 'ListQualify', 'ListRest',
3522- 'ListSetAt', 'ListSort', 'ListToArray', 'ListValueCount', 'ListValueCountNoCase', 'LJustify',
3523- 'Log', 'Log10', 'LSCurrencyFormat', 'LSDateFormat', 'LSEuroCurrencyFormat', 'LSIsCurrency',
3524- 'LSIsDate', 'LSIsNumeric', 'LSNumberFormat', 'LSParseCurrency', 'LSParseDateTime', 'LSParseNumber',
3525- 'LSTimeFormat', 'LTrim', 'Max', 'Mid', 'Min', 'Minute', 'Month', 'MonthAsString', 'Now', 'NumberFormat',
3526- 'ParagraphFormat', 'ParameterExists', 'ParseDateTime', 'Pi', 'PreserveSingleQuotes', 'Quarter',
3527- 'QueryAddRow', 'QueryNew', 'QuerySetCell', 'QuotedValueList', 'Rand', 'Randomize', 'RandRange',
3528- 'REFind', 'REFindNoCase', 'RemoveChars', 'RepeatString', 'Replace', 'ReplaceList', 'ReplaceNoCase',
3529- 'REReplace', 'REReplaceNoCase', 'Reverse', 'Right', 'RJustify', 'Round', 'RTrim', 'Second', 'SetLocale',
3530- 'SetProfileString', 'SetVariable', 'Sgn', 'Sin', 'SpanExcluding', 'SpanIncluding', 'Sqr', 'StripCR',
3531- 'StructAppend', 'StructClear', 'StructCopy', 'StructCount', 'StructDelete', 'StructFind', 'StructFindKey',
3532- 'StructFindValue', 'StructGet', 'StructInsert', 'StructIsEmpty', 'StructKeyArray', 'StructKeyExists',
3533- 'StructKeyList', 'StructNew', 'StructSort', 'StructUpdate', 'Tan', 'TimeFormat', 'ToBase64', 'ToBinary',
3534- 'ToString', 'Trim', 'UCase', 'URLDecode', 'URLEncodedFormat', 'Val', 'ValueList', 'Week', 'WriteOutput',
3535- 'XMLFormat', 'Year', 'YesNoFormat'
3536- ]
3537- }
3538- ,'OPERATORS' :[
3539- '+', '-', '/', '*', '%', '!', '&&', '||'
3540- ]
3541- ,'DELIMITERS' :[
3542- '(', ')', '[', ']', '{', '}'
3543- ]
3544- ,'REGEXPS' : {
3545- 'doctype' : {
3546- 'search' : '()(<!DOCTYPE[^>]*>)()'
3547- ,'class' : 'doctype'
3548- ,'modifiers' : ''
3549- ,'execute' : 'before' // before or after
3550- }
3551- ,'cftags' : {
3552- 'search' : '(<)(/cf[a-z][^ \r\n\t>]*)([^>]*>)'
3553- ,'class' : 'cftags'
3554- ,'modifiers' : 'gi'
3555- ,'execute' : 'before' // before or after
3556- }
3557- ,'cftags2' : {
3558- 'search' : '(<)(cf[a-z][^ \r\n\t>]*)([^>]*>)'
3559- ,'class' : 'cftags2'
3560- ,'modifiers' : 'gi'
3561- ,'execute' : 'before' // before or after
3562- }
3563- ,'tags' : {
3564- 'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
3565- ,'class' : 'tags'
3566- ,'modifiers' : 'gi'
3567- ,'execute' : 'before' // before or after
3568- }
3569- ,'attributes' : {
3570- 'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
3571- ,'class' : 'attributes'
3572- ,'modifiers' : 'g'
3573- ,'execute' : 'before' // before or after
3574- }
3575- }
3576- ,'STYLES' : {
3577- 'COMMENTS': 'color: #AAAAAA;'
3578- ,'QUOTESMARKS': 'color: #6381F8;'
3579- ,'KEYWORDS' : {
3580- 'reserved' : 'color: #48BDDF;'
3581- ,'functions' : 'color: #0000FF;'
3582- ,'statements' : 'color: #60CA00;'
3583- }
3584- ,'OPERATORS' : 'color: #E775F0;'
3585- ,'DELIMITERS' : ''
3586- ,'REGEXPS' : {
3587- 'attributes': 'color: #990033;'
3588- ,'cftags': 'color: #990033;'
3589- ,'cftags2': 'color: #990033;'
3590- ,'tags': 'color: #000099;'
3591- ,'doctype': 'color: #8DCFB5;'
3592- ,'test': 'color: #00FF00;'
3593- }
3594- }
3595-};
3596-
3597-
3598
3599=== removed file 'js/components/EditArea/reg_syntax/cpp.js'
3600--- js/components/EditArea/reg_syntax/cpp.js 2010-02-11 11:48:21 +0000
3601+++ js/components/EditArea/reg_syntax/cpp.js 1970-01-01 00:00:00 +0000
3602@@ -1,66 +0,0 @@
3603-editAreaLoader.load_syntax["cpp"] = {
3604- 'DISPLAY_NAME' : 'CPP'
3605- ,'COMMENT_SINGLE' : {1 : '//'}
3606- ,'COMMENT_MULTI' : {'/*' : '*/'}
3607- ,'QUOTEMARKS' : {1: "'", 2: '"'}
3608- ,'KEYWORD_CASE_SENSITIVE' : true
3609- ,'KEYWORDS' : {
3610- 'constants' : [
3611- 'NULL', 'false', 'std', 'stdin', 'stdout', 'stderr',
3612- 'true'
3613- ]
3614- ,'types' : [
3615- 'FILE', 'auto', 'char', 'class', 'const', 'double',
3616- 'extern', 'float', 'friend', 'inline', 'int',
3617- 'iterator', 'long', 'map', 'operator', 'queue',
3618- 'register', 'short', 'signed', 'size_t', 'stack',
3619- 'static', 'string', 'struct', 'time_t', 'typedef',
3620- 'union', 'unsigned', 'vector', 'void', 'volatile'
3621- ]
3622- ,'statements' : [
3623- 'catch', 'do', 'else', 'enum', 'for', 'goto', 'if',
3624- 'sizeof', 'switch', 'this', 'throw', 'try', 'while'
3625- ]
3626- ,'keywords' : [
3627- 'break', 'case', 'continue', 'default', 'delete',
3628- 'namespace', 'new', 'private', 'protected', 'public',
3629- 'return', 'using'
3630- ]
3631- }
3632- ,'OPERATORS' :[
3633- '+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
3634- ]
3635- ,'DELIMITERS' :[
3636- '(', ')', '[', ']', '{', '}'
3637- ]
3638- ,'REGEXPS' : {
3639- 'precompiler' : {
3640- 'search' : '()(#[^\r\n]*)()'
3641- ,'class' : 'precompiler'
3642- ,'modifiers' : 'g'
3643- ,'execute' : 'before'
3644- }
3645-/* ,'precompilerstring' : {
3646- 'search' : '(#[\t ]*include[\t ]*)([^\r\n]*)([^\r\n]*[\r\n])'
3647- ,'class' : 'precompilerstring'
3648- ,'modifiers' : 'g'
3649- ,'execute' : 'before'
3650- }*/
3651- }
3652- ,'STYLES' : {
3653- 'COMMENTS': 'color: #AAAAAA;'
3654- ,'QUOTESMARKS': 'color: #6381F8;'
3655- ,'KEYWORDS' : {
3656- 'constants' : 'color: #EE0000;'
3657- ,'types' : 'color: #0000EE;'
3658- ,'statements' : 'color: #60CA00;'
3659- ,'keywords' : 'color: #48BDDF;'
3660- }
3661- ,'OPERATORS' : 'color: #FF00FF;'
3662- ,'DELIMITERS' : 'color: #0038E1;'
3663- ,'REGEXPS' : {
3664- 'precompiler' : 'color: #009900;'
3665- ,'precompilerstring' : 'color: #994400;'
3666- }
3667- }
3668-};
3669
3670=== removed file 'js/components/EditArea/reg_syntax/css.js'
3671--- js/components/EditArea/reg_syntax/css.js 2010-02-11 11:48:21 +0000
3672+++ js/components/EditArea/reg_syntax/css.js 1970-01-01 00:00:00 +0000
3673@@ -1,85 +0,0 @@
3674-editAreaLoader.load_syntax["css"] = {
3675- 'DISPLAY_NAME' : 'CSS'
3676- ,'COMMENT_SINGLE' : {1 : '@'}
3677- ,'COMMENT_MULTI' : {'/*' : '*/'}
3678- ,'QUOTEMARKS' : ['"', "'"]
3679- ,'KEYWORD_CASE_SENSITIVE' : false
3680- ,'KEYWORDS' : {
3681- 'attributes' : [
3682- 'aqua', 'azimuth', 'background-attachment', 'background-color',
3683- 'background-image', 'background-position', 'background-repeat',
3684- 'background', 'border-bottom-color', 'border-bottom-style',
3685- 'border-bottom-width', 'border-left-color', 'border-left-style',
3686- 'border-left-width', 'border-right', 'border-right-color',
3687- 'border-right-style', 'border-right-width', 'border-top-color',
3688- 'border-top-style', 'border-top-width','border-bottom', 'border-collapse',
3689- 'border-left', 'border-width', 'border-color', 'border-spacing',
3690- 'border-style', 'border-top', 'border', 'caption-side',
3691- 'clear', 'clip', 'color', 'content', 'counter-increment', 'counter-reset',
3692- 'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display',
3693- 'elevation', 'empty-cells', 'float', 'font-family', 'font-size',
3694- 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant',
3695- 'font-weight', 'font', 'height', 'letter-spacing', 'line-height',
3696- 'list-style', 'list-style-image', 'list-style-position', 'list-style-type',
3697- 'margin-bottom', 'margin-left', 'margin-right', 'margin-top', 'margin',
3698- 'marker-offset', 'marks', 'max-height', 'max-width', 'min-height',
3699- 'min-width', 'opacity', 'orphans', 'outline', 'outline-color', 'outline-style',
3700- 'outline-width', 'overflow', 'padding-bottom', 'padding-left',
3701- 'padding-right', 'padding-top', 'padding', 'page', 'page-break-after',
3702- 'page-break-before', 'page-break-inside', 'pause-after', 'pause-before',
3703- 'pause', 'pitch', 'pitch-range', 'play-during', 'position', 'quotes',
3704- 'richness', 'right', 'size', 'speak-header', 'speak-numeral', 'speak-punctuation',
3705- 'speak', 'speech-rate', 'stress', 'table-layout', 'text-align', 'text-decoration',
3706- 'text-indent', 'text-shadow', 'text-transform', 'top', 'unicode-bidi',
3707- 'vertical-align', 'visibility', 'voice-family', 'volume', 'white-space', 'widows',
3708- 'width', 'word-spacing', 'z-index', 'bottom', 'left'
3709- ]
3710- ,'values' : [
3711- 'above', 'absolute', 'always', 'armenian', 'aural', 'auto', 'avoid',
3712- 'baseline', 'behind', 'below', 'bidi-override', 'black', 'blue', 'blink', 'block', 'bold', 'bolder', 'both',
3713- 'capitalize', 'center-left', 'center-right', 'center', 'circle', 'cjk-ideographic',
3714- 'close-quote', 'collapse', 'condensed', 'continuous', 'crop', 'crosshair', 'cross', 'cursive',
3715- 'dashed', 'decimal-leading-zero', 'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
3716- 'e-resize', 'embed', 'extra-condensed', 'extra-expanded', 'expanded',
3717- 'fantasy', 'far-left', 'far-right', 'faster', 'fast', 'fixed', 'fuchsia',
3718- 'georgian', 'gray', 'green', 'groove', 'hebrew', 'help', 'hidden', 'hide', 'higher',
3719- 'high', 'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table', 'inline',
3720- 'inset', 'inside', 'invert', 'italic', 'justify', 'katakana-iroha', 'katakana',
3721- 'landscape', 'larger', 'large', 'left-side', 'leftwards', 'level', 'lighter', 'lime', 'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek', 'lower-roman', 'lowercase', 'ltr', 'lower', 'low',
3722- 'maroon', 'medium', 'message-box', 'middle', 'mix', 'monospace',
3723- 'n-resize', 'narrower', 'navy', 'ne-resize', 'no-close-quote', 'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap', 'nw-resize',
3724- 'oblique', 'olive', 'once', 'open-quote', 'outset', 'outside', 'overline',
3725- 'pointer', 'portrait', 'purple', 'px',
3726- 'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb', 'ridge', 'right-side', 'rightwards',
3727- 's-resize', 'sans-serif', 'scroll', 'se-resize', 'semi-condensed', 'semi-expanded', 'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower', 'small-caps', 'small-caption', 'smaller', 'soft', 'solid', 'spell-out', 'square',
3728- 'static', 'status-bar', 'super', 'sw-resize',
3729- 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row', 'table-row-group', 'teal', 'text', 'text-bottom', 'text-top', 'thick', 'thin', 'transparent',
3730- 'ultra-condensed', 'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin', 'upper-roman', 'uppercase', 'url',
3731- 'visible',
3732- 'w-resize', 'wait', 'white', 'wider',
3733- 'x-fast', 'x-high', 'x-large', 'x-loud', 'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small',
3734- 'yellow', 'yes'
3735- ]
3736- ,'specials' : [
3737- 'important'
3738- ]
3739- }
3740- ,'OPERATORS' :[
3741- ':', ';', '!', '.', '#'
3742- ]
3743- ,'DELIMITERS' :[
3744- '{', '}'
3745- ]
3746- ,'STYLES' : {
3747- 'COMMENTS': 'color: #AAAAAA;'
3748- ,'QUOTESMARKS': 'color: #6381F8;'
3749- ,'KEYWORDS' : {
3750- 'attributes' : 'color: #48BDDF;'
3751- ,'values' : 'color: #2B60FF;'
3752- ,'specials' : 'color: #FF0000;'
3753- }
3754- ,'OPERATORS' : 'color: #FF00FF;'
3755- ,'DELIMITERS' : 'color: #60CA00;'
3756-
3757- }
3758-};
3759
3760=== removed file 'js/components/EditArea/reg_syntax/html.js'
3761--- js/components/EditArea/reg_syntax/html.js 2010-02-11 11:48:21 +0000
3762+++ js/components/EditArea/reg_syntax/html.js 1970-01-01 00:00:00 +0000
3763@@ -1,51 +0,0 @@
3764-/*
3765-* last update: 2006-08-24
3766-*/
3767-
3768-editAreaLoader.load_syntax["html"] = {
3769- 'DISPLAY_NAME' : 'HTML'
3770- ,'COMMENT_SINGLE' : {}
3771- ,'COMMENT_MULTI' : {'<!--' : '-->'}
3772- ,'QUOTEMARKS' : {1: "'", 2: '"'}
3773- ,'KEYWORD_CASE_SENSITIVE' : false
3774- ,'KEYWORDS' : {
3775- }
3776- ,'OPERATORS' :[
3777- ]
3778- ,'DELIMITERS' :[
3779- ]
3780- ,'REGEXPS' : {
3781- 'doctype' : {
3782- 'search' : '()(<!DOCTYPE[^>]*>)()'
3783- ,'class' : 'doctype'
3784- ,'modifiers' : ''
3785- ,'execute' : 'before' // before or after
3786- }
3787- ,'tags' : {
3788- 'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
3789- ,'class' : 'tags'
3790- ,'modifiers' : 'gi'
3791- ,'execute' : 'before' // before or after
3792- }
3793- ,'attributes' : {
3794- 'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
3795- ,'class' : 'attributes'
3796- ,'modifiers' : 'g'
3797- ,'execute' : 'before' // before or after
3798- }
3799- }
3800- ,'STYLES' : {
3801- 'COMMENTS': 'color: #AAAAAA;'
3802- ,'QUOTESMARKS': 'color: #6381F8;'
3803- ,'KEYWORDS' : {
3804- }
3805- ,'OPERATORS' : 'color: #E775F0;'
3806- ,'DELIMITERS' : ''
3807- ,'REGEXPS' : {
3808- 'attributes': 'color: #B1AC41;'
3809- ,'tags': 'color: #E62253;'
3810- ,'doctype': 'color: #8DCFB5;'
3811- ,'test': 'color: #00FF00;'
3812- }
3813- }
3814-};
3815
3816=== removed file 'js/components/EditArea/reg_syntax/java.js'
3817--- js/components/EditArea/reg_syntax/java.js 2010-02-11 11:48:21 +0000
3818+++ js/components/EditArea/reg_syntax/java.js 1970-01-01 00:00:00 +0000
3819@@ -1,57 +0,0 @@
3820-editAreaLoader.load_syntax["java"] = {
3821- 'DISPLAY_NAME' : 'Java'
3822- ,'COMMENT_SINGLE': { 1: '//', 2: '@' }
3823- , 'COMMENT_MULTI': { '/*': '*/' }
3824- , 'QUOTEMARKS': { 1: "'", 2: '"' }
3825- , 'KEYWORD_CASE_SENSITIVE': true
3826- , 'KEYWORDS': {
3827- 'constants': [
3828- 'null', 'false', 'true'
3829- ]
3830- , 'types': [
3831- 'String', 'int', 'short', 'long', 'char', 'double', 'byte',
3832- 'float', 'static', 'void', 'private', 'boolean', 'protected',
3833- 'public', 'const', 'class', 'final', 'abstract', 'volatile',
3834- 'enum', 'transient', 'interface'
3835- ]
3836- , 'statements': [
3837- 'this', 'extends', 'if', 'do', 'while', 'try', 'catch', 'finally',
3838- 'throw', 'throws', 'else', 'for', 'switch', 'continue', 'implements',
3839- 'break', 'case', 'default', 'goto'
3840- ]
3841- , 'keywords': [
3842- 'new', 'return', 'import', 'native', 'super', 'package', 'assert', 'synchronized',
3843- 'instanceof', 'strictfp'
3844- ]
3845- }
3846- , 'OPERATORS': [
3847- '+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
3848- ]
3849- , 'DELIMITERS': [
3850- '(', ')', '[', ']', '{', '}'
3851- ]
3852- , 'REGEXPS': {
3853- 'precompiler': {
3854- 'search': '()(#[^\r\n]*)()'
3855- , 'class': 'precompiler'
3856- , 'modifiers': 'g'
3857- , 'execute': 'before'
3858- }
3859- }
3860- , 'STYLES': {
3861- 'COMMENTS': 'color: #AAAAAA;'
3862- , 'QUOTESMARKS': 'color: #6381F8;'
3863- , 'KEYWORDS': {
3864- 'constants': 'color: #EE0000;'
3865- , 'types': 'color: #0000EE;'
3866- , 'statements': 'color: #60CA00;'
3867- , 'keywords': 'color: #48BDDF;'
3868- }
3869- , 'OPERATORS': 'color: #FF00FF;'
3870- , 'DELIMITERS': 'color: #0038E1;'
3871- , 'REGEXPS': {
3872- 'precompiler': 'color: #009900;'
3873- , 'precompilerstring': 'color: #994400;'
3874- }
3875- }
3876-};
3877
3878=== removed file 'js/components/EditArea/reg_syntax/js.js'
3879--- js/components/EditArea/reg_syntax/js.js 2010-02-11 11:48:21 +0000
3880+++ js/components/EditArea/reg_syntax/js.js 1970-01-01 00:00:00 +0000
3881@@ -1,94 +0,0 @@
3882-editAreaLoader.load_syntax["js"] = {
3883- 'DISPLAY_NAME' : 'Javascript'
3884- ,'COMMENT_SINGLE' : {1 : '//'}
3885- ,'COMMENT_MULTI' : {'/*' : '*/'}
3886- ,'QUOTEMARKS' : {1: "'", 2: '"'}
3887- ,'KEYWORD_CASE_SENSITIVE' : false
3888- ,'KEYWORDS' : {
3889- 'statements' : [
3890- 'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
3891- 'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
3892- 'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
3893- 'while', 'write', 'with'
3894- ]
3895- ,'keywords' : [
3896- 'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
3897- 'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
3898- 'protected', 'public', 'super', 'true', 'use', 'var', 'window', 'document',
3899- // the list below must be sorted and checked (if it is a keywords or a function and if it is not present twice
3900- 'Link ', 'outerHeight ', 'Anchor', 'FileUpload',
3901- 'location', 'outerWidth', 'Select', 'Area', 'find', 'Location', 'Packages', 'self',
3902- 'arguments', 'locationbar', 'pageXoffset', 'Form',
3903- 'Math', 'pageYoffset', 'setTimeout', 'assign', 'Frame', 'menubar', 'parent', 'status',
3904- 'blur', 'frames', 'MimeType', 'parseFloat', 'statusbar', 'Boolean', 'Function', 'moveBy',
3905- 'parseInt', 'stop', 'Button', 'getClass', 'moveTo', 'Password', 'String', 'callee', 'Hidden',
3906- 'name', 'personalbar', 'Submit', 'caller', 'history', 'NaN', 'Plugin', 'sun', 'captureEvents',
3907- 'History', 'navigate', 'print', 'taint', 'Checkbox', 'home', 'navigator', 'prompt', 'Text',
3908- 'Image', 'Navigator', 'prototype', 'Textarea', 'clearTimeout', 'Infinity',
3909- 'netscape', 'Radio', 'toolbar', 'close', 'innerHeight', 'Number', 'ref', 'top', 'closed',
3910- 'innerWidth', 'Object', 'RegExp', 'toString', 'confirm', 'isFinite', 'onBlur', 'releaseEvents',
3911- 'unescape', 'constructor', 'isNan', 'onError', 'Reset', 'untaint', 'Date', 'java', 'onFocus',
3912- 'resizeBy', 'unwatch', 'defaultStatus', 'JavaArray', 'onLoad', 'resizeTo', 'valueOf', 'document',
3913- 'JavaClass', 'onUnload', 'routeEvent', 'watch', 'Document', 'JavaObject', 'open', 'scroll', 'window',
3914- 'Element', 'JavaPackage', 'opener', 'scrollbars', 'Window', 'escape', 'length', 'Option', 'scrollBy'
3915- ]
3916- ,'functions' : [
3917- // common functions for Window object
3918- 'alert', 'Array', 'back', 'blur', 'clearInterval', 'close', 'confirm', 'eval ', 'focus', 'forward', 'home',
3919- 'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
3920- 'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'scrollTo', 'setInterval', 'status',
3921- 'stop'
3922- ]
3923- }
3924- ,'OPERATORS' :[
3925- '+', '-', '/', '*', '=', '<', '>', '%', '!'
3926- ]
3927- ,'DELIMITERS' :[
3928- '(', ')', '[', ']', '{', '}'
3929- ]
3930- ,'STYLES' : {
3931- 'COMMENTS': 'color: #AAAAAA;'
3932- ,'QUOTESMARKS': 'color: #6381F8;'
3933- ,'KEYWORDS' : {
3934- 'statements' : 'color: #60CA00;'
3935- ,'keywords' : 'color: #48BDDF;'
3936- ,'functions' : 'color: #2B60FF;'
3937- }
3938- ,'OPERATORS' : 'color: #FF00FF;'
3939- ,'DELIMITERS' : 'color: #0038E1;'
3940-
3941- }
3942- ,'AUTO_COMPLETION' : {
3943- "default": { // the name of this definition group. It's posisble to have different rules inside the same definition file
3944- "REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
3945- ,"possible_words_letters": "[a-zA-Z0-9_]+"
3946- ,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
3947- ,"prefix_separator": "\\."
3948- }
3949- ,"CASE_SENSITIVE": true
3950- ,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
3951- ,"KEYWORDS": {
3952- '': [ // the prefix of thoses items
3953- /**
3954- * 0 : the keyword the user is typing
3955- * 1 : (optionnal) the string inserted in code ("{@}" being the new position of the cursor, "§" beeing the equivalent to the value the typed string indicated if the previous )
3956- * If empty the keyword will be displayed
3957- * 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
3958- */
3959- ['Array', '§()', '']
3960- ,['alert', '§({@})', 'alert(String message)']
3961- ,['document']
3962- ,['window']
3963- ]
3964- ,'window' : [
3965- ['location']
3966- ,['document']
3967- ,['scrollTo', 'scrollTo({@})', 'scrollTo(Int x,Int y)']
3968- ]
3969- ,'location' : [
3970- ['href']
3971- ]
3972- }
3973- }
3974- }
3975-};
3976
3977=== removed file 'js/components/EditArea/reg_syntax/pas.js'
3978--- js/components/EditArea/reg_syntax/pas.js 2010-02-11 11:48:21 +0000
3979+++ js/components/EditArea/reg_syntax/pas.js 1970-01-01 00:00:00 +0000
3980@@ -1,83 +0,0 @@
3981-editAreaLoader.load_syntax["pas"] = {
3982- 'DISPLAY_NAME' : 'Pascal'
3983- ,'COMMENT_SINGLE' : {}
3984- ,'COMMENT_MULTI' : {'{' : '}', '(*':'*)'}
3985- ,'QUOTEMARKS' : {1: '"', 2: "'"}
3986- ,'KEYWORD_CASE_SENSITIVE' : false
3987- ,'KEYWORDS' : {
3988- 'constants' : [
3989- 'Blink', 'Black', 'Blue', 'Green', 'Cyan', 'Red',
3990- 'Magenta', 'Brown', 'LightGray', 'DarkGray',
3991- 'LightBlue', 'LightGreen', 'LightCyan', 'LightRed',
3992- 'LightMagenta', 'Yellow', 'White', 'MaxSIntValue',
3993- 'MaxUIntValue', 'maxint', 'maxLongint', 'maxSmallint',
3994- 'erroraddr', 'errorcode', 'LineEnding'
3995- ]
3996- ,'keywords' : [
3997- 'in', 'or', 'div', 'mod', 'and', 'shl', 'shr', 'xor',
3998- 'pow', 'is', 'not','Absolute', 'And_then', 'Array',
3999- 'Begin', 'Bindable', 'Case', 'Const', 'Do', 'Downto',
4000- 'Else', 'End', 'Export', 'File', 'For', 'Function',
4001- 'Goto', 'If', 'Import', 'Implementation', 'Inherited',
4002- 'Inline', 'Interface', 'Label', 'Module', 'Nil',
4003- 'Object', 'Of', 'Only', 'Operator', 'Or_else',
4004- 'Otherwise', 'Packed', 'Procedure', 'Program',
4005- 'Protected', 'Qualified', 'Record', 'Repeat',
4006- 'Restricted', 'Set', 'Then', 'To', 'Type', 'Unit',
4007- 'Until', 'Uses', 'Value', 'Var', 'Virtual', 'While',
4008- 'With'
4009- ]
4010- ,'functions' : [
4011- 'Abs', 'Addr', 'Append', 'Arctan', 'Assert', 'Assign',
4012- 'Assigned', 'BinStr', 'Blockread', 'Blockwrite',
4013- 'Break', 'Chdir', 'Chr', 'Close', 'CompareByte',
4014- 'CompareChar', 'CompareDWord', 'CompareWord', 'Concat',
4015- 'Continue', 'Copy', 'Cos', 'CSeg', 'Dec', 'Delete',
4016- 'Dispose', 'DSeg', 'Eof', 'Eoln', 'Erase', 'Exclude',
4017- 'Exit', 'Exp', 'Filepos', 'Filesize', 'FillByte',
4018- 'Fillchar', 'FillDWord', 'Fillword', 'Flush', 'Frac',
4019- 'Freemem', 'Getdir', 'Getmem', 'GetMemoryManager',
4020- 'Halt', 'HexStr', 'Hi', 'High', 'Inc', 'Include',
4021- 'IndexByte', 'IndexChar', 'IndexDWord', 'IndexWord',
4022- 'Insert', 'IsMemoryManagerSet', 'Int', 'IOresult',
4023- 'Length', 'Ln', 'Lo', 'LongJmp', 'Low', 'Lowercase',
4024- 'Mark', 'Maxavail', 'Memavail', 'Mkdir', 'Move',
4025- 'MoveChar0', 'New', 'Odd', 'OctStr', 'Ofs', 'Ord',
4026- 'Paramcount', 'Paramstr', 'Pi', 'Pos', 'Power', 'Pred',
4027- 'Ptr', 'Random', 'Randomize', 'Read', 'Readln',
4028- 'Real2Double', 'Release', 'Rename', 'Reset', 'Rewrite',
4029- 'Rmdir', 'Round', 'Runerror', 'Seek', 'SeekEof',
4030- 'SeekEoln', 'Seg', 'SetMemoryManager', 'SetJmp',
4031- 'SetLength', 'SetString', 'SetTextBuf', 'Sin', 'SizeOf',
4032- 'Sptr', 'Sqr', 'Sqrt', 'SSeg', 'Str', 'StringOfChar',
4033- 'Succ', 'Swap', 'Trunc', 'Truncate', 'Upcase', 'Val',
4034- 'Write', 'WriteLn'
4035- ]
4036- ,'types' : [
4037- 'Integer', 'Shortint', 'SmallInt', 'Longint',
4038- 'Longword', 'Int64', 'Byte', 'Word', 'Cardinal',
4039- 'QWord', 'Boolean', 'ByteBool', 'LongBool', 'Char',
4040- 'Real', 'Single', 'Double', 'Extended', 'Comp',
4041- 'String', 'ShortString', 'AnsiString', 'PChar'
4042- ]
4043- }
4044- ,'OPERATORS' :[
4045- '@', '*', '+', '-', '/', '^', ':=', '<', '=', '>'
4046- ]
4047- ,'DELIMITERS' :[
4048- '(', ')', '[', ']'
4049- ]
4050- ,'STYLES' : {
4051- 'COMMENTS': 'color: #AAAAAA;'
4052- ,'QUOTESMARKS': 'color: #6381F8;'
4053- ,'KEYWORDS' : {
4054- 'specials' : 'color: #EE0000;'
4055- ,'constants' : 'color: #654321;'
4056- ,'keywords' : 'color: #48BDDF;'
4057- ,'functions' : 'color: #449922;'
4058- ,'types' : 'color: #2B60FF;'
4059- }
4060- ,'OPERATORS' : 'color: #FF00FF;'
4061- ,'DELIMITERS' : 'color: #60CA00;'
4062- }
4063-};
4064
4065=== removed file 'js/components/EditArea/reg_syntax/perl.js'
4066--- js/components/EditArea/reg_syntax/perl.js 2010-02-11 11:48:21 +0000
4067+++ js/components/EditArea/reg_syntax/perl.js 1970-01-01 00:00:00 +0000
4068@@ -1,88 +0,0 @@
4069-/***************************************************************************
4070- * (c) 2008 - file created by Christoph Pinkel, MTC Infomedia OHG.
4071- *
4072- * You may choose any license of the current release or any future release
4073- * of editarea to use, modify and/or redistribute this file.
4074- *
4075- * This language specification file supports for syntax checking on
4076- * a large subset of Perl 5.x.
4077- * The basic common syntax of Perl is fully supported, but as for
4078- * the highlighting of built-in operations, it's mainly designed
4079- * to support for hightlighting Perl code in a Safe environment (compartment)
4080- * as used by CoMaNet for evaluation of administrative scripts. This Safe
4081- * compartment basically allows for all of Opcode's :default operations,
4082- * but little others. See http://perldoc.perl.org/Opcode.html to learn
4083- * more.
4084- ***************************************************************************/
4085-
4086-editAreaLoader.load_syntax["perl"] = {
4087- 'DISPLAY_NAME' : 'Perl',
4088- 'COMMENT_SINGLE' : {1 : '#'},
4089- 'QUOTEMARKS' : {1: "'", 2: '"'},
4090- 'KEYWORD_CASE_SENSITIVE' : true,
4091- 'KEYWORDS' :
4092- {
4093- 'core' :
4094- [ "if", "else", "elsif", "while", "for", "each", "foreach",
4095- "next", "last", "goto", "exists", "delete", "undef",
4096- "my", "our", "local", "use", "require", "package", "keys", "values",
4097- "sub", "bless", "ref", "return" ],
4098- 'functions' :
4099- [
4100- //from :base_core
4101- "int", "hex", "oct", "abs", "substr", "vec", "study", "pos",
4102- "length", "index", "rindex", "ord", "chr", "ucfirst", "lcfirst",
4103- "uc", "lc", "quotemeta", "chop", "chomp", "split", "list", "splice",
4104- "push", "pop", "shift", "unshift", "reverse", "and", "or", "dor",
4105- "xor", "warn", "die", "prototype",
4106- //from :base_mem
4107- "concat", "repeat", "join", "range",
4108- //none from :base_loop, as we'll see them as basic statements...
4109- //from :base_orig
4110- "sprintf", "crypt", "tie", "untie", "select", "localtime", "gmtime",
4111- //others
4112- "print", "open", "close"
4113- ]
4114- },
4115- 'OPERATORS' :
4116- [ '+', '-', '/', '*', '=', '<', '>', '!', '||', '.', '&&',
4117- ' eq ', ' ne ', '=~' ],
4118- 'DELIMITERS' :
4119- [ '(', ')', '[', ']', '{', '}' ],
4120- 'REGEXPS' :
4121- {
4122- 'packagedecl' : { 'search': '(package )([^ \r\n\t#;]*)()',
4123- 'class' : 'scopingnames',
4124- 'modifiers' : 'g', 'execute' : 'before' },
4125- 'subdecl' : { 'search': '(sub )([^ \r\n\t#]*)()',
4126- 'class' : 'scopingnames',
4127- 'modifiers' : 'g', 'execute' : 'before' },
4128- 'scalars' : { 'search': '()(\\\$[a-zA-Z0-9_:]*)()',
4129- 'class' : 'vars',
4130- 'modifiers' : 'g', 'execute' : 'after' },
4131- 'arrays' : { 'search': '()(@[a-zA-Z0-9_:]*)()',
4132- 'class' : 'vars',
4133- 'modifiers' : 'g', 'execute' : 'after' },
4134- 'hashs' : { 'search': '()(%[a-zA-Z0-9_:]*)()',
4135- 'class' : 'vars',
4136- 'modifiers' : 'g', 'execute' : 'after' },
4137- },
4138-
4139- 'STYLES' :
4140- {
4141- 'COMMENTS': 'color: #AAAAAA;',
4142- 'QUOTESMARKS': 'color: #DC0000;',
4143- 'KEYWORDS' :
4144- {
4145- 'core' : 'color: #8aca00;',
4146- 'functions' : 'color: #2B60FF;'
4147- },
4148- 'OPERATORS' : 'color: #8aca00;',
4149- 'DELIMITERS' : 'color: #0038E1;',
4150- 'REGEXPS':
4151- {
4152- 'scopingnames' : 'color: #ff0000;',
4153- 'vars' : 'color: #00aaaa;',
4154- }
4155- } //'STYLES'
4156-};
4157
4158=== removed file 'js/components/EditArea/reg_syntax/php.js'
4159--- js/components/EditArea/reg_syntax/php.js 2010-02-11 11:48:21 +0000
4160+++ js/components/EditArea/reg_syntax/php.js 1970-01-01 00:00:00 +0000
4161@@ -1,157 +0,0 @@
4162-editAreaLoader.load_syntax["php"] = {
4163- 'DISPLAY_NAME' : 'Php'
4164- ,'COMMENT_SINGLE' : {1 : '//', 2 : '#'}
4165- ,'COMMENT_MULTI' : {'/*' : '*/'}
4166- ,'QUOTEMARKS' : {1: "'", 2: '"'}
4167- ,'KEYWORD_CASE_SENSITIVE' : false
4168- ,'KEYWORDS' : {
4169- 'statements' : [
4170- 'include', 'require', 'include_once', 'require_once',
4171- 'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile',
4172- 'endif', 'switch', 'case', 'endswitch',
4173- 'return', 'break', 'continue'
4174- ]
4175- ,'reserved' : [
4176- '_GET', '_POST', '_SESSION', '_SERVER', '_FILES', '_ENV', '_COOKIE', '_REQUEST',
4177- 'null', '__LINE__', '__FILE__',
4178- 'false', '&lt;?php', '?&gt;', '&lt;?',
4179- '&lt;script language', '&lt;/script&gt;',
4180- 'true', 'var', 'default',
4181- 'function', 'class', 'new', '&amp;new', 'this',
4182- '__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION',
4183- 'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR',
4184- 'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR',
4185- 'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_OUTPUT_HANDLER_START', 'PHP_OUTPUT_HANDLER_CONT',
4186- 'PHP_OUTPUT_HANDLER_END', 'E_ERROR', 'E_WARNING', 'E_PARSE', 'E_NOTICE',
4187- 'E_CORE_ERROR', 'E_CORE_WARNING', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_USER_ERROR',
4188- 'E_USER_WARNING', 'E_USER_NOTICE', 'E_ALL'
4189-
4190- ]
4191- ,'functions' : [
4192- 'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
4193- 'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
4194- 'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
4195- 'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv',
4196- 'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime',
4197- 'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar',
4198- 'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown',
4199- 'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate',
4200- 'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
4201- 'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat',
4202- 'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from',
4203- 'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport',
4204- 'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
4205-
4206- ]
4207- }
4208- ,'OPERATORS' :[
4209- '+', '-', '/', '*', '=', '<', '>', '%', '!', '&&', '||'
4210- ]
4211- ,'DELIMITERS' :[
4212- '(', ')', '[', ']', '{', '}'
4213- ]
4214- ,'REGEXPS' : {
4215- // highlight all variables ($...)
4216- 'variables' : {
4217- 'search' : '()(\\$\\w+)()'
4218- ,'class' : 'variables'
4219- ,'modifiers' : 'g'
4220- ,'execute' : 'before' // before or after
4221- }
4222- }
4223- ,'STYLES' : {
4224- 'COMMENTS': 'color: #AAAAAA;'
4225- ,'QUOTESMARKS': 'color: #879EFA;'
4226- ,'KEYWORDS' : {
4227- 'reserved' : 'color: #48BDDF;'
4228- ,'functions' : 'color: #0040FD;'
4229- ,'statements' : 'color: #60CA00;'
4230- }
4231- ,'OPERATORS' : 'color: #FF00FF;'
4232- ,'DELIMITERS' : 'color: #2B60FF;'
4233- ,'REGEXPS' : {
4234- 'variables' : 'color: #E0BD54;'
4235- }
4236- }
4237- ,'AUTO_COMPLETION' : {
4238- "default": { // the name of this definition group. It's posisble to have different rules inside the same definition file
4239- "REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
4240- ,"possible_words_letters": "[a-zA-Z0-9_\$]+"
4241- ,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
4242- ,"prefix_separator": "\\-\\>|\\:\\:"
4243- }
4244- ,"CASE_SENSITIVE": true
4245- ,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
4246- ,"KEYWORDS": {
4247- '': [ // the prefix of thoses items
4248- /**
4249- * 0 : the keyword the user is typing
4250- * 1 : (optionnal) the string inserted in code ("{@}" being the new position of the cursor, "§" beeing the equivalent to the value the typed string indicated if the previous )
4251- * If empty the keyword will be displayed
4252- * 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
4253- */
4254- ['$_POST']
4255- ,['$_GET']
4256- ,['$_SESSION']
4257- ,['$_SERVER']
4258- ,['$_FILES']
4259- ,['$_ENV']
4260- ,['$_COOKIE']
4261- ,['$_REQUEST']
4262- // magic methods
4263- ,['__construct', '§( {@} )']
4264- ,['__destruct', '§( {@} )']
4265- ,['__sleep', '§( {@} )']
4266- ,['__wakeup', '§( {@} )']
4267- ,['__toString', '§( {@} )']
4268- // include
4269- ,['include', '§ "{@}";']
4270- ,['include_once', '§ "{@}";']
4271- ,['require', '§ "{@}";']
4272- ,['require_once', '§ "{@}";']
4273- // statements
4274- ,['for', '§( {@} )']
4275- ,['foreach', '§( {@} )']
4276- ,['if', '§( {@} )']
4277- ,['elseif', '§( {@} )']
4278- ,['while', '§( {@} )']
4279- ,['switch', '§( {@} )']
4280- ,['break']
4281- ,['case']
4282- ,['continue']
4283- ,['do']
4284- ,['else']
4285- ,['endif']
4286- ,['endswitch']
4287- ,['endwhile']
4288- ,['return']
4289- // function
4290- ,['unset', '§( {@} )']
4291- ]
4292- }
4293- }
4294- ,"live": {
4295-
4296- // class NAME: /class\W+([a-z]+)\W+/gi
4297- // method: /^(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi
4298- // static: /^(public|private|protected)?\s+static\s+(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi
4299- // attributes: /(\$this\-\>|(?:var|public|protected|private)\W+\$)([a-z0-9\_]+)(?!\()\b/gi
4300- // v1 : /(\$this\-\>|var\W+|public\W+|protected\W+|private\W+)([a-z0-9\_]+)\W*(=|;)/gi
4301- // var type: /(\$(this\-\>)?[a-z0-9\_]+)\s*\=\s*new\s+([a-z0-9\_])+/gi
4302-
4303-
4304- "REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
4305- ,"possible_words_letters": "[a-zA-Z0-9_\$]+"
4306- ,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
4307- ,"prefix_separator": "\\-\\>"
4308- }
4309- ,"CASE_SENSITIVE": true
4310- ,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
4311- ,"KEYWORDS": {
4312- '$this': [ // the prefix of thoses items
4313- ['test']
4314- ]
4315- }
4316- }
4317- }
4318-};
4319
4320=== removed file 'js/components/EditArea/reg_syntax/python.js'
4321--- js/components/EditArea/reg_syntax/python.js 2010-02-11 11:48:21 +0000
4322+++ js/components/EditArea/reg_syntax/python.js 1970-01-01 00:00:00 +0000
4323@@ -1,145 +0,0 @@
4324-/**
4325- * Python syntax v 1.1
4326- *
4327- * v1.1 by Andre Roberge (2006/12/27)
4328- *
4329-**/
4330-editAreaLoader.load_syntax["python"] = {
4331- 'DISPLAY_NAME' : 'Python'
4332- ,'COMMENT_SINGLE' : {1 : '#'}
4333- ,'COMMENT_MULTI' : {}
4334- ,'QUOTEMARKS' : {1: "'", 2: '"'}
4335- ,'KEYWORD_CASE_SENSITIVE' : true
4336- ,'KEYWORDS' : {
4337- /*
4338- ** Set 1: reserved words
4339- ** http://python.org/doc/current/ref/keywords.html
4340- ** Note: 'as' and 'with' have been added starting with Python 2.5
4341- */
4342- 'reserved' : [
4343- 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
4344- 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if',
4345- 'import', 'is', 'in', 'lambda', 'not', 'or', 'pass', 'print', 'raise',
4346- 'return', 'try', 'while', 'with', 'yield'
4347- //the following are *almost* reserved; we'll treat them as such
4348- , 'False', 'True', 'None'
4349- ]
4350- /*
4351- ** Set 2: builtins
4352- ** http://python.org/doc/current/lib/built-in-funcs.html
4353- */
4354- ,'builtins' : [
4355- '__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp',
4356- 'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile',
4357- 'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
4358- 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals',
4359- 'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range',
4360- 'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',
4361- 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
4362- 'vars', 'xrange', 'zip',
4363- // Built-in constants: http://www.python.org/doc/2.4.1/lib/node35.html
4364- //'False', 'True', 'None' have been included in 'reserved'
4365- 'NotImplemented', 'Ellipsis',
4366- // Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html
4367- 'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError',
4368- 'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError',
4369- 'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError',
4370- 'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError',
4371- 'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError',
4372- 'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError',
4373- 'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning',
4374- 'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning',
4375- 'RuntimeWarning', 'FutureWarning',
4376- // we will include the string methods as well
4377- // http://python.org/doc/current/lib/string-methods.html
4378- 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
4379- 'find', 'index', 'isalnum', 'isaplpha', 'isdigit', 'islower', 'isspace', 'istitle',
4380- 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust',
4381- 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
4382- 'translate', 'upper', 'zfill'
4383- ]
4384- /*
4385- ** Set 3: standard library
4386- ** http://python.org/doc/current/lib/modindex.html
4387- */
4388- ,'stdlib' : [
4389- '__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm',
4390- 'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer',
4391- 'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi',
4392- 'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop',
4393- 'collections', 'colorsys', 'commands', 'compileall', 'compiler', 'compiler',
4394- 'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt',
4395- 'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE',
4396- 'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm',
4397- 'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl',
4398- 'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl',
4399- 'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob',
4400- 'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib',
4401- 'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect',
4402- 'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap',
4403- 'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify',
4404- 'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator',
4405- 'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes',
4406- 'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile',
4407- 'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random',
4408- 're', 'readline', 'repr', 'resource', 'rexec', 'rfc822', 'rgbimg', 'rlcompleter',
4409- 'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve',
4410- 'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd',
4411- 'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string',
4412- 'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev',
4413- 'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios',
4414- 'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token',
4415- 'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2',
4416- 'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings',
4417- 'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml',
4418- 'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib'
4419-
4420- ]
4421- /*
4422- ** Set 4: special methods
4423- ** http://python.org/doc/current/ref/specialnames.html
4424- */
4425- ,'special' : [
4426- // Basic customization: http://python.org/doc/current/ref/customization.html
4427- '__new__', '__init__', '__del__', '__repr__', '__str__',
4428- '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__',
4429- '__hash__', '__nonzero__', '__unicode__', '__dict__',
4430- // Attribute access: http://python.org/doc/current/ref/attribute-access.html
4431- '__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__',
4432- '__delete__', '__slots__',
4433- // Class creation, callable objects
4434- '__metaclass__', '__call__',
4435- // Container types: http://python.org/doc/current/ref/sequence-types.html
4436- '__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__',
4437- '__getslice__', '__setslice__', '__delslice__',
4438- // Numeric types: http://python.org/doc/current/ref/numeric-types.html
4439- '__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__',
4440- '__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__',
4441- '__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__',
4442- '__long__','__lshift__',
4443- '__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__',
4444- '__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__',
4445- '__rshift__','__rsub__','__rmul__','__repr__','__rand__','__rxor__','__ror__',
4446- '__sub__','__xor__'
4447- ]
4448- }
4449- ,'OPERATORS' :[
4450- '+', '-', '/', '*', '=', '<', '>', '%', '!', '&', ';', '?', '`', ':', ','
4451- ]
4452- ,'DELIMITERS' :[
4453- '(', ')', '[', ']', '{', '}'
4454- ]
4455- ,'STYLES' : {
4456- 'COMMENTS': 'color: #AAAAAA;'
4457- ,'QUOTESMARKS': 'color: #660066;'
4458- ,'KEYWORDS' : {
4459- 'reserved' : 'color: #0000FF;'
4460- ,'builtins' : 'color: #009900;'
4461- ,'stdlib' : 'color: #009900;'
4462- ,'special': 'color: #006666;'
4463- }
4464- ,'OPERATORS' : 'color: #993300;'
4465- ,'DELIMITERS' : 'color: #993300;'
4466-
4467- }
4468-};
4469
4470=== removed file 'js/components/EditArea/reg_syntax/robotstxt.js'
4471--- js/components/EditArea/reg_syntax/robotstxt.js 2010-02-11 11:48:21 +0000
4472+++ js/components/EditArea/reg_syntax/robotstxt.js 1970-01-01 00:00:00 +0000
4473@@ -1,25 +0,0 @@
4474-editAreaLoader.load_syntax["robotstxt"] = {
4475- 'DISPLAY_NAME' : 'Robots txt',
4476- 'COMMENT_SINGLE' : {1 : '#'},
4477- 'COMMENT_MULTI' : {},
4478- 'QUOTEMARKS' : [],
4479- 'KEYWORD_CASE_SENSITIVE' : false,
4480- 'KEYWORDS' : {
4481- 'attributes' : ['User-agent', 'Disallow', 'Allow', 'Crawl-delay'],
4482- 'values' : ['*'],
4483- 'specials' : ['*']
4484- },
4485- 'OPERATORS' :[':'],
4486- 'DELIMITERS' :[],
4487- 'STYLES' : {
4488- 'COMMENTS': 'color: #AAAAAA;',
4489- 'QUOTESMARKS': 'color: #6381F8;',
4490- 'KEYWORDS' : {
4491- 'attributes' : 'color: #48BDDF;',
4492- 'values' : 'color: #2B60FF;',
4493- 'specials' : 'color: #FF0000;'
4494- },
4495- 'OPERATORS' : 'color: #FF00FF;',
4496- 'DELIMITERS' : 'color: #60CA00;'
4497- }
4498-};
4499
4500=== removed file 'js/components/EditArea/reg_syntax/ruby.js'
4501--- js/components/EditArea/reg_syntax/ruby.js 2010-02-11 11:48:21 +0000
4502+++ js/components/EditArea/reg_syntax/ruby.js 1970-01-01 00:00:00 +0000
4503@@ -1,68 +0,0 @@
4504-/**
4505- * Ruby syntax v 1.0
4506- *
4507- * v1.0 by Patrice De Saint Steban (2007/01/03)
4508- *
4509-**/
4510-editAreaLoader.load_syntax["ruby"] = {
4511- 'DISPLAY_NAME' : 'Ruby'
4512- ,'COMMENT_SINGLE' : {1 : '#'}
4513- ,'COMMENT_MULTI' : {}
4514- ,'QUOTEMARKS' : {1: "'", 2: '"'}
4515- ,'KEYWORD_CASE_SENSITIVE' : true
4516- ,'KEYWORDS' : {
4517- 'reserved' : [
4518- 'alias', 'and', 'BEGIN', 'begin', 'break', 'case', 'class', 'def', 'defined', 'do', 'else',
4519- 'elsif', 'END', 'end', 'ensure', 'false', 'for', 'if',
4520- 'in', 'module', 'next', 'not', 'or', 'redo', 'rescue', 'retry',
4521- 'return', 'self', 'super', 'then', 'true', 'undef', 'unless', 'until', 'when', 'while', 'yield'
4522- ]
4523- }
4524- ,'OPERATORS' :[
4525- '+', '-', '/', '*', '=', '<', '>', '%', '!', '&', ';', '?', '`', ':', ','
4526- ]
4527- ,'DELIMITERS' :[
4528- '(', ')', '[', ']', '{', '}'
4529- ]
4530- ,'REGEXPS' : {
4531- 'constants' : {
4532- 'search' : '()([A-Z]\\w*)()'
4533- ,'class' : 'constants'
4534- ,'modifiers' : 'g'
4535- ,'execute' : 'before'
4536- }
4537- ,'variables' : {
4538- 'search' : '()([\$\@\%]+\\w+)()'
4539- ,'class' : 'variables'
4540- ,'modifiers' : 'g'
4541- ,'execute' : 'before'
4542- }
4543- ,'numbers' : {
4544- 'search' : '()(-?[0-9]+)()'
4545- ,'class' : 'numbers'
4546- ,'modifiers' : 'g'
4547- ,'execute' : 'before'
4548- }
4549- ,'symbols' : {
4550- 'search' : '()(:\\w+)()'
4551- ,'class' : 'symbols'
4552- ,'modifiers' : 'g'
4553- ,'execute' : 'before'
4554- }
4555- }
4556- ,'STYLES' : {
4557- 'COMMENTS': 'color: #AAAAAA;'
4558- ,'QUOTESMARKS': 'color: #660066;'
4559- ,'KEYWORDS' : {
4560- 'reserved' : 'font-weight: bold; color: #0000FF;'
4561- }
4562- ,'OPERATORS' : 'color: #993300;'
4563- ,'DELIMITERS' : 'color: #993300;'
4564- ,'REGEXPS' : {
4565- 'variables' : 'color: #E0BD54;'
4566- ,'numbers' : 'color: green;'
4567- ,'constants' : 'color: #00AA00;'
4568- ,'symbols' : 'color: #879EFA;'
4569- }
4570- }
4571-};
4572
4573=== removed file 'js/components/EditArea/reg_syntax/sql.js'
4574--- js/components/EditArea/reg_syntax/sql.js 2010-02-11 11:48:21 +0000
4575+++ js/components/EditArea/reg_syntax/sql.js 1970-01-01 00:00:00 +0000
4576@@ -1,56 +0,0 @@
4577-editAreaLoader.load_syntax["sql"] = {
4578- 'DISPLAY_NAME' : 'SQL'
4579- ,'COMMENT_SINGLE' : {1 : '--'}
4580- ,'COMMENT_MULTI' : {'/*' : '*/'}
4581- ,'QUOTEMARKS' : {1: "'", 2: '"', 3: '`'}
4582- ,'KEYWORD_CASE_SENSITIVE' : false
4583- ,'KEYWORDS' : {
4584- 'statements' : [
4585- 'select', 'SELECT', 'where', 'order', 'by',
4586- 'insert', 'from', 'update', 'grant', 'left join', 'right join',
4587- 'union', 'group', 'having', 'limit', 'alter', 'LIKE','IN','CASE'
4588- ]
4589- ,'reserved' : [
4590- 'null', 'enum', 'int', 'boolean', 'add', 'varchar'
4591-
4592- ]
4593- ,'functions' : [
4594- 'ABS','ACOS','ADDDATE','ADDTIME','AES_DECRYPT','AES_ENCRYPT','ASCII','ASIN','ATAN2 ATAN','ATAN','AVG','BENCHMARK','DISTINCT','BIN','BIT_AND','BIT_COUNT','BIT_LENGTH','BIT_OR','BIT_XOR','CAST','CEILING CEIL','CHAR_LENGTH','CHAR',
4595-'CHARACTER_LENGTH','CHARSET','COALESCE','COERCIBILITY','COLLATION','COMPRESS','CONCAT_WS','CONCAT','CONNECTION_ID','CONV','CONVERT_TZ','COS','COT','COUNT','CRC32','CURDATE','CURRENT_DATE','CURRENT_TIME','CURRENT_TIMESTAMP','CURRENT_USER','CURTIME','DATABASE','DATE_ADD','DATE_FORMAT','DATE_SUB','DATE','DATEDIFF','DAY','DAYNAME','DAYOFMONTH',
4596-'DAYOFWEEK','DAYOFYEAR','DECODE','DEFAULT','DEGREES','DES_DECRYPT','DES_ENCRYPT','ELT','ENCODE','ENCRYPT','EXP','EXPORT_SET','EXTRACT','FIELD','FIND_IN_SET','FLOOR','FORMAT','FOUND_ROWS','FROM_DAYS','FROM_UNIXTIME','GET_FORMAT','GET_LOCK','GREATEST','GROUP_CONCAT','HEX','HOUR','IF','IFNULL','INET_ATON','INET_NTOA',
4597-'INSERT','INSTR','INTERVAL','IS_FREE_LOCK','IS_USED_LOCK','ISNULL','LAST_DAY','LAST_INSERT_ID','LCASE','LEAST','LEFT','LENGTH','LN','LOAD_FILE','LOCALTIME','LOCALTIMESTAMP','LOCATE','LOG10','LOG2','LOG','LOWER','LPAD','LTRIM','MAKE_SET','MAKEDATE','MAKETIME','MASTER_POS_WAIT','MAX','MD5','MICROSECOND',
4598-'MID','MIN','MINUTE','MOD','MONTH','MONTHNAME','NOW','NULLIF','OCT','OCTET_LENGTH','OLD_PASSWORD','ORD','PASSWORD','PERIOD_ADD','PERIOD_DIFF','PI','POSITION','POW','POWER','PROCEDURE ANALYSE','QUARTER','QUOTE','RADIANS','RAND','RELEASE_LOCK','REPEAT','REPLACE','REVERSE','RIGHT','ROUND',
4599-'RPAD','RTRIM','SEC_TO_TIME','SECOND','SESSION_USER','SHA1','SHA','SIGN','SIN','SOUNDEX','SOUNDS LIKE','SPACE','SQRT','STD','STDDEV','STR_TO_DATE','STRCMP','SUBDATE','SUBSTRING_INDEX','SUBSTRING','SUBSTR','SUBTIME','SUM','SYSDATE','SYSTEM_USER','TAN','TIME_FORMAT','TIME_TO_SEC','TIME','TIMEDIFF',
4600-'TIMESTAMP','TO_DAYS','TRIM','TRUNCATE','UCASE','UNCOMPRESS','UNCOMPRESSED_LENGTH','UNHEX','UNIX_TIMESTAMP','UPPER','USER','UTC_DATE','UTC_TIME','UTC_TIMESTAMP','UUID','VALUES','VARIANCE','WEEK','WEEKDAY','WEEKOFYEAR','YEAR','YEARWEEK'
4601- ]
4602- }
4603- ,'OPERATORS' :[
4604- 'AND','&&','BETWEEN','BINARY','&','|','^','/','DIV','<=>','=','>=','>','<<','>>','IS','NULL','<=','<','-','%','!=','<>','!','||','OR','+','REGEXP','RLIKE','XOR','~','*'
4605- ]
4606- ,'DELIMITERS' :[
4607- '(', ')', '[', ']', '{', '}'
4608- ]
4609- ,'REGEXPS' : {
4610- // highlight all variables (@...)
4611- 'variables' : {
4612- 'search' : '()(\\@\\w+)()'
4613- ,'class' : 'variables'
4614- ,'modifiers' : 'g'
4615- ,'execute' : 'before' // before or after
4616- }
4617- }
4618- ,'STYLES' : {
4619- 'COMMENTS': 'color: #AAAAAA;'
4620- ,'QUOTESMARKS': 'color: #879EFA;'
4621- ,'KEYWORDS' : {
4622- 'reserved' : 'color: #48BDDF;'
4623- ,'functions' : 'color: #0040FD;'
4624- ,'statements' : 'color: #60CA00;'
4625- }
4626- ,'OPERATORS' : 'color: #FF00FF;'
4627- ,'DELIMITERS' : 'color: #2B60FF;'
4628- ,'REGEXPS' : {
4629- 'variables' : 'color: #E0BD54;'
4630- }
4631- }
4632-};
4633
4634=== removed file 'js/components/EditArea/reg_syntax/tsql.js'
4635--- js/components/EditArea/reg_syntax/tsql.js 2010-02-11 11:48:21 +0000
4636+++ js/components/EditArea/reg_syntax/tsql.js 1970-01-01 00:00:00 +0000
4637@@ -1,88 +0,0 @@
4638-editAreaLoader.load_syntax["tsql"] = {
4639- 'DISPLAY_NAME' : 'T-SQL'
4640- ,'COMMENT_SINGLE' : {1 : '--'}
4641- ,'COMMENT_MULTI' : {'/*' : '*/'}
4642- ,'QUOTEMARKS' : {1: "'" }
4643- ,'KEYWORD_CASE_SENSITIVE' : false
4644- ,'KEYWORDS' : {
4645- 'statements': [
4646- 'ADD', 'EXCEPT', 'PERCENT', 'EXEC', 'PLAN', 'ALTER', 'EXECUTE', 'PRECISION',
4647- 'PRIMARY', 'EXIT', 'PRINT', 'AS', 'FETCH', 'PROC', 'ASC',
4648- 'FILE', 'PROCEDURE', 'AUTHORIZATION', 'FILLFACTOR', 'PUBLIC', 'BACKUP', 'FOR', 'RAISERROR',
4649- 'BEGIN', 'FOREIGN', 'READ', 'FREETEXT', 'READTEXT', 'BREAK', 'FREETEXTTABLE',
4650- 'RECONFIGURE', 'BROWSE', 'FROM', 'REFERENCES', 'BULK', 'FULL', 'REPLICATION', 'BY',
4651- 'FUNCTION', 'RESTORE', 'CASCADE', 'GOTO', 'RESTRICT', 'CASE', 'GRANT', 'RETURN',
4652- 'CHECK', 'GROUP', 'REVOKE', 'CHECKPOINT', 'HAVING', 'RIGHT', 'CLOSE', 'HOLDLOCK', 'ROLLBACK',
4653- 'CLUSTERED', 'IDENTITY', 'ROWCOUNT', 'IDENTITY_INSERT', 'ROWGUIDCOL', 'COLLATE',
4654- 'IDENTITYCOL', 'RULE', 'COLUMN', 'IF', 'SAVE', 'COMMIT', 'SCHEMA', 'COMPUTE', 'INDEX',
4655- 'SELECT', 'CONSTRAINT', 'CONTAINS', 'INSERT', 'SET',
4656- 'CONTAINSTABLE', 'INTERSECT', 'SETUSER', 'CONTINUE', 'INTO', 'SHUTDOWN', 'SOME',
4657- 'CREATE', 'STATISTICS', 'KEY', 'CURRENT', 'KILL', 'TABLE',
4658- 'CURRENT_DATE', 'TEXTSIZE', 'CURRENT_TIME', 'THEN', 'LINENO',
4659- 'TO', 'LOAD', 'TOP', 'CURSOR', 'NATIONAL', 'TRAN', 'DATABASE', 'NOCHECK',
4660- 'TRANSACTION', 'DBCC', 'NONCLUSTERED', 'TRIGGER', 'DEALLOCATE', 'TRUNCATE',
4661- 'DECLARE', 'TSEQUAL', 'DEFAULT', 'UNION', 'DELETE', 'OF', 'UNIQUE',
4662- 'DENY', 'OFF', 'UPDATE', 'DESC', 'OFFSETS', 'UPDATETEXT', 'DISK', 'ON', 'USE', 'DISTINCT', 'OPEN',
4663- 'DISTRIBUTED', 'OPENDATASOURCE', 'VALUES', 'DOUBLE', 'OPENQUERY', 'VARYING', 'DROP',
4664- 'OPENROWSET', 'VIEW', 'DUMMY', 'OPENXML', 'WAITFOR', 'DUMP', 'OPTION', 'WHEN', 'ELSE', 'WHERE',
4665- 'END', 'ORDER', 'WHILE', 'ERRLVL', 'WITH', 'ESCAPE', 'OVER', 'WRITETEXT'
4666- ],
4667- 'functions': [
4668- 'COALESCE', 'SESSION_USER', 'CONVERT', 'SYSTEM_USER', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'NULLIF', 'USER',
4669- 'AVG', 'MIN', 'CHECKSUM', 'SUM', 'CHECKSUM_AGG', 'STDEV', 'COUNT', 'STDEVP', 'COUNT_BIG', 'VAR', 'GROUPING', 'VARP', 'MAX',
4670- '@@DATEFIRST', '@@OPTIONS', '@@DBTS', '@@REMSERVER', '@@LANGID', '@@SERVERNAME', '@@LANGUAGE', '@@SERVICENAME', '@@LOCK_TIMEOUT',
4671- '@@SPID', '@@MAX_CONNECTIONS', '@@TEXTSIZE', '@@MAX_PRECISION', '@@VERSION', '@@NESTLEVEL',
4672- '@@CURSOR_ROWS', 'CURSOR_STATUS', '@@FETCH_STATUS',
4673- 'DATEADD', 'DATEDIFF', 'DATENAME', 'DATEPART', 'DAY', 'GETDATE', 'GETUTCDATE', 'MONTH', 'YEAR',
4674- 'ABS', 'DEGREES', 'RAND', 'ACOS', 'EXP', 'ROUND', 'ASIN', 'FLOOR', 'SIGN', 'ATAN', 'LOG', 'SIN', 'ATN2', 'LOG10', 'SQRT',
4675- 'CEILING', 'PI ', 'SQUARE', 'COS', 'POWER', 'TAN', 'COT', 'RADIANS',
4676- '@@PROCID', 'COL_LENGTH', 'FULLTEXTCATALOGPROPERTY', 'COL_NAME', 'FULLTEXTSERVICEPROPERTY', 'COLUMNPROPERTY', 'INDEX_COL',
4677- 'DATABASEPROPERTY', 'INDEXKEY_PROPERTY', 'DATABASEPROPERTYEX', 'INDEXPROPERTY', 'DB_ID', 'OBJECT_ID', 'DB_NAME', 'OBJECT_NAME',
4678- 'FILE_ID', 'OBJECTPROPERTY', 'OBJECTPROPERTYEX', 'FILE_NAME', 'SQL_VARIANT_PROPERTY', 'FILEGROUP_ID', 'FILEGROUP_NAME',
4679- 'FILEGROUPPROPERTY', 'TYPEPROPERTY', 'FILEPROPERTY',
4680- 'CURRENT_USER', 'SUSER_ID', 'SUSER_SID', 'IS_MEMBER', 'SUSER_SNAME', 'IS_SRVROLEMEMBER', 'PERMISSIONS', 'SYSTEM_USER',
4681- 'SUSER_NAME', 'USER_ID', 'SESSION_USER', 'USER_NAME', 'ASCII', 'SOUNDEX', 'PATINDEX', 'SPACE', 'CHARINDEX', 'QUOTENAME',
4682- 'STR', 'DIFFERENCE', 'REPLACE', 'STUFF', 'REPLICATE', 'SUBSTRING', 'LEN', 'REVERSE', 'UNICODE', 'LOWER',
4683- 'UPPER', 'LTRIM', 'RTRIM', 'APP_NAME', 'CAST', 'CONVERT', 'COALESCE', 'COLLATIONPROPERTY', 'COLUMNS_UPDATED', 'CURRENT_TIMESTAMP',
4684- 'CURRENT_USER', 'DATALENGTH', '@@ERROR', 'FORMATMESSAGE', 'GETANSINULL', 'HOST_ID', 'HOST_NAME', 'IDENT_CURRENT', 'IDENT_INCR',
4685- 'IDENT_SEED', '@@IDENTITY', 'ISDATE', 'ISNULL', 'ISNUMERIC', 'NEWID', 'NULLIF', 'PARSENAME', '@@ROWCOUNT',
4686- 'SCOPE_IDENTITY', 'SERVERPROPERTY', 'SESSIONPROPERTY', 'SESSION_USER', 'STATS_DATE', 'SYSTEM_USER', '@@TRANCOUNT', 'USER_NAME',
4687- '@@CONNECTIONS', '@@PACK_RECEIVED', '@@CPU_BUSY', '@@PACK_SENT', '@@TIMETICKS', '@@IDLE', '@@TOTAL_ERRORS', '@@IO_BUSY', '@@TOTAL_READ',
4688- '@@PACKET_ERRORS', '@@TOTAL_WRITE', 'PATINDEX', 'TEXTVALID', 'TEXTPTR'
4689- ],
4690- 'reserved': [
4691- 'RIGHT', 'INNER', 'IS', 'JOIN', 'CROSS', 'LEFT', 'NULL', 'OUTER'
4692- ]
4693- }
4694- ,'OPERATORS' :[
4695- '+', '-', '*', '/', '%', '=', '&' ,'|', '^', '>', '<', '>=', '<=', '<>', '!=', '!<', '!>', 'ALL', 'AND', 'ANY', 'BETWEEN', 'EXISTS', 'IN', 'LIKE', 'NOT', 'OR', '~'
4696- ]
4697- ,'DELIMITERS' :[
4698- '(', ')', '[', ']', '{', '}'
4699- ]
4700- ,'REGEXPS' : {
4701- // highlight all variables (@...)
4702- 'variables' : {
4703- 'search' : '()(\\@\\w+)()'
4704- ,'class' : 'variables'
4705- ,'modifiers' : 'g'
4706- ,'execute' : 'before' // before or after
4707- }
4708- }
4709- ,'STYLES' : {
4710- 'COMMENTS': 'color: #008000;'
4711- ,'QUOTESMARKS': 'color: #FF0000;'
4712- ,'KEYWORDS' : {
4713- 'reserved' : 'color: #808080;'
4714- ,'functions' : 'color: #FF00FF;'
4715- ,'statements' : 'color: #0000FF;'
4716- }
4717- ,'OPERATORS' : 'color: #808080;'
4718- ,'DELIMITERS' : 'color: #FF8000;'
4719- ,'REGEXPS' : {
4720- 'variables' : 'color: #E0BD54;'
4721- }
4722- }
4723-};
4724-
4725-
4726
4727=== removed file 'js/components/EditArea/reg_syntax/vb.js'
4728--- js/components/EditArea/reg_syntax/vb.js 2010-02-11 11:48:21 +0000
4729+++ js/components/EditArea/reg_syntax/vb.js 1970-01-01 00:00:00 +0000
4730@@ -1,53 +0,0 @@
4731-editAreaLoader.load_syntax["vb"] = {
4732- 'DISPLAY_NAME' : 'Visual Basic'
4733- ,'COMMENT_SINGLE' : {1 : "'"}
4734- ,'COMMENT_MULTI' : { }
4735- ,'QUOTEMARKS' : {1: '"'}
4736- ,'KEYWORD_CASE_SENSITIVE' : false
4737- ,'KEYWORDS' : {
4738- 'statements' : [
4739- 'if','then','for','each','while','do','loop',
4740- 'else','elseif','select','case','end select',
4741- 'until','next','step','to','in','end if'
4742- ]
4743- ,'keywords' : [
4744- 'empty','isempty','nothing','null','isnull','true','false',
4745- 'set','call',
4746- 'sub','end sub','function','end function','exit','exit function',
4747- 'dim','Mod','In','private','public','shared','const'
4748- ]
4749-
4750- ,'functions' : [
4751- 'CDate','Date','DateAdd','DateDiff','DatePart','DateSerial','DateValue','Day','FormatDateTime',
4752- 'Hour','IsDate','Minute','Month',
4753- 'MonthName','Now','Second','Time','Timer','TimeSerial','TimeValue','Weekday','WeekdayName ','Year',
4754- 'Asc','CBool','CByte','CCur','CDate','CDbl','Chr','CInt','CLng','CSng','CStr','Hex','Oct','FormatCurrency',
4755- 'FormatDateTime','FormatNumber','FormatPercent','Abs','Atn','Cos','Exp','Hex','Int','Fix','Log','Oct',
4756- 'Rnd','Sgn','Sin','Sqr','Tan',
4757- 'Array','Filter','IsArray','Join','LBound','Split','UBound',
4758- 'InStr','InStrRev','LCase','Left','Len','LTrim','RTrim','Trim','Mid','Replace','Right','Space','StrComp',
4759- 'String','StrReverse','UCase',
4760- 'CreateObject','Eval','GetLocale','GetObject','GetRef','InputBox','IsEmpty','IsNull','IsNumeric',
4761- 'IsObject','LoadPicture','MsgBox','RGB','Round','ScriptEngine','ScriptEngineBuildVersion','ScriptEngineMajorVersion',
4762- 'ScriptEngineMinorVersion','SetLocale','TypeName','VarType'
4763- ]
4764- }
4765- ,'OPERATORS' :[
4766- '+', '-', '/', '*', '=', '<', '>', '!', '&'
4767- ]
4768- ,'DELIMITERS' :[
4769- '(', ')', '[', ']', '{', '}'
4770- ]
4771- ,'STYLES' : {
4772- 'COMMENTS': 'color: #99CC00;'
4773- ,'QUOTESMARKS': 'color: #333399;'
4774- ,'KEYWORDS' : {
4775- 'keywords' : 'color: #3366FF;'
4776- ,'functions' : 'color: #0000FF;'
4777- ,'statements' : 'color: #3366FF;'
4778- }
4779- ,'OPERATORS' : 'color: #FF0000;'
4780- ,'DELIMITERS' : 'color: #0000FF;'
4781-
4782- }
4783-};
4784
4785=== removed file 'js/components/EditArea/reg_syntax/xml.js'
4786--- js/components/EditArea/reg_syntax/xml.js 2010-02-11 11:48:21 +0000
4787+++ js/components/EditArea/reg_syntax/xml.js 1970-01-01 00:00:00 +0000
4788@@ -1,57 +0,0 @@
4789-/*
4790-* last update: 2006-08-24
4791-*/
4792-
4793-editAreaLoader.load_syntax["xml"] = {
4794- 'DISPLAY_NAME' : 'XML'
4795- ,'COMMENT_SINGLE' : {}
4796- ,'COMMENT_MULTI' : {'<!--' : '-->'}
4797- ,'QUOTEMARKS' : {1: "'", 2: '"'}
4798- ,'KEYWORD_CASE_SENSITIVE' : false
4799- ,'KEYWORDS' : {
4800- }
4801- ,'OPERATORS' :[
4802- ]
4803- ,'DELIMITERS' :[
4804- ]
4805- ,'REGEXPS' : {
4806- 'xml' : {
4807- 'search' : '()(<\\?[^>]*?\\?>)()'
4808- ,'class' : 'xml'
4809- ,'modifiers' : 'g'
4810- ,'execute' : 'before' // before or after
4811- }
4812- ,'cdatas' : {
4813- 'search' : '()(<!\\[CDATA\\[.*?\\]\\]>)()'
4814- ,'class' : 'cdata'
4815- ,'modifiers' : 'g'
4816- ,'execute' : 'before' // before or after
4817- }
4818- ,'tags' : {
4819- 'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
4820- ,'class' : 'tags'
4821- ,'modifiers' : 'gi'
4822- ,'execute' : 'before' // before or after
4823- }
4824- ,'attributes' : {
4825- 'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
4826- ,'class' : 'attributes'
4827- ,'modifiers' : 'g'
4828- ,'execute' : 'before' // before or after
4829- }
4830- }
4831- ,'STYLES' : {
4832- 'COMMENTS': 'color: #AAAAAA;'
4833- ,'QUOTESMARKS': 'color: #6381F8;'
4834- ,'KEYWORDS' : {
4835- }
4836- ,'OPERATORS' : 'color: #E775F0;'
4837- ,'DELIMITERS' : ''
4838- ,'REGEXPS' : {
4839- 'attributes': 'color: #B1AC41;'
4840- ,'tags': 'color: #E62253;'
4841- ,'xml': 'color: #8DCFB5;'
4842- ,'cdata': 'color: #50B020;'
4843- }
4844- }
4845-};
4846
4847=== modified file 'js/views/global/browse.js'
4848--- js/views/global/browse.js 2011-09-01 10:49:43 +0000
4849+++ js/views/global/browse.js 2012-04-04 16:15:27 +0000
4850@@ -112,9 +112,16 @@
4851 $('#queryForm').ajaxForm({
4852 success: function(responseText)
4853 {
4854- AjaxResponse.handle(responseText);
4855- $('div.ui-layout-center').html(responseText);
4856- init();
4857+ if (!AjaxResponse.handle(responseText)) {
4858+ var content = document.getElementById('content');
4859+ response = '<div style="display: none">Thank\'s to InternetExplorer 8 which requires this dirty hack ...</div>' + responseText;
4860+ content.innerHTML = responseText;
4861+ var scripts = content.getElementsByTagName('script');
4862+ for (var i = 0; i < scripts.length; i++) {
4863+ $.globalEval(scripts[i].innerHTML);
4864+ }
4865+ init();
4866+ }
4867 }
4868 });
4869
4870
4871=== added file 'protected/components/AceEditor.php'
4872--- protected/components/AceEditor.php 1970-01-01 00:00:00 +0000
4873+++ protected/components/AceEditor.php 2012-04-04 16:15:27 +0000
4874@@ -0,0 +1,32 @@
4875+<?php
4876+
4877+class AceEditor extends CInputWidget
4878+{
4879+ public function init()
4880+ {
4881+ parent::init();
4882+ list($name, $id) = $this->resolveNameID();
4883+
4884+ $js = 'window.setTimeout(function() { chive.initAce("' . $id . '"); }, 1000);';
4885+ Yii::app()->clientScript->registerScript('Yii.AceEditor.' . $this->id, $js, CClientScript::POS_END);
4886+ }
4887+
4888+ public function run()
4889+ {
4890+ list($name, $id) = $this->resolveNameID();
4891+
4892+ echo CHtml::tag("div", array(
4893+ 'id' => $id . '_container',
4894+ 'class' => 'editor',
4895+ ));
4896+ echo CHtml::tag("div", array(
4897+ 'id' => $id . '_editor',
4898+ ));
4899+ echo CHtml::closeTag("div");
4900+ echo CHtml::textArea($name, $this->value, array(
4901+ 'id' => $id,
4902+ 'class' => 'editorTextarea',
4903+ ));
4904+ echo CHtml::closeTag('div');
4905+ }
4906+}
4907\ No newline at end of file
4908
4909=== removed file 'protected/components/EditArea.php'
4910--- protected/components/EditArea.php 2010-02-11 11:48:21 +0000
4911+++ protected/components/EditArea.php 1970-01-01 00:00:00 +0000
4912@@ -1,76 +0,0 @@
4913-<?php
4914-
4915-class EditArea extends CInputWidget
4916-{
4917-
4918- private $_editAreaPath;
4919- public $id;
4920- public $syntax = "sql"; // language that should be highlighted
4921- public $width = ""; //width of the editor
4922- public $height = "200px"; // height of the editor
4923- public $autogrow = false; // allow autogrow
4924- public $toolbar = " undo, redo"; //comma seperated string for the config of the toolbar
4925- public $wordWrap = "true"; // allow word wrap at the end of line
4926- public $allowResize = "false"; // allows to resize the editor
4927- public $minHeight = "100px"; // min-height of the editor
4928- public $minWidth = "200px"; // min-width of the editor
4929- public $maxHeight = "300px"; //max-height of the editor
4930-
4931- public function init()
4932- {
4933- list($name, $this->id) = $this->resolveNameID();
4934-
4935- $autogrow = ($this->autogrow ? 'setupEditAreaAutoGrow' : 'setoverflow');
4936-
4937- $display = (Yii::app()->user->settings->get('sqlEditorOn') == '1' ? 'onload' :'later');
4938-
4939- $cs = Yii::app()->getClientScript();
4940-
4941- $jsInit = '$("#' . $this->id . '").closest("form").submit(function() {
4942- var content = editAreaLoader.getValue("'.$this->id.'");
4943- $("#' . $this->id . '").val(content);
4944- });';
4945-
4946- $jsInit2 = '
4947- editAreaLoader.init({
4948- id : "'.$this->id.'" // textarea id
4949- ,syntax: "'.$this->syntax.'" // syntax to be uses for highlighting
4950- ,start_highlight: true // to display with highlight mode on start-up
4951- ,show_line_colors: true
4952- ,toolbar: " '.$this->toolbar.'"
4953- ,word_wrap: "'.$this->wordWrap.'"
4954- ,allow_toggle: false
4955- ,EA_load_callback: "'.$autogrow.'"
4956-
4957- ,allow_resize: "'.$this->allowResize.'"
4958-
4959- ,display: "'.$display.'"
4960- });';
4961-
4962- $cs->registerScript('Yii.EditArea.' . $this->id, $jsInit, CClientScript::POS_BEGIN);
4963- $cs->registerScript('Yii.EditArea.' . $this->id.'_2', $jsInit2, CClientScript::POS_END);
4964-
4965- parent::init();
4966- }
4967-
4968-
4969-
4970-
4971- /**
4972- * Executes the widget.
4973- * This method registers all needed client scripts and renders
4974- * the text field.
4975- */
4976- public function run()
4977- {
4978-
4979-
4980- list($name, $asdf) = $this->resolveNameID();
4981- $this->htmlOptions['id'] = $this->id;
4982- $this->htmlOptions['style'] = ($this->width ? "width: " . $this->width . ";" : "") . "min-width:" . $this->minWidth . "; height: " . $this->height . "; min-height:". $this->minHeight."; max-height:".$this->maxHeight.";";
4983-
4984- echo CHtml::textArea($name, $this->value, $this->htmlOptions);
4985-
4986- }
4987-
4988-}
4989\ No newline at end of file
4990
4991=== removed file 'protected/components/SqlEditor.php'
4992--- protected/components/SqlEditor.php 2010-02-15 15:51:55 +0000
4993+++ protected/components/SqlEditor.php 1970-01-01 00:00:00 +0000
4994@@ -1,55 +0,0 @@
4995-<?php
4996-
4997-/*
4998- * Chive - web based MySQL database management
4999- * Copyright (C) 2010 Fusonic GmbH
5000- *
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to status/vote changes: