smalruby-editor 0.1.23 → 0.1.24

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of smalruby-editor might be problematic. Click here for more details.

Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +0 -1
  3. data/.rubocop.yml +4 -0
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +1 -1
  6. data/Guardfile +45 -0
  7. data/app/assets/javascripts/application.js +0 -1
  8. data/app/assets/javascripts/msg/ja.js +1 -1
  9. data/app/assets/stylesheets/toolbox.css.scss.erb +1 -16
  10. data/app/controllers/source_codes_controller.rb +12 -7
  11. data/app/models/source_code.rb +34 -1
  12. data/app/views/editor/_toolbox.html.haml +155 -143
  13. data/app/views/editor/index.html.haml +4 -4
  14. data/app/views/layouts/application.html.erb +2 -2
  15. data/bin/bundle +1 -1
  16. data/bin/rails +5 -1
  17. data/bin/rake +5 -1
  18. data/bin/rspec +7 -0
  19. data/bin/spring +20 -0
  20. data/bin/teaspoon +7 -0
  21. data/lib/smalruby_editor/version.rb +3 -3
  22. data/public/assets/{application-92fb2e7b8dd198fbfae7f8451c891ba2.css → application-d5358d75a2c4e570c749b333c59b55ab.css} +1 -1
  23. data/public/assets/application-d5358d75a2c4e570c749b333c59b55ab.css.gz +0 -0
  24. data/public/assets/{application-e3cd434424f565fcebf7d7d13353536f.js → application-fda71a642d958ffbaf90185c471d6e51.js} +5 -5
  25. data/public/assets/application-fda71a642d958ffbaf90185c471d6e51.js.gz +0 -0
  26. data/public/assets/{manifest-6094ee90554fe1d9bb1a229d8daa16d7.json → manifest-1a9856df207640ec658271db34b30dbb.json} +1 -1
  27. data/public/assets/msg/{ja-8f29832e96564fb7a0c2280c4d4390b8.js → ja-4d22bd0341f464f9d1b9f373121bce6d.js} +1 -1
  28. data/public/assets/msg/ja-4d22bd0341f464f9d1b9f373121bce6d.js.gz +0 -0
  29. data/smalruby-editor.gemspec +0 -1
  30. data/spec/models/source_code_spec.rb +88 -1
  31. data/spec/spec_helper.rb +114 -137
  32. metadata +13 -23
  33. data/public/assets/application-92fb2e7b8dd198fbfae7f8451c891ba2.css.gz +0 -0
  34. data/public/assets/application-e3cd434424f565fcebf7d7d13353536f.js.gz +0 -0
  35. data/public/assets/msg/ja-8f29832e96564fb7a0c2280c4d4390b8.js.gz +0 -0
@@ -2,11 +2,11 @@
2
2
  }}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]=Z.extend(Z.valHooks[this],{set:function(e,t){return Z.isArray(t)?e.checked=Z.inArray(Z(e).val(),t)>=0:void 0}})});var St=/^(?:textarea|input|select)$/i,Rt=/^([^\.]*|)(?:\.(.+)|)$/,wt=/(?:^|\s)hover(\.\S+|)\b/,Dt=/^key/,It=/^(?:mouse|contextmenu)|click/,Ft=/^(?:focusinfocus|focusoutblur)$/,Lt=function(e){return Z.event.special.hover?e:e.replace(wt,"mouseenter$1 mouseleave$1")};Z.event={add:function(e,o,n,i,r){var s,l,a,c,u,g,h,d,p,f,m;if(3!==e.nodeType&&8!==e.nodeType&&o&&n&&(s=Z._data(e))){for(n.handler&&(p=n,n=p.handler,r=p.selector),n.guid||(n.guid=Z.guid++),a=s.events,a||(s.events=a={}),l=s.handle,l||(s.handle=l=function(e){return"undefined"==typeof Z||e&&Z.event.triggered===e.type?t:Z.event.dispatch.apply(l.elem,arguments)},l.elem=e),o=Z.trim(Lt(o)).split(" "),c=0;c<o.length;c++)u=Rt.exec(o[c])||[],g=u[1],h=(u[2]||"").split(".").sort(),m=Z.event.special[g]||{},g=(r?m.delegateType:m.bindType)||g,m=Z.event.special[g]||{},d=Z.extend({type:g,origType:u[1],data:i,handler:n,guid:n.guid,selector:r,namespace:h.join(".")},p),f=a[g],f||(f=a[g]=[],f.delegateCount=0,m.setup&&m.setup.call(e,i,h,l)!==!1||(e.addEventListener?e.addEventListener(g,l,!1):e.attachEvent&&e.attachEvent("on"+g,l))),m.add&&(m.add.call(e,d),d.handler.guid||(d.handler.guid=n.guid)),r?f.splice(f.delegateCount++,0,d):f.push(d),Z.event.global[g]=!0;e=null}},global:{},remove:function(e,t,o,n,i){var r,s,l,a,c,u,g,h,d,p,f,m=Z.hasData(e)&&Z._data(e);if(m&&(h=m.events)){for(t=Z.trim(Lt(t||"")).split(" "),r=0;r<t.length;r++)if(s=Rt.exec(t[r])||[],l=a=s[1],c=s[2],l){for(d=Z.event.special[l]||{},l=(n?d.delegateType:d.bindType)||l,p=h[l]||[],u=p.length,c=c?new RegExp("(^|\\.)"+c.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null,g=0;g<p.length;g++)f=p[g],!(!i&&a!==f.origType||o&&o.guid!==f.guid||c&&!c.test(f.namespace)||n&&n!==f.selector&&("**"!==n||!f.selector)||(p.splice(g--,1),f.selector&&p.delegateCount--,!d.remove||!d.remove.call(e,f)));0===p.length&&u!==p.length&&((!d.teardown||d.teardown.call(e,c,m.handle)===!1)&&Z.removeEvent(e,l,m.handle),delete h[l])}else for(l in h)Z.event.remove(e,l+t[r],o,n,!0);Z.isEmptyObject(h)&&(delete m.handle,Z.removeData(e,"events",!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(o,n,i,r){if(!i||3!==i.nodeType&&8!==i.nodeType){var s,l,a,c,u,g,h,d,p,f,m=o.type||o,y=[];if(Ft.test(m+Z.event.triggered))return;if(m.indexOf("!")>=0&&(m=m.slice(0,-1),l=!0),m.indexOf(".")>=0&&(y=m.split("."),m=y.shift(),y.sort()),(!i||Z.event.customEvent[m])&&!Z.event.global[m])return;if(o="object"==typeof o?o[Z.expando]?o:new Z.Event(m,o):new Z.Event(m),o.type=m,o.isTrigger=!0,o.exclusive=l,o.namespace=y.join("."),o.namespace_re=o.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,g=m.indexOf(":")<0?"on"+m:"",!i){s=Z.cache;for(a in s)s[a].events&&s[a].events[m]&&Z.event.trigger(o,n,s[a].handle.elem,!0);return}if(o.result=t,o.target||(o.target=i),n=null!=n?Z.makeArray(n):[],n.unshift(o),h=Z.event.special[m]||{},h.trigger&&h.trigger.apply(i,n)===!1)return;if(p=[[i,h.bindType||m]],!r&&!h.noBubble&&!Z.isWindow(i)){for(f=h.delegateType||m,c=Ft.test(f+m)?i:i.parentNode,u=i;c;c=c.parentNode)p.push([c,f]),u=c;u===(i.ownerDocument||$)&&p.push([u.defaultView||u.parentWindow||e,f])}for(a=0;a<p.length&&!o.isPropagationStopped();a++)c=p[a][0],o.type=p[a][1],d=(Z._data(c,"events")||{})[o.type]&&Z._data(c,"handle"),d&&d.apply(c,n),d=g&&c[g],d&&Z.acceptData(c)&&d.apply(c,n)===!1&&o.preventDefault();return o.type=m,!(r||o.isDefaultPrevented()||h._default&&h._default.apply(i.ownerDocument,n)!==!1||"click"===m&&Z.nodeName(i,"a")||!Z.acceptData(i)||!g||!i[m]||("focus"===m||"blur"===m)&&0===o.target.offsetWidth||Z.isWindow(i)||(u=i[g],u&&(i[g]=null),Z.event.triggered=m,i[m](),Z.event.triggered=t,!u||!(i[g]=u))),o.result}},dispatch:function(o){o=Z.event.fix(o||e.event);var n,i,r,s,l,a,c,u,g,h=(Z._data(this,"events")||{})[o.type]||[],d=h.delegateCount,p=[].slice.call(arguments),f=!o.exclusive&&!o.namespace,m=Z.event.special[o.type]||{},y=[];if(p[0]=o,o.delegateTarget=this,!m.preDispatch||m.preDispatch.call(this,o)!==!1){if(d&&(!o.button||"click"!==o.type))for(r=o.target;r!=this;r=r.parentNode||this)if(r.disabled!==!0||"click"!==o.type){for(l={},c=[],n=0;d>n;n++)u=h[n],g=u.selector,l[g]===t&&(l[g]=Z(g,this).index(r)>=0),l[g]&&c.push(u);c.length&&y.push({elem:r,matches:c})}for(h.length>d&&y.push({elem:this,matches:h.slice(d)}),n=0;n<y.length&&!o.isPropagationStopped();n++)for(a=y[n],o.currentTarget=a.elem,i=0;i<a.matches.length&&!o.isImmediatePropagationStopped();i++)u=a.matches[i],(f||!o.namespace&&!u.namespace||o.namespace_re&&o.namespace_re.test(u.namespace))&&(o.data=u.data,o.handleObj=u,s=((Z.event.special[u.origType]||{}).handle||u.handler).apply(a.elem,p),s!==t&&(o.result=s,s===!1&&(o.preventDefault(),o.stopPropagation())));return m.postDispatch&&m.postDispatch.call(this,o),o.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,o){var n,i,r,s=o.button,l=o.fromElement;return null==e.pageX&&null!=o.clientX&&(n=e.target.ownerDocument||$,i=n.documentElement,r=n.body,e.pageX=o.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),e.pageY=o.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?o.toElement:l),!e.which&&s!==t&&(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[Z.expando])return e;var t,o,n=e,i=Z.event.fixHooks[e.type]||{},r=i.props?this.props.concat(i.props):this.props;for(e=Z.Event(n),t=r.length;t;)o=r[--t],e[o]=n[o];return e.target||(e.target=n.srcElement||$),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,i.filter?i.filter(e,n):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,o){Z.isWindow(this)&&(this.onbeforeunload=o)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,o,n){var i=Z.extend(new Z.Event,o,{type:e,isSimulated:!0,originalEvent:{}});n?Z.event.trigger(i,null,t):Z.event.dispatch.call(t,i),i.isDefaultPrevented()&&o.preventDefault()}},Z.event.handle=Z.event.dispatch,Z.removeEvent=$.removeEventListener?function(e,t,o){e.removeEventListener&&e.removeEventListener(t,o,!1)}:function(e,t,o){var n="on"+t;e.detachEvent&&("undefined"==typeof e[n]&&(e[n]=null),e.detachEvent(n,o))},Z.Event=function(e,t){return this instanceof Z.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?s:r):this.type=e,t&&Z.extend(this,t),this.timeStamp=e&&e.timeStamp||Z.now(),this[Z.expando]=!0,void 0):new Z.Event(e,t)},Z.Event.prototype={preventDefault:function(){this.isDefaultPrevented=s;var e=this.originalEvent;e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=s;var e=this.originalEvent;e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=s,this.stopPropagation()},isDefaultPrevented:r,isPropagationStopped:r,isImmediatePropagationStopped:r},Z.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){Z.event.special[e]={delegateType:t,bindType:t,handle:function(e){{var o,n=this,i=e.relatedTarget,r=e.handleObj;r.selector}return(!i||i!==n&&!Z.contains(n,i))&&(e.type=r.origType,o=r.handler.apply(this,arguments),e.type=t),o}}}),Z.support.submitBubbles||(Z.event.special.submit={setup:function(){return Z.nodeName(this,"form")?!1:(Z.event.add(this,"click._submit keypress._submit",function(e){var o=e.target,n=Z.nodeName(o,"input")||Z.nodeName(o,"button")?o.form:t;n&&!Z._data(n,"_submit_attached")&&(Z.event.add(n,"submit._submit",function(e){e._submit_bubble=!0}),Z._data(n,"_submit_attached",!0))}),void 0)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&Z.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return Z.nodeName(this,"form")?!1:(Z.event.remove(this,"._submit"),void 0)}}),Z.support.changeBubbles||(Z.event.special.change={setup:function(){return St.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(Z.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),Z.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),Z.event.simulate("change",this,e,!0)})),!1):(Z.event.add(this,"beforeactivate._change",function(e){var t=e.target;St.test(t.nodeName)&&!Z._data(t,"_change_attached")&&(Z.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&Z.event.simulate("change",this.parentNode,e,!0)}),Z._data(t,"_change_attached",!0))}),void 0)},handle:function(e){var t=e.target;return this!==t||e.isSimulated||e.isTrigger||"radio"!==t.type&&"checkbox"!==t.type?e.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return Z.event.remove(this,"._change"),!St.test(this.nodeName)}}),Z.support.focusinBubbles||Z.each({focus:"focusin",blur:"focusout"},function(e,t){var o=0,n=function(e){Z.event.simulate(t,e.target,Z.event.fix(e),!0)};Z.event.special[t]={setup:function(){0===o++&&$.addEventListener(e,n,!0)},teardown:function(){0===--o&&$.removeEventListener(e,n,!0)}}}),Z.fn.extend({on:function(e,o,n,i,s){var l,a;if("object"==typeof e){"string"!=typeof o&&(n=n||o,o=t);for(a in e)this.on(a,o,n,e[a],s);return this}if(null==n&&null==i?(i=o,n=o=t):null==i&&("string"==typeof o?(i=n,n=t):(i=n,n=o,o=t)),i===!1)i=r;else if(!i)return this;return 1===s&&(l=i,i=function(e){return Z().off(e),l.apply(this,arguments)},i.guid=l.guid||(l.guid=Z.guid++)),this.each(function(){Z.event.add(this,e,i,n,o)})},one:function(e,t,o,n){return this.on(e,t,o,n,1)},off:function(e,o,n){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,Z(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(s in e)this.off(s,o,e[s]);return this}return(o===!1||"function"==typeof o)&&(n=o,o=t),n===!1&&(n=r),this.each(function(){Z.event.remove(this,e,n,o)})},bind:function(e,t,o){return this.on(e,null,t,o)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,o){return Z(this.context).on(e,this.selector,t,o),this},die:function(e,t){return Z(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,o,n){return this.on(t,e,o,n)},undelegate:function(e,t,o){return 1==arguments.length?this.off(e,"**"):this.off(t,e||"**",o)},trigger:function(e,t){return this.each(function(){Z.event.trigger(e,t,this)})},triggerHandler:function(e,t){return this[0]?Z.event.trigger(e,t,this[0],!0):void 0},toggle:function(e){var t=arguments,o=e.guid||Z.guid++,n=0,i=function(o){var i=(Z._data(this,"lastToggle"+e.guid)||0)%n;return Z._data(this,"lastToggle"+e.guid,i+1),o.preventDefault(),t[i].apply(this,arguments)||!1};for(i.guid=o;n<t.length;)t[n++].guid=o;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),Z.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){Z.fn[t]=function(e,o){return null==o&&(o=e,e=null),arguments.length>0?this.on(t,null,e,o):this.trigger(t)},Dt.test(t)&&(Z.event.fixHooks[t]=Z.event.keyHooks),It.test(t)&&(Z.event.fixHooks[t]=Z.event.mouseHooks)}),function(e,t){function o(e,t,o,n){o=o||[],t=t||R;var i,r,s,l,a=t.nodeType;if(1!==a&&9!==a)return[];if(!e||"string"!=typeof e)return o;if(s=E(t),!s&&!n&&(i=Y.exec(e)))if(l=i[1]){if(9===a){if(r=t.getElementById(l),!r||!r.parentNode)return o;if(r.id===l)return o.push(r),o}else if(t.ownerDocument&&(r=t.ownerDocument.getElementById(l))&&B(t,r)&&r.id===l)return o.push(r),o}else{if(i[2])return F.apply(o,I.call(t.getElementsByTagName(e),0)),o;if((l=i[3])&&lt&&t.getElementsByClassName)return F.apply(o,I.call(t.getElementsByClassName(l),0)),o}return p(e,t,o,n,s)}function n(e){return function(t){var o=t.nodeName.toLowerCase();return"input"===o&&t.type===e}}function i(e){return function(t){var o=t.nodeName.toLowerCase();return("input"===o||"button"===o)&&t.type===e}}function r(e,t,o){if(e===t)return o;for(var n=e.nextSibling;n;){if(n===t)return-1;n=n.nextSibling}return 1}function s(e,t,n,i){var r,s,l,a,c,u,g,h,d,p,f=!n&&t!==R,m=(f?"<s>":"")+e.replace(K,"$1<s>"),y=x[S][m];if(y)return i?0:I.call(y,0);for(c=e,u=[],h=0,d=_.preFilter,p=_.filter;c;){(!r||(s=j.exec(c)))&&(s&&(c=c.slice(s[0].length),l.selector=g),u.push(l=[]),g="",f&&(c=" "+c)),r=!1,(s=z.exec(c))&&(g+=s[0],c=c.slice(s[0].length),r=l.push({part:s.pop().replace(K," "),string:s[0],captures:s}));for(a in p)(s=ot[a].exec(c))&&(!d[a]||(s=d[a](s,t,n)))&&(g+=s[0],c=c.slice(s[0].length),r=l.push({part:a,string:s.shift(),captures:s}));if(!r)break}return g&&(l.selector=g),i?c.length:c?o.error(e):I.call(x(m,u),0)}function l(e,t,o,n){var i=t.dir,r=D++;return e||(e=function(e){return e===o}),t.first?function(t){for(;t=t[i];)if(1===t.nodeType)return e(t)&&t}:n?function(t){for(;t=t[i];)if(1===t.nodeType&&e(t))return t}:function(t){for(var o,n=r+"."+f,s=n+"."+m;t=t[i];)if(1===t.nodeType){if((o=t[S])===s)return t.sizset;if("string"==typeof o&&0===o.indexOf(n)){if(t.sizset)return t}else{if(t[S]=s,e(t))return t.sizset=!0,t;t.sizset=!1}}}}function a(e,t){return e?function(o){var n=t(o);return n&&e(n===!0?o:n)}:t}function c(e,t,o){for(var n,i,r=0;n=e[r];r++)i=_.relative[n.part]?l(i,_.relative[n.part],t,o):a(i,_.filter[n.part].apply(null,n.captures.concat(t,o)));return i}function u(e){return function(t){for(var o,n=0;o=e[n];n++)if(o(t))return!0;return!1}}function g(e,t,n,i){for(var r=0,s=t.length;s>r;r++)o(e,t[r],n,i)}function h(e,t,n,i,r,s){var l,a=_.setFilters[t.toLowerCase()];return a||o.error(t),(e||!(l=r))&&g(e||"*",i,l=[],r),l.length>0?a(l,n,s):[]}function d(e,n,i,r){for(var s,l,a,c,u,d,p,f,m,y,_,v,E,B=0,C=e.length,k=ot.POS,b=new RegExp("^"+k.source+"(?!"+P+")","i"),A=function(){for(var e=1,o=arguments.length-2;o>e;e++)arguments[e]===t&&(m[e]=t)};C>B;B++){for(s=e[B],l="",f=r,a=0,c=s.length;c>a;a++){if(u=s[a],d=u.string,"PSEUDO"===u.part)for(k.exec(""),p=0;m=k.exec(d);)y=!0,_=k.lastIndex=m.index+m[0].length,_>p&&(l+=d.slice(p,m.index),p=_,v=[n],z.test(l)&&(f&&(v=f),f=r),(E=Q.test(l))&&(l=l.slice(0,-5).replace(z,"$&*"),p++),m.length>1&&m[0].replace(b,A),f=h(l,m[1],m[2],v,f,E)),l="";y||(l+=d),y=!1}l?z.test(l)?g(l,f||[n],i,r):o(l,n,i,r?r.concat(f):f):F.apply(i,f)}return 1===C?i:o.uniqueSort(i)}function p(e,t,o,n,i){e=e.replace(K,"$1");var r,l,a,c,u,g,h,p,y,v=s(e,t,i),E=t.nodeType;if(ot.POS.test(e))return d(v,t,o,n);if(n)r=I.call(n,0);else if(1===v.length){if((u=I.call(v[0],0)).length>2&&"ID"===(g=u[0]).part&&9===E&&!i&&_.relative[u[1].part]){if(t=_.find.ID(g.captures[0].replace(tt,""),t,i)[0],!t)return o;e=e.slice(u.shift().string.length)}for(p=(v=q.exec(u[0].string))&&!v.index&&t.parentNode||t,h="",c=u.length-1;c>=0&&(g=u[c],y=g.part,h=g.string+h,!_.relative[y]);c--)if(_.order.test(y)){if(r=_.find[y](g.captures[0].replace(tt,""),p,i),null==r)continue;e=e.slice(0,e.length-h.length)+h.replace(ot[y],""),e||F.apply(o,I.call(r,0));break}}if(e)for(l=C(e,t,i),f=l.dirruns++,null==r&&(r=_.find.TAG("*",q.test(e)&&t.parentNode||t)),c=0;a=r[c];c++)m=l.runs++,l(a)&&o.push(a);return o}var f,m,y,_,v,E,B,C,k,b,A=!0,T="undefined",S=("sizcache"+Math.random()).replace(".",""),R=e.document,w=R.documentElement,D=0,I=[].slice,F=[].push,L=function(e,t){return e[S]=t||!0,e},N=function(){var e={},t=[];return L(function(o,n){return t.push(o)>_.cacheLength&&delete e[t.shift()],e[o]=n},e)},O=N(),x=N(),M=N(),P="[\\x20\\t\\r\\n\\f]",H="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",U=H.replace("w","w#"),$="([*^$|!~]?=)",G="\\["+P+"*("+H+")"+P+"*(?:"+$+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+U+")|)|)"+P+"*\\]",W=":("+H+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+G+")|[^:]|\\\\.)*|.*))\\)|)",V=":(nth|eq|gt|lt|first|last|even|odd)(?:\\(((?:-\\d)?\\d*)\\)|)(?=[^-]|$)",K=new RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),j=new RegExp("^"+P+"*,"+P+"*"),z=new RegExp("^"+P+"*([\\x20\\t\\r\\n\\f>+~])"+P+"*"),X=new RegExp(W),Y=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,q=/[\x20\t\r\n\f]*[+~]/,Q=/:not\($/,J=/h\d/i,et=/input|select|textarea|button/i,tt=/\\(?!\\)/g,ot={ID:new RegExp("^#("+H+")"),CLASS:new RegExp("^\\.("+H+")"),NAME:new RegExp("^\\[name=['\"]?("+H+")['\"]?\\]"),TAG:new RegExp("^("+H.replace("w","w*")+")"),ATTR:new RegExp("^"+G),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|nth|last|first)-child(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),POS:new RegExp(V,"ig"),needsContext:new RegExp("^"+P+"*[>+~]|"+V,"i")},nt=function(e){var t=R.createElement("div");try{return e(t)}catch(o){return!1}finally{t=null}},it=nt(function(e){return e.appendChild(R.createComment("")),!e.getElementsByTagName("*").length}),rt=nt(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==T&&"#"===e.firstChild.getAttribute("href")}),st=nt(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),lt=nt(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),at=nt(function(e){e.id=S+0,e.innerHTML="<a name='"+S+"'></a><div name='"+S+"'></div>",w.insertBefore(e,w.firstChild);var t=R.getElementsByName&&R.getElementsByName(S).length===2+R.getElementsByName(S+0).length;return y=!R.getElementById(S),w.removeChild(e),t});try{I.call(w.childNodes,0)[0].nodeType}catch(ct){I=function(e){for(var t,o=[];t=this[e];e++)o.push(t);return o}}o.matches=function(e,t){return o(e,null,null,t)},o.matchesSelector=function(e,t){return o(t,null,null,[e]).length>0},v=o.getText=function(e){var t,o="",n=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)o+=v(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[n];n++)o+=v(t);return o},E=o.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},B=o.contains=w.contains?function(e,t){var o=9===e.nodeType?e.documentElement:e,n=t&&t.parentNode;return e===n||!!(n&&1===n.nodeType&&o.contains&&o.contains(n))}:w.compareDocumentPosition?function(e,t){return t&&!!(16&e.compareDocumentPosition(t))}:function(e,t){for(;t=t.parentNode;)if(t===e)return!0;return!1},o.attr=function(e,t){var o,n=E(e);return n||(t=t.toLowerCase()),_.attrHandle[t]?_.attrHandle[t](e):st||n?e.getAttribute(t):(o=e.getAttributeNode(t),o?"boolean"==typeof e[t]?e[t]?t:null:o.specified?o.value:null:null)},_=o.selectors={cacheLength:50,createPseudo:L,match:ot,order:new RegExp("ID|TAG"+(at?"|NAME":"")+(lt?"|CLASS":"")),attrHandle:rt?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:y?function(e,t,o){if(typeof t.getElementById!==T&&!o){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}}:function(e,o,n){if(typeof o.getElementById!==T&&!n){var i=o.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==T&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:it?function(e,t){return typeof t.getElementsByTagName!==T?t.getElementsByTagName(e):void 0}:function(e,t){var o=t.getElementsByTagName(e);if("*"===e){for(var n,i=[],r=0;n=o[r];r++)1===n.nodeType&&i.push(n);return i}return o},NAME:function(e,t){return typeof t.getElementsByName!==T?t.getElementsByName(name):void 0},CLASS:function(e,t,o){return typeof t.getElementsByClassName===T||o?void 0:t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(tt,""),e[3]=(e[4]||e[5]||"").replace(tt,""),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1]?(e[2]||o.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*("even"===e[2]||"odd"===e[2])),e[4]=+(e[6]+e[7]||"odd"===e[2])):e[2]&&o.error(e[0]),e},PSEUDO:function(e,t,o){var n,i;return ot.CHILD.test(e[0])?null:(e[3]?e[2]=e[3]:(n=e[4])&&(X.test(n)&&(i=s(n,t,o,!0))&&(i=n.indexOf(")",n.length-i)-n.length)&&(n=n.slice(0,i),e[0]=e[0].slice(0,i)),e[2]=n),e.slice(0,3))}},filter:{ID:y?function(e){return e=e.replace(tt,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace(tt,""),function(t){var o=typeof t.getAttributeNode!==T&&t.getAttributeNode("id");return o&&o.value===e}},TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(tt,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=O[S][e];return t||(t=O(e,new RegExp("(^|"+P+")"+e+"("+P+"|$)"))),function(e){return t.test(e.className||typeof e.getAttribute!==T&&e.getAttribute("class")||"")}},ATTR:function(e,t,n){return t?function(i){var r=o.attr(i,e),s=r+"";if(null==r)return"!="===t;switch(t){case"=":return s===n;case"!=":return s!==n;case"^=":return n&&0===s.indexOf(n);case"*=":return n&&s.indexOf(n)>-1;case"$=":return n&&s.substr(s.length-n.length)===n;case"~=":return(" "+s+" ").indexOf(n)>-1;case"|=":return s===n||s.substr(0,n.length+1)===n+"-"}}:function(t){return null!=o.attr(t,e)}},CHILD:function(e,t,o,n){if("nth"===e){var i=D++;return function(e){var t,r,s=0,l=e;if(1===o&&0===n)return!0;if(t=e.parentNode,t&&(t[S]!==i||!e.sizset)){for(l=t.firstChild;l&&(1!==l.nodeType||(l.sizset=++s,l!==e));l=l.nextSibling);t[S]=i}return r=e.sizset-n,0===o?0===r:r%o===0&&r/o>=0}}return function(t){var o=t;switch(e){case"only":case"first":for(;o=o.previousSibling;)if(1===o.nodeType)return!1;if("first"===e)return!0;o=t;case"last":for(;o=o.nextSibling;)if(1===o.nodeType)return!1;return!0}}},PSEUDO:function(e,t,n,i){var r,s=_.pseudos[e]||_.pseudos[e.toLowerCase()];return s||o.error("unsupported pseudo: "+e),s[S]?s(t,n,i):s.length>1?(r=[e,e,"",t],function(e){return s(e,0,r)}):s}},pseudos:{not:L(function(e,t,o){var n=C(e.replace(K,"$1"),t,o);return function(e){return!n(e)}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!_.pseudos.empty(e)},empty:function(e){var t;for(e=e.firstChild;e;){if(e.nodeName>"@"||3===(t=e.nodeType)||4===t)return!1;e=e.nextSibling}return!0},contains:L(function(e){return function(t){return(t.textContent||t.innerText||v(t)).indexOf(e)>-1}}),has:L(function(e){return function(t){return o(e,t).length>0}}),header:function(e){return J.test(e.nodeName)},text:function(e){var t,o;return"input"===e.nodeName.toLowerCase()&&"text"===(t=e.type)&&(null==(o=e.getAttribute("type"))||o.toLowerCase()===t)},radio:n("radio"),checkbox:n("checkbox"),file:n("file"),password:n("password"),image:n("image"),submit:i("submit"),reset:i("reset"),button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},input:function(e){return et.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return!(e!==t.activeElement||t.hasFocus&&!t.hasFocus()||!e.type&&!e.href)},active:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(e,t,o){return o?e.slice(1):[e[0]]},last:function(e,t,o){var n=e.pop();return o?e:[n]},even:function(e,t,o){for(var n=[],i=o?1:0,r=e.length;r>i;i+=2)n.push(e[i]);return n},odd:function(e,t,o){for(var n=[],i=o?0:1,r=e.length;r>i;i+=2)n.push(e[i]);return n},lt:function(e,t,o){return o?e.slice(+t):e.slice(0,+t)},gt:function(e,t,o){return o?e.slice(0,+t+1):e.slice(+t+1)},eq:function(e,t,o){var n=e.splice(+t,1);return o?e:n}}},k=w.compareDocumentPosition?function(e,t){return e===t?(b=!0,0):(e.compareDocumentPosition&&t.compareDocumentPosition?4&e.compareDocumentPosition(t):e.compareDocumentPosition)?-1:1}:function(e,t){if(e===t)return b=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var o,n,i=[],s=[],l=e.parentNode,a=t.parentNode,c=l;if(l===a)return r(e,t);if(!l)return-1;if(!a)return 1;for(;c;)i.unshift(c),c=c.parentNode;for(c=a;c;)s.unshift(c),c=c.parentNode;o=i.length,n=s.length;for(var u=0;o>u&&n>u;u++)if(i[u]!==s[u])return r(i[u],s[u]);return u===o?r(e,s[u],-1):r(i[u],t,1)},[0,0].sort(k),A=!b,o.uniqueSort=function(e){var t,o=1;if(b=A,e.sort(k),b)for(;t=e[o];o++)t===e[o-1]&&e.splice(o--,1);return e},o.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},C=o.compile=function(e,t,o){var n,i,r,l=M[S][e];if(l&&l.context===t)return l;for(n=s(e,t,o),i=0,r=n.length;r>i;i++)n[i]=c(n[i],t,o);return l=M(e,u(n)),l.context=t,l.runs=l.dirruns=0,l},R.querySelectorAll&&function(){var e,t=p,n=/'|\\/g,i=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,r=[],l=[":active"],a=w.matchesSelector||w.mozMatchesSelector||w.webkitMatchesSelector||w.oMatchesSelector||w.msMatchesSelector;nt(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||r.push("\\["+P+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||r.push(":checked")}),nt(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&r.push("[*^$]="+P+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||r.push(":enabled",":disabled")}),r=r.length&&new RegExp(r.join("|")),p=function(e,o,i,l,a){if(!(l||a||r&&r.test(e)))if(9===o.nodeType)try{return F.apply(i,I.call(o.querySelectorAll(e),0)),i}catch(c){}else if(1===o.nodeType&&"object"!==o.nodeName.toLowerCase()){var u,g,h,d=o.getAttribute("id"),p=d||S,f=q.test(e)&&o.parentNode||o;for(d?p=p.replace(n,"\\$&"):o.setAttribute("id",p),u=s(e,o,a),p="[id='"+p+"']",g=0,h=u.length;h>g;g++)u[g]=p+u[g].selector;try{return F.apply(i,I.call(f.querySelectorAll(u.join(",")),0)),i}catch(c){}finally{d||o.removeAttribute("id")}}return t(e,o,i,l,a)},a&&(nt(function(t){e=a.call(t,"div");try{a.call(t,"[test!='']:sizzle"),l.push(ot.PSEUDO.source,ot.POS.source,"!=")}catch(o){}}),l=new RegExp(l.join("|")),o.matchesSelector=function(t,n){if(n=n.replace(i,"='$1']"),!(E(t)||l.test(n)||r&&r.test(n)))try{var s=a.call(t,n);if(s||e||t.document&&11!==t.document.nodeType)return s}catch(c){}return o(n,null,null,[t]).length>0})}(),_.setFilters.nth=_.setFilters.eq,_.filters=_.pseudos,o.attr=Z.attr,Z.find=o,Z.expr=o.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=o.uniqueSort,Z.text=o.getText,Z.isXMLDoc=o.isXML,Z.contains=o.contains}(e);var Nt=/Until$/,Ot=/^(?:parents|prev(?:Until|All))/,xt=/^.[^:#\[\.,]*$/,Mt=Z.expr.match.needsContext,Pt={children:!0,contents:!0,next:!0,prev:!0};Z.fn.extend({find:function(e){var t,o,n,i,r,s,l=this;if("string"!=typeof e)return Z(e).filter(function(){for(t=0,o=l.length;o>t;t++)if(Z.contains(l[t],this))return!0});for(s=this.pushStack("","find",e),t=0,o=this.length;o>t;t++)if(n=s.length,Z.find(e,this[t],s),t>0)for(i=n;i<s.length;i++)for(r=0;n>r;r++)if(s[r]===s[i]){s.splice(i--,1);break}return s},has:function(e){var t,o=Z(e,this),n=o.length;return this.filter(function(){for(t=0;n>t;t++)if(Z.contains(this,o[t]))return!0})},not:function(e){return this.pushStack(c(this,e,!1),"not",e)},filter:function(e){return this.pushStack(c(this,e,!0),"filter",e)},is:function(e){return!!e&&("string"==typeof e?Mt.test(e)?Z(e,this.context).index(this[0])>=0:Z.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){for(var o,n=0,i=this.length,r=[],s=Mt.test(e)||"string"!=typeof e?Z(e,t||this.context):0;i>n;n++)for(o=this[n];o&&o.ownerDocument&&o!==t&&11!==o.nodeType;){if(s?s.index(o)>-1:Z.find.matchesSelector(o,e)){r.push(o);break}o=o.parentNode}return r=r.length>1?Z.unique(r):r,this.pushStack(r,"closest",e)},index:function(e){return e?"string"==typeof e?Z.inArray(this[0],Z(e)):Z.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var o="string"==typeof e?Z(e,t):Z.makeArray(e&&e.nodeType?[e]:e),n=Z.merge(this.get(),o);return this.pushStack(l(o[0])||l(n[0])?n:Z.unique(n))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Z.fn.andSelf=Z.fn.addBack,Z.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Z.dir(e,"parentNode")},parentsUntil:function(e,t,o){return Z.dir(e,"parentNode",o)},next:function(e){return a(e,"nextSibling")},prev:function(e){return a(e,"previousSibling")},nextAll:function(e){return Z.dir(e,"nextSibling")},prevAll:function(e){return Z.dir(e,"previousSibling")},nextUntil:function(e,t,o){return Z.dir(e,"nextSibling",o)},prevUntil:function(e,t,o){return Z.dir(e,"previousSibling",o)},siblings:function(e){return Z.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return Z.sibling(e.firstChild)},contents:function(e){return Z.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:Z.merge([],e.childNodes)}},function(e,t){Z.fn[e]=function(o,n){var i=Z.map(this,t,o);return Nt.test(e)||(n=o),n&&"string"==typeof n&&(i=Z.filter(n,i)),i=this.length>1&&!Pt[e]?Z.unique(i):i,this.length>1&&Ot.test(e)&&(i=i.reverse()),this.pushStack(i,e,z.call(arguments).join(","))}}),Z.extend({filter:function(e,t,o){return o&&(e=":not("+e+")"),1===t.length?Z.find.matchesSelector(t[0],e)?[t[0]]:[]:Z.find.matches(e,t)},dir:function(e,o,n){for(var i=[],r=e[o];r&&9!==r.nodeType&&(n===t||1!==r.nodeType||!Z(r).is(n));)1===r.nodeType&&i.push(r),r=r[o];return i},sibling:function(e,t){for(var o=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&o.push(e);return o}});var Ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Ut=/ jQuery\d+="(?:null|\d+)"/g,$t=/^\s+/,Gt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Wt=/<([\w:]+)/,Vt=/<tbody/i,Kt=/<|&#?\w+;/,jt=/<(?:script|style|link)/i,zt=/<(?:script|object|embed|option|style)/i,Xt=new RegExp("<(?:"+Ht+")[\\s/>]","i"),Yt=/^(?:checkbox|radio)$/,qt=/checked\s*(?:[^=]|=\s*.checked.)/i,Qt=/\/(java|ecma)script/i,Zt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Jt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},eo=u($),to=eo.appendChild($.createElement("div"));Jt.optgroup=Jt.option,Jt.tbody=Jt.tfoot=Jt.colgroup=Jt.caption=Jt.thead,Jt.th=Jt.td,Z.support.htmlSerialize||(Jt._default=[1,"X<div>","</div>"]),Z.fn.extend({text:function(e){return Z.access(this,function(e){return e===t?Z.text(this):this.empty().append((this[0]&&this[0].ownerDocument||$).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(Z.isFunction(e))return this.each(function(t){Z(this).wrapAll(e.call(this,t))});if(this[0]){var t=Z(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return Z.isFunction(e)?this.each(function(t){Z(this).wrapInner(e.call(this,t))}):this.each(function(){var t=Z(this),o=t.contents();o.length?o.wrapAll(e):t.append(e)})},wrap:function(e){var t=Z.isFunction(e);return this.each(function(o){Z(this).wrapAll(t?e.call(this,o):e)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!l(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)
3
3
  });if(arguments.length){var e=Z.clean(arguments);return this.pushStack(Z.merge(e,this),"before",this.selector)}},after:function(){if(!l(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=Z.clean(arguments);return this.pushStack(Z.merge(this,e),"after",this.selector)}},remove:function(e,t){for(var o,n=0;null!=(o=this[n]);n++)(!e||Z.filter(e,[o]).length)&&(!t&&1===o.nodeType&&(Z.cleanData(o.getElementsByTagName("*")),Z.cleanData([o])),o.parentNode&&o.parentNode.removeChild(o));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)for(1===e.nodeType&&Z.cleanData(e.getElementsByTagName("*"));e.firstChild;)e.removeChild(e.firstChild);return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return Z.clone(this,e,t)})},html:function(e){return Z.access(this,function(e){var o=this[0]||{},n=0,i=this.length;if(e===t)return 1===o.nodeType?o.innerHTML.replace(Ut,""):t;if(!("string"!=typeof e||jt.test(e)||!Z.support.htmlSerialize&&Xt.test(e)||!Z.support.leadingWhitespace&&$t.test(e)||Jt[(Wt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(Gt,"<$1></$2>");try{for(;i>n;n++)o=this[n]||{},1===o.nodeType&&(Z.cleanData(o.getElementsByTagName("*")),o.innerHTML=e);o=0}catch(r){}}o&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return l(this[0])?this.length?this.pushStack(Z(Z.isFunction(e)?e():e),"replaceWith",e):this:Z.isFunction(e)?this.each(function(t){var o=Z(this),n=o.html();o.replaceWith(e.call(this,t,n))}):("string"!=typeof e&&(e=Z(e).detach()),this.each(function(){var t=this.nextSibling,o=this.parentNode;Z(this).remove(),t?Z(t).before(e):Z(o).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,o,n){e=[].concat.apply([],e);var i,r,s,l,a=0,c=e[0],u=[],h=this.length;if(!Z.support.checkClone&&h>1&&"string"==typeof c&&qt.test(c))return this.each(function(){Z(this).domManip(e,o,n)});if(Z.isFunction(c))return this.each(function(i){var r=Z(this);e[0]=c.call(this,i,o?r.html():t),r.domManip(e,o,n)});if(this[0]){if(i=Z.buildFragment(e,this,u),s=i.fragment,r=s.firstChild,1===s.childNodes.length&&(s=r),r)for(o=o&&Z.nodeName(r,"tr"),l=i.cacheable||h-1;h>a;a++)n.call(o&&Z.nodeName(this[a],"table")?g(this[a],"tbody"):this[a],a===l?s:Z.clone(s,!0,!0));s=r=null,u.length&&Z.each(u,function(e,t){t.src?Z.ajax?Z.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):Z.error("no ajax"):Z.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Zt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),Z.buildFragment=function(e,o,n){var i,r,s,l=e[0];return o=o||$,o=!o.nodeType&&o[0]||o,o=o.ownerDocument||o,1===e.length&&"string"==typeof l&&l.length<512&&o===$&&"<"===l.charAt(0)&&!zt.test(l)&&(Z.support.checkClone||!qt.test(l))&&(Z.support.html5Clone||!Xt.test(l))&&(r=!0,i=Z.fragments[l],s=i!==t),i||(i=o.createDocumentFragment(),Z.clean(e,o,i,n),r&&(Z.fragments[l]=s&&i)),{fragment:i,cacheable:r}},Z.fragments={},Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Z.fn[e]=function(o){var n,i=0,r=[],s=Z(o),l=s.length,a=1===this.length&&this[0].parentNode;if((null==a||a&&11===a.nodeType&&1===a.childNodes.length)&&1===l)return s[t](this[0]),this;for(;l>i;i++)n=(i>0?this.clone(!0):this).get(),Z(s[i])[t](n),r=r.concat(n);return this.pushStack(r,e,s.selector)}}),Z.extend({clone:function(e,t,o){var n,i,r,s;if(Z.support.html5Clone||Z.isXMLDoc(e)||!Xt.test("<"+e.nodeName+">")?s=e.cloneNode(!0):(to.innerHTML=e.outerHTML,to.removeChild(s=to.firstChild)),!(Z.support.noCloneEvent&&Z.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Z.isXMLDoc(e)))for(d(e,s),n=p(e),i=p(s),r=0;n[r];++r)i[r]&&d(n[r],i[r]);if(t&&(h(e,s),o))for(n=p(e),i=p(s),r=0;n[r];++r)h(n[r],i[r]);return n=i=null,s},clean:function(e,t,o,n){var i,r,s,l,a,c,g,h,d,p,m,y=t===$&&eo,_=[];for(t&&"undefined"!=typeof t.createDocumentFragment||(t=$),i=0;null!=(s=e[i]);i++)if("number"==typeof s&&(s+=""),s){if("string"==typeof s)if(Kt.test(s)){for(y=y||u(t),g=t.createElement("div"),y.appendChild(g),s=s.replace(Gt,"<$1></$2>"),l=(Wt.exec(s)||["",""])[1].toLowerCase(),a=Jt[l]||Jt._default,c=a[0],g.innerHTML=a[1]+s+a[2];c--;)g=g.lastChild;if(!Z.support.tbody)for(h=Vt.test(s),d="table"!==l||h?"<table>"!==a[1]||h?[]:g.childNodes:g.firstChild&&g.firstChild.childNodes,r=d.length-1;r>=0;--r)Z.nodeName(d[r],"tbody")&&!d[r].childNodes.length&&d[r].parentNode.removeChild(d[r]);!Z.support.leadingWhitespace&&$t.test(s)&&g.insertBefore(t.createTextNode($t.exec(s)[0]),g.firstChild),s=g.childNodes,g.parentNode.removeChild(g)}else s=t.createTextNode(s);s.nodeType?_.push(s):Z.merge(_,s)}if(g&&(s=g=y=null),!Z.support.appendChecked)for(i=0;null!=(s=_[i]);i++)Z.nodeName(s,"input")?f(s):"undefined"!=typeof s.getElementsByTagName&&Z.grep(s.getElementsByTagName("input"),f);if(o)for(p=function(e){return!e.type||Qt.test(e.type)?n?n.push(e.parentNode?e.parentNode.removeChild(e):e):o.appendChild(e):void 0},i=0;null!=(s=_[i]);i++)Z.nodeName(s,"script")&&p(s)||(o.appendChild(s),"undefined"!=typeof s.getElementsByTagName&&(m=Z.grep(Z.merge([],s.getElementsByTagName("script")),p),_.splice.apply(_,[i+1,0].concat(m)),i+=m.length));return _},cleanData:function(e,t){for(var o,n,i,r,s=0,l=Z.expando,a=Z.cache,c=Z.support.deleteExpando,u=Z.event.special;null!=(i=e[s]);s++)if((t||Z.acceptData(i))&&(n=i[l],o=n&&a[n])){if(o.events)for(r in o.events)u[r]?Z.event.remove(i,r):Z.removeEvent(i,r,o.handle);a[n]&&(delete a[n],c?delete i[l]:i.removeAttribute?i.removeAttribute(l):i[l]=null,Z.deletedIds.push(n))}}}),function(){var e,t;Z.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=Z.uaMatch(W.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),Z.browser=t,Z.sub=function(){function e(t,o){return new e.fn.init(t,o)}Z.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function o(o,n){return n&&n instanceof Z&&!(n instanceof e)&&(n=e(n)),Z.fn.init.call(this,o,n,t)},e.fn.init.prototype=e.fn;var t=e($);return e}}();var oo,no,io,ro=/alpha\([^)]*\)/i,so=/opacity=([^)]*)/,lo=/^(top|right|bottom|left)$/,ao=/^(none|table(?!-c[ea]).+)/,co=/^margin/,uo=new RegExp("^("+J+")(.*)$","i"),go=new RegExp("^("+J+")(?!px)[a-z%]+$","i"),ho=new RegExp("^([-+])=("+J+")","i"),po={},fo={position:"absolute",visibility:"hidden",display:"block"},mo={letterSpacing:0,fontWeight:400},yo=["Top","Right","Bottom","Left"],_o=["Webkit","O","Moz","ms"],vo=Z.fn.toggle;Z.fn.extend({css:function(e,o){return Z.access(this,function(e,o,n){return n!==t?Z.style(e,o,n):Z.css(e,o)},e,o,arguments.length>1)},show:function(){return _(this,!0)},hide:function(){return _(this)},toggle:function(e,t){var o="boolean"==typeof e;return Z.isFunction(e)&&Z.isFunction(t)?vo.apply(this,arguments):this.each(function(){(o?e:y(this))?Z(this).show():Z(this).hide()})}}),Z.extend({cssHooks:{opacity:{get:function(e,t){if(t){var o=oo(e,"opacity");return""===o?"1":o}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":Z.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,o,n,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,s,l,a=Z.camelCase(o),c=e.style;if(o=Z.cssProps[a]||(Z.cssProps[a]=m(c,a)),l=Z.cssHooks[o]||Z.cssHooks[a],n===t)return l&&"get"in l&&(r=l.get(e,!1,i))!==t?r:c[o];if(s=typeof n,"string"===s&&(r=ho.exec(n))&&(n=(r[1]+1)*r[2]+parseFloat(Z.css(e,o)),s="number"),!(null==n||"number"===s&&isNaN(n)||("number"===s&&!Z.cssNumber[a]&&(n+="px"),l&&"set"in l&&(n=l.set(e,n,i))===t)))try{c[o]=n}catch(u){}}},css:function(e,o,n,i){var r,s,l,a=Z.camelCase(o);return o=Z.cssProps[a]||(Z.cssProps[a]=m(e.style,a)),l=Z.cssHooks[o]||Z.cssHooks[a],l&&"get"in l&&(r=l.get(e,!0,i)),r===t&&(r=oo(e,o)),"normal"===r&&o in mo&&(r=mo[o]),n||i!==t?(s=parseFloat(r),n||Z.isNumeric(s)?s||0:r):r},swap:function(e,t,o){var n,i,r={};for(i in t)r[i]=e.style[i],e.style[i]=t[i];n=o.call(e);for(i in t)e.style[i]=r[i];return n}}),e.getComputedStyle?oo=function(t,o){var n,i,r,s,l=e.getComputedStyle(t,null),a=t.style;return l&&(n=l[o],""===n&&!Z.contains(t.ownerDocument,t)&&(n=Z.style(t,o)),go.test(n)&&co.test(o)&&(i=a.width,r=a.minWidth,s=a.maxWidth,a.minWidth=a.maxWidth=a.width=n,n=l.width,a.width=i,a.minWidth=r,a.maxWidth=s)),n}:$.documentElement.currentStyle&&(oo=function(e,t){var o,n,i=e.currentStyle&&e.currentStyle[t],r=e.style;return null==i&&r&&r[t]&&(i=r[t]),go.test(i)&&!lo.test(t)&&(o=r.left,n=e.runtimeStyle&&e.runtimeStyle.left,n&&(e.runtimeStyle.left=e.currentStyle.left),r.left="fontSize"===t?"1em":i,i=r.pixelLeft+"px",r.left=o,n&&(e.runtimeStyle.left=n)),""===i?"auto":i}),Z.each(["height","width"],function(e,t){Z.cssHooks[t]={get:function(e,o,n){return o?0===e.offsetWidth&&ao.test(oo(e,"display"))?Z.swap(e,fo,function(){return B(e,t,n)}):B(e,t,n):void 0},set:function(e,o,n){return v(e,o,n?E(e,t,n,Z.support.boxSizing&&"border-box"===Z.css(e,"boxSizing")):0)}}}),Z.support.opacity||(Z.cssHooks.opacity={get:function(e,t){return so.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var o=e.style,n=e.currentStyle,i=Z.isNumeric(t)?"alpha(opacity="+100*t+")":"",r=n&&n.filter||o.filter||"";o.zoom=1,t>=1&&""===Z.trim(r.replace(ro,""))&&o.removeAttribute&&(o.removeAttribute("filter"),n&&!n.filter)||(o.filter=ro.test(r)?r.replace(ro,i):r+" "+i)}}),Z(function(){Z.support.reliableMarginRight||(Z.cssHooks.marginRight={get:function(e,t){return Z.swap(e,{display:"inline-block"},function(){return t?oo(e,"marginRight"):void 0})}}),!Z.support.pixelPosition&&Z.fn.position&&Z.each(["top","left"],function(e,t){Z.cssHooks[t]={get:function(e,o){if(o){var n=oo(e,t);return go.test(n)?Z(e).position()[t]+"px":n}}}})}),Z.expr&&Z.expr.filters&&(Z.expr.filters.hidden=function(e){return 0===e.offsetWidth&&0===e.offsetHeight||!Z.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||oo(e,"display"))},Z.expr.filters.visible=function(e){return!Z.expr.filters.hidden(e)}),Z.each({margin:"",padding:"",border:"Width"},function(e,t){Z.cssHooks[e+t]={expand:function(o){var n,i="string"==typeof o?o.split(" "):[o],r={};for(n=0;4>n;n++)r[e+yo[n]+t]=i[n]||i[n-2]||i[0];return r}},co.test(e)||(Z.cssHooks[e+t].set=v)});var Eo=/%20/g,Bo=/\[\]$/,Co=/\r?\n/g,ko=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bo=/^(?:select|textarea)/i;Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?Z.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bo.test(this.nodeName)||ko.test(this.type))}).map(function(e,t){var o=Z(this).val();return null==o?null:Z.isArray(o)?Z.map(o,function(e){return{name:t.name,value:e.replace(Co,"\r\n")}}):{name:t.name,value:o.replace(Co,"\r\n")}}).get()}}),Z.param=function(e,o){var n,i=[],r=function(e,t){t=Z.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(o===t&&(o=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(e)||e.jquery&&!Z.isPlainObject(e))Z.each(e,function(){r(this.name,this.value)});else for(n in e)k(n,e[n],o,r);return i.join("&").replace(Eo,"+")};var Ao,To,So=/#.*$/,Ro=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,wo=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Do=/^(?:GET|HEAD)$/,Io=/^\/\//,Fo=/\?/,Lo=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,No=/([?&])_=[^&]*/,Oo=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,xo=Z.fn.load,Mo={},Po={},Ho=["*/"]+["*"];try{Ao=G.href}catch(Uo){Ao=$.createElement("a"),Ao.href="",Ao=Ao.href}To=Oo.exec(Ao.toLowerCase())||[],Z.fn.load=function(e,o,n){if("string"!=typeof e&&xo)return xo.apply(this,arguments);if(!this.length)return this;var i,r,s,l=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),Z.isFunction(o)?(n=o,o=t):o&&"object"==typeof o&&(r="POST"),Z.ajax({url:e,type:r,dataType:"html",data:o,complete:function(e,t){n&&l.each(n,s||[e.responseText,t,e])}}).done(function(e){s=arguments,l.html(i?Z("<div>").append(e.replace(Lo,"")).find(i):e)}),this},Z.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){Z.fn[t]=function(e){return this.on(t,e)}}),Z.each(["get","post"],function(e,o){Z[o]=function(e,n,i,r){return Z.isFunction(n)&&(r=r||i,i=n,n=t),Z.ajax({type:o,url:e,data:n,success:i,dataType:r})}}),Z.extend({getScript:function(e,o){return Z.get(e,t,o,"script")},getJSON:function(e,t,o){return Z.get(e,t,o,"json")},ajaxSetup:function(e,t){return t?T(e,Z.ajaxSettings):(t=e,e=Z.ajaxSettings),T(e,t),e},ajaxSettings:{url:Ao,isLocal:wo.test(To[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Ho},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:b(Mo),ajaxTransport:b(Po),ajax:function(e,o){function n(e,o,n,s){var c,g,_,v,B,k=o;2!==E&&(E=2,a&&clearTimeout(a),l=t,r=s||"",C.readyState=e>0?4:0,n&&(v=S(h,C,n)),e>=200&&300>e||304===e?(h.ifModified&&(B=C.getResponseHeader("Last-Modified"),B&&(Z.lastModified[i]=B),B=C.getResponseHeader("Etag"),B&&(Z.etag[i]=B)),304===e?(k="notmodified",c=!0):(c=R(h,v),k=c.state,g=c.data,_=c.error,c=!_)):(_=k,(!k||e)&&(k="error",0>e&&(e=0))),C.status=e,C.statusText=""+(o||k),c?f.resolveWith(d,[g,k,C]):f.rejectWith(d,[C,k,_]),C.statusCode(y),y=t,u&&p.trigger("ajax"+(c?"Success":"Error"),[C,h,c?g:_]),m.fireWith(d,[C,k]),u&&(p.trigger("ajaxComplete",[C,h]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof e&&(o=e,e=t),o=o||{};var i,r,s,l,a,c,u,g,h=Z.ajaxSetup({},o),d=h.context||h,p=d!==h&&(d.nodeType||d instanceof Z)?Z(d):Z.event,f=Z.Deferred(),m=Z.Callbacks("once memory"),y=h.statusCode||{},_={},v={},E=0,B="canceled",C={readyState:0,setRequestHeader:function(e,t){if(!E){var o=e.toLowerCase();e=v[o]=v[o]||e,_[e]=t}return this},getAllResponseHeaders:function(){return 2===E?r:null},getResponseHeader:function(e){var o;if(2===E){if(!s)for(s={};o=Ro.exec(r);)s[o[1].toLowerCase()]=o[2];o=s[e.toLowerCase()]}return o===t?null:o},overrideMimeType:function(e){return E||(h.mimeType=e),this},abort:function(e){return e=e||B,l&&l.abort(e),n(0,e),this}};if(f.promise(C),C.success=C.done,C.error=C.fail,C.complete=m.add,C.statusCode=function(e){if(e){var t;if(2>E)for(t in e)y[t]=[y[t],e[t]];else t=e[C.status],C.always(t)}return this},h.url=((e||h.url)+"").replace(So,"").replace(Io,To[1]+"//"),h.dataTypes=Z.trim(h.dataType||"*").toLowerCase().split(tt),null==h.crossDomain&&(c=Oo.exec(h.url.toLowerCase()),h.crossDomain=!(!c||c[1]==To[1]&&c[2]==To[2]&&(c[3]||("http:"===c[1]?80:443))==(To[3]||("http:"===To[1]?80:443)))),h.data&&h.processData&&"string"!=typeof h.data&&(h.data=Z.param(h.data,h.traditional)),A(Mo,h,o,C),2===E)return C;if(u=h.global,h.type=h.type.toUpperCase(),h.hasContent=!Do.test(h.type),u&&0===Z.active++&&Z.event.trigger("ajaxStart"),!h.hasContent&&(h.data&&(h.url+=(Fo.test(h.url)?"&":"?")+h.data,delete h.data),i=h.url,h.cache===!1)){var k=Z.now(),b=h.url.replace(No,"$1_="+k);h.url=b+(b===h.url?(Fo.test(h.url)?"&":"?")+"_="+k:"")}(h.data&&h.hasContent&&h.contentType!==!1||o.contentType)&&C.setRequestHeader("Content-Type",h.contentType),h.ifModified&&(i=i||h.url,Z.lastModified[i]&&C.setRequestHeader("If-Modified-Since",Z.lastModified[i]),Z.etag[i]&&C.setRequestHeader("If-None-Match",Z.etag[i])),C.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Ho+"; q=0.01":""):h.accepts["*"]);for(g in h.headers)C.setRequestHeader(g,h.headers[g]);if(!h.beforeSend||h.beforeSend.call(d,C,h)!==!1&&2!==E){B="abort";for(g in{success:1,error:1,complete:1})C[g](h[g]);if(l=A(Po,h,o,C)){C.readyState=1,u&&p.trigger("ajaxSend",[C,h]),h.async&&h.timeout>0&&(a=setTimeout(function(){C.abort("timeout")},h.timeout));try{E=1,l.send(_,n)}catch(T){if(!(2>E))throw T;n(-1,T)}}else n(-1,"No Transport");return C}return C.abort()},active:0,lastModified:{},etag:{}});var $o=[],Go=/\?/,Wo=/(=)\?(?=&|$)|\?\?/,Vo=Z.now();Z.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=$o.pop()||Z.expando+"_"+Vo++;return this[e]=!0,e}}),Z.ajaxPrefilter("json jsonp",function(o,n,i){var r,s,l,a=o.data,c=o.url,u=o.jsonp!==!1,g=u&&Wo.test(c),h=u&&!g&&"string"==typeof a&&!(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&Wo.test(a);return"jsonp"===o.dataTypes[0]||g||h?(r=o.jsonpCallback=Z.isFunction(o.jsonpCallback)?o.jsonpCallback():o.jsonpCallback,s=e[r],g?o.url=c.replace(Wo,"$1"+r):h?o.data=a.replace(Wo,"$1"+r):u&&(o.url+=(Go.test(c)?"&":"?")+o.jsonp+"="+r),o.converters["script json"]=function(){return l||Z.error(r+" was not called"),l[0]},o.dataTypes[0]="json",e[r]=function(){l=arguments},i.always(function(){e[r]=s,o[r]&&(o.jsonpCallback=n.jsonpCallback,$o.push(r)),l&&Z.isFunction(s)&&s(l[0]),l=s=t}),"script"):void 0}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return Z.globalEval(e),e}}}),Z.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),Z.ajaxTransport("script",function(e){if(e.crossDomain){var o,n=$.head||$.getElementsByTagName("head")[0]||$.documentElement;return{send:function(i,r){o=$.createElement("script"),o.async="async",e.scriptCharset&&(o.charset=e.scriptCharset),o.src=e.url,o.onload=o.onreadystatechange=function(e,i){(i||!o.readyState||/loaded|complete/.test(o.readyState))&&(o.onload=o.onreadystatechange=null,n&&o.parentNode&&n.removeChild(o),o=t,i||r(200,"success"))},n.insertBefore(o,n.firstChild)},abort:function(){o&&o.onload(0,1)}}}});var Ko,jo=e.ActiveXObject?function(){for(var e in Ko)Ko[e](0,1)}:!1,zo=0;Z.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&w()||D()}:w,function(e){Z.extend(Z.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(Z.ajaxSettings.xhr()),Z.support.ajax&&Z.ajaxTransport(function(o){if(!o.crossDomain||Z.support.cors){var n;return{send:function(i,r){var s,l,a=o.xhr();if(o.username?a.open(o.type,o.url,o.async,o.username,o.password):a.open(o.type,o.url,o.async),o.xhrFields)for(l in o.xhrFields)a[l]=o.xhrFields[l];o.mimeType&&a.overrideMimeType&&a.overrideMimeType(o.mimeType),!o.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(l in i)a.setRequestHeader(l,i[l])}catch(c){}a.send(o.hasContent&&o.data||null),n=function(e,i){var l,c,u,g,h;try{if(n&&(i||4===a.readyState))if(n=t,s&&(a.onreadystatechange=Z.noop,jo&&delete Ko[s]),i)4!==a.readyState&&a.abort();else{l=a.status,u=a.getAllResponseHeaders(),g={},h=a.responseXML,h&&h.documentElement&&(g.xml=h);try{g.text=a.responseText}catch(e){}try{c=a.statusText}catch(d){c=""}l||!o.isLocal||o.crossDomain?1223===l&&(l=204):l=g.text?200:404}}catch(p){i||r(-1,p)}g&&r(l,c,g,u)},o.async?4===a.readyState?setTimeout(n,0):(s=++zo,jo&&(Ko||(Ko={},Z(e).unload(jo)),Ko[s]=n),a.onreadystatechange=n):n()},abort:function(){n&&n(0,1)}}}});var Xo,Yo,qo=/^(?:toggle|show|hide)$/,Qo=new RegExp("^(?:([-+])=|)("+J+")([a-z%]*)$","i"),Zo=/queueHooks$/,Jo=[O],en={"*":[function(e,t){var o,n,i,r=this.createTween(e,t),s=Qo.exec(t),l=r.cur(),a=+l||0,c=1;if(s){if(o=+s[2],n=s[3]||(Z.cssNumber[e]?"":"px"),"px"!==n&&a){a=Z.css(r.elem,e,!0)||o||1;do i=c=c||".5",a/=c,Z.style(r.elem,e,a+n),c=r.cur()/l;while(1!==c&&c!==i)}r.unit=n,r.start=a,r.end=s[1]?a+(s[1]+1)*o:o}return r}]};Z.Animation=Z.extend(L,{tweener:function(e,t){Z.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var o,n=0,i=e.length;i>n;n++)o=e[n],en[o]=en[o]||[],en[o].unshift(t)},prefilter:function(e,t){t?Jo.unshift(e):Jo.push(e)}}),Z.Tween=x,x.prototype={constructor:x,init:function(e,t,o,n,i,r){this.elem=e,this.prop=o,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=n,this.unit=r||(Z.cssNumber[o]?"":"px")},cur:function(){var e=x.propHooks[this.prop];return e&&e.get?e.get(this):x.propHooks._default.get(this)},run:function(e){var t,o=x.propHooks[this.prop];return this.pos=t=this.options.duration?Z.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),o&&o.set?o.set(this):x.propHooks._default.set(this),this}},x.prototype.init.prototype=x.prototype,x.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=Z.css(e.elem,e.prop,!1,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){Z.fx.step[e.prop]?Z.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[Z.cssProps[e.prop]]||Z.cssHooks[e.prop])?Z.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},x.propHooks.scrollTop=x.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Z.each(["toggle","show","hide"],function(e,t){var o=Z.fn[t];Z.fn[t]=function(n,i,r){return null==n||"boolean"==typeof n||!e&&Z.isFunction(n)&&Z.isFunction(i)?o.apply(this,arguments):this.animate(M(t,!0),n,i,r)}}),Z.fn.extend({fadeTo:function(e,t,o,n){return this.filter(y).css("opacity",0).show().end().animate({opacity:t},e,o,n)},animate:function(e,t,o,n){var i=Z.isEmptyObject(e),r=Z.speed(t,o,n),s=function(){var t=L(this,Z.extend({},e),r);i&&t.stop(!0)};return i||r.queue===!1?this.each(s):this.queue(r.queue,s)},stop:function(e,o,n){var i=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=o,o=e,e=t),o&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",r=Z.timers,s=Z._data(this);if(o)s[o]&&s[o].stop&&i(s[o]);else for(o in s)s[o]&&s[o].stop&&Zo.test(o)&&i(s[o]);for(o=r.length;o--;)r[o].elem===this&&(null==e||r[o].queue===e)&&(r[o].anim.stop(n),t=!1,r.splice(o,1));(t||!n)&&Z.dequeue(this,e)})}}),Z.each({slideDown:M("show"),slideUp:M("hide"),slideToggle:M("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Z.fn[e]=function(e,o,n){return this.animate(t,e,o,n)}}),Z.speed=function(e,t,o){var n=e&&"object"==typeof e?Z.extend({},e):{complete:o||!o&&t||Z.isFunction(e)&&e,duration:e,easing:o&&t||t&&!Z.isFunction(t)&&t};return n.duration=Z.fx.off?0:"number"==typeof n.duration?n.duration:n.duration in Z.fx.speeds?Z.fx.speeds[n.duration]:Z.fx.speeds._default,(null==n.queue||n.queue===!0)&&(n.queue="fx"),n.old=n.complete,n.complete=function(){Z.isFunction(n.old)&&n.old.call(this),n.queue&&Z.dequeue(this,n.queue)},n},Z.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},Z.timers=[],Z.fx=x.prototype.init,Z.fx.tick=function(){for(var e,t=Z.timers,o=0;o<t.length;o++)e=t[o],!e()&&t[o]===e&&t.splice(o--,1);t.length||Z.fx.stop()},Z.fx.timer=function(e){e()&&Z.timers.push(e)&&!Yo&&(Yo=setInterval(Z.fx.tick,Z.fx.interval))},Z.fx.interval=13,Z.fx.stop=function(){clearInterval(Yo),Yo=null},Z.fx.speeds={slow:600,fast:200,_default:400},Z.fx.step={},Z.expr&&Z.expr.filters&&(Z.expr.filters.animated=function(e){return Z.grep(Z.timers,function(t){return e===t.elem}).length});var tn=/^(?:body|html)$/i;Z.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){Z.offset.setOffset(this,e,t)});var o,n,i,r,s,l,a,c,u,g,h=this[0],d=h&&h.ownerDocument;if(d)return(i=d.body)===h?Z.offset.bodyOffset(h):(n=d.documentElement,Z.contains(n,h)?(o=h.getBoundingClientRect(),r=P(d),s=n.clientTop||i.clientTop||0,l=n.clientLeft||i.clientLeft||0,a=r.pageYOffset||n.scrollTop,c=r.pageXOffset||n.scrollLeft,u=o.top+a-s,g=o.left+c-l,{top:u,left:g}):{top:0,left:0})},Z.offset={bodyOffset:function(e){var t=e.offsetTop,o=e.offsetLeft;return Z.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(Z.css(e,"marginTop"))||0,o+=parseFloat(Z.css(e,"marginLeft"))||0),{top:t,left:o}},setOffset:function(e,t,o){var n=Z.css(e,"position");"static"===n&&(e.style.position="relative");var i,r,s=Z(e),l=s.offset(),a=Z.css(e,"top"),c=Z.css(e,"left"),u=("absolute"===n||"fixed"===n)&&Z.inArray("auto",[a,c])>-1,g={},h={};u?(h=s.position(),i=h.top,r=h.left):(i=parseFloat(a)||0,r=parseFloat(c)||0),Z.isFunction(t)&&(t=t.call(e,o,l)),null!=t.top&&(g.top=t.top-l.top+i),null!=t.left&&(g.left=t.left-l.left+r),"using"in t?t.using.call(e,g):s.css(g)}},Z.fn.extend({position:function(){if(this[0]){var e=this[0],t=this.offsetParent(),o=this.offset(),n=tn.test(t[0].nodeName)?{top:0,left:0}:t.offset();return o.top-=parseFloat(Z.css(e,"marginTop"))||0,o.left-=parseFloat(Z.css(e,"marginLeft"))||0,n.top+=parseFloat(Z.css(t[0],"borderTopWidth"))||0,n.left+=parseFloat(Z.css(t[0],"borderLeftWidth"))||0,{top:o.top-n.top,left:o.left-n.left}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||$.body;e&&!tn.test(e.nodeName)&&"static"===Z.css(e,"position");)e=e.offsetParent;return e||$.body})}}),Z.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,o){var n=/Y/.test(o);Z.fn[e]=function(i){return Z.access(this,function(e,i,r){var s=P(e);return r===t?s?o in s?s[o]:s.document.documentElement[i]:e[i]:(s?s.scrollTo(n?Z(s).scrollLeft():r,n?r:Z(s).scrollTop()):e[i]=r,void 0)},e,i,arguments.length,null)}}),Z.each({Height:"height",Width:"width"},function(e,o){Z.each({padding:"inner"+e,content:o,"":"outer"+e},function(n,i){Z.fn[i]=function(i,r){var s=arguments.length&&(n||"boolean"!=typeof i),l=n||(i===!0||r===!0?"margin":"border");return Z.access(this,function(o,n,i){var r;return Z.isWindow(o)?o.document.documentElement["client"+e]:9===o.nodeType?(r=o.documentElement,Math.max(o.body["scroll"+e],r["scroll"+e],o.body["offset"+e],r["offset"+e],r["client"+e])):i===t?Z.css(o,n,i,l):Z.style(o,n,i,l)},o,s?i:t,s,null)}})}),e.jQuery=e.$=Z,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return Z})}(window),function(e,t){e.rails!==t&&e.error("jquery-ujs has already been loaded!");var o,n=e(document);e.rails=o={linkClickSelector:"a[data-confirm], a[data-method], a[data-remote], a[data-disable-with]",buttonClickSelector:"button[data-remote]",inputChangeSelector:"select[data-remote], input[data-remote], textarea[data-remote]",formSubmitSelector:"form",formInputClickSelector:"form input[type=submit], form input[type=image], form button[type=submit], form button:not([type])",disableSelector:"input[data-disable-with], button[data-disable-with], textarea[data-disable-with]",enableSelector:"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled",requiredInputSelector:"input[name][required]:not([disabled]),textarea[name][required]:not([disabled])",fileInputSelector:"input[type=file]",linkDisableSelector:"a[data-disable-with]",CSRFProtection:function(t){var o=e('meta[name="csrf-token"]').attr("content");o&&t.setRequestHeader("X-CSRF-Token",o)},fire:function(t,o,n){var i=e.Event(o);return t.trigger(i,n),i.result!==!1},confirm:function(e){return confirm(e)},ajax:function(t){return e.ajax(t)},href:function(e){return e.attr("href")},handleRemote:function(n){var i,r,s,l,a,c,u,g;if(o.fire(n,"ajax:before")){if(l=n.data("cross-domain"),a=l===t?null:l,c=n.data("with-credentials")||null,u=n.data("type")||e.ajaxSettings&&e.ajaxSettings.dataType,n.is("form")){i=n.attr("method"),r=n.attr("action"),s=n.serializeArray();var h=n.data("ujs:submit-button");h&&(s.push(h),n.data("ujs:submit-button",null))}else n.is(o.inputChangeSelector)?(i=n.data("method"),r=n.data("url"),s=n.serialize(),n.data("params")&&(s=s+"&"+n.data("params"))):n.is(o.buttonClickSelector)?(i=n.data("method")||"get",r=n.data("url"),s=n.serialize(),n.data("params")&&(s=s+"&"+n.data("params"))):(i=n.data("method"),r=o.href(n),s=n.data("params")||null);g={type:i||"GET",data:s,dataType:u,beforeSend:function(e,i){return i.dataType===t&&e.setRequestHeader("accept","*/*;q=0.5, "+i.accepts.script),o.fire(n,"ajax:beforeSend",[e,i])},success:function(e,t,o){n.trigger("ajax:success",[e,t,o])},complete:function(e,t){n.trigger("ajax:complete",[e,t])},error:function(e,t,o){n.trigger("ajax:error",[e,t,o])},crossDomain:a},c&&(g.xhrFields={withCredentials:c}),r&&(g.url=r);var d=o.ajax(g);return n.trigger("ajax:send",d),d}return!1},handleMethod:function(n){var i=o.href(n),r=n.data("method"),s=n.attr("target"),l=e("meta[name=csrf-token]").attr("content"),a=e("meta[name=csrf-param]").attr("content"),c=e('<form method="post" action="'+i+'"></form>'),u='<input name="_method" value="'+r+'" type="hidden" />';a!==t&&l!==t&&(u+='<input name="'+a+'" value="'+l+'" type="hidden" />'),s&&c.attr("target",s),c.hide().append(u).appendTo("body"),c.submit()},disableFormElements:function(t){t.find(o.disableSelector).each(function(){var t=e(this),o=t.is("button")?"html":"val";t.data("ujs:enable-with",t[o]()),t[o](t.data("disable-with")),t.prop("disabled",!0)})},enableFormElements:function(t){t.find(o.enableSelector).each(function(){var t=e(this),o=t.is("button")?"html":"val";t.data("ujs:enable-with")&&t[o](t.data("ujs:enable-with")),t.prop("disabled",!1)})},allowAction:function(e){var t,n=e.data("confirm"),i=!1;return n?(o.fire(e,"confirm")&&(i=o.confirm(n),t=o.fire(e,"confirm:complete",[i])),i&&t):!0},blankInputs:function(t,o,n){var i,r,s=e(),l=o||"input,textarea",a=t.find(l);return a.each(function(){if(i=e(this),r=i.is("input[type=checkbox],input[type=radio]")?i.is(":checked"):i.val(),!r==!n){if(i.is("input[type=radio]")&&a.filter('input[type=radio]:checked[name="'+i.attr("name")+'"]').length)return!0;s=s.add(i)}}),s.length?s:!1},nonBlankInputs:function(e,t){return o.blankInputs(e,t,!0)},stopEverything:function(t){return e(t.target).trigger("ujs:everythingStopped"),t.stopImmediatePropagation(),!1},disableElement:function(e){e.data("ujs:enable-with",e.html()),e.html(e.data("disable-with")),e.bind("click.railsDisable",function(e){return o.stopEverything(e)})},enableElement:function(e){e.data("ujs:enable-with")!==t&&(e.html(e.data("ujs:enable-with")),e.removeData("ujs:enable-with")),e.unbind("click.railsDisable")}},o.fire(n,"rails:attachBindings")&&(e.ajaxPrefilter(function(e,t,n){e.crossDomain||o.CSRFProtection(n)}),n.delegate(o.linkDisableSelector,"ajax:complete",function(){o.enableElement(e(this))}),n.delegate(o.linkClickSelector,"click.rails",function(n){var i=e(this),r=i.data("method"),s=i.data("params");if(!o.allowAction(i))return o.stopEverything(n);if(i.is(o.linkDisableSelector)&&o.disableElement(i),i.data("remote")!==t){if(!(!n.metaKey&&!n.ctrlKey||r&&"GET"!==r||s))return!0;var l=o.handleRemote(i);return l===!1?o.enableElement(i):l.error(function(){o.enableElement(i)}),!1}return i.data("method")?(o.handleMethod(i),!1):void 0}),n.delegate(o.buttonClickSelector,"click.rails",function(t){var n=e(this);return o.allowAction(n)?(o.handleRemote(n),!1):o.stopEverything(t)}),n.delegate(o.inputChangeSelector,"change.rails",function(t){var n=e(this);return o.allowAction(n)?(o.handleRemote(n),!1):o.stopEverything(t)}),n.delegate(o.formSubmitSelector,"submit.rails",function(n){var i=e(this),r=i.data("remote")!==t,s=o.blankInputs(i,o.requiredInputSelector),l=o.nonBlankInputs(i,o.fileInputSelector);if(!o.allowAction(i))return o.stopEverything(n);if(s&&i.attr("novalidate")==t&&o.fire(i,"ajax:aborted:required",[s]))return o.stopEverything(n);if(r){if(l){setTimeout(function(){o.disableFormElements(i)},13);var a=o.fire(i,"ajax:aborted:file",[l]);return a||setTimeout(function(){o.enableFormElements(i)},13),a}return o.handleRemote(i),!1}setTimeout(function(){o.disableFormElements(i)},13)}),n.delegate(o.formInputClickSelector,"click.rails",function(t){var n=e(this);if(!o.allowAction(n))return o.stopEverything(t);var i=n.attr("name"),r=i?{name:i,value:n.val()}:null;n.closest("form").data("ujs:submit-button",r)}),n.delegate(o.formSubmitSelector,"ajax:beforeSend.rails",function(t){this==t.target&&o.disableFormElements(e(this))}),n.delegate(o.formSubmitSelector,"ajax:complete.rails",function(t){this==t.target&&o.enableFormElements(e(this))}),e(function(){var t=e("meta[name=csrf-token]").attr("content"),o=e("meta[name=csrf-param]").attr("content");e('form input[name="'+o+'"]').val(t)}))
4
4
  }(jQuery),function(e,t){function o(t,o){var i,r,s,l=t.nodeName.toLowerCase();return"area"===l?(i=t.parentNode,r=i.name,t.href&&r&&"map"===i.nodeName.toLowerCase()?(s=e("img[usemap=#"+r+"]")[0],!!s&&n(s)):!1):(/input|select|textarea|button|object/.test(l)?!t.disabled:"a"===l?t.href||o:o)&&n(t)}function n(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var i=0,r=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(o,n){return"number"==typeof o?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),n&&n.call(t)},o)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(o){if(o!==t)return this.css("zIndex",o);if(this.length)for(var n,i,r=e(this[0]);r.length&&r[0]!==document;){if(n=r.css("position"),("absolute"===n||"relative"===n||"fixed"===n)&&(i=parseInt(r.css("zIndex"),10),!isNaN(i)&&0!==i))return i;r=r.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++i)})},removeUniqueId:function(){return this.each(function(){r.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(o){return!!e.data(o,t)}}):function(t,o,n){return!!e.data(t,n[3])},focusable:function(t){return o(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),i=isNaN(n);return(i||n>=0)&&o(t,!i)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(o,n){function i(t,o,n,i){return e.each(r,function(){o-=parseFloat(e.css(t,"padding"+this))||0,n&&(o-=parseFloat(e.css(t,"border"+this+"Width"))||0),i&&(o-=parseFloat(e.css(t,"margin"+this))||0)}),o}var r="Width"===n?["Left","Right"]:["Top","Bottom"],s=n.toLowerCase(),l={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+n]=function(o){return o===t?l["inner"+n].call(this):this.each(function(){e(this).css(s,i(this,o)+"px")})},e.fn["outer"+n]=function(t,o){return"number"!=typeof t?l["outer"+n].call(this,t):this.each(function(){e(this).css(s,i(this,t,!0,o)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(o){return arguments.length?t.call(this,e.camelCase(o)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,o,n){var i,r=e.ui[t].prototype;for(i in n)r.plugins[i]=r.plugins[i]||[],r.plugins[i].push([o,n[i]])},call:function(e,t,o){var n,i=e.plugins[t];if(i&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(n=0;n<i.length;n++)e.options[i[n][0]]&&i[n][1].apply(e.element,o)}},hasScroll:function(t,o){if("hidden"===e(t).css("overflow"))return!1;var n=o&&"left"===o?"scrollLeft":"scrollTop",i=!1;return t[n]>0?!0:(t[n]=1,i=t[n]>0,t[n]=0,i)}})}(jQuery),function(e,t){var o=0,n=Array.prototype.slice,i=e.cleanData;e.cleanData=function(t){for(var o,n=0;null!=(o=t[n]);n++)try{e(o).triggerHandler("remove")}catch(r){}i(t)},e.widget=function(t,o,n){var i,r,s,l,a={},c=t.split(".")[0];t=t.split(".")[1],i=c+"-"+t,n||(n=o,o=e.Widget),e.expr[":"][i.toLowerCase()]=function(t){return!!e.data(t,i)},e[c]=e[c]||{},r=e[c][t],s=e[c][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new s(e,t)},e.extend(s,r,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),l=new o,l.options=e.widget.extend({},l.options),e.each(n,function(t,n){return e.isFunction(n)?(a[t]=function(){var e=function(){return o.prototype[t].apply(this,arguments)},i=function(e){return o.prototype[t].apply(this,e)};return function(){var t,o=this._super,r=this._superApply;return this._super=e,this._superApply=i,t=n.apply(this,arguments),this._super=o,this._superApply=r,t}}(),void 0):(a[t]=n,void 0)}),s.prototype=e.widget.extend(l,{widgetEventPrefix:r?l.widgetEventPrefix:t},a,{constructor:s,namespace:c,widgetName:t,widgetFullName:i}),r?(e.each(r._childConstructors,function(t,o){var n=o.prototype;e.widget(n.namespace+"."+n.widgetName,s,o._proto)}),delete r._childConstructors):o._childConstructors.push(s),e.widget.bridge(t,s)},e.widget.extend=function(o){for(var i,r,s=n.call(arguments,1),l=0,a=s.length;a>l;l++)for(i in s[l])r=s[l][i],s[l].hasOwnProperty(i)&&r!==t&&(o[i]=e.isPlainObject(r)?e.isPlainObject(o[i])?e.widget.extend({},o[i],r):e.widget.extend({},r):r);return o},e.widget.bridge=function(o,i){var r=i.prototype.widgetFullName||o;e.fn[o]=function(s){var l="string"==typeof s,a=n.call(arguments,1),c=this;return s=!l&&a.length?e.widget.extend.apply(null,[s].concat(a)):s,l?this.each(function(){var n,i=e.data(this,r);return i?e.isFunction(i[s])&&"_"!==s.charAt(0)?(n=i[s].apply(i,a),n!==i&&n!==t?(c=n&&n.jquery?c.pushStack(n.get()):n,!1):void 0):e.error("no such method '"+s+"' for "+o+" widget instance"):e.error("cannot call methods on "+o+" prior to initialization; attempted to call method '"+s+"'")}):this.each(function(){var t=e.data(this,r);t?t.option(s||{})._init():e.data(this,r,new i(s,this))}),c}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,n){n=e(n||this.defaultElement||this)[0],this.element=e(n),this.uuid=o++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),n!==this&&(e.data(n,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===n&&this.destroy()}}),this.document=e(n.style?n.ownerDocument:n.document||n),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(o,n){var i,r,s,l=o;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof o)if(l={},i=o.split("."),o=i.shift(),i.length){for(r=l[o]=e.widget.extend({},this.options[o]),s=0;s<i.length-1;s++)r[i[s]]=r[i[s]]||{},r=r[i[s]];if(o=i.pop(),n===t)return r[o]===t?null:r[o];r[o]=n}else{if(n===t)return this.options[o]===t?null:this.options[o];l[o]=n}return this._setOptions(l),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(t,o,n){var i,r=this;"boolean"!=typeof t&&(n=o,o=t,t=!1),n?(o=i=e(o),this.bindings=this.bindings.add(o)):(n=o,o=this.element,i=this.widget()),e.each(n,function(n,s){function l(){return t||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof s?r[s]:s).apply(r,arguments):void 0}"string"!=typeof s&&(l.guid=s.guid=s.guid||l.guid||e.guid++);var a=n.match(/^(\w+)\s*(.*)$/),c=a[1]+r.eventNamespace,u=a[2];u?i.delegate(u,c,l):o.bind(c,l)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function o(){return("string"==typeof e?n[e]:e).apply(n,arguments)}var n=this;return setTimeout(o,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,o,n){var i,r,s=this.options[t];if(n=n||{},o=e.Event(o),o.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),o.target=this.element[0],r=o.originalEvent)for(i in r)i in o||(o[i]=r[i]);return this.element.trigger(o,n),!(e.isFunction(s)&&s.apply(this.element[0],[o].concat(n))===!1||o.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,o){e.Widget.prototype["_"+t]=function(n,i,r){"string"==typeof i&&(i={effect:i});var s,l=i?i===!0||"number"==typeof i?o:i.effect||o:t;i=i||{},"number"==typeof i&&(i={duration:i}),s=!e.isEmptyObject(i),i.complete=r,i.delay&&n.delay(i.delay),s&&e.effects&&e.effects.effect[l]?n[t](i):l!==t&&n[l]?n[l](i.duration,i.easing,r):n.queue(function(o){e(this)[t](),r&&r.call(n[0]),o()})}})}(jQuery),function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(o){return!0===e.data(o.target,t.widgetName+".preventClickEvent")?(e.removeData(o.target,t.widgetName+".preventClickEvent"),o.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(o){if(!t){this._mouseStarted&&this._mouseUp(o),this._mouseDownEvent=o;var n=this,i=1===o.which,r="string"==typeof this.options.cancel&&o.target.nodeName?e(o.target).closest(this.options.cancel).length:!1;return i&&!r&&this._mouseCapture(o)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){n.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(o)&&this._mouseDelayMet(o)&&(this._mouseStarted=this._mouseStart(o)!==!1,!this._mouseStarted)?(o.preventDefault(),!0):(!0===e.data(o.target,this.widgetName+".preventClickEvent")&&e.removeData(o.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return n._mouseMove(e)},this._mouseUpDelegate=function(e){return n._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),o.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||document.documentMode<9)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var o=this.options;return this.helper||o.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(o.iframeFix===!0?"iframe":o.iframeFix).each(function(){e("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var o=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,o){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!o){var n=this._uiHash();if(this._trigger("drag",t,n)===!1)return this._mouseUp({}),!1;this.position=n.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var o=this,n=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(n=e.ui.ddmanager.drop(this,t)),this.dropped&&(n=this.dropped,this.dropped=!1),"original"!==this.options.helper||e.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!n||"valid"===this.options.revert&&n||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,n)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){o._trigger("stop",t)!==!1&&o._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var o=this.options,n=e.isFunction(o.helper)?e(o.helper.apply(this.element[0],[t])):"clone"===o.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===o.appendTo?this.element[0].parentNode:o.appendTo),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,o,n,i=this.options;return i.containment?"window"===i.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===i.containment?(this.containment=[0,0,e(document).width()-this.helperProportions.width-this.margins.left,(e(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):i.containment.constructor===Array?(this.containment=i.containment,void 0):("parent"===i.containment&&(i.containment=this.helper[0].parentNode),o=e(i.containment),n=o[0],n&&(t="hidden"!==o.css("overflow"),this.containment=[(parseInt(o.css("borderLeftWidth"),10)||0)+(parseInt(o.css("paddingLeft"),10)||0),(parseInt(o.css("borderTopWidth"),10)||0)+(parseInt(o.css("paddingTop"),10)||0),(t?Math.max(n.scrollWidth,n.offsetWidth):n.offsetWidth)-(parseInt(o.css("borderRightWidth"),10)||0)-(parseInt(o.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(n.scrollHeight,n.offsetHeight):n.offsetHeight)-(parseInt(o.css("borderBottomWidth"),10)||0)-(parseInt(o.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=o),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,o){o||(o=this.position);var n="absolute"===t?1:-1,i="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:i.scrollTop(),left:i.scrollLeft()}),{top:o.top+this.offset.relative.top*n+this.offset.parent.top*n-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*n,left:o.left+this.offset.relative.left*n+this.offset.parent.left*n-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*n}},_generatePosition:function(t){var o,n,i,r,s=this.options,l="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=t.pageX,c=t.pageY;return this.offset.scroll||(this.offset.scroll={top:l.scrollTop(),left:l.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(n=this.relative_container.offset(),o=[this.containment[0]+n.left,this.containment[1]+n.top,this.containment[2]+n.left,this.containment[3]+n.top]):o=this.containment,t.pageX-this.offset.click.left<o[0]&&(a=o[0]+this.offset.click.left),t.pageY-this.offset.click.top<o[1]&&(c=o[1]+this.offset.click.top),t.pageX-this.offset.click.left>o[2]&&(a=o[2]+this.offset.click.left),t.pageY-this.offset.click.top>o[3]&&(c=o[3]+this.offset.click.top)),s.grid&&(i=s.grid[1]?this.originalPageY+Math.round((c-this.originalPageY)/s.grid[1])*s.grid[1]:this.originalPageY,c=o?i-this.offset.click.top>=o[1]||i-this.offset.click.top>o[3]?i:i-this.offset.click.top>=o[1]?i-s.grid[1]:i+s.grid[1]:i,r=s.grid[0]?this.originalPageX+Math.round((a-this.originalPageX)/s.grid[0])*s.grid[0]:this.originalPageX,a=o?r-this.offset.click.left>=o[0]||r-this.offset.click.left>o[2]?r:r-this.offset.click.left>=o[0]?r-s.grid[0]:r+s.grid[0]:r)),{top:c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,o,n){return n=n||this._uiHash(),e.ui.plugin.call(this,t,[o,n]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,o,n)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,o){var n=e(this).data("ui-draggable"),i=n.options,r=e.extend({},o,{item:n.element});n.sortables=[],e(i.connectToSortable).each(function(){var o=e.data(this,"ui-sortable");o&&!o.options.disabled&&(n.sortables.push({instance:o,shouldRevert:o.options.revert}),o.refreshPositions(),o._trigger("activate",t,r))})},stop:function(t,o){var n=e(this).data("ui-draggable"),i=e.extend({},o,{item:n.element});e.each(n.sortables,function(){this.instance.isOver?(this.instance.isOver=0,n.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===n.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,i))})},drag:function(t,o){var n=e(this).data("ui-draggable"),i=this;e.each(n.sortables,function(){var r=!1,s=this;this.instance.positionAbs=n.positionAbs,this.instance.helperProportions=n.helperProportions,this.instance.offset.click=n.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(r=!0,e.each(n.sortables,function(){return this.instance.positionAbs=n.positionAbs,this.instance.helperProportions=n.helperProportions,this.instance.offset.click=n.offset.click,this!==s&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(s.instance.element[0],this.instance.element[0])&&(r=!1),r})),r?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(i).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return o.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=n.offset.click.top,this.instance.offset.click.left=n.offset.click.left,this.instance.offset.parent.left-=n.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=n.offset.parent.top-this.instance.offset.parent.top,n._trigger("toSortable",t),n.dropped=this.instance.element,n.currentItem=n.element,this.instance.fromOutside=n),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),n._trigger("fromSortable",t),n.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),o=e(this).data("ui-draggable").options;t.css("cursor")&&(o._cursor=t.css("cursor")),t.css("cursor",o.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,o){var n=e(o.helper),i=e(this).data("ui-draggable").options;n.css("opacity")&&(i._opacity=n.css("opacity")),n.css("opacity",i.opacity)},stop:function(t,o){var n=e(this).data("ui-draggable").options;n._opacity&&e(o.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var o=e(this).data("ui-draggable"),n=o.options,i=!1;o.scrollParent[0]!==document&&"HTML"!==o.scrollParent[0].tagName?(n.axis&&"x"===n.axis||(o.overflowOffset.top+o.scrollParent[0].offsetHeight-t.pageY<n.scrollSensitivity?o.scrollParent[0].scrollTop=i=o.scrollParent[0].scrollTop+n.scrollSpeed:t.pageY-o.overflowOffset.top<n.scrollSensitivity&&(o.scrollParent[0].scrollTop=i=o.scrollParent[0].scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(o.overflowOffset.left+o.scrollParent[0].offsetWidth-t.pageX<n.scrollSensitivity?o.scrollParent[0].scrollLeft=i=o.scrollParent[0].scrollLeft+n.scrollSpeed:t.pageX-o.overflowOffset.left<n.scrollSensitivity&&(o.scrollParent[0].scrollLeft=i=o.scrollParent[0].scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(t.pageY-e(document).scrollTop()<n.scrollSensitivity?i=e(document).scrollTop(e(document).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<n.scrollSensitivity&&(i=e(document).scrollTop(e(document).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(t.pageX-e(document).scrollLeft()<n.scrollSensitivity?i=e(document).scrollLeft(e(document).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<n.scrollSensitivity&&(i=e(document).scrollLeft(e(document).scrollLeft()+n.scrollSpeed)))),i!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(o,t)}}),e.ui.plugin.add("draggable","snap",{start:function(){var t=e(this).data("ui-draggable"),o=t.options;t.snapElements=[],e(o.snap.constructor!==String?o.snap.items||":data(ui-draggable)":o.snap).each(function(){var o=e(this),n=o.offset();this!==t.element[0]&&t.snapElements.push({item:this,width:o.outerWidth(),height:o.outerHeight(),top:n.top,left:n.left})})},drag:function(t,o){var n,i,r,s,l,a,c,u,g,h,d=e(this).data("ui-draggable"),p=d.options,f=p.snapTolerance,m=o.offset.left,y=m+d.helperProportions.width,_=o.offset.top,v=_+d.helperProportions.height;for(g=d.snapElements.length-1;g>=0;g--)l=d.snapElements[g].left,a=l+d.snapElements[g].width,c=d.snapElements[g].top,u=c+d.snapElements[g].height,l-f>y||m>a+f||c-f>v||_>u+f||!e.contains(d.snapElements[g].item.ownerDocument,d.snapElements[g].item)?(d.snapElements[g].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,t,e.extend(d._uiHash(),{snapItem:d.snapElements[g].item})),d.snapElements[g].snapping=!1):("inner"!==p.snapMode&&(n=Math.abs(c-v)<=f,i=Math.abs(u-_)<=f,r=Math.abs(l-y)<=f,s=Math.abs(a-m)<=f,n&&(o.position.top=d._convertPositionTo("relative",{top:c-d.helperProportions.height,left:0}).top-d.margins.top),i&&(o.position.top=d._convertPositionTo("relative",{top:u,left:0}).top-d.margins.top),r&&(o.position.left=d._convertPositionTo("relative",{top:0,left:l-d.helperProportions.width}).left-d.margins.left),s&&(o.position.left=d._convertPositionTo("relative",{top:0,left:a}).left-d.margins.left)),h=n||i||r||s,"outer"!==p.snapMode&&(n=Math.abs(c-_)<=f,i=Math.abs(u-v)<=f,r=Math.abs(l-m)<=f,s=Math.abs(a-y)<=f,n&&(o.position.top=d._convertPositionTo("relative",{top:c,left:0}).top-d.margins.top),i&&(o.position.top=d._convertPositionTo("relative",{top:u-d.helperProportions.height,left:0}).top-d.margins.top),r&&(o.position.left=d._convertPositionTo("relative",{top:0,left:l}).left-d.margins.left),s&&(o.position.left=d._convertPositionTo("relative",{top:0,left:a-d.helperProportions.width}).left-d.margins.left)),!d.snapElements[g].snapping&&(n||i||r||s||h)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,t,e.extend(d._uiHash(),{snapItem:d.snapElements[g].item})),d.snapElements[g].snapping=n||i||r||s||h)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,o=this.data("ui-draggable").options,n=e.makeArray(e(o.stack)).sort(function(t,o){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(o).css("zIndex"),10)||0)});n.length&&(t=parseInt(e(n[0]).css("zIndex"),10)||0,e(n).each(function(o){e(this).css("zIndex",t+o)}),this.css("zIndex",t+n.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,o){var n=e(o.helper),i=e(this).data("ui-draggable").options;n.css("zIndex")&&(i._zIndex=n.css("zIndex")),n.css("zIndex",i.zIndex)},stop:function(t,o){var n=e(this).data("ui-draggable").options;n._zIndex&&e(o.helper).css("zIndex",n._zIndex)}})}(jQuery),function(e){function t(e,t,o){return e>t&&t+o>e}e.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t=this.options,o=t.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(o)?o:function(e){return e.is(o)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},e.ui.ddmanager.droppables[t.scope]=e.ui.ddmanager.droppables[t.scope]||[],e.ui.ddmanager.droppables[t.scope].push(this),t.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var t=0,o=e.ui.ddmanager.droppables[this.options.scope];t<o.length;t++)o[t]===this&&o.splice(t,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,o){"accept"===t&&(this.accept=e.isFunction(o)?o:function(e){return e.is(o)}),e.Widget.prototype._setOption.apply(this,arguments)},_activate:function(t){var o=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),o&&this._trigger("activate",t,this.ui(o))
5
- },_deactivate:function(t){var o=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),o&&this._trigger("deactivate",t,this.ui(o))},_over:function(t){var o=e.ui.ddmanager.current;o&&(o.currentItem||o.element)[0]!==this.element[0]&&this.accept.call(this.element[0],o.currentItem||o.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(o)))},_out:function(t){var o=e.ui.ddmanager.current;o&&(o.currentItem||o.element)[0]!==this.element[0]&&this.accept.call(this.element[0],o.currentItem||o.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(o)))},_drop:function(t,o){var n=o||e.ui.ddmanager.current,i=!1;return n&&(n.currentItem||n.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"ui-droppable");return t.options.greedy&&!t.options.disabled&&t.options.scope===n.options.scope&&t.accept.call(t.element[0],n.currentItem||n.element)&&e.ui.intersect(n,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(i=!0,!1):void 0}),i?!1:this.accept.call(this.element[0],n.currentItem||n.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(n)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(e,o,n){if(!o.offset)return!1;var i,r,s=(e.positionAbs||e.position.absolute).left,l=s+e.helperProportions.width,a=(e.positionAbs||e.position.absolute).top,c=a+e.helperProportions.height,u=o.offset.left,g=u+o.proportions.width,h=o.offset.top,d=h+o.proportions.height;switch(n){case"fit":return s>=u&&g>=l&&a>=h&&d>=c;case"intersect":return u<s+e.helperProportions.width/2&&l-e.helperProportions.width/2<g&&h<a+e.helperProportions.height/2&&c-e.helperProportions.height/2<d;case"pointer":return i=(e.positionAbs||e.position.absolute).left+(e.clickOffset||e.offset.click).left,r=(e.positionAbs||e.position.absolute).top+(e.clickOffset||e.offset.click).top,t(r,h,o.proportions.height)&&t(i,u,o.proportions.width);case"touch":return(a>=h&&d>=a||c>=h&&d>=c||h>a&&c>d)&&(s>=u&&g>=s||l>=u&&g>=l||u>s&&l>g);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,o){var n,i,r=e.ui.ddmanager.droppables[t.options.scope]||[],s=o?o.type:null,l=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(n=0;n<r.length;n++)if(!(r[n].options.disabled||t&&!r[n].accept.call(r[n].element[0],t.currentItem||t.element))){for(i=0;i<l.length;i++)if(l[i]===r[n].element[0]){r[n].proportions.height=0;continue e}r[n].visible="none"!==r[n].element.css("display"),r[n].visible&&("mousedown"===s&&r[n]._activate.call(r[n],o),r[n].offset=r[n].element.offset(),r[n].proportions={width:r[n].element[0].offsetWidth,height:r[n].element[0].offsetHeight})}},drop:function(t,o){var n=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(n=this._drop.call(this,o)||n),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,o)))}),n},dragStart:function(t,o){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,o)})},drag:function(t,o){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,o),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var n,i,r,s=e.ui.intersect(t,this,this.options.tolerance),l=!s&&this.isover?"isout":s&&!this.isover?"isover":null;l&&(this.options.greedy&&(i=this.options.scope,r=this.element.parents(":data(ui-droppable)").filter(function(){return e.data(this,"ui-droppable").options.scope===i}),r.length&&(n=e.data(r[0],"ui-droppable"),n.greedyChild="isover"===l)),n&&"isover"===l&&(n.isover=!1,n.isout=!0,n._out.call(n,o)),this[l]=!0,this["isout"===l?"isover":"isout"]=!1,this["isover"===l?"_over":"_out"].call(this,o),n&&"isout"===l&&(n.isout=!1,n.isover=!0,n._over.call(n,o)))}})},dragStop:function(t,o){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,o)}}}(jQuery),function(){"use strict";function e(e){function t(t,n){var r,f,m=t==window,y=n&&void 0!==n.message?n.message:void 0;if(n=e.extend({},e.blockUI.defaults,n||{}),!n.ignoreIfBlocked||!e(t).data("blockUI.isBlocked")){if(n.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,n.overlayCSS||{}),r=e.extend({},e.blockUI.defaults.css,n.css||{}),n.onOverlayClick&&(n.overlayCSS.cursor="pointer"),f=e.extend({},e.blockUI.defaults.themedCSS,n.themedCSS||{}),y=void 0===y?n.message:y,m&&d&&o(window,{fadeOut:0}),y&&"string"!=typeof y&&(y.parentNode||y.jquery)){var _=y.jquery?y[0]:y,v={};e(t).data("blockUI.history",v),v.el=_,v.parent=_.parentNode,v.display=_.style.display,v.position=_.style.position,v.parent&&v.parent.removeChild(_)}e(t).data("blockUI.onUnblock",n.onUnblock);var E,B,C,k,b=n.baseZ;E=u||n.forceIframe?e('<iframe class="blockUI" style="z-index:'+b++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+n.iframeSrc+'"></iframe>'):e('<div class="blockUI" style="display:none"></div>'),B=n.theme?e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+b++ +';display:none"></div>'):e('<div class="blockUI blockOverlay" style="z-index:'+b++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),n.theme&&m?(k='<div class="blockUI '+n.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(b+10)+';display:none;position:fixed">',n.title&&(k+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(n.title||"&nbsp;")+"</div>"),k+='<div class="ui-widget-content ui-dialog-content"></div>',k+="</div>"):n.theme?(k='<div class="blockUI '+n.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(b+10)+';display:none;position:absolute">',n.title&&(k+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(n.title||"&nbsp;")+"</div>"),k+='<div class="ui-widget-content ui-dialog-content"></div>',k+="</div>"):k=m?'<div class="blockUI '+n.blockMsgClass+' blockPage" style="z-index:'+(b+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+n.blockMsgClass+' blockElement" style="z-index:'+(b+10)+';display:none;position:absolute"></div>',C=e(k),y&&(n.theme?(C.css(f),C.addClass("ui-widget-content")):C.css(r)),n.theme||B.css(n.overlayCSS),B.css("position",m?"fixed":"absolute"),(u||n.forceIframe)&&E.css("opacity",0);var A=[E,B,C],T=m?e("body"):e(t);e.each(A,function(){this.appendTo(T)}),n.theme&&n.draggable&&e.fn.draggable&&C.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var S=h&&(!e.support.boxModel||e("object,embed",m?null:t).length>0);if(g||S){if(m&&n.allowBodyStretch&&e.support.boxModel&&e("html,body").css("height","100%"),(g||!e.support.boxModel)&&!m)var R=a(t,"borderTopWidth"),w=a(t,"borderLeftWidth"),D=R?"(0 - "+R+")":0,I=w?"(0 - "+w+")":0;e.each(A,function(e,t){var o=t[0].style;if(o.position="absolute",2>e)m?o.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+n.quirksmodeOffsetHack+') + "px"'):o.setExpression("height",'this.parentNode.offsetHeight + "px"'),m?o.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):o.setExpression("width",'this.parentNode.offsetWidth + "px"'),I&&o.setExpression("left",I),D&&o.setExpression("top",D);else if(n.centerY)m&&o.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),o.marginTop=0;else if(!n.centerY&&m){var i=n.css&&n.css.top?parseInt(n.css.top,10):0,r="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+i+') + "px"';o.setExpression("top",r)}})}if(y&&(n.theme?C.find(".ui-widget-content").append(y):C.append(y),(y.jquery||y.nodeType)&&e(y).show()),(u||n.forceIframe)&&n.showOverlay&&E.show(),n.fadeIn){var F=n.onBlock?n.onBlock:c,L=n.showOverlay&&!y?F:c,N=y?F:c;n.showOverlay&&B._fadeIn(n.fadeIn,L),y&&C._fadeIn(n.fadeIn,N)}else n.showOverlay&&B.show(),y&&C.show(),n.onBlock&&n.onBlock();if(i(1,t,n),m?(d=C[0],p=e(n.focusableElements,d),n.focusInput&&setTimeout(s,20)):l(C[0],n.centerX,n.centerY),n.timeout){var O=setTimeout(function(){m?e.unblockUI(n):e(t).unblock(n)},n.timeout);e(t).data("blockUI.timeout",O)}}}function o(t,o){var r,s=t==window,l=e(t),a=l.data("blockUI.history"),c=l.data("blockUI.timeout");c&&(clearTimeout(c),l.removeData("blockUI.timeout")),o=e.extend({},e.blockUI.defaults,o||{}),i(0,t,o),null===o.onUnblock&&(o.onUnblock=l.data("blockUI.onUnblock"),l.removeData("blockUI.onUnblock"));var u;u=s?e("body").children().filter(".blockUI").add("body > .blockUI"):l.find(">.blockUI"),o.cursorReset&&(u.length>1&&(u[1].style.cursor=o.cursorReset),u.length>2&&(u[2].style.cursor=o.cursorReset)),s&&(d=p=null),o.fadeOut?(r=u.length,u.stop().fadeOut(o.fadeOut,function(){0===--r&&n(u,a,o,t)})):n(u,a,o,t)}function n(t,o,n,i){var r=e(i);if(!r.data("blockUI.isBlocked")){t.each(function(){this.parentNode&&this.parentNode.removeChild(this)}),o&&o.el&&(o.el.style.display=o.display,o.el.style.position=o.position,o.parent&&o.parent.appendChild(o.el),r.removeData("blockUI.history")),r.data("blockUI.static")&&r.css("position","static"),"function"==typeof n.onUnblock&&n.onUnblock(i,n);var s=e(document.body),l=s.width(),a=s[0].style.width;s.width(l-1).width(l),s[0].style.width=a}}function i(t,o,n){var i=o==window,s=e(o);if((t||(!i||d)&&(i||s.data("blockUI.isBlocked")))&&(s.data("blockUI.isBlocked",t),i&&n.bindEvents&&(!t||n.showOverlay))){var l="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";t?e(document).bind(l,n,r):e(document).unbind(l,r)}}function r(t){if("keydown"===t.type&&t.keyCode&&9==t.keyCode&&d&&t.data.constrainTabKey){var o=p,n=!t.shiftKey&&t.target===o[o.length-1],i=t.shiftKey&&t.target===o[0];if(n||i)return setTimeout(function(){s(i)},10),!1}var r=t.data,l=e(t.target);return l.hasClass("blockOverlay")&&r.onOverlayClick&&r.onOverlayClick(t),l.parents("div."+r.blockMsgClass).length>0?!0:0===l.parents().children().filter("div.blockUI").length}function s(e){if(p){var t=p[e===!0?p.length-1:0];t&&t.focus()}}function l(e,t,o){var n=e.parentNode,i=e.style,r=(n.offsetWidth-e.offsetWidth)/2-a(n,"borderLeftWidth"),s=(n.offsetHeight-e.offsetHeight)/2-a(n,"borderTopWidth");t&&(i.left=r>0?r+"px":"0"),o&&(i.top=s>0?s+"px":"0")}function a(t,o){return parseInt(e.css(t,o),10)||0}e.fn._fadeIn=e.fn.fadeIn;var c=e.noop||function(){},u=/MSIE/.test(navigator.userAgent),g=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),h=(document.documentMode||0,e.isFunction(document.createElement("div").style.setExpression));e.blockUI=function(e){t(window,e)},e.unblockUI=function(e){o(window,e)},e.growlUI=function(t,o,n,i){var r=e('<div class="growlUI"></div>');t&&r.append("<h1>"+t+"</h1>"),o&&r.append("<h2>"+o+"</h2>"),void 0===n&&(n=3e3);var s=function(t){t=t||{},e.blockUI({message:r,fadeIn:"undefined"!=typeof t.fadeIn?t.fadeIn:700,fadeOut:"undefined"!=typeof t.fadeOut?t.fadeOut:1e3,timeout:"undefined"!=typeof t.timeout?t.timeout:n,centerY:!1,showOverlay:!1,onUnblock:i,css:e.blockUI.defaults.growlCSS})};s();r.css("opacity");r.mouseover(function(){s({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop(),t.fadeTo(300,1)}).mouseout(function(){e(".blockMsg").fadeOut(1e3)})},e.fn.block=function(o){if(this[0]===window)return e.blockUI(o),this;var n=e.extend({},e.blockUI.defaults,o||{});return this.each(function(){var t=e(this);n.ignoreIfBlocked&&t.data("blockUI.isBlocked")||t.unblock({fadeOut:0})}),this.each(function(){"static"==e.css(this,"position")&&(this.style.position="relative",e(this).data("blockUI.static",!0)),this.style.zoom=1,t(this,o)})},e.fn.unblock=function(t){return this[0]===window?(e.unblockUI(t),this):this.each(function(){o(this,t)})},e.blockUI.version=2.66,e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var d=null,p=[]}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}(),function(){var e,t,o,n,i,r,s,l,a,c,u,g,h,d,p,f,m,y,_,v,E,B,C,k,b,A,T,S,R,w,D,I,F,L,N,O,x,M,P,H,U,$,G,W,V,K,j,z,X,Y,q,Q,Z,J,et,tt,ot,nt,it,rt=[].indexOf||function(e){for(var t=0,o=this.length;o>t;t++)if(t in this&&this[t]===e)return t;return-1},st=[].slice;O={},c=10,J=!1,p=null,I=null,b=["html"],$=null,h=null,nt=null,v=function(e){var t;return j(),a(),G(e),J&&(t=et(e))?(E(t),B(e)):B(e,Q)},et=function(e){var t;return t=O[e],t&&!t.transitionCacheDisabled?t:void 0},f=function(e){return null==e&&(e=!0),J=e},B=function(e,t){return null==t&&(t=function(){}),tt("page:fetch",{url:e}),null!=nt&&nt.abort(),nt=new XMLHttpRequest,nt.open("GET",X(e),!0),nt.setRequestHeader("Accept","text/html, application/xhtml+xml, application/xml"),nt.setRequestHeader("X-XHR-Referer",$),nt.onload=function(){var o;return tt("page:receive"),(o=H())?(u.apply(null,_(o)),W(),t(),tt("page:load")):document.location.href=e},nt.onloadend=function(){return nt=null},nt.onerror=function(){return document.location.href=e},nt.send()},E=function(e){return null!=nt&&nt.abort(),u(e.title,e.body),U(e),tt("page:restore")},a=function(){return O[p.url]={url:document.location.href,body:document.body,title:document.title,positionY:window.pageYOffset,positionX:window.pageXOffset,cachedAt:(new Date).getTime(),transitionCacheDisabled:null!=document.querySelector("[data-no-transition-cache]")},g(c)},M=function(e){return null==e&&(e=c),/^[\d]+$/.test(e)?c=parseInt(e):void 0},g=function(e){var t,o,n,i,r,s;for(n=Object.keys(O),t=n.map(function(e){return O[e].cachedAt}).sort(function(e,t){return t-e}),s=[],i=0,r=n.length;r>i;i++)o=n[i],O[o].cachedAt<=t[e]&&(tt("page:expire",O[o]),s.push(delete O[o]));return s},u=function(t,o,n,i){return document.title=t,document.documentElement.replaceChild(o,document.body),null!=n&&e.update(n),i&&m(),p=window.history.state,tt("page:change"),tt("page:update")},m=function(){var e,t,o,n,i,r,s,l,a,c,u,g;for(r=Array.prototype.slice.call(document.body.querySelectorAll('script:not([data-turbolinks-eval="false"])')),s=0,a=r.length;a>s;s++)if(i=r[s],""===(u=i.type)||"text/javascript"===u){for(t=document.createElement("script"),g=i.attributes,l=0,c=g.length;c>l;l++)e=g[l],t.setAttribute(e.name,e.value);t.appendChild(document.createTextNode(i.innerHTML)),n=i.parentNode,o=i.nextSibling,n.removeChild(i),n.insertBefore(t,o)}},Y=function(e){return e.innerHTML=e.innerHTML.replace(/<noscript[\S\s]*?<\/noscript>/gi,""),e},G=function(e){return e!==$?window.history.pushState({turbolinks:!0,url:e},"",e):void 0},W=function(){var e,t;return(e=nt.getResponseHeader("X-XHR-Redirected-To"))?(t=z(e)===e?document.location.hash:"",window.history.replaceState(p,"",e+t)):void 0},j=function(){return $=document.location.href},K=function(){return window.history.replaceState({turbolinks:!0,url:document.location.href},"",document.location.href)},V=function(){return p=window.history.state},U=function(e){return window.scrollTo(e.positionX,e.positionY)},Q=function(){return document.location.hash?document.location.href=document.location.href:window.scrollTo(0,0)},X=function(e){return z(e)},z=function(e){var t;return t=e,null==e.href&&(t=document.createElement("A"),t.href=e),t.href.replace(t.hash,"")},P=function(e){var t,o;return t=(null!=(o=document.cookie.match(new RegExp(e+"=(\\w+)")))?o[1].toUpperCase():void 0)||"",document.cookie=e+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/",t},tt=function(e,t){var o;return o=document.createEvent("Events"),t&&(o.data=t),o.initEvent(e,!0,!0),document.dispatchEvent(o)},x=function(){return!tt("page:before-change")},H=function(){var e,t,o,n,i,r;return t=function(){var e;return 400<=(e=nt.status)&&600>e},r=function(){return nt.getResponseHeader("Content-Type").match(/^(?:text\/html|application\/xhtml\+xml|application\/xml)(?:;|$)/)},n=function(e){var t,o,n,i,r;for(i=e.head.childNodes,r=[],o=0,n=i.length;n>o;o++)t=i[o],null!=("function"==typeof t.getAttribute?t.getAttribute("data-turbolinks-track"):void 0)&&r.push(t.getAttribute("src")||t.getAttribute("href"));return r},e=function(e){var t;return I||(I=n(document)),t=n(e),t.length!==I.length||i(t,I).length!==I.length},i=function(e,t){var o,n,i,r,s;for(e.length>t.length&&(r=[t,e],e=r[0],t=r[1]),s=[],n=0,i=e.length;i>n;n++)o=e[n],rt.call(t,o)>=0&&s.push(o);return s},!t()&&r()&&(o=h(nt.responseText),o&&!e(o))?o:void 0},_=function(t){var o;return o=t.querySelector("title"),[null!=o?o.textContent:void 0,Y(t.body),e.get(t).token,"runScripts"]},e={get:function(e){var t;return null==e&&(e=document),{node:t=e.querySelector('meta[name="csrf-token"]'),token:null!=t?"function"==typeof t.getAttribute?t.getAttribute("content"):void 0:void 0}},update:function(e){var t;return t=this.get(),null!=t.token&&null!=e&&t.token!==e?t.node.setAttribute("content",e):void 0}},n=function(){var e,t,o,n,i,r;t=function(e){return(new DOMParser).parseFromString(e,"text/html")},e=function(e){var t;return t=document.implementation.createHTMLDocument(""),t.documentElement.innerHTML=e,t},o=function(e){var t;return t=document.implementation.createHTMLDocument(""),t.open("replace"),t.write(e),t.close(),t};try{if(window.DOMParser)return i=t("<html><body><p>test"),t}catch(s){return n=s,i=e("<html><body><p>test"),e}finally{if(1!==(null!=i?null!=(r=i.body)?r.childNodes.length:void 0:void 0))return o}},S=function(e){return e.defaultPrevented?void 0:(document.removeEventListener("click",C,!1),document.addEventListener("click",C,!1))},C=function(e){var t;return e.defaultPrevented||(t=y(e),"A"!==t.nodeName||A(e,t))?void 0:(x()||ot(t.href),e.preventDefault())},y=function(e){var t;for(t=e.target;t.parentNode&&"A"!==t.nodeName;)t=t.parentNode;return t},d=function(e){return location.protocol!==e.protocol||location.host!==e.host},o=function(e){return(e.hash&&z(e))===z(location)||e.href===location.href+"#"},L=function(e){var t;return t=z(e),t.match(/\.[a-z]+(\?.*)?$/g)&&!t.match(new RegExp("\\.(?:"+b.join("|")+")?(\\?.*)?$","g"))},F=function(e){for(var t;!t&&e!==document;)t=null!=e.getAttribute("data-no-turbolink"),e=e.parentNode;return t},Z=function(e){return 0!==e.target.length},N=function(e){return e.which>1||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey},A=function(e,t){return d(t)||o(t)||L(t)||F(t)||Z(t)||N(e)},t=function(){var e,t,o,n;for(t=1<=arguments.length?st.call(arguments,0):[],o=0,n=t.length;n>o;o++)e=t[o],b.push(e);return b},R=function(){return document.addEventListener("DOMContentLoaded",function(){return tt("page:change"),tt("page:update")},!0)},D=function(){return"undefined"!=typeof jQuery?jQuery(document).on("ajaxSuccess",function(e,t){return jQuery.trim(t.responseText)?tt("page:update"):void 0}):void 0},w=function(e){var t,o;return(null!=(o=e.state)?o.turbolinks:void 0)?(t=O[e.state.url])?(a(),E(t)):ot(e.target.location.href):void 0},T=function(){return K(),V(),h=n(),document.addEventListener("click",S,!0),window.addEventListener("popstate",w,!1)},k=void 0!==window.history.state||navigator.userAgent.match(/Firefox\/26/),s=window.history&&window.history.pushState&&window.history.replaceState&&k,i=!navigator.userAgent.match(/CriOS\//),q="GET"===(it=P("request_method"))||""===it,l=s&&i&&q,r=document.addEventListener&&document.createEvent,r&&(R(),D()),l?(ot=v,T()):ot=function(e){return document.location.href=e},this.Turbolinks={visit:ot,pagesCached:M,enableTransitionCache:f,allowLinkExtensions:t,supported:l}}.call(this),function(){function e(e){var t=function(e,t){return i("",e,t)},r=o;e&&(o[e]||(o[e]={}),r=o[e]),r.define&&r.define.packaged||(n.original=r.define,r.define=n,r.define.packaged=!0),r.require&&r.require.packaged||(i.original=r.require,r.require=t,r.require.packaged=!0)}var t="",o=function(){return this}();if(t||"undefined"==typeof requirejs){var n=function(e,t,o){return"string"!=typeof e?(n.original?n.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace()),void 0):(2==arguments.length&&(o=t),n.modules||(n.modules={},n.payloads={}),n.payloads[e]=o,n.modules[e]=null,void 0)},i=function(e,t,o){if("[object Array]"===Object.prototype.toString.call(t)){for(var n=[],r=0,l=t.length;l>r;++r){var a=s(e,t[r]);if(!a&&i.original)return i.original.apply(window,arguments);n.push(a)}o&&o.apply(null,n)}else{if("string"==typeof t){var c=s(e,t);return!c&&i.original?i.original.apply(window,arguments):(o&&o(),c)}if(i.original)return i.original.apply(window,arguments)}},r=function(e,t){if(-1!==t.indexOf("!")){var o=t.split("!");return r(e,o[0])+"!"+r(e,o[1])}if("."==t.charAt(0)){var n=e.split("/").slice(0,-1).join("/");for(t=n+"/"+t;-1!==t.indexOf(".")&&i!=t;){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,t){t=r(e,t);var o=n.modules[t];if(!o){if(o=n.payloads[t],"function"==typeof o){var s={},l={id:t,uri:"",exports:s,packaged:!0},a=function(e,o){return i(t,e,o)},c=o(a,s,l);s=c||l.exports,n.modules[t]=s,delete n.payloads[t]}o=n.modules[t]=s||o}return o};e(t)}}(),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/multi_select","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/mode/folding/fold_mode","ace/theme/textmate","ace/config"],function(e,t){e("./lib/fixoldbrowsers");var o=e("./lib/dom"),n=e("./lib/event"),i=e("./editor").Editor,r=e("./edit_session").EditSession,s=e("./undomanager").UndoManager,l=e("./virtual_renderer").VirtualRenderer,a=e("./multi_select").MultiSelect;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./mode/folding/fold_mode"),e("./theme/textmate"),t.config=e("./config"),t.require=e,t.edit=function(e){if("string"==typeof e){var r=e,e=document.getElementById(r);if(!e)throw new Error("ace.edit can't find div #"+r)}if(e.env&&e.env.editor instanceof i)return e.env.editor;var s=t.createEditSession(o.getInnerText(e));e.innerHTML="";var c=new i(new l(e));new a(c),c.setSession(s);var u={document:s,editor:c,onResize:c.resize.bind(c,null)};return n.addListener(window,"resize",u.onResize),c.on("destroy",function(){n.removeListener(window,"resize",u.onResize)}),e.env=c.env=u,c},t.createEditSession=function(e,t){var o=new r(e,t);return o.setUndoManager(new s),o},t.EditSession=r,t.UndoManager=s}),define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e){e("./regexp"),e("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(){function e(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function t(e,t,o){if(Array.prototype.indexOf)return e.indexOf(t,o);for(var n=o||0;n<e.length;n++)if(e[n]===t)return n;return-1}var o={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},n=void 0===o.exec.call(/()??/,"")[1],i=function(){var e=/^/g;return o.test.call(e,""),!e.lastIndex}();i&&n||(RegExp.prototype.exec=function(r){var s,l,a=o.exec.apply(this,arguments);if("string"==typeof r&&a){if(!n&&a.length>1&&t(a,"")>-1&&(l=RegExp(this.source,o.replace.call(e(this),"g","")),o.replace.call(r.slice(a.index),l,function(){for(var e=1;e<arguments.length-2;e++)void 0===arguments[e]&&(a[e]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(var c=1;c<a.length;c++)s=this._xregexp.captureNames[c-1],s&&(a[s]=a[c]);!i&&this.global&&!a[0].length&&this.lastIndex>a.index&&this.lastIndex--}return a},i||(RegExp.prototype.test=function(e){var t=o.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),define("ace/lib/es5-shim",["require","exports","module"],function(){function e(){}function t(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function o(e){return e=+e,e!==e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}Function.prototype.bind||(Function.prototype.bind=function(t){var o=this;if("function"!=typeof o)throw new TypeError("Function.prototype.bind called on incompatible "+o);var n=g.call(arguments,1),i=function(){if(this instanceof i){var e=o.apply(this,n.concat(g.call(arguments)));return Object(e)===e?e:this}return o.apply(t,n.concat(g.call(arguments)))};return o.prototype&&(e.prototype=o.prototype,i.prototype=new e,e.prototype=null),i});var n,i,r,s,l,a=Function.prototype.call,c=Array.prototype,u=Object.prototype,g=c.slice,h=a.bind(u.toString),d=a.bind(u.hasOwnProperty);if((l=d(u,"__defineGetter__"))&&(n=a.bind(u.__defineGetter__),i=a.bind(u.__defineSetter__),r=a.bind(u.__lookupGetter__),s=a.bind(u.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t,o=[];return o.splice.apply(o,e(20)),o.splice.apply(o,e(26)),t=o.length,o.splice(5,0,"XXX"),t+1==o.length,t+1==o.length?!0:void 0}()){var p=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?p.apply(this,[void 0===e?0:e,void 0===t?this.length-e:t].concat(g.call(arguments,2))):[]}}else Array.prototype.splice=function(e,t){var o=this.length;e>0?e>o&&(e=o):void 0==e?e=0:0>e&&(e=Math.max(o+e,0)),o>e+t||(t=o-e);var n=this.slice(e,e+t),i=g.call(arguments,2),r=i.length;if(e===o)r&&this.push.apply(this,i);else{var s=Math.min(t,o-e),l=e+s,a=l+r-s,c=o-l,u=o-s;if(l>a)for(var h=0;c>h;++h)this[a+h]=this[l+h];else if(a>l)for(h=c;h--;)this[a+h]=this[l+h];if(r&&e===u)this.length=u,this.push.apply(this,i);else for(this.length=u+r,h=0;r>h;++h)this[e+h]=i[h]}return n};Array.isArray||(Array.isArray=function(e){return"[object Array]"==h(e)});var f=Object("a"),m="a"!=f[0]||!(0 in f);if(Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=arguments[1],i=-1,r=o.length>>>0;if("[object Function]"!=h(e))throw new TypeError;for(;++i<r;)i in o&&e.call(n,o[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0,i=Array(n),r=arguments[1];if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");for(var s=0;n>s;s++)s in o&&(i[s]=e.call(r,o[s],s,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t,o=L(this),n=m&&"[object String]"==h(this)?this.split(""):o,i=n.length>>>0,r=[],s=arguments[1];if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");for(var l=0;i>l;l++)l in n&&(t=n[l],e.call(s,t,l,o)&&r.push(t));return r}),Array.prototype.every||(Array.prototype.every=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0,i=arguments[1];if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");for(var r=0;n>r;r++)if(r in o&&!e.call(i,o[r],r,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0,i=arguments[1];if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");for(var r=0;n>r;r++)if(r in o&&e.call(i,o[r],r,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0;if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var i,r=0;if(arguments.length>=2)i=arguments[1];else for(;;){if(r in o){i=o[r++];break}if(++r>=n)throw new TypeError("reduce of empty array with no initial value")}for(;n>r;r++)r in o&&(i=e.call(void 0,i,o[r],r,t));return i}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0;if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var i,r=n-1;if(arguments.length>=2)i=arguments[1];else for(;;){if(r in o){i=o[r--];break}if(--r<0)throw new TypeError("reduceRight of empty array with no initial value")}do r in this&&(i=e.call(void 0,i,o[r],r,t));while(r--);return i}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var t=m&&"[object String]"==h(this)?this.split(""):L(this),n=t.length>>>0;if(!n)return-1;var i=0;for(arguments.length>1&&(i=o(arguments[1])),i=i>=0?i:Math.max(0,n+i);n>i;i++)if(i in t&&t[i]===e)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(e){var t=m&&"[object String]"==h(this)?this.split(""):L(this),n=t.length>>>0;if(!n)return-1;var i=n-1;for(arguments.length>1&&(i=Math.min(i,o(arguments[1]))),i=i>=0?i:n-Math.abs(i);i>=0;i--)if(i in t&&e===t[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:u)}),!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError(y+e);if(d(e,t)){var o,n,i;if(o={enumerable:!0,configurable:!0},l){var a=e.__proto__;e.__proto__=u;var n=r(e,t),i=s(e,t);if(e.__proto__=a,n||i)return n&&(o.get=n),i&&(o.set=i),o}return o.value=e[t],o}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),!Object.create){var _;_=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var o;if(null===e)o=_();else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var n=function(){};n.prototype=e,o=new n,o.__proto__=e}return void 0!==t&&Object.defineProperties(o,t),o}}if(Object.defineProperty){var v=t({}),E="undefined"==typeof document||t(document.createElement("div"));if(!v||!E)var B=Object.defineProperty}if(!Object.defineProperty||B){var C="Property description must be an object: ",k="Object.defineProperty called on non-object: ",b="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,o){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError(k+e);if("object"!=typeof o&&"function"!=typeof o||null===o)throw new TypeError(C+o);if(B)try{return B.call(Object,e,t,o)}catch(a){}if(d(o,"value"))if(l&&(r(e,t)||s(e,t))){var c=e.__proto__;e.__proto__=u,delete e[t],e[t]=o.value,e.__proto__=c}else e[t]=o.value;else{if(!l)throw new TypeError(b);d(o,"get")&&n(e,t,o.get),d(o,"set")&&i(e,t,o.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var o in t)d(t,o)&&Object.defineProperty(e,o,t[o]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(A){Object.freeze=function(e){return function(t){return"function"==typeof t?t:e(t)
6
- }}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;for(var t="";d(e,t);)t+="?";e[t]=!0;var o=d(e,t);return delete e[t],o}),!Object.keys){var T=!0,S=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],R=S.length;for(var w in{toString:null})T=!1;Object.keys=function N(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.keys called on a non-object");var N=[];for(var t in e)d(e,t)&&N.push(t);if(T)for(var o=0,n=R;n>o;o++){var i=S[o];d(e,i)&&N.push(i)}return N}}Date.now||(Date.now=function(){return(new Date).getTime()});var D=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||D.trim()){D="["+D+"]";var I=new RegExp("^"+D+D+"*"),F=new RegExp(D+D+"*$");String.prototype.trim=function(){return String(this).replace(I,"").replace(F,"")}}var L=function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),define("ace/lib/dom",["require","exports","module"],function(e,t){if("undefined"!=typeof document){var o="http://www.w3.org/1999/xhtml";t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||o,e):document.createElement(e)},t.hasCssClass=function(e,t){var o=e.className.split(/\s+/g);return-1!==o.indexOf(t)},t.addCssClass=function(e,o){t.hasCssClass(e,o)||(e.className+=" "+o)},t.removeCssClass=function(e,t){for(var o=e.className.split(/\s+/g);;){var n=o.indexOf(t);if(-1==n)break;o.splice(n,1)}e.className=o.join(" ")},t.toggleCssClass=function(e,t){for(var o=e.className.split(/\s+/g),n=!0;;){var i=o.indexOf(t);if(-1==i)break;n=!1,o.splice(i,1)}return n&&o.push(t),e.className=o.join(" "),n},t.setCssClass=function(e,o,n){n?t.addCssClass(e,o):t.removeCssClass(e,o)},t.hasCssString=function(e,t){var o,n=0;if(t=t||document,t.createStyleSheet&&(o=t.styleSheets)){for(;n<o.length;)if(o[n++].owningElement.id===e)return!0}else if(o=t.getElementsByTagName("style"))for(;n<o.length;)if(o[n++].id===e)return!0;return!1},t.importCssString=function(e,n,i){if(i=i||document,n&&t.hasCssString(n,i))return null;var r;i.createStyleSheet?(r=i.createStyleSheet(),r.cssText=e,n&&(r.owningElement.id=n)):(r=i.createElementNS?i.createElementNS(o,"style"):i.createElement("style"),r.appendChild(i.createTextNode(e)),n&&(r.id=n),t.getDocumentHead(i).appendChild(r))},t.importCssStylsheet=function(e,o){if(o.createStyleSheet)o.createStyleSheet(e);else{var n=t.createElement("link");n.rel="stylesheet",n.href=e,t.getDocumentHead(o).appendChild(n)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight},void 0!==window.pageYOffset?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),t.computedStyle=window.getComputedStyle?function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.scrollbarWidth=function(e){var o=t.createElement("ace_inner");o.style.width="100%",o.style.minWidth="0px",o.style.height="200px",o.style.display="block";var n=t.createElement("ace_outer"),i=n.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",n.appendChild(o);var r=e.documentElement;r.appendChild(n);var s=o.offsetWidth;i.overflow="scroll";var l=o.offsetWidth;return s==l&&(l=n.clientWidth),r.removeChild(n),s-l},t.setInnerHtml=function(e,t){var o=e.cloneNode(!1);return o.innerHTML=t,e.parentNode.replaceChild(o,e),o},"textContent"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),t.getParentWindow=function(e){return e.defaultView||e.parentWindow}}}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent","ace/lib/dom"],function(e,t){function o(e,t,o){var l=0;if(l=!i.isOpera||"KeyboardEvent"in window||!i.isMac?0|(t.ctrlKey?1:0)|(t.altKey?2:0)|(t.shiftKey?4:0)|(t.metaKey?8:0):0|(t.metaKey?1:0)|(t.altKey?2:0)|(t.shiftKey?4:0)|(t.ctrlKey?8:0),!i.isMac&&r){if((r[91]||r[92])&&(l|=8),r.altGr){if(3==(3&l))return;r.altGr=0}if(18===o||17===o){var a=t.location||t.keyLocation;if(17===o&&1===a)s=t.timeStamp;else if(18===o&&3===l&&2===a){var c=-s;s=t.timeStamp,c+=s,3>c&&(r.altGr=!0)}}}if(o in n.MODIFIER_KEYS){switch(n.MODIFIER_KEYS[o]){case"Alt":l=2;break;case"Shift":l=4;break;case"Ctrl":l=1;break;default:l=8}o=0}return 8&l&&(91===o||93===o)&&(o=0),l||13!==o||!t.location&&3!==t.keyLocation||(e(t,l,-o),!t.defaultPrevented)?l||o in n.FUNCTION_KEYS||o in n.PRINTABLE_KEYS?e(t,l,o):!1:void 0}{var n=e("./keys"),i=e("./useragent");e("./dom")}t.addListener=function(e,t,o){if(e.addEventListener)return e.addEventListener(t,o,!1);if(e.attachEvent){var n=function(){o.call(e,window.event)};o._wrapper=n,e.attachEvent("on"+t,n)}},t.removeListener=function(e,t,o){return e.removeEventListener?e.removeEventListener(t,o,!1):(e.detachEvent&&e.detachEvent("on"+t,o._wrapper||o),void 0)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||e.ctrlKey&&i.isMac?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,o,n){function i(e){o&&o(e),n&&n(e),t.removeListener(document,"mousemove",o,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}t.addListener(document,"mousemove",o,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0)},t.addMouseWheelListener=function(e,o){if("onmousewheel"in e){var n=8;t.addListener(e,"mousewheel",function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/n,e.wheelY=-e.wheelDeltaY/n):(e.wheelX=0,e.wheelY=-e.wheelDelta/n),o(e)})}else"onwheel"in e?t.addListener(e,"wheel",function(e){e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0),o(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),o(e)})},t.addMultiMouseDownListener=function(e,o,n,r){var s,l,a,c=0,u={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){if(0!=t.getButton(e)?c=0:e.detail>1?(c++,c>4&&(c=1)):c=1,i.isIE){var o=Math.abs(e.clientX-s)>5||Math.abs(e.clientY-l)>5;o&&(c=1),1==c&&(s=e.clientX,l=e.clientY)}if(n[r]("mousedown",e),c>4)c=0;else if(c>1)return n[r](u[c],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){c=2,a&&clearTimeout(a),a=setTimeout(function(){a=null},o[c-1]||600),n[r]("mousedown",e),n[r](u[c],e)})};var r=null,s=0;if(t.addCommandKeyListener=function(e,n){var s=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var l=null;s(e,"keydown",function(e){l=e.keyCode}),s(e,"keypress",function(e){return o(n,e,l)})}else{var a=null;s(e,"keydown",function(e){r[e.keyCode]=!0;var t=o(n,e,e.keyCode);return a=e.defaultPrevented,t}),s(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),s(e,"keyup",function(e){r[e.keyCode]=null}),r||(r=Object.create(null),s(window,"focus",function(){r=Object.create(null)}))}},window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,o){o=o||window;var n="zero-timeout-message-"+l;t.addListener(o,"message",function i(r){r.data==n&&(t.stopPropagation(r),t.removeListener(o,"message",i),e())}),o.postMessage(n,"*")}}t.nextFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,t.nextFrame=t.nextFrame?t.nextFrame.bind(window):function(e){setTimeout(e,17)}}),define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t){var o=e("./oop"),n=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,meta:8,command:8,cmd: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","-13":"NumpadEnter",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 t in e.FUNCTION_KEYS){var n=e.FUNCTION_KEYS[t].toLowerCase();e[n]=parseInt(t,10)}return o.mixin(e,e.MODIFIER_KEYS),o.mixin(e,e.PRINTABLE_KEYS),o.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",e}();o.mixin(t,n),t.keyCodeToString=function(e){return(n[e]||String.fromCharCode(e)).toLowerCase()}}),define("ace/lib/oop",["require","exports","module"],function(e,t){t.inherits=function(){var e=function(){};return function(t,o){e.prototype=o.prototype,t.super_=o.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var o in t)e[o]=t[o];return e},t.implement=function(e,o){t.mixin(e,o)}}),define("ace/lib/useragent",["require","exports","module"],function(e,t){if(t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS},"object"==typeof navigator){var o=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),n=navigator.userAgent;t.isWin="win"==o,t.isMac="mac"==o,t.isLinux="linux"==o,t.isIE=("Microsoft Internet Explorer"==navigator.appName||navigator.appName.indexOf("MSAppHost")>=0)&&parseFloat(navigator.userAgent.match(/MSIE ([0-9]+[\.0-9]+)/)[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=window.controllers&&"Gecko"===window.navigator.product,t.isOldGecko=t.isGecko&&parseInt((navigator.userAgent.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(n.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(n.split(" Chrome/")[1])||void 0,t.isAIR=n.indexOf("AdobeAIR")>=0,t.isIPad=n.indexOf("iPad")>=0,t.isTouchPad=n.indexOf("TouchPad")>=0}}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","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","ace/config"],function(e,t){e("./lib/fixoldbrowsers");var o=e("./lib/oop"),n=e("./lib/dom"),i=e("./lib/lang"),r=e("./lib/useragent"),s=e("./keyboard/textinput").TextInput,l=e("./mouse/mouse_handler").MouseHandler,a=e("./mouse/fold_handler").FoldHandler,c=e("./keyboard/keybinding").KeyBinding,u=e("./edit_session").EditSession,g=e("./search").Search,h=e("./range").Range,d=e("./lib/event_emitter").EventEmitter,p=e("./commands/command_manager").CommandManager,f=e("./commands/default_commands").commands,m=e("./config"),y=function(e,t){var o=e.getContainerElement();this.container=o,this.renderer=e,this.commands=new p(r.isMac?"mac":"win",f),this.textInput=new s(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new c(this),this.$mouseHandler=new l(this),new a(this),this.$blockScrolling=0,this.$search=(new g).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=i.delayedCall(function(){this._signal("input",{}),this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||new u("")),m.resetOptions(this),m._emit("editor",this)};(function(){o.implement(this,d),this.$initOperationListeners=function(){function e(e){return e[e.length-1]}this.selections=[],this.commands.on("exec",function(t){this.startOperation(t);var o=t.command;if("fileJump"==o.group){var n=this.prevOp;n&&"fileJump"==n.command.group||(this.lastFileJumpPos=e(this.selections))}else this.lastFileJumpPos=null}.bind(this),!0),this.commands.on("afterExec",function(e){var t=e.command;return"fileJump"==t.group&&this.lastFileJumpPos&&!this.curOp.selectionChanged?(this.selection.fromJSON(this.lastFileJumpPos),void 0):(this.endOperation(e),void 0)}.bind(this),!0),this.$opResetTimer=i.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args},this.selections.push(this.selection.toJSON())},this.endOperation=function(){this.curOp&&(this.prevOp=this.curOp,this.curOp=null)},this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,o=["backspace","del","insertstring"],n=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var i=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),n=n&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else n=n&&-1!==o.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(n=!1),n?this.session.mergeUndoDeltas=!0:-1!==o.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e){if(e)if("string"==typeof e){this.$keybindingId=e;var t=this;m.loadModule(["keybinding",e],function(o){t.$keybindingId==e&&t.keyBinding.setKeyboardHandler(o&&o.handler)})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e);else this.keyBinding.setKeyboardHandler(null)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){if(this.session){var t=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("changeScrollLeft",this.$onScrollLeftChange);var o=this.session.getSelection();o.removeEventListener("changeCursor",this.$onCursorChange),o.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.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=e.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:e,oldSession:t})}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e){this.renderer.setTheme(e)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||n.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session.findMatchingBracket(e.getCursorPosition());if(t)var o=new h(t.row,t.column,t.row,t.column+1);else if(e.session.$mode.getMatching)var o=e.session.$mode.getMatching(e.session);o&&(e.session.$bracketHighlight=e.session.addMarker(o,"ace_bracket","text"))},50)}},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus"))},this.onBlur=function(){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur"))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t,o=e.data,n=o.range;t=n.start.row==n.end.row&&"insertLines"!=o.action&&"removeLines"!=o.action?n.end.row:1/0,this.renderer.updateLines(n.start.row,t),this._emit("change",e),this.$cursorChange()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||this.renderer.scrollCursorIntoView(),this.$highlightBrackets(),this.$updateHighlightActiveLine(),this._emit("changeSelection")},this.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),this.renderer.$maxLines&&1===this.session.getLength()&&(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var o=new h(e.row,e.column,e.row,1/0);o.id=t.addMarker(o,"ace_active-line","screenLine"),t.$highlightLineMarker=o}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._emit("changeBackMarker"))},this.onSelectionChange=function(){var e=this.session;if(e.$selectionMarker&&e.removeMarker(e.$selectionMarker),e.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var t=this.selection.getRange(),o=this.getSelectionStyle();e.$selectionMarker=e.addMarker(t,"ace_selection",o)}var n=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(n),this._emit("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var o=t.start.column-1,n=t.end.column+1,i=e.getLine(t.start.row),r=i.length,s=i.substring(Math.max(o,0),Math.min(n,r));if(!(o>=0&&/^[\w\d]/.test(s)||r>=n&&/[\w\d]$/.test(s))&&(s=i.substring(t.start.column,t.end.column),/^[\w\d]+$/.test(s))){var l=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s});return l}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e){this.$readOnly||(this._emit("paste",e),this.insert(e))},this.execCommand=function(e,t){this.commands.exec(e,this,t)},this.insert=function(e){var t=this.session,o=t.getMode(),n=this.getCursorPosition();if(this.getBehavioursEnabled()){var i=o.transformAction(t.getState(n.row),"insertion",this,t,e);i&&(e!==i.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=i.text)}if(" "==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()){var r=new h.fromPoints(n,n);r.end.column+=e.length,this.session.remove(r)}}else{var r=this.getSelectionRange();n=this.session.remove(r),this.clearSelection()}if("\n"==e||"\r\n"==e){var s=t.getLine(n.row);if(n.column>s.search(/\S|$/)){var l=s.substr(n.column).search(/\S|$/);t.doc.removeInLine(n.row,n.column,n.column+l)}}this.clearSelection();{var a=n.column,c=t.getState(n.row),s=t.getLine(n.row),u=o.checkOutdent(c,s,e);t.insert(n,e)}if(i&&i.selection&&(2==i.selection.length?this.selection.setSelectionRange(new h(n.row,a+i.selection[0],n.row,a+i.selection[1])):this.selection.setSelectionRange(new h(n.row+i.selection[0],i.selection[1],n.row+i.selection[2],i.selection[3]))),t.getDocument().isNewLine(e)){var g=o.getNextLineIndent(c,s.slice(0,n.column),t.getTabString());t.insert({row:n.row+1,column:0},g)}u&&o.autoOutdent(c,t,n.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,o){this.keyBinding.onCommandKey(e,t,o)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var o=this.session,n=o.getState(t.start.row),i=o.getMode().transformAction(n,"deletion",this,o,t);if(0==t.end.column){var r=o.getTextRange(t);if("\n"==r[r.length-1]){var s=o.getLine(t.end.row);/^\s+$/.test(s)&&(t.end.column=s.length)}}i&&(t=i)}this.session.remove(t),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 e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var o,n,i=this.session.getLine(e.row);t<i.length?(o=i.charAt(t)+i.charAt(t-1),n=new h(e.row,t-1,e.row,t+1)):(o=i.charAt(t-1)+i.charAt(t-2),n=new h(e.row,t-2,e.row,t)),this.session.replace(n,o)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),o=this.session.getTextRange(t);this.session.replace(t,o.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),o=this.session.getTextRange(t);this.session.replace(t,o.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var o=this.$getSelectedRows();return e.indentRows(o.first,o.last," "),void 0}if(t.start.column<t.end.column){var n=e.getTextRange(t);if(!/^\s+$/.test(n)){var o=this.$getSelectedRows();return e.indentRows(o.first,o.last," "),void 0}}var r=e.getLine(t.start.row),s=t.start,l=e.getTabSize(),a=e.documentToScreenColumn(s.row,s.column);if(this.session.getUseSoftTabs())var c=l-a%l,u=i.stringRepeat(" ",c);else{for(var c=a%l;" "==r[t.start.column]&&c;)t.start.column--,c--;this.selection.setSelectionRange(t),u=" "}return this.insert(u)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last," ")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,o=[];for(i=e.first;i<=e.last;i++)o.push(t.getLine(i));o.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});for(var n=new h(0,0,0,0),i=e.first;i<=e.last;i++){var r=t.getLine(i);n.start.row=i,n.end.row=i,n.end.column=r.length,t.replace(n,o[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),o=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,o,e)},this.getNumberAt=function(e,t){var o=/[\-]?[0-9]+(?:\.[0-9]+)?/g;o.lastIndex=0;for(var n=this.session.getLine(e);o.lastIndex<t;){var i=o.exec(n);if(i.index<=t&&i.index+i[0].length>=t){var r={value:i[0],start:i.index,end:i.index+i[0].length};return r}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,o=this.selection.getCursor().column,n=new h(t,o-1,t,o),i=this.session.getTextRange(n);if(!isNaN(parseFloat(i))&&isFinite(i)){var r=this.getNumberAt(t,o);if(r){var s=r.value.indexOf(".")>=0?r.start+r.value.indexOf(".")+1:r.end,l=r.start+r.value.length-s,a=parseFloat(r.value);a*=Math.pow(10,l),e*=s!==r.end&&s>o?Math.pow(10,r.end-o-1):Math.pow(10,r.end-o),a+=e,a/=Math.pow(10,l);var c=a.toFixed(l),u=new h(t,r.start,t,r.end);this.session.replace(u,c),this.moveCursorTo(t,Math.max(r.start+1,o+c.length-r.value.length))}}},this.removeLines=function(){var e,t=this.$getSelectedRows();
7
- e=0===t.first||t.last+1<this.session.getLength()?new h(t.first,0,t.last+1,0):new h(t.first-1,this.session.getLine(t.first-1).length,t.last,this.session.getLine(t.last).length),this.session.remove(e),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,o=e.getRange(),n=e.isBackwards();if(o.isEmpty()){var i=o.start.row;t.duplicateLines(i,i)}else{var r=n?o.start:o.end,s=t.insert(r,t.getTextRange(o),!1);o.start=r,o.end=s,e.setSelectionRange(o,n)}},this.moveLinesDown=function(){this.$moveLines(function(e,t){return this.session.moveLinesDown(e,t)})},this.moveLinesUp=function(){this.$moveLines(function(e,t){return this.session.moveLinesUp(e,t)})},this.moveText=function(e,t,o){return this.session.moveText(e,t,o)},this.copyLinesUp=function(){this.$moveLines(function(e,t){return this.session.duplicateLines(e,t),0})},this.copyLinesDown=function(){this.$moveLines(function(e,t){return this.session.duplicateLines(e,t)})},this.$moveLines=function(e){var t=this.selection;if(!t.inMultiSelectMode||this.inVirtualSelectionMode){var o=t.toOrientedRange(),n=this.$getSelectedRows(o),i=e.call(this,n.first,n.last);o.moveBy(i,0),t.fromOrientedRange(o)}else{var r=t.rangeList.ranges;t.rangeList.detach(this.session);for(var s=r.length;s--;){for(var l=s,n=r[s].collapseRows(),a=n.end.row,c=n.start.row;s--;){var n=r[s].collapseRows();if(!(c-n.end.row<=1))break;c=n.end.row}s++;for(var i=e.call(this,c,a);l>=s;)r[l].moveBy(i,0),l--}t.fromOrientedRange(t.ranges[0]),t.rangeList.attach(this.session)}},this.$getSelectedRows=function(){var e=this.getSelectionRange().collapseRows();return{first:e.start.row,last:e.end.row}},this.onCompositionStart=function(){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var o=this.renderer,n=this.renderer.layerConfig,i=e*Math.floor(n.height/n.lineHeight);this.$blockScrolling++,1==t?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):0==t&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var r=o.scrollTop;o.scrollBy(0,i*n.lineHeight),null!=t&&o.scrollCursorIntoView(null,.5),o.animateScrolling(r)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,o,n){this.renderer.scrollToLine(e,t,o,n)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},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(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e){var t=this.getCursorPosition(),o=this.session.getBracketRange(t);if(!o){if(o=this.find({needle:/[{}()\[\]]/g,preventScroll:!0,start:{row:t.row,column:t.column-1}}),!o)return;var n=o.start;n.row==t.row&&Math.abs(n.column-t.column)<2&&(o=this.session.getBracketRange(n))}n=o&&o.cursor||n,n&&(e?o&&o.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(n.row,n.column):(this.clearSelection(),this.moveCursorTo(n.row,n.column)))},this.gotoLine=function(e,t,o){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,o)},this.navigateTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(-e,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(e,0)},this.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){var e=this.renderer.scrollTop;this.selection.moveCursorFileEnd(),this.clearSelection(),this.renderer.animateScrolling(e)},this.navigateFileStart=function(){var e=this.renderer.scrollTop;this.selection.moveCursorFileStart(),this.clearSelection(),this.renderer.animateScrolling(e)},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var o=this.$search.find(this.session),n=0;return o?(this.$tryReplace(o,e)&&(n=1),null!==o&&(this.selection.setSelectionRange(o),this.renderer.scrollSelectionIntoView(o.start,o.end)),n):n},this.replaceAll=function(e,t){t&&this.$search.set(t);var o=this.$search.findAll(this.session),n=0;if(!o.length)return n;this.$blockScrolling+=1;var i=this.getSelectionRange();this.clearSelection(),this.selection.moveCursorTo(0,0);for(var r=o.length-1;r>=0;--r)this.$tryReplace(o[r],e)&&n++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,n},this.$tryReplace=function(e,t){var o=this.session.getTextRange(e);return t=this.$search.replace(o,t),null!==t?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&o.mixin(t,e);var i=this.selection.getRange();null==t.needle&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var r=this.$search.find(this.session);return t.preventScroll?r:r?(this.revealRange(r,n),r):(t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i),void 0)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var o=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),0!=t&&this.renderer.animateScrolling(o)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._emit("destroy",this)},this.setAutoScrollEditorIntoView=function(e){if(e!==!1){var t,o=this,n=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var r=this.on("changeSelection",function(){n=!0}),s=this.renderer.on("beforeRender",function(){n&&(t=o.renderer.container.getBoundingClientRect())}),l=this.renderer.on("afterRender",function(){if(n&&t&&o.isFocused()){var e=o.renderer,r=e.$cursorLayer.$pixelPos,s=e.layerConfig,l=r.top-s.offset;n=r.top>=0&&l+t.top<0?!0:r.top<s.height&&r.top+t.top+s.lineHeight>window.innerHeight?!1:null,null!=n&&(i.style.top=l+"px",i.style.left=r.left+"px",i.style.height=s.lineHeight+"px",i.scrollIntoView(n)),n=t=null}});this.setAutoScrollEditorIntoView=function(e){e!==!0&&(delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",r),this.renderer.removeEventListener("afterRender",l),this.renderer.removeEventListener("beforeRender",s))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking("smooth"==e),t.isBlinking=!this.$readOnly&&"wide"!=e)}}).call(y.prototype),m.defineOptions(y.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._emit("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",foldStyle:"session"}),t.Editor=y}),define("ace/lib/lang",["require","exports","module"],function(e,t){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var o="";t>0;)1&t&&(o+=e),(t>>=1)&&(e+=e);return o};var o=/^\s\s*/,n=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(o,"")},t.stringTrimRight=function(e){return e.replace(n,"")},t.copyObject=function(e){var t={};for(var o in e)t[o]=e[o];return t},t.copyArray=function(e){for(var t=[],o=0,n=e.length;n>o;o++)t[o]=e[o]&&"object"==typeof e[o]?this.copyObject(e[o]):e[o];return t},t.deepCopy=function(e){if("object"!=typeof e)return e;var t=e.constructor();for(var o in e)t[o]="object"==typeof e[o]?this.deepCopy(e[o]):e[o];return t},t.arrayToMap=function(e){for(var t={},o=0;o<e.length;o++)t[e[o]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var o in e)t[o]=e[o];return t},t.arrayRemove=function(e,t){for(var o=0;o<=e.length;o++)t===e[o]&&e.splice(o,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var o=[];return e.replace(t,function(e){o.push({offset:arguments[arguments.length-2],length:e.length})}),o},t.deferredCall=function(e){var t=null,o=function(){t=null,e()},n=function(e){return n.cancel(),t=setTimeout(o,e||0),n};return n.schedule=n,n.call=function(){return this.cancel(),e(),n},n.cancel=function(){return clearTimeout(t),t=null,n},n},t.delayedCall=function(e,t){var o=null,n=function(){o=null,e()},i=function(e){o&&clearTimeout(o),o=setTimeout(n,e||t)};return i.delay=i,i.schedule=function(e){null==o&&(o=setTimeout(n,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){o&&clearTimeout(o),o=null},i.isPending=function(){return o},i}}),define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(e,t){var o=e("../lib/event"),n=e("../lib/useragent"),i=e("../lib/dom"),r=e("../lib/lang"),s=n.isChrome<18,l=function(e,t){function l(e){if(!f){if(R)t=0,o=e?0:u.value.length-1;else var t=e?2:1,o=2;try{u.setSelectionRange(t,o)}catch(n){}}}function a(){f||(u.value=g,n.isWebKit&&B.schedule())}function c(){setTimeout(function(){m&&(u.style.cssText=m,m=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}var u=i.createElement("textarea");u.className="ace_text-input",n.isTouchPad&&u.setAttribute("x-palm-disable-auto-cap",!0),u.wrap="off",u.autocorrect="off",u.autocapitalize="off",u.spellcheck=!1,u.style.opacity="0",e.insertBefore(u,e.firstChild);var g="",h=!1,d=!1,p=!1,f=!1,m="",y=!0;try{var _=document.activeElement===u}catch(v){}o.addListener(u,"blur",function(){t.onBlur(),_=!1}),o.addListener(u,"focus",function(){_=!0,t.onFocus(),l()}),this.focus=function(){u.focus()},this.blur=function(){u.blur()},this.isFocused=function(){return _};var E=r.delayedCall(function(){_&&l(y)}),B=r.delayedCall(function(){f||(u.value=g,_&&l())});n.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=y&&(y=!y,E.schedule())}),a(),_&&t.onFocus();var C=function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length};if(!u.setSelectionRange&&u.createTextRange&&(u.setSelectionRange=function(e,t){var o=this.createTextRange();o.collapse(!0),o.moveStart("character",e),o.moveEnd("character",t),o.select()},C=function(e){try{var t=e.ownerDocument.selection.createRange()}catch(o){}return t&&t.parentElement()==e?t.text==e.value:!1}),n.isOldIE){var k=!1,b=function(e){if(!k){var t=u.value;if(!f&&t&&t!=g)return e&&t==g[0]?A.schedule():(D(t),k=!0,a(),k=!1,void 0)}},A=r.delayedCall(b);o.addListener(u,"propertychange",b);var T={13:1,27:1};o.addListener(u,"keyup",function(e){return f&&(!u.value||T[e.keyCode])&&setTimeout(M,0),(u.value.charCodeAt(0)||0)<129?A.call():(f?x():O(),void 0)}),o.addListener(u,"keydown",function(){A.schedule(50)})}var S=function(){h?h=!1:d?d=!1:C(u)?(t.selectAll(),l()):R&&l(t.selection.isEmpty())},R=null;this.setInputHandler=function(e){R=e},this.getInputHandler=function(){return R};var w=!1,D=function(e){R&&(e=R(e),R=null),p?(l(),e&&t.onPaste(e),p=!1):e==g.charAt(0)?w&&t.execCommand("del",{source:"ace"}):(e.substring(0,2)==g?e=e.substr(2):e.charAt(0)==g.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==g.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==g.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),w&&(w=!1)},I=function(){if(!f){var e=u.value;D(e),a()}},F=function(e){var n=t.getCopyText();if(!n)return o.preventDefault(e),void 0;var i=e.clipboardData||window.clipboardData;if(i&&!s){var r=i.setData("Text",n);r&&(t.onCut(),o.preventDefault(e))}r||(h=!0,u.value=n,u.select(),setTimeout(function(){h=!1,a(),l(),t.onCut()}))},L=function(e){var n=t.getCopyText();if(!n)return o.preventDefault(e),void 0;var i=e.clipboardData||window.clipboardData;if(i&&!s){var r=i.setData("Text",n);r&&(t.onCopy(),o.preventDefault(e))}r||(d=!0,u.value=n,u.select(),setTimeout(function(){d=!1,a(),l(),t.onCopy()}))},N=function(e){var i=e.clipboardData||window.clipboardData;if(i){var r=i.getData("Text");r&&t.onPaste(r),n.isIE&&setTimeout(l),o.preventDefault(e)}else u.value="",p=!0};o.addCommandKeyListener(u,t.onCommandKey.bind(t)),o.addListener(u,"select",S),o.addListener(u,"input",I),o.addListener(u,"cut",F),o.addListener(u,"copy",L),o.addListener(u,"paste",N),!("oncut"in u&&"oncopy"in u&&"onpaste"in u||!o.addListener(e,"keydown",function(e){if((!n.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:L(e);break;case 86:N(e);break;case 88:F(e)}}));var O=function(){f||(f={},t.onCompositionStart(),setTimeout(x,0),t.on("mousedown",M),t.selection.isEmpty()||(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())},x=function(){if(f){var e=u.value.replace(/\x01/g,"");if(f.lastValue!==e&&(t.onCompositionUpdate(e),f.lastValue&&t.undo(),f.lastValue=e,f.lastValue)){var o=t.selection.getRange();t.insert(f.lastValue),t.session.markUndoGroup(),f.range=t.selection.getRange(),t.selection.setRange(o),t.selection.clearSelection()}}},M=function(e){var o=f;f=!1;var n=setTimeout(function(){n=null;var e=u.value.replace(/\x01/g,"");f||(e==o.lastValue?a():!o.lastValue&&e&&(a(),D(e)))});R=function(e){return n&&clearTimeout(n),e=e.replace(/\x01/g,""),e==o.lastValue?"":(o.lastValue&&n&&t.undo(),e)},t.onCompositionEnd(),t.removeListener("mousedown",M),"compositionend"==e.type&&o.range&&t.selection.setRange(o.range)},P=r.delayedCall(x,50);if(o.addListener(u,"compositionstart",O),n.isGecko?o.addListener(u,"text",function(){P.schedule()}):(o.addListener(u,"keyup",function(){P.schedule()}),o.addListener(u,"keydown",function(){P.schedule()})),o.addListener(u,"compositionend",M),this.getElement=function(){return u},this.setReadOnly=function(e){u.readOnly=e},this.onContextMenu=function(e){w=!0,m||(m=u.style.cssText),u.style.cssText="z-index:100000;"+(n.isIE?"opacity:0.1;":""),l(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e});var r=t.container.getBoundingClientRect(),s=i.computedStyle(t.container),a=r.top+(parseInt(s.borderTopWidth)||0),g=r.left+(parseInt(r.borderLeftWidth)||0),h=r.bottom-a-u.clientHeight,d=function(e){u.style.left=e.clientX-g-2+"px",u.style.top=Math.min(e.clientY-a-2,h)+"px"};d(e),"mousedown"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),n.isWin&&o.capture(t.container,d,c))},this.onContextMenuClose=c,!n.isGecko||n.isMac){var H=function(e){t.textInput.onContextMenu(e),c()};o.addListener(t.renderer.scroller,"contextmenu",H),o.addListener(u,"contextmenu",H)}};t.TextInput=l}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t){var o=e("../lib/event"),n=e("../lib/useragent"),i=e("./default_handlers").DefaultHandlers,r=e("./default_gutter_handler").GutterHandler,s=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,a=e("../config"),c=function(e){this.editor=e,new i(this),new r(this),new l(this);var t=e.renderer.getMouseEventTarget();o.addListener(t,"click",this.onMouseEvent.bind(this,"click")),o.addListener(t,"mousemove",this.onMouseMove.bind(this,"mousemove")),o.addMultiMouseDownListener(t,[300,300,250],this,"onMouseEvent"),e.renderer.scrollBarV&&(o.addMultiMouseDownListener(e.renderer.scrollBarV.inner,[300,300,250],this,"onMouseEvent"),o.addMultiMouseDownListener(e.renderer.scrollBarH.inner,[300,300,250],this,"onMouseEvent")),o.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"));var n=e.renderer.$gutter;o.addListener(n,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),o.addListener(n,"click",this.onMouseEvent.bind(this,"gutterclick")),o.addListener(n,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),o.addListener(n,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),o.addListener(t,"mousedown",function(){e.focus()}),o.addListener(n,"mousedown",function(t){return e.focus(),o.preventDefault(t)})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new s(t,this.editor))},this.onMouseMove=function(e,t){var o=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;o&&o.length&&this.editor._emit(e,new s(t,this.editor))},this.onMouseWheel=function(e,t){var o=new s(t,this.editor);o.speed=2*this.$scrollSpeed,o.wheelX=t.wheelX,o.wheelY=t.wheelY,this.editor._emit(e,o)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var i=this.editor.renderer;i.$keepTextAreaAtCursor&&(i.$keepTextAreaAtCursor=null);var r=this,s=function(e){r.x=e.clientX,r.y=e.clientY,t&&t(e)},l=function(e){clearInterval(c),a(),r[r.state+"End"]&&r[r.state+"End"](e),r.$clickSelection=null,null==i.$keepTextAreaAtCursor&&(i.$keepTextAreaAtCursor=!0,i.$moveTextAreaToCursor()),r.isMousePressed=!1,r.onMouseEvent("mouseup",e)},a=function(){r[r.state]&&r[r.state]()};if(n.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout(function(){l(e)});o.capture(this.editor.container,s,l);var c=setInterval(a,20)}}).call(c.prototype),a.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:150},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0}}),t.MouseHandler=c}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t){function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var o=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];o.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function n(e,t,o,n){return Math.sqrt(Math.pow(o-e,2)+Math.pow(n-t,2))}function i(e,t){if(e.start.row==e.end.row)var o=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)var o=2*t.row-e.start.row-e.end.row;else var o=t.column-4;return 0>o?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=(e("../lib/dom"),e("../lib/event"),e("../lib/useragent"),0);(function(){this.onMouseDown=function(e){var t=e.inSelection(),o=e.getDocumentPosition();this.mousedownEvent=e;var n=this.editor,i=e.getButton();if(0!==i){var r=n.getSelectionRange(),s=r.isEmpty();return s&&(n.moveCursorToPosition(o),n.selection.clearSelection()),n.textInput.onContextMenu(e.domEvent),void 0}return!t||n.isFocused()||(n.focus(),!this.$focusTimout||this.$clickSelection||n.inMultiSelectMode)?(!t||this.$clickSelection||e.getShiftKey()||n.inMultiSelectMode?this.startSelect(o):t&&(this.mousedownEvent.time=(new Date).getTime(),this.startSelect(o)),this.captureMouse(e),e.preventDefault()):(this.mousedownEvent.time=(new Date).getTime(),this.setState("focusWait"),this.captureMouse(e),void 0)},this.startSelect=function(e){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var t=this.editor;setTimeout(function(){this.mousedownEvent.getShiftKey()?t.selection.selectToPosition(e):this.$clickSelection||(t.moveCursorToPosition(e),t.selection.clearSelection())}.bind(this),0),t.renderer.scroller.setCapture&&t.renderer.scroller.setCapture(),t.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,o=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var n=this.$clickSelection.comparePoint(o);if(-1==n)e=this.$clickSelection.end;else if(1==n)e=this.$clickSelection.start;else{var r=i(this.$clickSelection,o);o=r.cursor,e=r.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(o),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,o=this.editor,n=o.renderer.screenToTextCoordinates(this.x,this.y),r=o.selection[e](n.row,n.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(r.start),l=this.$clickSelection.comparePoint(r.end);if(-1==s&&0>=l)t=this.$clickSelection.end,(r.end.row!=n.row||r.end.column!=n.column)&&(n=r.start);else if(1==l&&s>=0)t=this.$clickSelection.start,(r.start.row!=n.row||r.start.column!=n.column)&&(n=r.end);else if(-1==s&&1==l)n=r.end,t=r.start;else{var a=i(this.$clickSelection,n);n=a.cursor,t=a.anchor}o.selection.setSelectionAnchor(t.row,t.column)}o.selection.selectToPosition(n),o.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=(new Date).getTime();(e>r||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),o=this.editor,n=o.session,i=n.getBracketRange(t);return i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.$clickSelection=i,this.setState("select"),void 0):(this.$clickSelection=o.selection.getWordRange(t.row,t.column),this.setState("selectByWords"),void 0)},this.onTripleClick=function(e){var t=e.getDocumentPosition(),o=this.editor;this.setState("selectByLines"),this.$clickSelection=o.selection.getLineRange(t.row)},this.onQuadClick=function(){var e=this.editor;e.selectAll(),this.$clickSelection=e.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getShiftKey()&&!e.getAccelKey()){var t=e.domEvent.timeStamp,o=t-(this.$lastScrollTime||0),n=this.editor,i=n.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);return i||200>o?(this.$lastScrollTime=t,n.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}}}).call(o.prototype),t.DefaultHandlers=o}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event"],function(e,t){function o(e){function t(){g=n.createElement("div"),g.className="ace_gutter-tooltip",g.style.display="none",l.container.appendChild(g)}function o(){g||t();var e=u.getDocumentPosition().row,o=a.$annotations[e];if(!o)return r();var n=l.session.getLength();if(e==n){var i=l.renderer.pixelToScreenCoordinates(0,u.y).row,c=u.$pos;if(i>l.session.documentToScreenRow(c.row,c.column))return r()}h!=o&&(h=o.text.join("<br/>"),g.style.display="block",g.innerHTML=h,l.on("mousewheel",r),s(u))}function r(){c&&(c=clearTimeout(c)),h&&(g.style.display="none",h=null,l.removeEventListener("mousewheel",r))}function s(e){var t=l.renderer.$gutter.getBoundingClientRect();if(g.style.left=e.x+15+"px",e.y+3*l.renderer.lineHeight+15<t.bottom)g.style.bottom="",g.style.top=e.y+15+"px";else{g.style.top="";var o=window.innerHeight||document.documentElement.clientHeight;g.style.bottom=o-e.y+5+"px"}}var l=e.editor,a=l.renderer.$gutterLayer;e.editor.setDefaultHandler("guttermousedown",function(t){if(l.isFocused()&&0==t.getButton()){var o=a.getRegion(t);if("foldWidgets"!=o){var n=t.getDocumentPosition().row,i=l.session.selection;if(t.getShiftKey())i.selectTo(n,0);else{if(2==t.domEvent.detail)return l.selectAll(),t.preventDefault();e.$clickSelection=l.selection.getLineRange(n)}return e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}}});var c,u,g,h;e.editor.setDefaultHandler("guttermousemove",function(t){var i=t.domEvent.target||t.domEvent.srcElement;return n.hasCssClass(i,"ace_fold-widget")?r():(h&&s(t),u=t,c||(c=setTimeout(function(){c=null,u&&!e.isMousePressed?o():r()},50)),void 0)}),i.addListener(l.renderer.$gutter,"mouseout",function(){u=null,h&&!c&&(c=setTimeout(function(){c=null,r()},50))}),l.on("changeSession",r)}var n=e("../lib/dom"),i=e("../lib/event");t.GutterHandler=o}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t){var o=e("../lib/event"),n=e("../lib/useragent"),i=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){o.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){o.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var o=this.getDocumentPosition();this.$inSelection=t.contains(o.row,o.column)}return this.$inSelection},this.getButton=function(){return o.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=n.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(i.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t){function o(e){function t(e,t){var o=(new Date).getTime(),i=!t||e.row!=t.row,r=!t||e.column!=t.column;if(!R||i||r)m.$blockScrolling+=1,m.moveCursorToPosition(e),m.$blockScrolling-=1,R=o,w={x:E,y:B};else{var s=n(w.x,w.y,E,B);s>c?R=null:o-R>=a&&(m.renderer.scrollCursorIntoView(),R=null)}}function o(e,t){var o=(new Date).getTime(),n=m.renderer.layerConfig.lineHeight,i=m.renderer.layerConfig.characterWidth,r=m.renderer.scroller.getBoundingClientRect(),s={x:{left:E-r.left,right:r.right-E},y:{top:B-r.top,bottom:r.bottom-B}},a=Math.min(s.x.left,s.x.right),c=Math.min(s.y.top,s.y.bottom),u={row:e.row,column:e.column};2>=a/i&&(u.column+=s.x.left<s.x.right?-3:2),1>=c/n&&(u.row+=s.y.top<s.y.bottom?-1:1);var g=e.row!=u.row,h=e.column!=u.column,d=!t||e.row!=t.row;g||h&&!d?S?o-S>=l&&m.renderer.scrollCursorIntoView(u):S=o:S=null}function u(){var e=b;b=m.renderer.screenToTextCoordinates(E,B),t(b,e),o(b,e)}function g(){k=m.selection.toOrientedRange(),v=m.session.addMarker(k,"ace_selection",m.getSelectionStyle()),m.clearSelection(),m.isFocused()&&m.renderer.$cursorLayer.setBlinking(!1),clearInterval(C),C=setInterval(u,20),I=0,r.addListener(document,"mousemove",d)}function h(){clearInterval(C),m.session.removeMarker(v),v=null,m.$blockScrolling+=1,m.selection.fromOrientedRange(k),m.$blockScrolling-=1,m.isFocused()&&!T&&m.renderer.$cursorLayer.setBlinking(!m.getReadOnly()),k=null,I=0,S=null,R=null,r.removeListener(document,"mousemove",d)}function d(){null==F&&(F=setTimeout(function(){null!=F&&v&&h()},20))}function p(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return"text/plain"==e||"Text"==e})}function f(e){var t=["copy","copymove","all","uninitialized"],o=["move","copymove","linkmove","all","uninitialized"],n=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var r="none";return n&&t.indexOf(i)>=0?r="copy":o.indexOf(i)>=0?r="move":t.indexOf(i)>=0&&(r="copy"),r}var m=e.editor,y=i.createElement("img");y.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(y.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var _=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];_.forEach(function(t){e[t]=this[t]},this),m.addEventListener("mousedown",this.onMouseDown.bind(e));var v,E,B,C,k,b,A,T,S,R,w,D=m.container,I=0;this.onDragStart=function(e){if(this.cancelDrag||!D.draggable){var t=this;return setTimeout(function(){t.startSelect(),t.captureMouse(e)},0),e.preventDefault()}k=m.getSelectionRange();var o=e.dataTransfer;o.effectAllowed=m.getReadOnly()?"copy":"copyMove",s.isOpera&&(m.container.appendChild(y),y._top=y.offsetTop),o.setDragImage&&o.setDragImage(y,0,0),s.isOpera&&m.container.removeChild(y),o.clearData(),o.setData("Text",m.session.getTextRange()),T=!0,this.setState("drag")
8
- },this.onDragEnd=function(e){if(D.draggable=!1,T=!1,this.setState(null),!m.getReadOnly()){var t=e.dataTransfer.dropEffect;!A&&"move"==t&&m.session.remove(m.getSelectionRange()),m.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging")},this.onDragEnter=function(e){return!m.getReadOnly()&&p(e.dataTransfer)?(v||g(),I++,e.dataTransfer.dropEffect=A=f(e),r.preventDefault(e)):void 0},this.onDragOver=function(e){return!m.getReadOnly()&&p(e.dataTransfer)?(v||(g(),I++),null!==F&&(F=null),E=e.clientX,B=e.clientY,e.dataTransfer.dropEffect=A=f(e),r.preventDefault(e)):void 0},this.onDragLeave=function(e){return I--,0>=I&&v?(h(),A=null,r.preventDefault(e)):void 0},this.onDrop=function(e){if(v){var t=e.dataTransfer;if(T)switch(A){case"move":k=k.contains(b.row,b.column)?{start:b,end:b}:m.moveText(k,b);break;case"copy":k=m.moveText(k,b,!0)}else{var o=t.getData("Text");k={start:b,end:m.session.insert(b,o)},m.focus(),A=null}return h(),r.preventDefault(e)}},r.addListener(D,"dragstart",this.onDragStart.bind(e)),r.addListener(D,"dragend",this.onDragEnd.bind(e)),r.addListener(D,"dragenter",this.onDragEnter.bind(e)),r.addListener(D,"dragover",this.onDragOver.bind(e)),r.addListener(D,"dragleave",this.onDragLeave.bind(e)),r.addListener(D,"drop",this.onDrop.bind(e));var F=null}function n(e,t,o,n){return Math.sqrt(Math.pow(o-e,2)+Math.pow(n-t,2))}var i=e("../lib/dom"),r=e("../lib/event"),s=e("../lib/useragent"),l=200,a=200,c=5;(function(){this.dragWait=function(){var e=(new Date).getTime()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor.container;e.draggable=!0,this.editor.renderer.$cursorLayer.setBlinking(!1),this.editor.setStyle("ace_dragging"),this.setState("dragReady")},this.onMouseDrag=function(){var e=this.editor.container;if(s.isIE&&"dragReady"==this.state){var t=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);t>3&&e.dragDrop()}if("dragWait"===this.state){var t=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);t>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,o=e.inSelection(),n=e.getButton(),i=e.domEvent.detail||1;if(1===i&&0===n&&o){this.mousedownEvent.time=(new Date).getTime();var r=e.domEvent.target||e.domEvent.srcElement;if("unselectable"in r&&(r.unselectable="on"),t.getDragDelay()){if(s.isWebKit){self.cancelDrag=!0;var l=t.container;l.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(o.prototype),t.DragdropHandler=o}),define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/event_emitter"],function(e,t,o){"no use strict";function n(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var i=e("./lib/lang"),r=e("./lib/oop"),s=e("./lib/net"),l=e("./lib/event_emitter").EventEmitter,a=function(){return this}(),c={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!c.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return c[e]},t.set=function(e,t){if(!c.hasOwnProperty(e))throw new Error("Unknown config key: "+e);c[e]=t},t.all=function(){return i.copyObject(c)},r.implement(t,l),t.moduleUrl=function(e,t){if(c.$moduleUrls[e])return c.$moduleUrls[e];var o=e.split("/");t=t||o[o.length-2]||"";var n="snippets"==t?"/":"-",i=o[o.length-1];if("-"==n){var r=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(r,"")}(!i||i==t)&&o.length>1&&(i=o[o.length-2]);var s=c[t+"Path"];return null==s?s=c.basePath:"/"==n&&(t=n=""),s&&"/"!=s.slice(-1)&&(s+="/"),s+t+n+i+this.get("suffix")},t.setModuleUrl=function(e,t){return c.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(o,n){var i,r;Array.isArray(o)&&(r=o[0],o=o[1]);try{i=e(o)}catch(l){}if(i&&!t.$loading[o])return n&&n(i);if(t.$loading[o]||(t.$loading[o]=[]),t.$loading[o].push(n),!(t.$loading[o].length>1)){var a=function(){e([o],function(e){t._emit("load.module",{name:o,module:e});var n=t.$loading[o];t.$loading[o]=null,n.forEach(function(t){t&&t(e)})})};return t.get("packaged")?(s.loadScript(t.moduleUrl(o,r),a),void 0):a()}},t.init=function(){if(c.packaged=e.packaged||o.packaged||a.define&&define.packaged,!a.document)return"";for(var i={},r="",s=document.getElementsByTagName("script"),l=0;l<s.length;l++){var u=s[l],g=u.src||u.getAttribute("src");if(g){for(var h=u.attributes,d=0,p=h.length;p>d;d++){var f=h[d];0===f.name.indexOf("data-ace-")&&(i[n(f.name.replace(/^data-ace-/,""))]=f.value)}var m=g.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);m&&(r=m[1])}}r&&(i.base=i.base||r,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var y in i)"undefined"!=typeof i[y]&&t.set(y,i[y])};var u={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]!==t){var o=this.$options[e];return o?o.forwardTo?this[o.forwardTo]&&this[o.forwardTo].setOption(e,t):(o.handlesSet||(this["$"+e]=t),o&&o.set&&o.set.call(this,t),void 0):("undefined"!=typeof console&&console.warn&&console.warn('misspelled option "'+e+'"'),void 0)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:("undefined"!=typeof console&&console.warn&&console.warn('misspelled option "'+e+'"'),void 0)}},g={};t.defineOptions=function(e,t,o){return e.$options||(g[t]=e.$options={}),Object.keys(o).forEach(function(t){var n=o[t];"string"==typeof n&&(n={forwardTo:n}),n.name||(n.name=t),e.$options[n.name]=n,"initialValue"in n&&(e["$"+n.name]=n.initialValue)}),r.implement(e,u),this},t.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var o=e.$options[t];"value"in o&&e.setOption(t,o.value)})},t.setDefaultValue=function(e,o,n){var i=g[e]||(g[e]={});i[o]&&(i.forwardTo?t.setDefaultValue(i.forwardTo,o,n):i[o].value=n)},t.setDefaultValues=function(e,o){Object.keys(o).forEach(function(n){t.setDefaultValue(e,n,o[n])})}}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t){var o=e("./dom");t.get=function(e,t){var o=new XMLHttpRequest;o.open("GET",e,!0),o.onreadystatechange=function(){4===o.readyState&&t(o.responseText)},o.send(null)},t.loadScript=function(e,t){var n=o.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,o){(o||!i.readyState||"loaded"==i.readyState||"complete"==i.readyState)&&(i=i.onload=i.onreadystatechange=null,o||t())}}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t){var o={},n=function(){this.propagationStopped=!0},i=function(){this.defaultPrevented=!0};o._emit=o._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var o=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(o.length||r){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=n),t.preventDefault||(t.preventDefault=i),o=o.slice();for(var s=0;s<o.length&&(o[s](t,this),!t.propagationStopped);s++);return r&&!t.defaultPrevented?r(t,this):void 0}},o._signal=function(e,t){var o=(this._eventRegistry||{})[e];if(o){o=o.slice();for(var n=0;n<o.length;n++)o[n](t,this)}},o.once=function(e,t){var o=this;t&&this.addEventListener(e,function n(){o.removeEventListener(e,n),t.apply(null,arguments)})},o.setDefaultHandler=function(e,t){var o=this._defaultHandlers;if(o||(o=this._defaultHandlers={_disabled_:{}}),o[e]){var n=o[e],i=o._disabled_[e];i||(o._disabled_[e]=i=[]),i.push(n);var r=i.indexOf(t);-1!=r&&i.splice(r,1)}o[e]=t},o.removeDefaultHandler=function(e,t){var o=this._defaultHandlers;if(o){var n=o._disabled_[e];if(o[e]==t){{o[e]}n&&this.setDefaultHandler(e,n.pop())}else if(n){var i=n.indexOf(t);-1!=i&&n.splice(i,1)}}},o.on=o.addEventListener=function(e,t,o){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];return n||(n=this._eventRegistry[e]=[]),-1==n.indexOf(t)&&n[o?"unshift":"push"](t),t},o.off=o.removeListener=o.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[e];if(o){var n=o.indexOf(t);-1!==n&&o.splice(n,1)}},o.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=o}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t){function o(e){e.on("click",function(t){var o=t.getDocumentPosition(),n=e.session,i=n.getFoldAt(o.row,o.column,1);i&&(t.getAccelKey()?n.removeFold(i):n.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var o=e.renderer.$gutterLayer.getRegion(t);if("foldWidgets"==o){var n=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[n]&&e.session.onFoldWidgetClick(n,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var o=e.renderer.$gutterLayer.getRegion(t);if("foldWidgets"==o){var n=t.getDocumentPosition().row,i=e.session,r=i.getParentFoldRangeData(n,!0),s=r.range||r.firstRange;if(s){var n=s.start.row,l=i.getFoldAt(n,i.getLine(n).length,1);l?i.removeFold(l):(i.addFold("...",s),e.renderer.scrollCursorIntoView({row:s.start.row,column:0}))}t.stop()}})}t.FoldHandler=o}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t){var o=e("../lib/keys"),n=e("../lib/event"),i=function(e){this.$editor=e,this.$data={},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0),this.$data={editor:this.$editor}},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){var o=this.$handlers.indexOf(e);-1!=o&&this.$handlers.splice(o,1),void 0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==o&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1==t?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.$callKeyboardHandlers=function(e,t,o,i){for(var r,s=!1,l=this.$editor.commands,a=this.$handlers.length;a--&&(r=this.$handlers[a].handleKeyboard(this.$data,e,t,o,i),!(r&&r.command&&(s="null"==r.command?!0:l.exec(r.command,this.$editor,r.args,i),s&&i&&-1!=e&&1!=r.passEvent&&1!=r.command.passEvent&&n.stopEvent(i),s))););return s},this.onCommandKey=function(e,t,n){var i=o.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(i.prototype),t.KeyBinding=i}),define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t){var o=e("./lib/oop"),n=e("./lib/lang"),i=e("./config"),r=e("./lib/event_emitter").EventEmitter,s=e("./selection").Selection,l=e("./mode/text").Mode,a=e("./range").Range,c=e("./document").Document,u=e("./background_tokenizer").BackgroundTokenizer,g=e("./search_highlight").SearchHighlight,h=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof e&&e.getLine||(e=new c(e)),this.setDocument(e),this.selection=new s(this),i.resetOptions(this),this.setMode(t),i._emit("session",this)};(function(){function t(e){return 4352>e?!1:e>=4352&&4447>=e||e>=4515&&4519>=e||e>=4602&&4607>=e||e>=9001&&9002>=e||e>=11904&&11929>=e||e>=11931&&12019>=e||e>=12032&&12245>=e||e>=12272&&12283>=e||e>=12288&&12350>=e||e>=12353&&12438>=e||e>=12441&&12543>=e||e>=12549&&12589>=e||e>=12593&&12686>=e||e>=12688&&12730>=e||e>=12736&&12771>=e||e>=12784&&12830>=e||e>=12832&&12871>=e||e>=12880&&13054>=e||e>=13056&&19903>=e||e>=19968&&42124>=e||e>=42128&&42182>=e||e>=43360&&43388>=e||e>=44032&&55203>=e||e>=55216&&55238>=e||e>=55243&&55291>=e||e>=63744&&64255>=e||e>=65040&&65049>=e||e>=65072&&65106>=e||e>=65108&&65126>=e||e>=65128&&65131>=e||e>=65281&&65376>=e||e>=65504&&65510>=e}o.implement(this,r),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e)return this.$docRowCache=[],this.$screenRowCache=[],void 0;var t=this.$docRowCache.length,o=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>o&&(this.$docRowCache.splice(o,t),this.$screenRowCache.splice(o,t))},this.$getRowCacheIndex=function(e,t){for(var o=0,n=e.length-1;n>=o;){var i=o+n>>1,r=e[i];if(t>r)o=i+1;else{if(!(r>t))return i;n=i-1}}return o-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){var t=e.data;this.$modified=!0,this.$resetRowCache(t.range.start.row);var o=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&!t.ignore&&(this.$deltasDoc.push(t),o&&0!=o.length&&this.$deltasFold.push({action:"removeFolds",folds:o}),this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(t),this._emit("change",e)},this.setValue=function(e){this.doc.setValue(e),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(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var o,n=this.bgTokenizer.getTokens(e),i=0;if(null==t)r=n.length-1,i=this.getLine(e).length;else for(var r=0;r<n.length&&(i+=n[r].value.length,!(i>=t));r++);return o=n[r],o?(o.index=r,o.start=i-o.value.length,o):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=n.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?n.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._emit("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._emit("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._emit("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._emit("changeBreakpoint",{})},this.setBreakpoint=function(e,t){void 0===t&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._emit("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._emit("changeBreakpoint",{})},this.addMarker=function(e,t,o,n){var i=this.$markerId++,r={range:e,type:o||"line",renderer:"function"==typeof o?o:null,clazz:t,inFront:!!n,id:i};return n?(this.$frontMarkers[i]=r,this._emit("changeFrontMarker")):(this.$backMarkers[i]=r,this._emit("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(e.update){var o=this.$markerId++;return e.id=o,e.inFront=!!t,t?(this.$frontMarkers[o]=e,this._emit("changeFrontMarker")):(this.$backMarkers[o]=e,this._emit("changeBackMarker")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var o=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete o[e],this._emit(t.inFront?"changeFrontMarker":"changeBackMarker"))}},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new g(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,o,n){"number"!=typeof t&&(o=t,t=e),o||(o="ace_step");var i=new a(e,0,t,1/0);return i.id=this.addMarker(i,o,"fullLine",n),i},this.setAnnotations=function(e){this.$annotations=e,this._emit("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getWordRange=function(e,t){var o=this.getLine(e),n=!1;if(t>0&&(n=!!o.charAt(t-1).match(this.tokenRe)),n||(n=!!o.charAt(t).match(this.tokenRe)),n)var i=this.tokenRe;else if(/^\s+$/.test(o.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var r=t;if(r>0){do r--;while(r>=0&&o.charAt(r).match(i));r++}for(var s=t;s<o.length&&o.charAt(s).match(i);)s++;return new a(e,r,e,s)},this.getAWordRange=function(e,t){for(var o=this.getWordRange(e,t),n=this.getLine(o.end.row);n.charAt(o.end.column).match(/[ \t]/);)o.end.column+=1;return o},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._emit("tokenizerUpdate",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&"object"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var o=e,n=o.path}else n=e||"ace/mode/text";return this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new l),this.$modes[n]&&!o?(this.$onChangeMode(this.$modes[n]),t&&t(),void 0):(this.$modeId=n,i.loadModule(["mode",n],function(e){return this.$modeId!==n?t&&t():this.$modes[n]&&!o?this.$onChangeMode(this.$modes[n]):(e&&e.Mode&&(e=new e.Mode(o),o||(this.$modes[n]=e,e.$id=n),this.$onChangeMode(e),t&&t()),void 0)}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0),void 0)},this.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var o=e.getTokenizer();if(void 0!==o.addEventListener){var n=this.onReloadTokenizer.bind(this);o.addEventListener("update",n)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(o);else{this.bgTokenizer=new u(o);var i=this;this.bgTokenizer.addEventListener("update",function(e){i._emit("tokenizerUpdate",e)})}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,this.$options.wrapMethod.set.call(this,this.$wrapMethod),t||(this.$setFolding(e.foldingRules),this._emit("changeMode"),this.bgTokenizer.start(0))}},this.$stopWorker=function(){this.$worker&&this.$worker.terminate(),this.$worker=null},this.$startWorker=function(){if("undefined"==typeof Worker||e.noWorker)this.$worker=null;else try{this.$worker=this.$mode.createWorker(this)}catch(t){console.log("Could not load worker"),console.log(t),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal("changeScrollTop",e))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal("changeScrollLeft",e))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.screenWidth},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),o=this.$rowLengthCache,n=0,i=0,r=this.$foldData[i],s=r?r.start.row:1/0,l=t.length,a=0;l>a;a++){if(a>s){if(a=r.end.row+1,a>=l)break;r=this.$foldData[i++],s=r?r.start.row:1/0}null==o[a]&&(o[a]=this.$getStringScreenWidth(t[a])[0]),o[a]>n&&(n=o[a])}this.screenWidth=n}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var o=null,n=e.length-1;-1!=n;n--){var i=e[n];"doc"==i.group?(this.doc.revertDeltas(i.deltas),o=this.$getUndoSelection(i.deltas,!0,o)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,o&&this.$undoSelect&&!t&&this.selection.setSelectionRange(o),o}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var o=null,n=0;n<e.length;n++){var i=e[n];"doc"==i.group&&(this.doc.applyDeltas(i.deltas),o=this.$getUndoSelection(i.deltas,!1,o))}return this.$fromUndo=!1,o&&this.$undoSelect&&!t&&this.selection.setSelectionRange(o),o}},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,o){function n(e){var o="insertText"===e.action||"insertLines"===e.action;return t?!o:o}var i,r,s=e[0],l=!1;n(s)?(i=a.fromPoints(s.range.start,s.range.end),l=!0):(i=a.fromPoints(s.range.start,s.range.start),l=!1);for(var c=1;c<e.length;c++)s=e[c],n(s)?(r=s.range.start,-1==i.compare(r.row,r.column)&&i.setStart(s.range.start),r=s.range.end,1==i.compare(r.row,r.column)&&i.setEnd(s.range.end),l=!0):(r=s.range.start,-1==i.compare(r.row,r.column)&&(i=a.fromPoints(s.range.start,s.range.start)),l=!1);if(null!=o){0==a.comparePoints(o.start,i.start)&&(o.start.column+=i.end.column-i.start.column,o.end.column+=i.end.column-i.start.column);var u=o.compareRange(i);1==u?i.setStart(o.start):-1==u&&i.setEnd(o.end)}return i},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,o){var n=this.getTextRange(e),i=this.getFoldsInRange(e),r=a.fromPoints(t,t);if(!o){this.remove(e);var s=e.start.row-e.end.row,l=s?-e.end.column:e.start.column-e.end.column;l&&(r.start.row==e.end.row&&r.start.column>e.end.column&&(r.start.column+=l),r.end.row==e.end.row&&r.end.column>e.end.column&&(r.end.column+=l)),s&&r.start.row>=e.end.row&&(r.start.row+=s,r.end.row+=s)}if(r.end=this.insert(r.start,n),i.length){var c=e.start,u=r.start,s=u.row-c.row,l=u.column-c.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==c.row&&(e.start.column+=l),e.end.row==c.row&&(e.end.column+=l),e.start.row+=s,e.end.row+=s,e}))}return r},this.indentRows=function(e,t,o){o=o.replace(/\t/g,this.getTabString());for(var n=e;t>=n;n++)this.insert({row:n,column:0},o)},this.outdentRows=function(e){for(var t=e.collapseRows(),o=new a(0,0,0,0),n=this.getTabSize(),i=t.start.row;i<=t.end.row;++i){var r=this.getLine(i);o.start.row=i,o.end.row=i;for(var s=0;n>s&&" "==r.charAt(s);++s);n>s&&" "==r.charAt(s)?(o.start.column=s,o.end.column=s+1):(o.start.column=0,o.end.column=s),this.remove(o)}},this.$moveLines=function(e,t,o){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),0>o){var n=this.getRowFoldStart(e+o);if(0>n)return 0;var i=n-e}else if(o>0){var n=this.getRowFoldEnd(t+o);if(n>this.doc.getLength()-1)return 0;var i=n-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var r=new a(e,0,t,Number.MAX_VALUE),s=this.getFoldsInRange(r).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),l=0==o?this.doc.getLines(e,t):this.doc.removeLines(e,t);return this.doc.insertLines(e+i,l),s.length&&this.addFolds(s),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return 0>t?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),0>e)e=0,t=0;else{var o=this.doc.getLength();e>=o?(e=o-1,t=this.doc.getLine(o-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=[];for(var o=0;t>o;o++)this.$wrapData.push([]);this.$updateWrapData(0,t-1)}this._emit("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)&&(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this._emit("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var o=this.$wrapLimitRange;o.max<0&&(o={min:t,max:t});var n=this.$constrainWrapLimit(e,o.min,o.max);return n!=this.$wrapLimit&&n>1?(this.$wrapLimit=n,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._emit("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,o){return t&&(e=Math.max(t,e)),o&&(e=Math.min(o,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t,o=this.$useWrapMode,n=e.data.action,i=e.data.range.start.row,r=e.data.range.end.row,s=e.data.range.start,l=e.data.range.end,a=null;if(-1!=n.indexOf("Lines")?(r="insertLines"==n?i+e.data.lines.length:i,t=e.data.lines?e.data.lines.length:r-i):t=r-i,this.$updating=!0,0!=t)if(-1!=n.indexOf("remove")){this[o?"$wrapData":"$rowLengthCache"].splice(i,t);var c=this.$foldData;a=this.getFoldsInRange(e.data.range),this.removeFolds(a);var u=this.getFoldLine(l.row),g=0;if(u){u.addRemoveChars(l.row,l.column,s.column-l.column),u.shiftRow(-t);var h=this.getFoldLine(i);h&&h!==u&&(h.merge(u),u=h),g=c.indexOf(u)+1}for(g;g<c.length;g++){var u=c[g];u.start.row>=l.row&&u.shiftRow(-t)}r=i}else{var d;if(o){d=[i,0];for(var p=0;t>p;p++)d.push([]);this.$wrapData.splice.apply(this.$wrapData,d)}else d=Array(t),d.unshift(i,0),this.$rowLengthCache.splice.apply(this.$rowLengthCache,d);var c=this.$foldData,u=this.getFoldLine(i),g=0;if(u){var f=u.range.compareInside(s.row,s.column);0==f?(u=u.split(s.row,s.column),u.shiftRow(t),u.addRemoveChars(r,0,l.column-s.column)):-1==f&&(u.addRemoveChars(i,0,l.column-s.column),u.shiftRow(t)),g=c.indexOf(u)+1}for(g;g<c.length;g++){var u=c[g];u.start.row>=i&&u.shiftRow(t)}}else{t=Math.abs(e.data.range.start.column-e.data.range.end.column),-1!=n.indexOf("remove")&&(a=this.getFoldsInRange(e.data.range),this.removeFolds(a),t=-t);var u=this.getFoldLine(i);u&&u.addRemoveChars(i,s.column,t)}return o&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,o?this.$updateWrapData(i,r):this.$updateRowLengthCache(i,r),a},this.$updateRowLengthCache=function(e,t){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var o,n,i=this.doc.getAllLines(),r=this.getTabSize(),s=this.$wrapData,l=this.$wrapLimit,a=e;for(t=Math.min(t,i.length-1);t>=a;)n=this.getFoldLine(a,n),n?(o=[],n.walk(function(e,t,n,r){var s;if(null!=e){s=this.$getDisplayTokens(e,o.length),s[0]=h;for(var l=1;l<s.length;l++)s[l]=d}else s=this.$getDisplayTokens(i[t].substring(r,n),o.length);o=o.concat(s)}.bind(this),n.end.row,i[n.end.row].length+1),s[n.start.row]=this.$computeWrapSplits(o,l,r),a=n.end.row+1):(o=this.$getDisplayTokens(i[a]),s[a]=this.$computeWrapSplits(o,l,r),a++)};var s=1,c=2,h=3,d=4,p=9,f=10,m=11,y=12;this.$computeWrapSplits=function(e,t){function o(t){var o=e.slice(r,t),i=o.length;o.join("").replace(/12/g,function(){i-=1}).replace(/2/g,function(){i-=1}),s+=i,n.push(s),r=t}if(0==e.length)return[];for(var n=[],i=e.length,r=0,s=0,l=this.$wrapAsCode;i-r>t;){var a=r+t;if(e[a-1]>=f&&e[a]>=f)o(a);else if(e[a]!=h&&e[a]!=d){for(var c=Math.max(a-(l?10:t-(t>>2)),r-1);a>c&&e[a]<h;)a--;if(l){for(;a>c&&e[a]<h;)a--;for(;a>c&&e[a]==p;)a--}else for(;a>c&&e[a]<f;)a--;a>c?o(++a):(a=r+t,o(a))}else{for(a;a!=r-1&&e[a]!=h;a--);if(a>r){o(a);continue}for(a=r+t;a<e.length&&e[a]==d;a++);if(a==e.length)break;o(a)}}return n},this.$getDisplayTokens=function(e,o){var n,i=[];o=o||0;for(var r=0;r<e.length;r++){var l=e.charCodeAt(r);if(9==l){n=this.getScreenTabSize(i.length+o),i.push(m);for(var a=1;n>a;a++)i.push(y)}else 32==l?i.push(f):l>39&&48>l||l>57&&64>l?i.push(p):l>=4352&&t(l)?i.push(s,c):i.push(s)}return i},this.$getStringScreenWidth=function(e,o,n){if(0==o)return[0,0];null==o&&(o=1/0),n=n||0;var i,r;for(r=0;r<e.length&&(i=e.charCodeAt(r),n+=9==i?this.getScreenTabSize(n):i>=4352&&t(i)?2:1,!(n>o));r++);return[n,r]},this.getRowLength=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var o=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(o)},this.getDocumentLastRowColumnPosition=function(e,t){var o=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(o,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(0>e)return{row:0,column:0};var o,n,i=0,r=0,s=0,l=0,a=this.$screenRowCache,c=this.$getRowCacheIndex(a,e),u=a.length;
9
- if(u&&c>=0)var s=a[c],i=this.$docRowCache[c],g=e>a[u-1];else var g=!u;for(var h=this.getLength()-1,d=this.getNextFoldLine(i),p=d?d.start.row:1/0;e>=s&&(l=this.getRowLength(i),!(s+l-1>=e||i>=h));)s+=l,i++,i>p&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),p=d?d.start.row:1/0),g&&(this.$docRowCache.push(i),this.$screenRowCache.push(s));if(d&&d.start.row<=i)o=this.getFoldDisplayLine(d),i=d.start.row;else{if(e>=s+l||i>h)return{row:h,column:this.getLine(h).length};o=this.getLine(i),d=null}if(this.$useWrapMode){var f=this.$wrapData[i];f&&(n=f[e-s],e>s&&f.length&&(r=f[e-s-1]||f[f.length-1],o=o.substring(r)))}return r+=this.$getStringScreenWidth(o,t)[1],this.$useWrapMode&&r>=n&&(r=n-1),d?d.idxToPosition(r):{row:i,column:r}},this.documentToScreenPosition=function(e,t){if("undefined"==typeof t)var o=this.$clipPositionToDocument(e.row,e.column);else o=this.$clipPositionToDocument(e,t);e=o.row,t=o.column;var n=0,i=null,r=null;r=this.getFoldAt(e,t,1),r&&(e=r.start.row,t=r.start.column);var s,l=0,a=this.$docRowCache,c=this.$getRowCacheIndex(a,e),u=a.length;if(u&&c>=0)var l=a[c],n=this.$screenRowCache[c],g=e>a[u-1];else var g=!u;for(var h=this.getNextFoldLine(l),d=h?h.start.row:1/0;e>l;){if(l>=d){if(s=h.end.row+1,s>e)break;h=this.getNextFoldLine(s,h),d=h?h.start.row:1/0}else s=l+1;n+=this.getRowLength(l),l=s,g&&(this.$docRowCache.push(l),this.$screenRowCache.push(n))}var p="";if(h&&l>=d?(p=this.getFoldDisplayLine(h,e,t),i=h.start.row):(p=this.getLine(e).substring(0,t),i=e),this.$useWrapMode){for(var f=this.$wrapData[i],m=0;p.length>=f[m];)n++,m++;p=p.substring(f[m-1]||0,p.length)}return{row:n,column:this.$getStringScreenWidth(p)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var o=this.$wrapData.length,n=0,i=0,t=this.$foldData[i++],r=t?t.start.row:1/0;o>n;)e+=this.$wrapData[n].length+1,n++,n>r&&(n=t.end.row+1,t=this.$foldData[i++],r=t?t.start.row:1/0);else{e=this.getLength();for(var s=this.$foldData,i=0;i<s.length;i++)t=s[i],e-=t.end.row-t.start.row}return e}}).call(h.prototype),e("./edit_session/folding").Folding.call(h.prototype),e("./edit_session/bracket_match").BracketMatch.call(h.prototype),i.defineOptions(h.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e){if(e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1);this.$wrap=e}},get:function(){return this.getUseWrapMode()?this.getWrapLimitRange().min||"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){this.$wrapAsCode="auto"==e?"text"!=this.$mode.type:"text"!=e},initialValue:"auto"},firstLineNumber:{set:function(){this._emit("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){isNaN(e)||this.$tabSize===e||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._emit("changeTabSize"))},initialValue:4,handlesSet:!0},overwrite:{set:function(){this._emit("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0}}),t.EditSession=h}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t){var o=e("./lib/oop"),n=e("./lib/lang"),i=e("./lib/event_emitter").EventEmitter,r=e("./range").Range,s=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){o.implement(this,i),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty)return this.moveCursorTo(this.lead.row,this.lead.column+e),void 0;var t=this.getSelectionAnchor(),o=this.getSelectionLead(),n=this.isBackwards();(!n||0!==t.column)&&this.setSelectionAnchor(t.row,t.column+e),(n||0!==o.column)&&this.$moveSelection(function(){this.moveCursorTo(o.row,o.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?r.fromPoints(t,t):this.isBackwards()?r.fromPoints(t,e):r.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},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.getWordRange=function(e,t){if("undefined"==typeof t){var o=e||this.lead;e=o.row,t=o.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var o,n="number"==typeof e?e:this.lead.row,i=this.session.getFoldLine(n);return i?(n=i.start.row,o=i.end.row):o=n,t===!0?new r(n,0,o,this.session.getLine(o).length):new r(n,0,o+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0==t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var o=this.session.getTabSize();this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(t.column-o,t.column).split(" ").length-1==o?this.moveCursorBy(0,-o):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var o=this.session.getTabSize(),t=this.lead;this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(t.column,t.column+o).split(" ").length-1==o?this.moveCursorBy(0,o):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,o=this.session.documentToScreenRow(e,t),n=this.session.screenToDocumentPosition(o,0),i=this.session.getDisplayLine(e,null,n.row,n.column),r=i.match(/^\s*/);r[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(n.column+=r[0].length),this.moveCursorToPosition(n)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var o=this.session.getLine(t.row);if(t.column==o.length){var n=o.search(/\s+$/);n>0&&(t.column=n)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e,t=this.lead.row,o=this.lead.column,n=this.doc.getLine(t),i=n.substring(o);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var r=this.session.getFoldAt(t,o,1);return r?(this.moveCursorTo(r.end.row,r.end.column),void 0):((e=this.session.nonTokenRe.exec(i))&&(o+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,i=n.substring(o)),o>=n.length?(this.moveCursorTo(t,n.length),this.moveCursorRight(),t<this.doc.getLength()-1&&this.moveCursorWordRight(),void 0):((e=this.session.tokenRe.exec(i))&&(o+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,o),void 0))},this.moveCursorLongWordLeft=function(){var e,t=this.lead.row,o=this.lead.column;if(e=this.session.getFoldAt(t,o,-1))return this.moveCursorTo(e.start.row,e.start.column),void 0;var i=this.session.getFoldStringAt(t,o,-1);null==i&&(i=this.doc.getLine(t).substring(0,o));var r,s=n.stringReverse(i);return this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,(r=this.session.nonTokenRe.exec(s))&&(o-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),0>=o?(this.moveCursorTo(t,0),this.moveCursorLeft(),t>0&&this.moveCursorWordLeft(),void 0):((r=this.session.tokenRe.exec(s))&&(o-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,o),void 0)},this.$shortWordEndIndex=function(e){var t,o,n=0,i=/\s/,r=this.session.tokenRe;if(r.lastIndex=0,t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{for(;(o=e[n])&&i.test(o);)n++;if(1>n)for(r.lastIndex=0;(o=e[n])&&!r.test(o);)if(r.lastIndex=0,n++,i.test(o)){if(n>2){n--;break}for(;(o=e[n])&&i.test(o);)n++;if(n>2)break}}return r.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,o=this.doc.getLine(e),n=o.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==o.length){var r=this.doc.getLength();do e++,n=this.doc.getLine(e);while(r>e&&/^\s*$/.test(n));/^\s+/.test(n)||(n=""),t=0}var s=this.$shortWordEndIndex(n);this.moveCursorTo(e,t+s)},this.moveCursorShortWordLeft=function(){var e,t=this.lead.row,o=this.lead.column;if(e=this.session.getFoldAt(t,o,-1))return this.moveCursorTo(e.start.row,e.start.column);var i=this.session.getLine(t).substring(0,o);if(0==o){do t--,i=this.doc.getLine(t);while(t>0&&/^\s*$/.test(i));o=i.length,/\s+$/.test(i)||(i="")}var r=n.stringReverse(i),s=this.$shortWordEndIndex(r);return this.moveCursorTo(t,o-s)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var o=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(this.$desiredColumn?o.column=this.$desiredColumn:this.$desiredColumn=o.column);var n=this.session.screenToDocumentPosition(o.row+e,o.column);this.moveCursorTo(n.row,n.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,o){var n=this.session.getFoldAt(e,t,1);n&&(e=n.start.row,t=n.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,o||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,o){var n=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(n.row,n.column,o)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(void 0==e.start){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var o=r.fromPoints(e[t].start,e[t].end);e.isBackwards&&(o.cursor=o.start),this.addRange(o,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(s.prototype),t.Selection=s}),define("ace/range",["require","exports","module"],function(e,t){var o=function(e,t){return e.row-t.row||e.column-t.column},n=function(e,t,o,n){this.start={row:e,column:t},this.end={row:o,column:n}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,o=e.end,n=e.start;return t=this.compare(o.row,o.column),1==t?(t=this.compare(n.row,n.column),1==t?2:0==t?1:0):-1==t?-2:(t=this.compare(n.row,n.column),-1==t?-1:1==t?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return 0==this.compare(e,t)?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return 0==this.compare(e,t)?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var o={row:t+1,column:0};else if(this.end.row<e)var o={row:e,column:0};if(this.start.row>t)var i={row:t+1,column:0};else if(this.start.row<e)var i={row:e,column:0};return n.fromPoints(i||this.start,o||this.end)},this.extend=function(e,t){var o=this.compare(e,t);if(0==o)return this;if(-1==o)var i={row:e,column:t};else var r={row:e,column:t};return n.fromPoints(i||this.start,r||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 n.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new n(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new n(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),o=e.documentToScreenPosition(this.end);return new n(t.row,t.column,o.row,o.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(n.prototype),n.fromPoints=function(e,t){return new n(e.row,e.column,t.row,t.column)},n.comparePoints=o,n.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=n}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t){var o=e("../tokenizer").Tokenizer,n=e("./text_highlight_rules").TextHighlightRules,i=e("./behaviour").Behaviour,r=e("../unicode"),s=e("../lib/lang"),l=e("../token_iterator").TokenIterator,a=e("../range").Range,c=function(){this.HighlightRules=n,this.$behaviour=new i};(function(){this.tokenRe=new RegExp("^["+r.packages.L+r.packages.Mn+r.packages.Mc+r.packages.Nd+r.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+r.packages.L+r.packages.Mn+r.packages.Mc+r.packages.Nd+r.packages.Pc+"\\$_]|s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=new this.HighlightRules,this.$tokenizer=new o(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,o,n){function i(e){for(var t=o;n>=t;t++)e(r.getLine(t),t)}var r=t.doc,l=!0,a=!0,c=1/0,u=t.getTabSize(),g=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var h=this.lineCommentStart.map(s.escapeRegExp).join("|"),d=this.lineCommentStart[0];else var h=s.escapeRegExp(this.lineCommentStart),d=this.lineCommentStart;h=new RegExp("^(\\s*)(?:"+h+") ?"),g=t.getUseSoftTabs();var p=function(e,t){var o=e.match(h);if(o){var n=o[1].length,i=o[0].length;!_(e,n,i)&&" "==o[0][i-1]&&i--,r.removeInLine(t,n,i)}},f=d+" ",m=function(e,t){(!l||/\S/.test(e))&&(_(e,c,c)?r.insertInLine({row:t,column:c},f):r.insertInLine({row:t,column:c},d))},y=function(e){return h.test(e)},_=function(e,t,o){for(var n=0;t--&&" "==e.charAt(t);)n++;if(n%u!=0)return!1;for(var n=0;" "==e.charAt(o++);)n++;return u>2?n%u!=u-1:n%u==0}}else{if(!this.blockComment)return!1;var d=this.blockComment.start,v=this.blockComment.end,h=new RegExp("^(\\s*)(?:"+s.escapeRegExp(d)+")"),E=new RegExp("(?:"+s.escapeRegExp(v)+")\\s*$"),m=function(e,t){y(e,t)||(!l||/\S/.test(e))&&(r.insertInLine({row:t,column:e.length},v),r.insertInLine({row:t,column:c},d))},p=function(e,t){var o;(o=e.match(E))&&r.removeInLine(t,e.length-o[0].length,e.length),(o=e.match(h))&&r.removeInLine(t,o[1].length,o[0].length)},y=function(e,o){if(h.test(e))return!0;for(var n=t.getTokens(o),i=0;i<n.length;i++)if("comment"===n[i].type)return!0}}var B=1/0;i(function(e,t){var o=e.search(/\S/);-1!==o?(c>o&&(c=o),a&&!y(e,t)&&(a=!1)):B>e.length&&(B=e.length)}),1/0==c&&(c=B,l=!1,a=!1),g&&c%u!=0&&(c=Math.floor(c/u)*u),i(a?p:m)},this.toggleBlockComment=function(e,t,o,n){var i=this.blockComment;if(i){!i.start&&i[0]&&(i=i[0]);var r,s,c=new l(t,n.row,n.column),u=c.getCurrentToken(),g=(t.selection,t.selection.toOrientedRange());if(u&&/comment/.test(u.type)){for(var h,d;u&&/comment/.test(u.type);){var p=u.value.indexOf(i.start);if(-1!=p){var f=c.getCurrentTokenRow(),m=c.getCurrentTokenColumn()+p;h=new a(f,m,f,m+i.start.length);break}u=c.stepBackward()}for(var c=new l(t,n.row,n.column),u=c.getCurrentToken();u&&/comment/.test(u.type);){var p=u.value.indexOf(i.end);if(-1!=p){var f=c.getCurrentTokenRow(),m=c.getCurrentTokenColumn()+p;d=new a(f,m,f,m+i.end.length);break}u=c.stepForward()}d&&t.remove(d),h&&(t.remove(h),r=h.start.row,s=-i.start.length)}else s=i.start.length,r=o.start.row,t.insert(o.end,i.end),t.insert(o.start,i.start);g.start.row==r&&(g.start.column+=s),g.end.row==r&&(g.end.column+=s),t.selection.fromOrientedRange(g)}},this.getNextLineIndent=function(e,t){return this.$getIndent(t)},this.checkOutdent=function(){return!1},this.autoOutdent=function(){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);for(var o=["toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],t=0;t<o.length;t++)(function(e){var n=o[t],i=e[n];e[o[t]]=function(){return this.$delegator(n,arguments,i)}})(this)},this.$delegator=function(e,t,o){var n=t[0];"string"!=typeof n&&(n=n[0]);for(var i=0;i<this.$embeds.length;i++)if(this.$modes[this.$embeds[i]]){var r=n.split(this.$embeds[i]);if(!r[0]&&r[1]){t[0]=r[1];var s=this.$modes[this.$embeds[i]];return s[e].apply(s,t)}}var l=o.apply(this,t);return o?l:void 0},this.transformAction=function(e,t){if(this.$behaviour){var o=this.$behaviour.getBehaviours();for(var n in o)if(o[n][t]){var i=o[n][t].apply(this,arguments);if(i)return i}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,o=[];for(var n in t)for(var i=t[n],r=0,s=i.length;s>r;r++)if("string"==typeof i[r].token)/keyword|support|storage/.test(i[r].token)&&o.push(i[r].regex);else if("object"==typeof i[r].token)for(var l=0,a=i[r].token.length;a>l;l++)if(/keyword|support|storage/.test(i[r].token[l])){var n=i[r].regex.match(/\(.+?\)/g)[l];o.push(n.substr(1,n.length-2))}this.completionKeywords=o}return e?o.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(){var e=this.$keywordList||this.$createKeywordList();return e.map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})}}).call(c.prototype),t.Mode=c}),define("ace/tokenizer",["require","exports","module"],function(e,t){var o=1e3,n=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){for(var o=this.states[t],n=[],i=0,r=this.matchMappings[t]={defaultToken:"text"},s="g",l=[],a=0;a<o.length;a++){var c=o[a];if(c.defaultToken&&(r.defaultToken=c.defaultToken),c.caseInsensitive&&(s="gi"),null!=c.regex){c.regex instanceof RegExp&&(c.regex=c.regex.toString().slice(1,-1));var u=c.regex,g=new RegExp("(?:("+u+")|(.))").exec("a").length-2;if(Array.isArray(c.token))if(1==c.token.length||1==g)c.token=c.token[0];else{if(g-1!=c.token.length)throw new Error("number of classes and regexp groups in '"+c.token+"'\n'"+c.regex+"' doesn't match\n"+(g-1)+"!="+c.token.length);c.tokenArray=c.token,c.token=null,c.onMatch=this.$arrayTokens}else"function"==typeof c.token&&!c.onMatch&&(c.onMatch=g>1?this.$applyToken:c.token);g>1&&(/\\\d/.test(c.regex)?u=c.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(g=1,u=this.removeCapturingGroups(c.regex)),!c.splitRegex&&"string"!=typeof c.token&&l.push(c)),r[i]=a,i+=g,n.push(u),c.onMatch||(c.onMatch=null),c.__proto__=null}}l.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,s)},this),this.regExps[t]=new RegExp("("+n.join(")|(")+")|($)",s)}};(function(){this.$setMaxTokenCount=function(e){o=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),o=this.token.apply(this,t);if("string"==typeof o)return[{type:o,value:e}];for(var n=[],i=0,r=o.length;r>i;i++)t[i]&&(n[n.length]={type:o[i],value:t[i]});return n},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";for(var o=[],n=this.tokenArray,i=0,r=n.length;r>i;i++)t[i+1]&&(o[o.length]={type:n[i],value:t[i+1]});return o},this.removeCapturingGroups=function(e){var t=e.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(-1!=e.indexOf("(?=")){var o=0,n=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,r,s,l,a){return n?n="]"!=l:l?n=!0:s?(o==i.stack&&(i.end=a+1,i.stack=-1),o--):r&&(o++,1!=r.length&&(i.stack=o,i.start=a)),e}),null!=i.end&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&"string"!=typeof t){var n=t.slice(0);t=n[0]}else var n=[];var i=t||"start",r=this.states[i],s=this.matchMappings[i],l=this.regExps[i];l.lastIndex=0;for(var a,c=[],u=0,g={type:null,value:""};a=l.exec(e);){var h=s.defaultToken,d=null,p=a[0],f=l.lastIndex;if(f-p.length>u){var m=e.substring(u,f-p.length);g.type==h?g.value+=m:(g.type&&c.push(g),g={type:h,value:m})}for(var y=0;y<a.length-2;y++)if(void 0!==a[y+1]){d=r[s[y]],h=d.onMatch?d.onMatch(p,i,n):d.token,d.next&&(i="string"==typeof d.next?d.next:d.next(i,n),r=this.states[i],r||(window.console&&console.error&&console.error(i,"doesn't exist"),i="start",r=this.states[i]),s=this.matchMappings[i],u=f,l=this.regExps[i],l.lastIndex=f);break}if(p)if("string"==typeof h)d&&d.merge===!1||g.type!==h?(g.type&&c.push(g),g={type:h,value:p}):g.value+=p;else if(h){g.type&&c.push(g),g={type:null,value:""};for(var y=0;y<h.length;y++)c.push(h[y])}if(u==e.length)break;if(u=f,c.length>o){for(;u<e.length;)g.type&&c.push(g),g={value:e.substring(u,u+=2e3),type:"overflow"};i="start",n=[];break}}return g.type&&c.push(g),{tokens:c,state:n.length?n:i}}}).call(n.prototype),t.Tokenizer=n}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t){var o=e("../lib/lang"),n=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(t)for(var o in e){for(var n=e[o],i=0;i<n.length;i++){var r=n[i];r.next&&("string"!=typeof r.next?r.nextState&&0!==r.nextState.indexOf(t)&&(r.nextState=t+r.nextState):0!==r.next.indexOf(t)&&(r.next=t+r.next))}this.$rules[t+o]=n}else for(var o in e)this.$rules[o]=e[o]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,r){var s=(new e).getRules();if(i)for(var l=0;l<i.length;l++)i[l]=t+i[l];else{i=[];for(var a in s)i.push(t+a)}if(this.addRules(s,t),n)for(var c=Array.prototype[r?"push":"unshift"],l=0;l<i.length;l++)c.apply(this.$rules[i[l]],o.deepCopy(n));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return"start"!=e&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t[0]!==e?"start":(t.shift(),t.shift())};this.normalizeRules=function(){function o(r){var s=i[r];s.processed=!0;for(var l=0;l<s.length;l++){var a=s[l];!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var c=a.next||a.push;if(c&&Array.isArray(c)){var u=a.stateName;u||(u=a.token,"string"!=typeof u&&(u=u[0]||""),i[u]&&(u+=n++)),i[u]=c,a.next=u,o(u)}else"pop"==c&&(a.next=t);if(a.push&&(a.nextState=a.next||a.push,a.next=e,delete a.push),a.rules)for(var g in a.rules)i[g]?i[g].push&&i[g].push.apply(i[g],a.rules[g]):i[g]=a.rules[g];if(a.include||"string"==typeof a)var h=a.include||a,d=i[h];else Array.isArray(a)&&(d=a);if(d){var p=[l,1].concat(d);a.noEscape&&(p=p.filter(function(e){return!e.next})),s.splice.apply(s,p),l--,d=null}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}var n=0,i=this.$rules;Object.keys(i).forEach(o,this)},this.createKeywordMapper=function(e,t,o,n){var i=Object.create(null);return Object.keys(e).forEach(function(t){var r=e[t];o&&(r=r.toLowerCase());for(var s=r.split(n||"|"),l=s.length;l--;)i[s[l]]=t}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),e=null,o?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(n.prototype),t.TextHighlightRules=n}),define("ace/mode/behaviour",["require","exports","module"],function(e,t){var o=function(){this.$behaviours={}};(function(){this.add=function(e,t,o){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=o},this.addBehaviours=function(e){for(var t in e)for(var o in e[t])this.add(t,o,e[t][o])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var o=(new e).getBehaviours(t);else var o=e.getBehaviours(t);this.addBehaviours(o)},this.getBehaviours=function(e){if(!e)return this.$behaviours;for(var t={},o=0;o<e.length;o++)this.$behaviours[e[o]]&&(t[e[o]]=this.$behaviours[e[o]]);return t}}).call(o.prototype),t.Behaviour=o}),define("ace/unicode",["require","exports","module"],function(e,t){function o(e){var o=/\w{4}/g;for(var n in e)t.packages[n]=e[n].replace(o,"\\u$&")}t.packages={},o({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"})
5
+ },_deactivate:function(t){var o=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),o&&this._trigger("deactivate",t,this.ui(o))},_over:function(t){var o=e.ui.ddmanager.current;o&&(o.currentItem||o.element)[0]!==this.element[0]&&this.accept.call(this.element[0],o.currentItem||o.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(o)))},_out:function(t){var o=e.ui.ddmanager.current;o&&(o.currentItem||o.element)[0]!==this.element[0]&&this.accept.call(this.element[0],o.currentItem||o.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(o)))},_drop:function(t,o){var n=o||e.ui.ddmanager.current,i=!1;return n&&(n.currentItem||n.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"ui-droppable");return t.options.greedy&&!t.options.disabled&&t.options.scope===n.options.scope&&t.accept.call(t.element[0],n.currentItem||n.element)&&e.ui.intersect(n,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(i=!0,!1):void 0}),i?!1:this.accept.call(this.element[0],n.currentItem||n.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(n)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(e,o,n){if(!o.offset)return!1;var i,r,s=(e.positionAbs||e.position.absolute).left,l=s+e.helperProportions.width,a=(e.positionAbs||e.position.absolute).top,c=a+e.helperProportions.height,u=o.offset.left,g=u+o.proportions.width,h=o.offset.top,d=h+o.proportions.height;switch(n){case"fit":return s>=u&&g>=l&&a>=h&&d>=c;case"intersect":return u<s+e.helperProportions.width/2&&l-e.helperProportions.width/2<g&&h<a+e.helperProportions.height/2&&c-e.helperProportions.height/2<d;case"pointer":return i=(e.positionAbs||e.position.absolute).left+(e.clickOffset||e.offset.click).left,r=(e.positionAbs||e.position.absolute).top+(e.clickOffset||e.offset.click).top,t(r,h,o.proportions.height)&&t(i,u,o.proportions.width);case"touch":return(a>=h&&d>=a||c>=h&&d>=c||h>a&&c>d)&&(s>=u&&g>=s||l>=u&&g>=l||u>s&&l>g);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,o){var n,i,r=e.ui.ddmanager.droppables[t.options.scope]||[],s=o?o.type:null,l=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(n=0;n<r.length;n++)if(!(r[n].options.disabled||t&&!r[n].accept.call(r[n].element[0],t.currentItem||t.element))){for(i=0;i<l.length;i++)if(l[i]===r[n].element[0]){r[n].proportions.height=0;continue e}r[n].visible="none"!==r[n].element.css("display"),r[n].visible&&("mousedown"===s&&r[n]._activate.call(r[n],o),r[n].offset=r[n].element.offset(),r[n].proportions={width:r[n].element[0].offsetWidth,height:r[n].element[0].offsetHeight})}},drop:function(t,o){var n=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(n=this._drop.call(this,o)||n),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,o)))}),n},dragStart:function(t,o){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,o)})},drag:function(t,o){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,o),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var n,i,r,s=e.ui.intersect(t,this,this.options.tolerance),l=!s&&this.isover?"isout":s&&!this.isover?"isover":null;l&&(this.options.greedy&&(i=this.options.scope,r=this.element.parents(":data(ui-droppable)").filter(function(){return e.data(this,"ui-droppable").options.scope===i}),r.length&&(n=e.data(r[0],"ui-droppable"),n.greedyChild="isover"===l)),n&&"isover"===l&&(n.isover=!1,n.isout=!0,n._out.call(n,o)),this[l]=!0,this["isout"===l?"isover":"isout"]=!1,this["isover"===l?"_over":"_out"].call(this,o),n&&"isout"===l&&(n.isout=!1,n.isover=!0,n._over.call(n,o)))}})},dragStop:function(t,o){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,o)}}}(jQuery),function(){"use strict";function e(e){function t(t,n){var r,f,m=t==window,y=n&&void 0!==n.message?n.message:void 0;if(n=e.extend({},e.blockUI.defaults,n||{}),!n.ignoreIfBlocked||!e(t).data("blockUI.isBlocked")){if(n.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,n.overlayCSS||{}),r=e.extend({},e.blockUI.defaults.css,n.css||{}),n.onOverlayClick&&(n.overlayCSS.cursor="pointer"),f=e.extend({},e.blockUI.defaults.themedCSS,n.themedCSS||{}),y=void 0===y?n.message:y,m&&d&&o(window,{fadeOut:0}),y&&"string"!=typeof y&&(y.parentNode||y.jquery)){var _=y.jquery?y[0]:y,v={};e(t).data("blockUI.history",v),v.el=_,v.parent=_.parentNode,v.display=_.style.display,v.position=_.style.position,v.parent&&v.parent.removeChild(_)}e(t).data("blockUI.onUnblock",n.onUnblock);var E,B,C,k,b=n.baseZ;E=u||n.forceIframe?e('<iframe class="blockUI" style="z-index:'+b++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+n.iframeSrc+'"></iframe>'):e('<div class="blockUI" style="display:none"></div>'),B=n.theme?e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+b++ +';display:none"></div>'):e('<div class="blockUI blockOverlay" style="z-index:'+b++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),n.theme&&m?(k='<div class="blockUI '+n.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(b+10)+';display:none;position:fixed">',n.title&&(k+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(n.title||"&nbsp;")+"</div>"),k+='<div class="ui-widget-content ui-dialog-content"></div>',k+="</div>"):n.theme?(k='<div class="blockUI '+n.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(b+10)+';display:none;position:absolute">',n.title&&(k+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(n.title||"&nbsp;")+"</div>"),k+='<div class="ui-widget-content ui-dialog-content"></div>',k+="</div>"):k=m?'<div class="blockUI '+n.blockMsgClass+' blockPage" style="z-index:'+(b+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+n.blockMsgClass+' blockElement" style="z-index:'+(b+10)+';display:none;position:absolute"></div>',C=e(k),y&&(n.theme?(C.css(f),C.addClass("ui-widget-content")):C.css(r)),n.theme||B.css(n.overlayCSS),B.css("position",m?"fixed":"absolute"),(u||n.forceIframe)&&E.css("opacity",0);var A=[E,B,C],T=m?e("body"):e(t);e.each(A,function(){this.appendTo(T)}),n.theme&&n.draggable&&e.fn.draggable&&C.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var S=h&&(!e.support.boxModel||e("object,embed",m?null:t).length>0);if(g||S){if(m&&n.allowBodyStretch&&e.support.boxModel&&e("html,body").css("height","100%"),(g||!e.support.boxModel)&&!m)var R=a(t,"borderTopWidth"),w=a(t,"borderLeftWidth"),D=R?"(0 - "+R+")":0,I=w?"(0 - "+w+")":0;e.each(A,function(e,t){var o=t[0].style;if(o.position="absolute",2>e)m?o.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+n.quirksmodeOffsetHack+') + "px"'):o.setExpression("height",'this.parentNode.offsetHeight + "px"'),m?o.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):o.setExpression("width",'this.parentNode.offsetWidth + "px"'),I&&o.setExpression("left",I),D&&o.setExpression("top",D);else if(n.centerY)m&&o.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),o.marginTop=0;else if(!n.centerY&&m){var i=n.css&&n.css.top?parseInt(n.css.top,10):0,r="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+i+') + "px"';o.setExpression("top",r)}})}if(y&&(n.theme?C.find(".ui-widget-content").append(y):C.append(y),(y.jquery||y.nodeType)&&e(y).show()),(u||n.forceIframe)&&n.showOverlay&&E.show(),n.fadeIn){var F=n.onBlock?n.onBlock:c,L=n.showOverlay&&!y?F:c,N=y?F:c;n.showOverlay&&B._fadeIn(n.fadeIn,L),y&&C._fadeIn(n.fadeIn,N)}else n.showOverlay&&B.show(),y&&C.show(),n.onBlock&&n.onBlock();if(i(1,t,n),m?(d=C[0],p=e(n.focusableElements,d),n.focusInput&&setTimeout(s,20)):l(C[0],n.centerX,n.centerY),n.timeout){var O=setTimeout(function(){m?e.unblockUI(n):e(t).unblock(n)},n.timeout);e(t).data("blockUI.timeout",O)}}}function o(t,o){var r,s=t==window,l=e(t),a=l.data("blockUI.history"),c=l.data("blockUI.timeout");c&&(clearTimeout(c),l.removeData("blockUI.timeout")),o=e.extend({},e.blockUI.defaults,o||{}),i(0,t,o),null===o.onUnblock&&(o.onUnblock=l.data("blockUI.onUnblock"),l.removeData("blockUI.onUnblock"));var u;u=s?e("body").children().filter(".blockUI").add("body > .blockUI"):l.find(">.blockUI"),o.cursorReset&&(u.length>1&&(u[1].style.cursor=o.cursorReset),u.length>2&&(u[2].style.cursor=o.cursorReset)),s&&(d=p=null),o.fadeOut?(r=u.length,u.stop().fadeOut(o.fadeOut,function(){0===--r&&n(u,a,o,t)})):n(u,a,o,t)}function n(t,o,n,i){var r=e(i);if(!r.data("blockUI.isBlocked")){t.each(function(){this.parentNode&&this.parentNode.removeChild(this)}),o&&o.el&&(o.el.style.display=o.display,o.el.style.position=o.position,o.parent&&o.parent.appendChild(o.el),r.removeData("blockUI.history")),r.data("blockUI.static")&&r.css("position","static"),"function"==typeof n.onUnblock&&n.onUnblock(i,n);var s=e(document.body),l=s.width(),a=s[0].style.width;s.width(l-1).width(l),s[0].style.width=a}}function i(t,o,n){var i=o==window,s=e(o);if((t||(!i||d)&&(i||s.data("blockUI.isBlocked")))&&(s.data("blockUI.isBlocked",t),i&&n.bindEvents&&(!t||n.showOverlay))){var l="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";t?e(document).bind(l,n,r):e(document).unbind(l,r)}}function r(t){if("keydown"===t.type&&t.keyCode&&9==t.keyCode&&d&&t.data.constrainTabKey){var o=p,n=!t.shiftKey&&t.target===o[o.length-1],i=t.shiftKey&&t.target===o[0];if(n||i)return setTimeout(function(){s(i)},10),!1}var r=t.data,l=e(t.target);return l.hasClass("blockOverlay")&&r.onOverlayClick&&r.onOverlayClick(t),l.parents("div."+r.blockMsgClass).length>0?!0:0===l.parents().children().filter("div.blockUI").length}function s(e){if(p){var t=p[e===!0?p.length-1:0];t&&t.focus()}}function l(e,t,o){var n=e.parentNode,i=e.style,r=(n.offsetWidth-e.offsetWidth)/2-a(n,"borderLeftWidth"),s=(n.offsetHeight-e.offsetHeight)/2-a(n,"borderTopWidth");t&&(i.left=r>0?r+"px":"0"),o&&(i.top=s>0?s+"px":"0")}function a(t,o){return parseInt(e.css(t,o),10)||0}e.fn._fadeIn=e.fn.fadeIn;var c=e.noop||function(){},u=/MSIE/.test(navigator.userAgent),g=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),h=(document.documentMode||0,e.isFunction(document.createElement("div").style.setExpression));e.blockUI=function(e){t(window,e)},e.unblockUI=function(e){o(window,e)},e.growlUI=function(t,o,n,i){var r=e('<div class="growlUI"></div>');t&&r.append("<h1>"+t+"</h1>"),o&&r.append("<h2>"+o+"</h2>"),void 0===n&&(n=3e3);var s=function(t){t=t||{},e.blockUI({message:r,fadeIn:"undefined"!=typeof t.fadeIn?t.fadeIn:700,fadeOut:"undefined"!=typeof t.fadeOut?t.fadeOut:1e3,timeout:"undefined"!=typeof t.timeout?t.timeout:n,centerY:!1,showOverlay:!1,onUnblock:i,css:e.blockUI.defaults.growlCSS})};s();r.css("opacity");r.mouseover(function(){s({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop(),t.fadeTo(300,1)}).mouseout(function(){e(".blockMsg").fadeOut(1e3)})},e.fn.block=function(o){if(this[0]===window)return e.blockUI(o),this;var n=e.extend({},e.blockUI.defaults,o||{});return this.each(function(){var t=e(this);n.ignoreIfBlocked&&t.data("blockUI.isBlocked")||t.unblock({fadeOut:0})}),this.each(function(){"static"==e.css(this,"position")&&(this.style.position="relative",e(this).data("blockUI.static",!0)),this.style.zoom=1,t(this,o)})},e.fn.unblock=function(t){return this[0]===window?(e.unblockUI(t),this):this.each(function(){o(this,t)})},e.blockUI.version=2.66,e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var d=null,p=[]}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}(),function(){function e(e){var t=function(e,t){return i("",e,t)},r=o;e&&(o[e]||(o[e]={}),r=o[e]),r.define&&r.define.packaged||(n.original=r.define,r.define=n,r.define.packaged=!0),r.require&&r.require.packaged||(i.original=r.require,r.require=t,r.require.packaged=!0)}var t="",o=function(){return this}();if(t||"undefined"==typeof requirejs){var n=function(e,t,o){return"string"!=typeof e?(n.original?n.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace()),void 0):(2==arguments.length&&(o=t),n.modules||(n.modules={},n.payloads={}),n.payloads[e]=o,n.modules[e]=null,void 0)},i=function(e,t,o){if("[object Array]"===Object.prototype.toString.call(t)){for(var n=[],r=0,l=t.length;l>r;++r){var a=s(e,t[r]);if(!a&&i.original)return i.original.apply(window,arguments);n.push(a)}o&&o.apply(null,n)}else{if("string"==typeof t){var c=s(e,t);return!c&&i.original?i.original.apply(window,arguments):(o&&o(),c)}if(i.original)return i.original.apply(window,arguments)}},r=function(e,t){if(-1!==t.indexOf("!")){var o=t.split("!");return r(e,o[0])+"!"+r(e,o[1])}if("."==t.charAt(0)){var n=e.split("/").slice(0,-1).join("/");for(t=n+"/"+t;-1!==t.indexOf(".")&&i!=t;){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,t){t=r(e,t);var o=n.modules[t];if(!o){if(o=n.payloads[t],"function"==typeof o){var s={},l={id:t,uri:"",exports:s,packaged:!0},a=function(e,o){return i(t,e,o)},c=o(a,s,l);s=c||l.exports,n.modules[t]=s,delete n.payloads[t]}o=n.modules[t]=s||o}return o};e(t)}}(),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/multi_select","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/mode/folding/fold_mode","ace/theme/textmate","ace/config"],function(e,t){e("./lib/fixoldbrowsers");var o=e("./lib/dom"),n=e("./lib/event"),i=e("./editor").Editor,r=e("./edit_session").EditSession,s=e("./undomanager").UndoManager,l=e("./virtual_renderer").VirtualRenderer,a=e("./multi_select").MultiSelect;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./mode/folding/fold_mode"),e("./theme/textmate"),t.config=e("./config"),t.require=e,t.edit=function(e){if("string"==typeof e){var r=e,e=document.getElementById(r);if(!e)throw new Error("ace.edit can't find div #"+r)}if(e.env&&e.env.editor instanceof i)return e.env.editor;var s=t.createEditSession(o.getInnerText(e));e.innerHTML="";var c=new i(new l(e));new a(c),c.setSession(s);var u={document:s,editor:c,onResize:c.resize.bind(c,null)};return n.addListener(window,"resize",u.onResize),c.on("destroy",function(){n.removeListener(window,"resize",u.onResize)}),e.env=c.env=u,c},t.createEditSession=function(e,t){var o=new r(e,t);return o.setUndoManager(new s),o},t.EditSession=r,t.UndoManager=s}),define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e){e("./regexp"),e("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(){function e(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function t(e,t,o){if(Array.prototype.indexOf)return e.indexOf(t,o);for(var n=o||0;n<e.length;n++)if(e[n]===t)return n;return-1}var o={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},n=void 0===o.exec.call(/()??/,"")[1],i=function(){var e=/^/g;return o.test.call(e,""),!e.lastIndex}();i&&n||(RegExp.prototype.exec=function(r){var s,l,a=o.exec.apply(this,arguments);if("string"==typeof r&&a){if(!n&&a.length>1&&t(a,"")>-1&&(l=RegExp(this.source,o.replace.call(e(this),"g","")),o.replace.call(r.slice(a.index),l,function(){for(var e=1;e<arguments.length-2;e++)void 0===arguments[e]&&(a[e]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(var c=1;c<a.length;c++)s=this._xregexp.captureNames[c-1],s&&(a[s]=a[c]);!i&&this.global&&!a[0].length&&this.lastIndex>a.index&&this.lastIndex--}return a},i||(RegExp.prototype.test=function(e){var t=o.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),define("ace/lib/es5-shim",["require","exports","module"],function(){function e(){}function t(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function o(e){return e=+e,e!==e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}Function.prototype.bind||(Function.prototype.bind=function(t){var o=this;if("function"!=typeof o)throw new TypeError("Function.prototype.bind called on incompatible "+o);var n=g.call(arguments,1),i=function(){if(this instanceof i){var e=o.apply(this,n.concat(g.call(arguments)));return Object(e)===e?e:this}return o.apply(t,n.concat(g.call(arguments)))};return o.prototype&&(e.prototype=o.prototype,i.prototype=new e,e.prototype=null),i});var n,i,r,s,l,a=Function.prototype.call,c=Array.prototype,u=Object.prototype,g=c.slice,h=a.bind(u.toString),d=a.bind(u.hasOwnProperty);if((l=d(u,"__defineGetter__"))&&(n=a.bind(u.__defineGetter__),i=a.bind(u.__defineSetter__),r=a.bind(u.__lookupGetter__),s=a.bind(u.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t,o=[];return o.splice.apply(o,e(20)),o.splice.apply(o,e(26)),t=o.length,o.splice(5,0,"XXX"),t+1==o.length,t+1==o.length?!0:void 0}()){var p=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?p.apply(this,[void 0===e?0:e,void 0===t?this.length-e:t].concat(g.call(arguments,2))):[]}}else Array.prototype.splice=function(e,t){var o=this.length;e>0?e>o&&(e=o):void 0==e?e=0:0>e&&(e=Math.max(o+e,0)),o>e+t||(t=o-e);var n=this.slice(e,e+t),i=g.call(arguments,2),r=i.length;if(e===o)r&&this.push.apply(this,i);else{var s=Math.min(t,o-e),l=e+s,a=l+r-s,c=o-l,u=o-s;if(l>a)for(var h=0;c>h;++h)this[a+h]=this[l+h];else if(a>l)for(h=c;h--;)this[a+h]=this[l+h];if(r&&e===u)this.length=u,this.push.apply(this,i);else for(this.length=u+r,h=0;r>h;++h)this[e+h]=i[h]}return n};Array.isArray||(Array.isArray=function(e){return"[object Array]"==h(e)});var f=Object("a"),m="a"!=f[0]||!(0 in f);if(Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=arguments[1],i=-1,r=o.length>>>0;if("[object Function]"!=h(e))throw new TypeError;for(;++i<r;)i in o&&e.call(n,o[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0,i=Array(n),r=arguments[1];if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");for(var s=0;n>s;s++)s in o&&(i[s]=e.call(r,o[s],s,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t,o=L(this),n=m&&"[object String]"==h(this)?this.split(""):o,i=n.length>>>0,r=[],s=arguments[1];if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");for(var l=0;i>l;l++)l in n&&(t=n[l],e.call(s,t,l,o)&&r.push(t));return r}),Array.prototype.every||(Array.prototype.every=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0,i=arguments[1];if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");for(var r=0;n>r;r++)if(r in o&&!e.call(i,o[r],r,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0,i=arguments[1];if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");for(var r=0;n>r;r++)if(r in o&&e.call(i,o[r],r,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0;if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var i,r=0;if(arguments.length>=2)i=arguments[1];else for(;;){if(r in o){i=o[r++];break}if(++r>=n)throw new TypeError("reduce of empty array with no initial value")}for(;n>r;r++)r in o&&(i=e.call(void 0,i,o[r],r,t));return i}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=L(this),o=m&&"[object String]"==h(this)?this.split(""):t,n=o.length>>>0;if("[object Function]"!=h(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var i,r=n-1;if(arguments.length>=2)i=arguments[1];else for(;;){if(r in o){i=o[r--];break}if(--r<0)throw new TypeError("reduceRight of empty array with no initial value")}do r in this&&(i=e.call(void 0,i,o[r],r,t));while(r--);return i}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var t=m&&"[object String]"==h(this)?this.split(""):L(this),n=t.length>>>0;if(!n)return-1;var i=0;for(arguments.length>1&&(i=o(arguments[1])),i=i>=0?i:Math.max(0,n+i);n>i;i++)if(i in t&&t[i]===e)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(e){var t=m&&"[object String]"==h(this)?this.split(""):L(this),n=t.length>>>0;if(!n)return-1;var i=n-1;for(arguments.length>1&&(i=Math.min(i,o(arguments[1]))),i=i>=0?i:n-Math.abs(i);i>=0;i--)if(i in t&&e===t[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:u)}),!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError(y+e);if(d(e,t)){var o,n,i;if(o={enumerable:!0,configurable:!0},l){var a=e.__proto__;e.__proto__=u;var n=r(e,t),i=s(e,t);if(e.__proto__=a,n||i)return n&&(o.get=n),i&&(o.set=i),o}return o.value=e[t],o}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),!Object.create){var _;_=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var o;if(null===e)o=_();else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var n=function(){};n.prototype=e,o=new n,o.__proto__=e}return void 0!==t&&Object.defineProperties(o,t),o}}if(Object.defineProperty){var v=t({}),E="undefined"==typeof document||t(document.createElement("div"));if(!v||!E)var B=Object.defineProperty}if(!Object.defineProperty||B){var C="Property description must be an object: ",k="Object.defineProperty called on non-object: ",b="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,o){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError(k+e);if("object"!=typeof o&&"function"!=typeof o||null===o)throw new TypeError(C+o);if(B)try{return B.call(Object,e,t,o)}catch(a){}if(d(o,"value"))if(l&&(r(e,t)||s(e,t))){var c=e.__proto__;e.__proto__=u,delete e[t],e[t]=o.value,e.__proto__=c}else e[t]=o.value;else{if(!l)throw new TypeError(b);d(o,"get")&&n(e,t,o.get),d(o,"set")&&i(e,t,o.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var o in t)d(t,o)&&Object.defineProperty(e,o,t[o]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(A){Object.freeze=function(e){return function(t){return"function"==typeof t?t:e(t)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;for(var t="";d(e,t);)t+="?";e[t]=!0;var o=d(e,t);return delete e[t],o}),!Object.keys){var T=!0,S=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],R=S.length;for(var w in{toString:null})T=!1;Object.keys=function N(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.keys called on a non-object");var N=[];for(var t in e)d(e,t)&&N.push(t);if(T)for(var o=0,n=R;n>o;o++){var i=S[o];d(e,i)&&N.push(i)}return N}}Date.now||(Date.now=function(){return(new Date).getTime()});var D=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||D.trim()){D="["+D+"]";var I=new RegExp("^"+D+D+"*"),F=new RegExp(D+D+"*$");String.prototype.trim=function(){return String(this).replace(I,"").replace(F,"")}}var L=function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),define("ace/lib/dom",["require","exports","module"],function(e,t){if("undefined"!=typeof document){var o="http://www.w3.org/1999/xhtml";t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||o,e):document.createElement(e)},t.hasCssClass=function(e,t){var o=e.className.split(/\s+/g);return-1!==o.indexOf(t)},t.addCssClass=function(e,o){t.hasCssClass(e,o)||(e.className+=" "+o)},t.removeCssClass=function(e,t){for(var o=e.className.split(/\s+/g);;){var n=o.indexOf(t);if(-1==n)break;o.splice(n,1)}e.className=o.join(" ")},t.toggleCssClass=function(e,t){for(var o=e.className.split(/\s+/g),n=!0;;){var i=o.indexOf(t);if(-1==i)break;n=!1,o.splice(i,1)}return n&&o.push(t),e.className=o.join(" "),n},t.setCssClass=function(e,o,n){n?t.addCssClass(e,o):t.removeCssClass(e,o)},t.hasCssString=function(e,t){var o,n=0;if(t=t||document,t.createStyleSheet&&(o=t.styleSheets)){for(;n<o.length;)if(o[n++].owningElement.id===e)return!0}else if(o=t.getElementsByTagName("style"))for(;n<o.length;)if(o[n++].id===e)return!0;return!1},t.importCssString=function(e,n,i){if(i=i||document,n&&t.hasCssString(n,i))return null;var r;i.createStyleSheet?(r=i.createStyleSheet(),r.cssText=e,n&&(r.owningElement.id=n)):(r=i.createElementNS?i.createElementNS(o,"style"):i.createElement("style"),r.appendChild(i.createTextNode(e)),n&&(r.id=n),t.getDocumentHead(i).appendChild(r))},t.importCssStylsheet=function(e,o){if(o.createStyleSheet)o.createStyleSheet(e);else{var n=t.createElement("link");n.rel="stylesheet",n.href=e,t.getDocumentHead(o).appendChild(n)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight},void 0!==window.pageYOffset?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),t.computedStyle=window.getComputedStyle?function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.scrollbarWidth=function(e){var o=t.createElement("ace_inner");o.style.width="100%",o.style.minWidth="0px",o.style.height="200px",o.style.display="block";var n=t.createElement("ace_outer"),i=n.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",n.appendChild(o);var r=e.documentElement;r.appendChild(n);var s=o.offsetWidth;i.overflow="scroll";var l=o.offsetWidth;return s==l&&(l=n.clientWidth),r.removeChild(n),s-l},t.setInnerHtml=function(e,t){var o=e.cloneNode(!1);return o.innerHTML=t,e.parentNode.replaceChild(o,e),o},"textContent"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),t.getParentWindow=function(e){return e.defaultView||e.parentWindow}}}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent","ace/lib/dom"],function(e,t){function o(e,t,o){var l=0;if(l=!i.isOpera||"KeyboardEvent"in window||!i.isMac?0|(t.ctrlKey?1:0)|(t.altKey?2:0)|(t.shiftKey?4:0)|(t.metaKey?8:0):0|(t.metaKey?1:0)|(t.altKey?2:0)|(t.shiftKey?4:0)|(t.ctrlKey?8:0),!i.isMac&&r){if((r[91]||r[92])&&(l|=8),r.altGr){if(3==(3&l))return;r.altGr=0}if(18===o||17===o){var a=t.location||t.keyLocation;if(17===o&&1===a)s=t.timeStamp;else if(18===o&&3===l&&2===a){var c=-s;s=t.timeStamp,c+=s,3>c&&(r.altGr=!0)}}}if(o in n.MODIFIER_KEYS){switch(n.MODIFIER_KEYS[o]){case"Alt":l=2;break;case"Shift":l=4;break;case"Ctrl":l=1;break;default:l=8}o=0}return 8&l&&(91===o||93===o)&&(o=0),l||13!==o||!t.location&&3!==t.keyLocation||(e(t,l,-o),!t.defaultPrevented)?l||o in n.FUNCTION_KEYS||o in n.PRINTABLE_KEYS?e(t,l,o):!1:void 0}{var n=e("./keys"),i=e("./useragent");e("./dom")}t.addListener=function(e,t,o){if(e.addEventListener)return e.addEventListener(t,o,!1);if(e.attachEvent){var n=function(){o.call(e,window.event)};o._wrapper=n,e.attachEvent("on"+t,n)}},t.removeListener=function(e,t,o){return e.removeEventListener?e.removeEventListener(t,o,!1):(e.detachEvent&&e.detachEvent("on"+t,o._wrapper||o),void 0)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||e.ctrlKey&&i.isMac?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,o,n){function i(e){o&&o(e),n&&n(e),t.removeListener(document,"mousemove",o,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}t.addListener(document,"mousemove",o,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0)},t.addMouseWheelListener=function(e,o){if("onmousewheel"in e){var n=8;t.addListener(e,"mousewheel",function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/n,e.wheelY=-e.wheelDeltaY/n):(e.wheelX=0,e.wheelY=-e.wheelDelta/n),o(e)})}else"onwheel"in e?t.addListener(e,"wheel",function(e){e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0),o(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),o(e)})},t.addMultiMouseDownListener=function(e,o,n,r){var s,l,a,c=0,u={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){if(0!=t.getButton(e)?c=0:e.detail>1?(c++,c>4&&(c=1)):c=1,i.isIE){var o=Math.abs(e.clientX-s)>5||Math.abs(e.clientY-l)>5;o&&(c=1),1==c&&(s=e.clientX,l=e.clientY)
6
+ }if(n[r]("mousedown",e),c>4)c=0;else if(c>1)return n[r](u[c],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){c=2,a&&clearTimeout(a),a=setTimeout(function(){a=null},o[c-1]||600),n[r]("mousedown",e),n[r](u[c],e)})};var r=null,s=0;if(t.addCommandKeyListener=function(e,n){var s=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var l=null;s(e,"keydown",function(e){l=e.keyCode}),s(e,"keypress",function(e){return o(n,e,l)})}else{var a=null;s(e,"keydown",function(e){r[e.keyCode]=!0;var t=o(n,e,e.keyCode);return a=e.defaultPrevented,t}),s(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),s(e,"keyup",function(e){r[e.keyCode]=null}),r||(r=Object.create(null),s(window,"focus",function(){r=Object.create(null)}))}},window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,o){o=o||window;var n="zero-timeout-message-"+l;t.addListener(o,"message",function i(r){r.data==n&&(t.stopPropagation(r),t.removeListener(o,"message",i),e())}),o.postMessage(n,"*")}}t.nextFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,t.nextFrame=t.nextFrame?t.nextFrame.bind(window):function(e){setTimeout(e,17)}}),define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t){var o=e("./oop"),n=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,meta:8,command:8,cmd: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","-13":"NumpadEnter",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 t in e.FUNCTION_KEYS){var n=e.FUNCTION_KEYS[t].toLowerCase();e[n]=parseInt(t,10)}return o.mixin(e,e.MODIFIER_KEYS),o.mixin(e,e.PRINTABLE_KEYS),o.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",e}();o.mixin(t,n),t.keyCodeToString=function(e){return(n[e]||String.fromCharCode(e)).toLowerCase()}}),define("ace/lib/oop",["require","exports","module"],function(e,t){t.inherits=function(){var e=function(){};return function(t,o){e.prototype=o.prototype,t.super_=o.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var o in t)e[o]=t[o];return e},t.implement=function(e,o){t.mixin(e,o)}}),define("ace/lib/useragent",["require","exports","module"],function(e,t){if(t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS},"object"==typeof navigator){var o=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),n=navigator.userAgent;t.isWin="win"==o,t.isMac="mac"==o,t.isLinux="linux"==o,t.isIE=("Microsoft Internet Explorer"==navigator.appName||navigator.appName.indexOf("MSAppHost")>=0)&&parseFloat(navigator.userAgent.match(/MSIE ([0-9]+[\.0-9]+)/)[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=window.controllers&&"Gecko"===window.navigator.product,t.isOldGecko=t.isGecko&&parseInt((navigator.userAgent.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(n.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(n.split(" Chrome/")[1])||void 0,t.isAIR=n.indexOf("AdobeAIR")>=0,t.isIPad=n.indexOf("iPad")>=0,t.isTouchPad=n.indexOf("TouchPad")>=0}}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","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","ace/config"],function(e,t){e("./lib/fixoldbrowsers");var o=e("./lib/oop"),n=e("./lib/dom"),i=e("./lib/lang"),r=e("./lib/useragent"),s=e("./keyboard/textinput").TextInput,l=e("./mouse/mouse_handler").MouseHandler,a=e("./mouse/fold_handler").FoldHandler,c=e("./keyboard/keybinding").KeyBinding,u=e("./edit_session").EditSession,g=e("./search").Search,h=e("./range").Range,d=e("./lib/event_emitter").EventEmitter,p=e("./commands/command_manager").CommandManager,f=e("./commands/default_commands").commands,m=e("./config"),y=function(e,t){var o=e.getContainerElement();this.container=o,this.renderer=e,this.commands=new p(r.isMac?"mac":"win",f),this.textInput=new s(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new c(this),this.$mouseHandler=new l(this),new a(this),this.$blockScrolling=0,this.$search=(new g).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=i.delayedCall(function(){this._signal("input",{}),this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||new u("")),m.resetOptions(this),m._emit("editor",this)};(function(){o.implement(this,d),this.$initOperationListeners=function(){function e(e){return e[e.length-1]}this.selections=[],this.commands.on("exec",function(t){this.startOperation(t);var o=t.command;if("fileJump"==o.group){var n=this.prevOp;n&&"fileJump"==n.command.group||(this.lastFileJumpPos=e(this.selections))}else this.lastFileJumpPos=null}.bind(this),!0),this.commands.on("afterExec",function(e){var t=e.command;return"fileJump"==t.group&&this.lastFileJumpPos&&!this.curOp.selectionChanged?(this.selection.fromJSON(this.lastFileJumpPos),void 0):(this.endOperation(e),void 0)}.bind(this),!0),this.$opResetTimer=i.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args},this.selections.push(this.selection.toJSON())},this.endOperation=function(){this.curOp&&(this.prevOp=this.curOp,this.curOp=null)},this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,o=["backspace","del","insertstring"],n=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var i=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),n=n&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else n=n&&-1!==o.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(n=!1),n?this.session.mergeUndoDeltas=!0:-1!==o.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e){if(e)if("string"==typeof e){this.$keybindingId=e;var t=this;m.loadModule(["keybinding",e],function(o){t.$keybindingId==e&&t.keyBinding.setKeyboardHandler(o&&o.handler)})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e);else this.keyBinding.setKeyboardHandler(null)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){if(this.session){var t=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("changeScrollLeft",this.$onScrollLeftChange);var o=this.session.getSelection();o.removeEventListener("changeCursor",this.$onCursorChange),o.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.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=e.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:e,oldSession:t})}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e){this.renderer.setTheme(e)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||n.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session.findMatchingBracket(e.getCursorPosition());if(t)var o=new h(t.row,t.column,t.row,t.column+1);else if(e.session.$mode.getMatching)var o=e.session.$mode.getMatching(e.session);o&&(e.session.$bracketHighlight=e.session.addMarker(o,"ace_bracket","text"))},50)}},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus"))},this.onBlur=function(){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur"))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t,o=e.data,n=o.range;t=n.start.row==n.end.row&&"insertLines"!=o.action&&"removeLines"!=o.action?n.end.row:1/0,this.renderer.updateLines(n.start.row,t),this._emit("change",e),this.$cursorChange()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||this.renderer.scrollCursorIntoView(),this.$highlightBrackets(),this.$updateHighlightActiveLine(),this._emit("changeSelection")},this.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),this.renderer.$maxLines&&1===this.session.getLength()&&(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var o=new h(e.row,e.column,e.row,1/0);o.id=t.addMarker(o,"ace_active-line","screenLine"),t.$highlightLineMarker=o}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._emit("changeBackMarker"))},this.onSelectionChange=function(){var e=this.session;if(e.$selectionMarker&&e.removeMarker(e.$selectionMarker),e.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var t=this.selection.getRange(),o=this.getSelectionStyle();e.$selectionMarker=e.addMarker(t,"ace_selection",o)}var n=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(n),this._emit("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var o=t.start.column-1,n=t.end.column+1,i=e.getLine(t.start.row),r=i.length,s=i.substring(Math.max(o,0),Math.min(n,r));if(!(o>=0&&/^[\w\d]/.test(s)||r>=n&&/[\w\d]$/.test(s))&&(s=i.substring(t.start.column,t.end.column),/^[\w\d]+$/.test(s))){var l=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s});return l}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e){this.$readOnly||(this._emit("paste",e),this.insert(e))},this.execCommand=function(e,t){this.commands.exec(e,this,t)},this.insert=function(e){var t=this.session,o=t.getMode(),n=this.getCursorPosition();if(this.getBehavioursEnabled()){var i=o.transformAction(t.getState(n.row),"insertion",this,t,e);i&&(e!==i.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=i.text)}if(" "==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()){var r=new h.fromPoints(n,n);r.end.column+=e.length,this.session.remove(r)}}else{var r=this.getSelectionRange();n=this.session.remove(r),this.clearSelection()}if("\n"==e||"\r\n"==e){var s=t.getLine(n.row);if(n.column>s.search(/\S|$/)){var l=s.substr(n.column).search(/\S|$/);t.doc.removeInLine(n.row,n.column,n.column+l)}}this.clearSelection();{var a=n.column,c=t.getState(n.row),s=t.getLine(n.row),u=o.checkOutdent(c,s,e);t.insert(n,e)}if(i&&i.selection&&(2==i.selection.length?this.selection.setSelectionRange(new h(n.row,a+i.selection[0],n.row,a+i.selection[1])):this.selection.setSelectionRange(new h(n.row+i.selection[0],i.selection[1],n.row+i.selection[2],i.selection[3]))),t.getDocument().isNewLine(e)){var g=o.getNextLineIndent(c,s.slice(0,n.column),t.getTabString());t.insert({row:n.row+1,column:0},g)}u&&o.autoOutdent(c,t,n.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,o){this.keyBinding.onCommandKey(e,t,o)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var o=this.session,n=o.getState(t.start.row),i=o.getMode().transformAction(n,"deletion",this,o,t);if(0==t.end.column){var r=o.getTextRange(t);if("\n"==r[r.length-1]){var s=o.getLine(t.end.row);/^\s+$/.test(s)&&(t.end.column=s.length)}}i&&(t=i)}this.session.remove(t),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 e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var o,n,i=this.session.getLine(e.row);t<i.length?(o=i.charAt(t)+i.charAt(t-1),n=new h(e.row,t-1,e.row,t+1)):(o=i.charAt(t-1)+i.charAt(t-2),n=new h(e.row,t-2,e.row,t)),this.session.replace(n,o)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),o=this.session.getTextRange(t);this.session.replace(t,o.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),o=this.session.getTextRange(t);this.session.replace(t,o.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var o=this.$getSelectedRows();return e.indentRows(o.first,o.last," "),void 0}if(t.start.column<t.end.column){var n=e.getTextRange(t);if(!/^\s+$/.test(n)){var o=this.$getSelectedRows();return e.indentRows(o.first,o.last," "),void 0}}var r=e.getLine(t.start.row),s=t.start,l=e.getTabSize(),a=e.documentToScreenColumn(s.row,s.column);if(this.session.getUseSoftTabs())var c=l-a%l,u=i.stringRepeat(" ",c);else{for(var c=a%l;" "==r[t.start.column]&&c;)t.start.column--,c--;this.selection.setSelectionRange(t),u=" "}return this.insert(u)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last," ")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,o=[];for(i=e.first;i<=e.last;i++)o.push(t.getLine(i));o.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});for(var n=new h(0,0,0,0),i=e.first;i<=e.last;i++){var r=t.getLine(i);n.start.row=i,n.end.row=i,n.end.column=r.length,t.replace(n,o[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),o=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,o,e)},this.getNumberAt=function(e,t){var o=/[\-]?[0-9]+(?:\.[0-9]+)?/g;o.lastIndex=0;for(var n=this.session.getLine(e);o.lastIndex<t;){var i=o.exec(n);if(i.index<=t&&i.index+i[0].length>=t){var r={value:i[0],start:i.index,end:i.index+i[0].length};return r}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,o=this.selection.getCursor().column,n=new h(t,o-1,t,o),i=this.session.getTextRange(n);if(!isNaN(parseFloat(i))&&isFinite(i)){var r=this.getNumberAt(t,o);if(r){var s=r.value.indexOf(".")>=0?r.start+r.value.indexOf(".")+1:r.end,l=r.start+r.value.length-s,a=parseFloat(r.value);a*=Math.pow(10,l),e*=s!==r.end&&s>o?Math.pow(10,r.end-o-1):Math.pow(10,r.end-o),a+=e,a/=Math.pow(10,l);var c=a.toFixed(l),u=new h(t,r.start,t,r.end);this.session.replace(u,c),this.moveCursorTo(t,Math.max(r.start+1,o+c.length-r.value.length))}}},this.removeLines=function(){var e,t=this.$getSelectedRows();e=0===t.first||t.last+1<this.session.getLength()?new h(t.first,0,t.last+1,0):new h(t.first-1,this.session.getLine(t.first-1).length,t.last,this.session.getLine(t.last).length),this.session.remove(e),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,o=e.getRange(),n=e.isBackwards();if(o.isEmpty()){var i=o.start.row;t.duplicateLines(i,i)}else{var r=n?o.start:o.end,s=t.insert(r,t.getTextRange(o),!1);o.start=r,o.end=s,e.setSelectionRange(o,n)}},this.moveLinesDown=function(){this.$moveLines(function(e,t){return this.session.moveLinesDown(e,t)})},this.moveLinesUp=function(){this.$moveLines(function(e,t){return this.session.moveLinesUp(e,t)})},this.moveText=function(e,t,o){return this.session.moveText(e,t,o)},this.copyLinesUp=function(){this.$moveLines(function(e,t){return this.session.duplicateLines(e,t),0})},this.copyLinesDown=function(){this.$moveLines(function(e,t){return this.session.duplicateLines(e,t)})},this.$moveLines=function(e){var t=this.selection;if(!t.inMultiSelectMode||this.inVirtualSelectionMode){var o=t.toOrientedRange(),n=this.$getSelectedRows(o),i=e.call(this,n.first,n.last);o.moveBy(i,0),t.fromOrientedRange(o)}else{var r=t.rangeList.ranges;t.rangeList.detach(this.session);for(var s=r.length;s--;){for(var l=s,n=r[s].collapseRows(),a=n.end.row,c=n.start.row;s--;){var n=r[s].collapseRows();if(!(c-n.end.row<=1))break;c=n.end.row}s++;for(var i=e.call(this,c,a);l>=s;)r[l].moveBy(i,0),l--}t.fromOrientedRange(t.ranges[0]),t.rangeList.attach(this.session)}},this.$getSelectedRows=function(){var e=this.getSelectionRange().collapseRows();return{first:e.start.row,last:e.end.row}},this.onCompositionStart=function(){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var o=this.renderer,n=this.renderer.layerConfig,i=e*Math.floor(n.height/n.lineHeight);this.$blockScrolling++,1==t?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):0==t&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var r=o.scrollTop;o.scrollBy(0,i*n.lineHeight),null!=t&&o.scrollCursorIntoView(null,.5),o.animateScrolling(r)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,o,n){this.renderer.scrollToLine(e,t,o,n)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},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(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e){var t=this.getCursorPosition(),o=this.session.getBracketRange(t);if(!o){if(o=this.find({needle:/[{}()\[\]]/g,preventScroll:!0,start:{row:t.row,column:t.column-1}}),!o)return;var n=o.start;n.row==t.row&&Math.abs(n.column-t.column)<2&&(o=this.session.getBracketRange(n))}n=o&&o.cursor||n,n&&(e?o&&o.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(n.row,n.column):(this.clearSelection(),this.moveCursorTo(n.row,n.column)))},this.gotoLine=function(e,t,o){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,o)},this.navigateTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(-e,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(e,0)},this.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){var e=this.renderer.scrollTop;this.selection.moveCursorFileEnd(),this.clearSelection(),this.renderer.animateScrolling(e)},this.navigateFileStart=function(){var e=this.renderer.scrollTop;this.selection.moveCursorFileStart(),this.clearSelection(),this.renderer.animateScrolling(e)},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var o=this.$search.find(this.session),n=0;return o?(this.$tryReplace(o,e)&&(n=1),null!==o&&(this.selection.setSelectionRange(o),this.renderer.scrollSelectionIntoView(o.start,o.end)),n):n},this.replaceAll=function(e,t){t&&this.$search.set(t);var o=this.$search.findAll(this.session),n=0;if(!o.length)return n;this.$blockScrolling+=1;var i=this.getSelectionRange();this.clearSelection(),this.selection.moveCursorTo(0,0);for(var r=o.length-1;r>=0;--r)this.$tryReplace(o[r],e)&&n++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,n},this.$tryReplace=function(e,t){var o=this.session.getTextRange(e);return t=this.$search.replace(o,t),null!==t?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()
7
+ },this.find=function(e,t,n){t||(t={}),"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&o.mixin(t,e);var i=this.selection.getRange();null==t.needle&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var r=this.$search.find(this.session);return t.preventScroll?r:r?(this.revealRange(r,n),r):(t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i),void 0)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var o=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),0!=t&&this.renderer.animateScrolling(o)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._emit("destroy",this)},this.setAutoScrollEditorIntoView=function(e){if(e!==!1){var t,o=this,n=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var r=this.on("changeSelection",function(){n=!0}),s=this.renderer.on("beforeRender",function(){n&&(t=o.renderer.container.getBoundingClientRect())}),l=this.renderer.on("afterRender",function(){if(n&&t&&o.isFocused()){var e=o.renderer,r=e.$cursorLayer.$pixelPos,s=e.layerConfig,l=r.top-s.offset;n=r.top>=0&&l+t.top<0?!0:r.top<s.height&&r.top+t.top+s.lineHeight>window.innerHeight?!1:null,null!=n&&(i.style.top=l+"px",i.style.left=r.left+"px",i.style.height=s.lineHeight+"px",i.scrollIntoView(n)),n=t=null}});this.setAutoScrollEditorIntoView=function(e){e!==!0&&(delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",r),this.renderer.removeEventListener("afterRender",l),this.renderer.removeEventListener("beforeRender",s))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking("smooth"==e),t.isBlinking=!this.$readOnly&&"wide"!=e)}}).call(y.prototype),m.defineOptions(y.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._emit("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",foldStyle:"session"}),t.Editor=y}),define("ace/lib/lang",["require","exports","module"],function(e,t){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var o="";t>0;)1&t&&(o+=e),(t>>=1)&&(e+=e);return o};var o=/^\s\s*/,n=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(o,"")},t.stringTrimRight=function(e){return e.replace(n,"")},t.copyObject=function(e){var t={};for(var o in e)t[o]=e[o];return t},t.copyArray=function(e){for(var t=[],o=0,n=e.length;n>o;o++)t[o]=e[o]&&"object"==typeof e[o]?this.copyObject(e[o]):e[o];return t},t.deepCopy=function(e){if("object"!=typeof e)return e;var t=e.constructor();for(var o in e)t[o]="object"==typeof e[o]?this.deepCopy(e[o]):e[o];return t},t.arrayToMap=function(e){for(var t={},o=0;o<e.length;o++)t[e[o]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var o in e)t[o]=e[o];return t},t.arrayRemove=function(e,t){for(var o=0;o<=e.length;o++)t===e[o]&&e.splice(o,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var o=[];return e.replace(t,function(e){o.push({offset:arguments[arguments.length-2],length:e.length})}),o},t.deferredCall=function(e){var t=null,o=function(){t=null,e()},n=function(e){return n.cancel(),t=setTimeout(o,e||0),n};return n.schedule=n,n.call=function(){return this.cancel(),e(),n},n.cancel=function(){return clearTimeout(t),t=null,n},n},t.delayedCall=function(e,t){var o=null,n=function(){o=null,e()},i=function(e){o&&clearTimeout(o),o=setTimeout(n,e||t)};return i.delay=i,i.schedule=function(e){null==o&&(o=setTimeout(n,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){o&&clearTimeout(o),o=null},i.isPending=function(){return o},i}}),define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(e,t){var o=e("../lib/event"),n=e("../lib/useragent"),i=e("../lib/dom"),r=e("../lib/lang"),s=n.isChrome<18,l=function(e,t){function l(e){if(!f){if(R)t=0,o=e?0:u.value.length-1;else var t=e?2:1,o=2;try{u.setSelectionRange(t,o)}catch(n){}}}function a(){f||(u.value=g,n.isWebKit&&B.schedule())}function c(){setTimeout(function(){m&&(u.style.cssText=m,m=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}var u=i.createElement("textarea");u.className="ace_text-input",n.isTouchPad&&u.setAttribute("x-palm-disable-auto-cap",!0),u.wrap="off",u.autocorrect="off",u.autocapitalize="off",u.spellcheck=!1,u.style.opacity="0",e.insertBefore(u,e.firstChild);var g="",h=!1,d=!1,p=!1,f=!1,m="",y=!0;try{var _=document.activeElement===u}catch(v){}o.addListener(u,"blur",function(){t.onBlur(),_=!1}),o.addListener(u,"focus",function(){_=!0,t.onFocus(),l()}),this.focus=function(){u.focus()},this.blur=function(){u.blur()},this.isFocused=function(){return _};var E=r.delayedCall(function(){_&&l(y)}),B=r.delayedCall(function(){f||(u.value=g,_&&l())});n.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=y&&(y=!y,E.schedule())}),a(),_&&t.onFocus();var C=function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length};if(!u.setSelectionRange&&u.createTextRange&&(u.setSelectionRange=function(e,t){var o=this.createTextRange();o.collapse(!0),o.moveStart("character",e),o.moveEnd("character",t),o.select()},C=function(e){try{var t=e.ownerDocument.selection.createRange()}catch(o){}return t&&t.parentElement()==e?t.text==e.value:!1}),n.isOldIE){var k=!1,b=function(e){if(!k){var t=u.value;if(!f&&t&&t!=g)return e&&t==g[0]?A.schedule():(D(t),k=!0,a(),k=!1,void 0)}},A=r.delayedCall(b);o.addListener(u,"propertychange",b);var T={13:1,27:1};o.addListener(u,"keyup",function(e){return f&&(!u.value||T[e.keyCode])&&setTimeout(M,0),(u.value.charCodeAt(0)||0)<129?A.call():(f?x():O(),void 0)}),o.addListener(u,"keydown",function(){A.schedule(50)})}var S=function(){h?h=!1:d?d=!1:C(u)?(t.selectAll(),l()):R&&l(t.selection.isEmpty())},R=null;this.setInputHandler=function(e){R=e},this.getInputHandler=function(){return R};var w=!1,D=function(e){R&&(e=R(e),R=null),p?(l(),e&&t.onPaste(e),p=!1):e==g.charAt(0)?w&&t.execCommand("del",{source:"ace"}):(e.substring(0,2)==g?e=e.substr(2):e.charAt(0)==g.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==g.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==g.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),w&&(w=!1)},I=function(){if(!f){var e=u.value;D(e),a()}},F=function(e){var n=t.getCopyText();if(!n)return o.preventDefault(e),void 0;var i=e.clipboardData||window.clipboardData;if(i&&!s){var r=i.setData("Text",n);r&&(t.onCut(),o.preventDefault(e))}r||(h=!0,u.value=n,u.select(),setTimeout(function(){h=!1,a(),l(),t.onCut()}))},L=function(e){var n=t.getCopyText();if(!n)return o.preventDefault(e),void 0;var i=e.clipboardData||window.clipboardData;if(i&&!s){var r=i.setData("Text",n);r&&(t.onCopy(),o.preventDefault(e))}r||(d=!0,u.value=n,u.select(),setTimeout(function(){d=!1,a(),l(),t.onCopy()}))},N=function(e){var i=e.clipboardData||window.clipboardData;if(i){var r=i.getData("Text");r&&t.onPaste(r),n.isIE&&setTimeout(l),o.preventDefault(e)}else u.value="",p=!0};o.addCommandKeyListener(u,t.onCommandKey.bind(t)),o.addListener(u,"select",S),o.addListener(u,"input",I),o.addListener(u,"cut",F),o.addListener(u,"copy",L),o.addListener(u,"paste",N),!("oncut"in u&&"oncopy"in u&&"onpaste"in u||!o.addListener(e,"keydown",function(e){if((!n.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:L(e);break;case 86:N(e);break;case 88:F(e)}}));var O=function(){f||(f={},t.onCompositionStart(),setTimeout(x,0),t.on("mousedown",M),t.selection.isEmpty()||(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())},x=function(){if(f){var e=u.value.replace(/\x01/g,"");if(f.lastValue!==e&&(t.onCompositionUpdate(e),f.lastValue&&t.undo(),f.lastValue=e,f.lastValue)){var o=t.selection.getRange();t.insert(f.lastValue),t.session.markUndoGroup(),f.range=t.selection.getRange(),t.selection.setRange(o),t.selection.clearSelection()}}},M=function(e){var o=f;f=!1;var n=setTimeout(function(){n=null;var e=u.value.replace(/\x01/g,"");f||(e==o.lastValue?a():!o.lastValue&&e&&(a(),D(e)))});R=function(e){return n&&clearTimeout(n),e=e.replace(/\x01/g,""),e==o.lastValue?"":(o.lastValue&&n&&t.undo(),e)},t.onCompositionEnd(),t.removeListener("mousedown",M),"compositionend"==e.type&&o.range&&t.selection.setRange(o.range)},P=r.delayedCall(x,50);if(o.addListener(u,"compositionstart",O),n.isGecko?o.addListener(u,"text",function(){P.schedule()}):(o.addListener(u,"keyup",function(){P.schedule()}),o.addListener(u,"keydown",function(){P.schedule()})),o.addListener(u,"compositionend",M),this.getElement=function(){return u},this.setReadOnly=function(e){u.readOnly=e},this.onContextMenu=function(e){w=!0,m||(m=u.style.cssText),u.style.cssText="z-index:100000;"+(n.isIE?"opacity:0.1;":""),l(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e});var r=t.container.getBoundingClientRect(),s=i.computedStyle(t.container),a=r.top+(parseInt(s.borderTopWidth)||0),g=r.left+(parseInt(r.borderLeftWidth)||0),h=r.bottom-a-u.clientHeight,d=function(e){u.style.left=e.clientX-g-2+"px",u.style.top=Math.min(e.clientY-a-2,h)+"px"};d(e),"mousedown"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),n.isWin&&o.capture(t.container,d,c))},this.onContextMenuClose=c,!n.isGecko||n.isMac){var H=function(e){t.textInput.onContextMenu(e),c()};o.addListener(t.renderer.scroller,"contextmenu",H),o.addListener(u,"contextmenu",H)}};t.TextInput=l}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t){var o=e("../lib/event"),n=e("../lib/useragent"),i=e("./default_handlers").DefaultHandlers,r=e("./default_gutter_handler").GutterHandler,s=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,a=e("../config"),c=function(e){this.editor=e,new i(this),new r(this),new l(this);var t=e.renderer.getMouseEventTarget();o.addListener(t,"click",this.onMouseEvent.bind(this,"click")),o.addListener(t,"mousemove",this.onMouseMove.bind(this,"mousemove")),o.addMultiMouseDownListener(t,[300,300,250],this,"onMouseEvent"),e.renderer.scrollBarV&&(o.addMultiMouseDownListener(e.renderer.scrollBarV.inner,[300,300,250],this,"onMouseEvent"),o.addMultiMouseDownListener(e.renderer.scrollBarH.inner,[300,300,250],this,"onMouseEvent")),o.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"));var n=e.renderer.$gutter;o.addListener(n,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),o.addListener(n,"click",this.onMouseEvent.bind(this,"gutterclick")),o.addListener(n,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),o.addListener(n,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),o.addListener(t,"mousedown",function(){e.focus()}),o.addListener(n,"mousedown",function(t){return e.focus(),o.preventDefault(t)})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new s(t,this.editor))},this.onMouseMove=function(e,t){var o=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;o&&o.length&&this.editor._emit(e,new s(t,this.editor))},this.onMouseWheel=function(e,t){var o=new s(t,this.editor);o.speed=2*this.$scrollSpeed,o.wheelX=t.wheelX,o.wheelY=t.wheelY,this.editor._emit(e,o)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var i=this.editor.renderer;i.$keepTextAreaAtCursor&&(i.$keepTextAreaAtCursor=null);var r=this,s=function(e){r.x=e.clientX,r.y=e.clientY,t&&t(e)},l=function(e){clearInterval(c),a(),r[r.state+"End"]&&r[r.state+"End"](e),r.$clickSelection=null,null==i.$keepTextAreaAtCursor&&(i.$keepTextAreaAtCursor=!0,i.$moveTextAreaToCursor()),r.isMousePressed=!1,r.onMouseEvent("mouseup",e)},a=function(){r[r.state]&&r[r.state]()};if(n.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout(function(){l(e)});o.capture(this.editor.container,s,l);var c=setInterval(a,20)}}).call(c.prototype),a.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:150},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0}}),t.MouseHandler=c}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t){function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var o=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];o.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function n(e,t,o,n){return Math.sqrt(Math.pow(o-e,2)+Math.pow(n-t,2))}function i(e,t){if(e.start.row==e.end.row)var o=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)var o=2*t.row-e.start.row-e.end.row;else var o=t.column-4;return 0>o?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=(e("../lib/dom"),e("../lib/event"),e("../lib/useragent"),0);(function(){this.onMouseDown=function(e){var t=e.inSelection(),o=e.getDocumentPosition();this.mousedownEvent=e;var n=this.editor,i=e.getButton();if(0!==i){var r=n.getSelectionRange(),s=r.isEmpty();return s&&(n.moveCursorToPosition(o),n.selection.clearSelection()),n.textInput.onContextMenu(e.domEvent),void 0}return!t||n.isFocused()||(n.focus(),!this.$focusTimout||this.$clickSelection||n.inMultiSelectMode)?(!t||this.$clickSelection||e.getShiftKey()||n.inMultiSelectMode?this.startSelect(o):t&&(this.mousedownEvent.time=(new Date).getTime(),this.startSelect(o)),this.captureMouse(e),e.preventDefault()):(this.mousedownEvent.time=(new Date).getTime(),this.setState("focusWait"),this.captureMouse(e),void 0)},this.startSelect=function(e){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var t=this.editor;setTimeout(function(){this.mousedownEvent.getShiftKey()?t.selection.selectToPosition(e):this.$clickSelection||(t.moveCursorToPosition(e),t.selection.clearSelection())}.bind(this),0),t.renderer.scroller.setCapture&&t.renderer.scroller.setCapture(),t.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,o=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var n=this.$clickSelection.comparePoint(o);if(-1==n)e=this.$clickSelection.end;else if(1==n)e=this.$clickSelection.start;else{var r=i(this.$clickSelection,o);o=r.cursor,e=r.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(o),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,o=this.editor,n=o.renderer.screenToTextCoordinates(this.x,this.y),r=o.selection[e](n.row,n.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(r.start),l=this.$clickSelection.comparePoint(r.end);if(-1==s&&0>=l)t=this.$clickSelection.end,(r.end.row!=n.row||r.end.column!=n.column)&&(n=r.start);else if(1==l&&s>=0)t=this.$clickSelection.start,(r.start.row!=n.row||r.start.column!=n.column)&&(n=r.end);else if(-1==s&&1==l)n=r.end,t=r.start;else{var a=i(this.$clickSelection,n);n=a.cursor,t=a.anchor}o.selection.setSelectionAnchor(t.row,t.column)}o.selection.selectToPosition(n),o.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=(new Date).getTime();(e>r||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),o=this.editor,n=o.session,i=n.getBracketRange(t);return i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.$clickSelection=i,this.setState("select"),void 0):(this.$clickSelection=o.selection.getWordRange(t.row,t.column),this.setState("selectByWords"),void 0)},this.onTripleClick=function(e){var t=e.getDocumentPosition(),o=this.editor;this.setState("selectByLines"),this.$clickSelection=o.selection.getLineRange(t.row)},this.onQuadClick=function(){var e=this.editor;e.selectAll(),this.$clickSelection=e.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getShiftKey()&&!e.getAccelKey()){var t=e.domEvent.timeStamp,o=t-(this.$lastScrollTime||0),n=this.editor,i=n.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);return i||200>o?(this.$lastScrollTime=t,n.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}}}).call(o.prototype),t.DefaultHandlers=o}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event"],function(e,t){function o(e){function t(){g=n.createElement("div"),g.className="ace_gutter-tooltip",g.style.display="none",l.container.appendChild(g)}function o(){g||t();var e=u.getDocumentPosition().row,o=a.$annotations[e];if(!o)return r();var n=l.session.getLength();if(e==n){var i=l.renderer.pixelToScreenCoordinates(0,u.y).row,c=u.$pos;if(i>l.session.documentToScreenRow(c.row,c.column))return r()}h!=o&&(h=o.text.join("<br/>"),g.style.display="block",g.innerHTML=h,l.on("mousewheel",r),s(u))}function r(){c&&(c=clearTimeout(c)),h&&(g.style.display="none",h=null,l.removeEventListener("mousewheel",r))}function s(e){var t=l.renderer.$gutter.getBoundingClientRect();if(g.style.left=e.x+15+"px",e.y+3*l.renderer.lineHeight+15<t.bottom)g.style.bottom="",g.style.top=e.y+15+"px";else{g.style.top="";var o=window.innerHeight||document.documentElement.clientHeight;g.style.bottom=o-e.y+5+"px"}}var l=e.editor,a=l.renderer.$gutterLayer;e.editor.setDefaultHandler("guttermousedown",function(t){if(l.isFocused()&&0==t.getButton()){var o=a.getRegion(t);if("foldWidgets"!=o){var n=t.getDocumentPosition().row,i=l.session.selection;if(t.getShiftKey())i.selectTo(n,0);else{if(2==t.domEvent.detail)return l.selectAll(),t.preventDefault();e.$clickSelection=l.selection.getLineRange(n)}return e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}}});var c,u,g,h;e.editor.setDefaultHandler("guttermousemove",function(t){var i=t.domEvent.target||t.domEvent.srcElement;return n.hasCssClass(i,"ace_fold-widget")?r():(h&&s(t),u=t,c||(c=setTimeout(function(){c=null,u&&!e.isMousePressed?o():r()},50)),void 0)}),i.addListener(l.renderer.$gutter,"mouseout",function(){u=null,h&&!c&&(c=setTimeout(function(){c=null,r()},50))}),l.on("changeSession",r)}var n=e("../lib/dom"),i=e("../lib/event");t.GutterHandler=o}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t){var o=e("../lib/event"),n=e("../lib/useragent"),i=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){o.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){o.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var o=this.getDocumentPosition();this.$inSelection=t.contains(o.row,o.column)}return this.$inSelection},this.getButton=function(){return o.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=n.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(i.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t){function o(e){function t(e,t){var o=(new Date).getTime(),i=!t||e.row!=t.row,r=!t||e.column!=t.column;if(!R||i||r)m.$blockScrolling+=1,m.moveCursorToPosition(e),m.$blockScrolling-=1,R=o,w={x:E,y:B};else{var s=n(w.x,w.y,E,B);s>c?R=null:o-R>=a&&(m.renderer.scrollCursorIntoView(),R=null)}}function o(e,t){var o=(new Date).getTime(),n=m.renderer.layerConfig.lineHeight,i=m.renderer.layerConfig.characterWidth,r=m.renderer.scroller.getBoundingClientRect(),s={x:{left:E-r.left,right:r.right-E},y:{top:B-r.top,bottom:r.bottom-B}},a=Math.min(s.x.left,s.x.right),c=Math.min(s.y.top,s.y.bottom),u={row:e.row,column:e.column};2>=a/i&&(u.column+=s.x.left<s.x.right?-3:2),1>=c/n&&(u.row+=s.y.top<s.y.bottom?-1:1);var g=e.row!=u.row,h=e.column!=u.column,d=!t||e.row!=t.row;g||h&&!d?S?o-S>=l&&m.renderer.scrollCursorIntoView(u):S=o:S=null}function u(){var e=b;b=m.renderer.screenToTextCoordinates(E,B),t(b,e),o(b,e)}function g(){k=m.selection.toOrientedRange(),v=m.session.addMarker(k,"ace_selection",m.getSelectionStyle()),m.clearSelection(),m.isFocused()&&m.renderer.$cursorLayer.setBlinking(!1),clearInterval(C),C=setInterval(u,20),I=0,r.addListener(document,"mousemove",d)}function h(){clearInterval(C),m.session.removeMarker(v),v=null,m.$blockScrolling+=1,m.selection.fromOrientedRange(k),m.$blockScrolling-=1,m.isFocused()&&!T&&m.renderer.$cursorLayer.setBlinking(!m.getReadOnly()),k=null,I=0,S=null,R=null,r.removeListener(document,"mousemove",d)}function d(){null==F&&(F=setTimeout(function(){null!=F&&v&&h()},20))}function p(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return"text/plain"==e||"Text"==e})}function f(e){var t=["copy","copymove","all","uninitialized"],o=["move","copymove","linkmove","all","uninitialized"],n=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var r="none";return n&&t.indexOf(i)>=0?r="copy":o.indexOf(i)>=0?r="move":t.indexOf(i)>=0&&(r="copy"),r}var m=e.editor,y=i.createElement("img");y.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(y.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var _=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];_.forEach(function(t){e[t]=this[t]},this),m.addEventListener("mousedown",this.onMouseDown.bind(e));var v,E,B,C,k,b,A,T,S,R,w,D=m.container,I=0;this.onDragStart=function(e){if(this.cancelDrag||!D.draggable){var t=this;return setTimeout(function(){t.startSelect(),t.captureMouse(e)},0),e.preventDefault()}k=m.getSelectionRange();var o=e.dataTransfer;o.effectAllowed=m.getReadOnly()?"copy":"copyMove",s.isOpera&&(m.container.appendChild(y),y._top=y.offsetTop),o.setDragImage&&o.setDragImage(y,0,0),s.isOpera&&m.container.removeChild(y),o.clearData(),o.setData("Text",m.session.getTextRange()),T=!0,this.setState("drag")},this.onDragEnd=function(e){if(D.draggable=!1,T=!1,this.setState(null),!m.getReadOnly()){var t=e.dataTransfer.dropEffect;!A&&"move"==t&&m.session.remove(m.getSelectionRange()),m.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging")},this.onDragEnter=function(e){return!m.getReadOnly()&&p(e.dataTransfer)?(v||g(),I++,e.dataTransfer.dropEffect=A=f(e),r.preventDefault(e)):void 0},this.onDragOver=function(e){return!m.getReadOnly()&&p(e.dataTransfer)?(v||(g(),I++),null!==F&&(F=null),E=e.clientX,B=e.clientY,e.dataTransfer.dropEffect=A=f(e),r.preventDefault(e)):void 0},this.onDragLeave=function(e){return I--,0>=I&&v?(h(),A=null,r.preventDefault(e)):void 0},this.onDrop=function(e){if(v){var t=e.dataTransfer;if(T)switch(A){case"move":k=k.contains(b.row,b.column)?{start:b,end:b}:m.moveText(k,b);break;case"copy":k=m.moveText(k,b,!0)}else{var o=t.getData("Text");k={start:b,end:m.session.insert(b,o)},m.focus(),A=null}return h(),r.preventDefault(e)}},r.addListener(D,"dragstart",this.onDragStart.bind(e)),r.addListener(D,"dragend",this.onDragEnd.bind(e)),r.addListener(D,"dragenter",this.onDragEnter.bind(e)),r.addListener(D,"dragover",this.onDragOver.bind(e)),r.addListener(D,"dragleave",this.onDragLeave.bind(e)),r.addListener(D,"drop",this.onDrop.bind(e));var F=null}function n(e,t,o,n){return Math.sqrt(Math.pow(o-e,2)+Math.pow(n-t,2))}var i=e("../lib/dom"),r=e("../lib/event"),s=e("../lib/useragent"),l=200,a=200,c=5;(function(){this.dragWait=function(){var e=(new Date).getTime()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor.container;e.draggable=!0,this.editor.renderer.$cursorLayer.setBlinking(!1),this.editor.setStyle("ace_dragging"),this.setState("dragReady")},this.onMouseDrag=function(){var e=this.editor.container;if(s.isIE&&"dragReady"==this.state){var t=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);t>3&&e.dragDrop()}if("dragWait"===this.state){var t=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);t>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,o=e.inSelection(),n=e.getButton(),i=e.domEvent.detail||1;if(1===i&&0===n&&o){this.mousedownEvent.time=(new Date).getTime();var r=e.domEvent.target||e.domEvent.srcElement;if("unselectable"in r&&(r.unselectable="on"),t.getDragDelay()){if(s.isWebKit){self.cancelDrag=!0;var l=t.container;l.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(o.prototype),t.DragdropHandler=o}),define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/event_emitter"],function(e,t,o){"no use strict";function n(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var i=e("./lib/lang"),r=e("./lib/oop"),s=e("./lib/net"),l=e("./lib/event_emitter").EventEmitter,a=function(){return this}(),c={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!c.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return c[e]},t.set=function(e,t){if(!c.hasOwnProperty(e))throw new Error("Unknown config key: "+e);c[e]=t},t.all=function(){return i.copyObject(c)},r.implement(t,l),t.moduleUrl=function(e,t){if(c.$moduleUrls[e])return c.$moduleUrls[e];var o=e.split("/");t=t||o[o.length-2]||"";var n="snippets"==t?"/":"-",i=o[o.length-1];if("-"==n){var r=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(r,"")}(!i||i==t)&&o.length>1&&(i=o[o.length-2]);var s=c[t+"Path"];return null==s?s=c.basePath:"/"==n&&(t=n=""),s&&"/"!=s.slice(-1)&&(s+="/"),s+t+n+i+this.get("suffix")},t.setModuleUrl=function(e,t){return c.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(o,n){var i,r;Array.isArray(o)&&(r=o[0],o=o[1]);try{i=e(o)}catch(l){}if(i&&!t.$loading[o])return n&&n(i);if(t.$loading[o]||(t.$loading[o]=[]),t.$loading[o].push(n),!(t.$loading[o].length>1)){var a=function(){e([o],function(e){t._emit("load.module",{name:o,module:e});var n=t.$loading[o];t.$loading[o]=null,n.forEach(function(t){t&&t(e)})})};return t.get("packaged")?(s.loadScript(t.moduleUrl(o,r),a),void 0):a()}},t.init=function(){if(c.packaged=e.packaged||o.packaged||a.define&&define.packaged,!a.document)return"";for(var i={},r="",s=document.getElementsByTagName("script"),l=0;l<s.length;l++){var u=s[l],g=u.src||u.getAttribute("src");if(g){for(var h=u.attributes,d=0,p=h.length;p>d;d++){var f=h[d];0===f.name.indexOf("data-ace-")&&(i[n(f.name.replace(/^data-ace-/,""))]=f.value)}var m=g.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);m&&(r=m[1])}}r&&(i.base=i.base||r,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var y in i)"undefined"!=typeof i[y]&&t.set(y,i[y])};var u={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]!==t){var o=this.$options[e];return o?o.forwardTo?this[o.forwardTo]&&this[o.forwardTo].setOption(e,t):(o.handlesSet||(this["$"+e]=t),o&&o.set&&o.set.call(this,t),void 0):("undefined"!=typeof console&&console.warn&&console.warn('misspelled option "'+e+'"'),void 0)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:("undefined"!=typeof console&&console.warn&&console.warn('misspelled option "'+e+'"'),void 0)}},g={};t.defineOptions=function(e,t,o){return e.$options||(g[t]=e.$options={}),Object.keys(o).forEach(function(t){var n=o[t];"string"==typeof n&&(n={forwardTo:n}),n.name||(n.name=t),e.$options[n.name]=n,"initialValue"in n&&(e["$"+n.name]=n.initialValue)}),r.implement(e,u),this},t.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var o=e.$options[t];"value"in o&&e.setOption(t,o.value)})},t.setDefaultValue=function(e,o,n){var i=g[e]||(g[e]={});i[o]&&(i.forwardTo?t.setDefaultValue(i.forwardTo,o,n):i[o].value=n)},t.setDefaultValues=function(e,o){Object.keys(o).forEach(function(n){t.setDefaultValue(e,n,o[n])})}}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t){var o=e("./dom");t.get=function(e,t){var o=new XMLHttpRequest;o.open("GET",e,!0),o.onreadystatechange=function(){4===o.readyState&&t(o.responseText)},o.send(null)},t.loadScript=function(e,t){var n=o.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,o){(o||!i.readyState||"loaded"==i.readyState||"complete"==i.readyState)&&(i=i.onload=i.onreadystatechange=null,o||t())}}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t){var o={},n=function(){this.propagationStopped=!0
8
+ },i=function(){this.defaultPrevented=!0};o._emit=o._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var o=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(o.length||r){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=n),t.preventDefault||(t.preventDefault=i),o=o.slice();for(var s=0;s<o.length&&(o[s](t,this),!t.propagationStopped);s++);return r&&!t.defaultPrevented?r(t,this):void 0}},o._signal=function(e,t){var o=(this._eventRegistry||{})[e];if(o){o=o.slice();for(var n=0;n<o.length;n++)o[n](t,this)}},o.once=function(e,t){var o=this;t&&this.addEventListener(e,function n(){o.removeEventListener(e,n),t.apply(null,arguments)})},o.setDefaultHandler=function(e,t){var o=this._defaultHandlers;if(o||(o=this._defaultHandlers={_disabled_:{}}),o[e]){var n=o[e],i=o._disabled_[e];i||(o._disabled_[e]=i=[]),i.push(n);var r=i.indexOf(t);-1!=r&&i.splice(r,1)}o[e]=t},o.removeDefaultHandler=function(e,t){var o=this._defaultHandlers;if(o){var n=o._disabled_[e];if(o[e]==t){{o[e]}n&&this.setDefaultHandler(e,n.pop())}else if(n){var i=n.indexOf(t);-1!=i&&n.splice(i,1)}}},o.on=o.addEventListener=function(e,t,o){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];return n||(n=this._eventRegistry[e]=[]),-1==n.indexOf(t)&&n[o?"unshift":"push"](t),t},o.off=o.removeListener=o.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[e];if(o){var n=o.indexOf(t);-1!==n&&o.splice(n,1)}},o.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=o}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t){function o(e){e.on("click",function(t){var o=t.getDocumentPosition(),n=e.session,i=n.getFoldAt(o.row,o.column,1);i&&(t.getAccelKey()?n.removeFold(i):n.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var o=e.renderer.$gutterLayer.getRegion(t);if("foldWidgets"==o){var n=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[n]&&e.session.onFoldWidgetClick(n,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var o=e.renderer.$gutterLayer.getRegion(t);if("foldWidgets"==o){var n=t.getDocumentPosition().row,i=e.session,r=i.getParentFoldRangeData(n,!0),s=r.range||r.firstRange;if(s){var n=s.start.row,l=i.getFoldAt(n,i.getLine(n).length,1);l?i.removeFold(l):(i.addFold("...",s),e.renderer.scrollCursorIntoView({row:s.start.row,column:0}))}t.stop()}})}t.FoldHandler=o}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t){var o=e("../lib/keys"),n=e("../lib/event"),i=function(e){this.$editor=e,this.$data={},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0),this.$data={editor:this.$editor}},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){var o=this.$handlers.indexOf(e);-1!=o&&this.$handlers.splice(o,1),void 0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==o&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1==t?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.$callKeyboardHandlers=function(e,t,o,i){for(var r,s=!1,l=this.$editor.commands,a=this.$handlers.length;a--&&(r=this.$handlers[a].handleKeyboard(this.$data,e,t,o,i),!(r&&r.command&&(s="null"==r.command?!0:l.exec(r.command,this.$editor,r.args,i),s&&i&&-1!=e&&1!=r.passEvent&&1!=r.command.passEvent&&n.stopEvent(i),s))););return s},this.onCommandKey=function(e,t,n){var i=o.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(i.prototype),t.KeyBinding=i}),define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t){var o=e("./lib/oop"),n=e("./lib/lang"),i=e("./config"),r=e("./lib/event_emitter").EventEmitter,s=e("./selection").Selection,l=e("./mode/text").Mode,a=e("./range").Range,c=e("./document").Document,u=e("./background_tokenizer").BackgroundTokenizer,g=e("./search_highlight").SearchHighlight,h=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof e&&e.getLine||(e=new c(e)),this.setDocument(e),this.selection=new s(this),i.resetOptions(this),this.setMode(t),i._emit("session",this)};(function(){function t(e){return 4352>e?!1:e>=4352&&4447>=e||e>=4515&&4519>=e||e>=4602&&4607>=e||e>=9001&&9002>=e||e>=11904&&11929>=e||e>=11931&&12019>=e||e>=12032&&12245>=e||e>=12272&&12283>=e||e>=12288&&12350>=e||e>=12353&&12438>=e||e>=12441&&12543>=e||e>=12549&&12589>=e||e>=12593&&12686>=e||e>=12688&&12730>=e||e>=12736&&12771>=e||e>=12784&&12830>=e||e>=12832&&12871>=e||e>=12880&&13054>=e||e>=13056&&19903>=e||e>=19968&&42124>=e||e>=42128&&42182>=e||e>=43360&&43388>=e||e>=44032&&55203>=e||e>=55216&&55238>=e||e>=55243&&55291>=e||e>=63744&&64255>=e||e>=65040&&65049>=e||e>=65072&&65106>=e||e>=65108&&65126>=e||e>=65128&&65131>=e||e>=65281&&65376>=e||e>=65504&&65510>=e}o.implement(this,r),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e)return this.$docRowCache=[],this.$screenRowCache=[],void 0;var t=this.$docRowCache.length,o=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>o&&(this.$docRowCache.splice(o,t),this.$screenRowCache.splice(o,t))},this.$getRowCacheIndex=function(e,t){for(var o=0,n=e.length-1;n>=o;){var i=o+n>>1,r=e[i];if(t>r)o=i+1;else{if(!(r>t))return i;n=i-1}}return o-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){var t=e.data;this.$modified=!0,this.$resetRowCache(t.range.start.row);var o=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&!t.ignore&&(this.$deltasDoc.push(t),o&&0!=o.length&&this.$deltasFold.push({action:"removeFolds",folds:o}),this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(t),this._emit("change",e)},this.setValue=function(e){this.doc.setValue(e),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(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var o,n=this.bgTokenizer.getTokens(e),i=0;if(null==t)r=n.length-1,i=this.getLine(e).length;else for(var r=0;r<n.length&&(i+=n[r].value.length,!(i>=t));r++);return o=n[r],o?(o.index=r,o.start=i-o.value.length,o):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=n.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?n.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._emit("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._emit("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._emit("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._emit("changeBreakpoint",{})},this.setBreakpoint=function(e,t){void 0===t&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._emit("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._emit("changeBreakpoint",{})},this.addMarker=function(e,t,o,n){var i=this.$markerId++,r={range:e,type:o||"line",renderer:"function"==typeof o?o:null,clazz:t,inFront:!!n,id:i};return n?(this.$frontMarkers[i]=r,this._emit("changeFrontMarker")):(this.$backMarkers[i]=r,this._emit("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(e.update){var o=this.$markerId++;return e.id=o,e.inFront=!!t,t?(this.$frontMarkers[o]=e,this._emit("changeFrontMarker")):(this.$backMarkers[o]=e,this._emit("changeBackMarker")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var o=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete o[e],this._emit(t.inFront?"changeFrontMarker":"changeBackMarker"))}},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new g(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,o,n){"number"!=typeof t&&(o=t,t=e),o||(o="ace_step");var i=new a(e,0,t,1/0);return i.id=this.addMarker(i,o,"fullLine",n),i},this.setAnnotations=function(e){this.$annotations=e,this._emit("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getWordRange=function(e,t){var o=this.getLine(e),n=!1;if(t>0&&(n=!!o.charAt(t-1).match(this.tokenRe)),n||(n=!!o.charAt(t).match(this.tokenRe)),n)var i=this.tokenRe;else if(/^\s+$/.test(o.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var r=t;if(r>0){do r--;while(r>=0&&o.charAt(r).match(i));r++}for(var s=t;s<o.length&&o.charAt(s).match(i);)s++;return new a(e,r,e,s)},this.getAWordRange=function(e,t){for(var o=this.getWordRange(e,t),n=this.getLine(o.end.row);n.charAt(o.end.column).match(/[ \t]/);)o.end.column+=1;return o},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._emit("tokenizerUpdate",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&"object"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var o=e,n=o.path}else n=e||"ace/mode/text";return this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new l),this.$modes[n]&&!o?(this.$onChangeMode(this.$modes[n]),t&&t(),void 0):(this.$modeId=n,i.loadModule(["mode",n],function(e){return this.$modeId!==n?t&&t():this.$modes[n]&&!o?this.$onChangeMode(this.$modes[n]):(e&&e.Mode&&(e=new e.Mode(o),o||(this.$modes[n]=e,e.$id=n),this.$onChangeMode(e),t&&t()),void 0)}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0),void 0)},this.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var o=e.getTokenizer();if(void 0!==o.addEventListener){var n=this.onReloadTokenizer.bind(this);o.addEventListener("update",n)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(o);else{this.bgTokenizer=new u(o);var i=this;this.bgTokenizer.addEventListener("update",function(e){i._emit("tokenizerUpdate",e)})}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,this.$options.wrapMethod.set.call(this,this.$wrapMethod),t||(this.$setFolding(e.foldingRules),this._emit("changeMode"),this.bgTokenizer.start(0))}},this.$stopWorker=function(){this.$worker&&this.$worker.terminate(),this.$worker=null},this.$startWorker=function(){if("undefined"==typeof Worker||e.noWorker)this.$worker=null;else try{this.$worker=this.$mode.createWorker(this)}catch(t){console.log("Could not load worker"),console.log(t),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal("changeScrollTop",e))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal("changeScrollLeft",e))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.screenWidth},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),o=this.$rowLengthCache,n=0,i=0,r=this.$foldData[i],s=r?r.start.row:1/0,l=t.length,a=0;l>a;a++){if(a>s){if(a=r.end.row+1,a>=l)break;r=this.$foldData[i++],s=r?r.start.row:1/0}null==o[a]&&(o[a]=this.$getStringScreenWidth(t[a])[0]),o[a]>n&&(n=o[a])}this.screenWidth=n}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var o=null,n=e.length-1;-1!=n;n--){var i=e[n];"doc"==i.group?(this.doc.revertDeltas(i.deltas),o=this.$getUndoSelection(i.deltas,!0,o)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,o&&this.$undoSelect&&!t&&this.selection.setSelectionRange(o),o}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var o=null,n=0;n<e.length;n++){var i=e[n];"doc"==i.group&&(this.doc.applyDeltas(i.deltas),o=this.$getUndoSelection(i.deltas,!1,o))}return this.$fromUndo=!1,o&&this.$undoSelect&&!t&&this.selection.setSelectionRange(o),o}},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,o){function n(e){var o="insertText"===e.action||"insertLines"===e.action;return t?!o:o}var i,r,s=e[0],l=!1;n(s)?(i=a.fromPoints(s.range.start,s.range.end),l=!0):(i=a.fromPoints(s.range.start,s.range.start),l=!1);for(var c=1;c<e.length;c++)s=e[c],n(s)?(r=s.range.start,-1==i.compare(r.row,r.column)&&i.setStart(s.range.start),r=s.range.end,1==i.compare(r.row,r.column)&&i.setEnd(s.range.end),l=!0):(r=s.range.start,-1==i.compare(r.row,r.column)&&(i=a.fromPoints(s.range.start,s.range.start)),l=!1);if(null!=o){0==a.comparePoints(o.start,i.start)&&(o.start.column+=i.end.column-i.start.column,o.end.column+=i.end.column-i.start.column);var u=o.compareRange(i);1==u?i.setStart(o.start):-1==u&&i.setEnd(o.end)}return i},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,o){var n=this.getTextRange(e),i=this.getFoldsInRange(e),r=a.fromPoints(t,t);if(!o){this.remove(e);var s=e.start.row-e.end.row,l=s?-e.end.column:e.start.column-e.end.column;l&&(r.start.row==e.end.row&&r.start.column>e.end.column&&(r.start.column+=l),r.end.row==e.end.row&&r.end.column>e.end.column&&(r.end.column+=l)),s&&r.start.row>=e.end.row&&(r.start.row+=s,r.end.row+=s)}if(r.end=this.insert(r.start,n),i.length){var c=e.start,u=r.start,s=u.row-c.row,l=u.column-c.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==c.row&&(e.start.column+=l),e.end.row==c.row&&(e.end.column+=l),e.start.row+=s,e.end.row+=s,e}))}return r},this.indentRows=function(e,t,o){o=o.replace(/\t/g,this.getTabString());for(var n=e;t>=n;n++)this.insert({row:n,column:0},o)},this.outdentRows=function(e){for(var t=e.collapseRows(),o=new a(0,0,0,0),n=this.getTabSize(),i=t.start.row;i<=t.end.row;++i){var r=this.getLine(i);o.start.row=i,o.end.row=i;for(var s=0;n>s&&" "==r.charAt(s);++s);n>s&&" "==r.charAt(s)?(o.start.column=s,o.end.column=s+1):(o.start.column=0,o.end.column=s),this.remove(o)}},this.$moveLines=function(e,t,o){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),0>o){var n=this.getRowFoldStart(e+o);if(0>n)return 0;var i=n-e}else if(o>0){var n=this.getRowFoldEnd(t+o);if(n>this.doc.getLength()-1)return 0;var i=n-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var r=new a(e,0,t,Number.MAX_VALUE),s=this.getFoldsInRange(r).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),l=0==o?this.doc.getLines(e,t):this.doc.removeLines(e,t);return this.doc.insertLines(e+i,l),s.length&&this.addFolds(s),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return 0>t?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),0>e)e=0,t=0;else{var o=this.doc.getLength();e>=o?(e=o-1,t=this.doc.getLine(o-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=[];for(var o=0;t>o;o++)this.$wrapData.push([]);this.$updateWrapData(0,t-1)}this._emit("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)&&(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this._emit("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var o=this.$wrapLimitRange;o.max<0&&(o={min:t,max:t});var n=this.$constrainWrapLimit(e,o.min,o.max);return n!=this.$wrapLimit&&n>1?(this.$wrapLimit=n,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._emit("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,o){return t&&(e=Math.max(t,e)),o&&(e=Math.min(o,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t,o=this.$useWrapMode,n=e.data.action,i=e.data.range.start.row,r=e.data.range.end.row,s=e.data.range.start,l=e.data.range.end,a=null;if(-1!=n.indexOf("Lines")?(r="insertLines"==n?i+e.data.lines.length:i,t=e.data.lines?e.data.lines.length:r-i):t=r-i,this.$updating=!0,0!=t)if(-1!=n.indexOf("remove")){this[o?"$wrapData":"$rowLengthCache"].splice(i,t);var c=this.$foldData;a=this.getFoldsInRange(e.data.range),this.removeFolds(a);var u=this.getFoldLine(l.row),g=0;if(u){u.addRemoveChars(l.row,l.column,s.column-l.column),u.shiftRow(-t);var h=this.getFoldLine(i);h&&h!==u&&(h.merge(u),u=h),g=c.indexOf(u)+1}for(g;g<c.length;g++){var u=c[g];u.start.row>=l.row&&u.shiftRow(-t)}r=i}else{var d;if(o){d=[i,0];for(var p=0;t>p;p++)d.push([]);this.$wrapData.splice.apply(this.$wrapData,d)}else d=Array(t),d.unshift(i,0),this.$rowLengthCache.splice.apply(this.$rowLengthCache,d);var c=this.$foldData,u=this.getFoldLine(i),g=0;if(u){var f=u.range.compareInside(s.row,s.column);0==f?(u=u.split(s.row,s.column),u.shiftRow(t),u.addRemoveChars(r,0,l.column-s.column)):-1==f&&(u.addRemoveChars(i,0,l.column-s.column),u.shiftRow(t)),g=c.indexOf(u)+1}for(g;g<c.length;g++){var u=c[g];u.start.row>=i&&u.shiftRow(t)}}else{t=Math.abs(e.data.range.start.column-e.data.range.end.column),-1!=n.indexOf("remove")&&(a=this.getFoldsInRange(e.data.range),this.removeFolds(a),t=-t);var u=this.getFoldLine(i);u&&u.addRemoveChars(i,s.column,t)}return o&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,o?this.$updateWrapData(i,r):this.$updateRowLengthCache(i,r),a},this.$updateRowLengthCache=function(e,t){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var o,n,i=this.doc.getAllLines(),r=this.getTabSize(),s=this.$wrapData,l=this.$wrapLimit,a=e;for(t=Math.min(t,i.length-1);t>=a;)n=this.getFoldLine(a,n),n?(o=[],n.walk(function(e,t,n,r){var s;if(null!=e){s=this.$getDisplayTokens(e,o.length),s[0]=h;for(var l=1;l<s.length;l++)s[l]=d}else s=this.$getDisplayTokens(i[t].substring(r,n),o.length);o=o.concat(s)}.bind(this),n.end.row,i[n.end.row].length+1),s[n.start.row]=this.$computeWrapSplits(o,l,r),a=n.end.row+1):(o=this.$getDisplayTokens(i[a]),s[a]=this.$computeWrapSplits(o,l,r),a++)};var s=1,c=2,h=3,d=4,p=9,f=10,m=11,y=12;this.$computeWrapSplits=function(e,t){function o(t){var o=e.slice(r,t),i=o.length;o.join("").replace(/12/g,function(){i-=1}).replace(/2/g,function(){i-=1}),s+=i,n.push(s),r=t}if(0==e.length)return[];for(var n=[],i=e.length,r=0,s=0,l=this.$wrapAsCode;i-r>t;){var a=r+t;if(e[a-1]>=f&&e[a]>=f)o(a);else if(e[a]!=h&&e[a]!=d){for(var c=Math.max(a-(l?10:t-(t>>2)),r-1);a>c&&e[a]<h;)a--;if(l){for(;a>c&&e[a]<h;)a--;for(;a>c&&e[a]==p;)a--}else for(;a>c&&e[a]<f;)a--;a>c?o(++a):(a=r+t,o(a))}else{for(a;a!=r-1&&e[a]!=h;a--);if(a>r){o(a);continue}for(a=r+t;a<e.length&&e[a]==d;a++);if(a==e.length)break;o(a)}}return n},this.$getDisplayTokens=function(e,o){var n,i=[];o=o||0;for(var r=0;r<e.length;r++){var l=e.charCodeAt(r);if(9==l){n=this.getScreenTabSize(i.length+o),i.push(m);for(var a=1;n>a;a++)i.push(y)}else 32==l?i.push(f):l>39&&48>l||l>57&&64>l?i.push(p):l>=4352&&t(l)?i.push(s,c):i.push(s)}return i},this.$getStringScreenWidth=function(e,o,n){if(0==o)return[0,0];null==o&&(o=1/0),n=n||0;var i,r;for(r=0;r<e.length&&(i=e.charCodeAt(r),n+=9==i?this.getScreenTabSize(n):i>=4352&&t(i)?2:1,!(n>o));r++);return[n,r]},this.getRowLength=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var o=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(o)},this.getDocumentLastRowColumnPosition=function(e,t){var o=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(o,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(0>e)return{row:0,column:0};var o,n,i=0,r=0,s=0,l=0,a=this.$screenRowCache,c=this.$getRowCacheIndex(a,e),u=a.length;if(u&&c>=0)var s=a[c],i=this.$docRowCache[c],g=e>a[u-1];else var g=!u;for(var h=this.getLength()-1,d=this.getNextFoldLine(i),p=d?d.start.row:1/0;e>=s&&(l=this.getRowLength(i),!(s+l-1>=e||i>=h));)s+=l,i++,i>p&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),p=d?d.start.row:1/0),g&&(this.$docRowCache.push(i),this.$screenRowCache.push(s));if(d&&d.start.row<=i)o=this.getFoldDisplayLine(d),i=d.start.row;else{if(e>=s+l||i>h)return{row:h,column:this.getLine(h).length};o=this.getLine(i),d=null}if(this.$useWrapMode){var f=this.$wrapData[i];f&&(n=f[e-s],e>s&&f.length&&(r=f[e-s-1]||f[f.length-1],o=o.substring(r)))}return r+=this.$getStringScreenWidth(o,t)[1],this.$useWrapMode&&r>=n&&(r=n-1),d?d.idxToPosition(r):{row:i,column:r}},this.documentToScreenPosition=function(e,t){if("undefined"==typeof t)var o=this.$clipPositionToDocument(e.row,e.column);else o=this.$clipPositionToDocument(e,t);e=o.row,t=o.column;var n=0,i=null,r=null;r=this.getFoldAt(e,t,1),r&&(e=r.start.row,t=r.start.column);var s,l=0,a=this.$docRowCache,c=this.$getRowCacheIndex(a,e),u=a.length;if(u&&c>=0)var l=a[c],n=this.$screenRowCache[c],g=e>a[u-1];else var g=!u;for(var h=this.getNextFoldLine(l),d=h?h.start.row:1/0;e>l;){if(l>=d){if(s=h.end.row+1,s>e)break;h=this.getNextFoldLine(s,h),d=h?h.start.row:1/0}else s=l+1;n+=this.getRowLength(l),l=s,g&&(this.$docRowCache.push(l),this.$screenRowCache.push(n))}var p="";if(h&&l>=d?(p=this.getFoldDisplayLine(h,e,t),i=h.start.row):(p=this.getLine(e).substring(0,t),i=e),this.$useWrapMode){for(var f=this.$wrapData[i],m=0;p.length>=f[m];)n++,m++;p=p.substring(f[m-1]||0,p.length)}return{row:n,column:this.$getStringScreenWidth(p)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var o=this.$wrapData.length,n=0,i=0,t=this.$foldData[i++],r=t?t.start.row:1/0;o>n;)e+=this.$wrapData[n].length+1,n++,n>r&&(n=t.end.row+1,t=this.$foldData[i++],r=t?t.start.row:1/0);else{e=this.getLength();for(var s=this.$foldData,i=0;i<s.length;i++)t=s[i],e-=t.end.row-t.start.row}return e}}).call(h.prototype),e("./edit_session/folding").Folding.call(h.prototype),e("./edit_session/bracket_match").BracketMatch.call(h.prototype),i.defineOptions(h.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e){if(e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1);this.$wrap=e}},get:function(){return this.getUseWrapMode()?this.getWrapLimitRange().min||"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){this.$wrapAsCode="auto"==e?"text"!=this.$mode.type:"text"!=e},initialValue:"auto"},firstLineNumber:{set:function(){this._emit("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){isNaN(e)||this.$tabSize===e||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._emit("changeTabSize"))},initialValue:4,handlesSet:!0},overwrite:{set:function(){this._emit("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0}}),t.EditSession=h}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t){var o=e("./lib/oop"),n=e("./lib/lang"),i=e("./lib/event_emitter").EventEmitter,r=e("./range").Range,s=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){o.implement(this,i),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty)return this.moveCursorTo(this.lead.row,this.lead.column+e),void 0;var t=this.getSelectionAnchor(),o=this.getSelectionLead(),n=this.isBackwards();(!n||0!==t.column)&&this.setSelectionAnchor(t.row,t.column+e),(n||0!==o.column)&&this.$moveSelection(function(){this.moveCursorTo(o.row,o.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?r.fromPoints(t,t):this.isBackwards()?r.fromPoints(t,e):r.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},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.getWordRange=function(e,t){if("undefined"==typeof t){var o=e||this.lead;e=o.row,t=o.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var o,n="number"==typeof e?e:this.lead.row,i=this.session.getFoldLine(n);
9
+ return i?(n=i.start.row,o=i.end.row):o=n,t===!0?new r(n,0,o,this.session.getLine(o).length):new r(n,0,o+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0==t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var o=this.session.getTabSize();this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(t.column-o,t.column).split(" ").length-1==o?this.moveCursorBy(0,-o):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var o=this.session.getTabSize(),t=this.lead;this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(t.column,t.column+o).split(" ").length-1==o?this.moveCursorBy(0,o):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,o=this.session.documentToScreenRow(e,t),n=this.session.screenToDocumentPosition(o,0),i=this.session.getDisplayLine(e,null,n.row,n.column),r=i.match(/^\s*/);r[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(n.column+=r[0].length),this.moveCursorToPosition(n)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var o=this.session.getLine(t.row);if(t.column==o.length){var n=o.search(/\s+$/);n>0&&(t.column=n)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e,t=this.lead.row,o=this.lead.column,n=this.doc.getLine(t),i=n.substring(o);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var r=this.session.getFoldAt(t,o,1);return r?(this.moveCursorTo(r.end.row,r.end.column),void 0):((e=this.session.nonTokenRe.exec(i))&&(o+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,i=n.substring(o)),o>=n.length?(this.moveCursorTo(t,n.length),this.moveCursorRight(),t<this.doc.getLength()-1&&this.moveCursorWordRight(),void 0):((e=this.session.tokenRe.exec(i))&&(o+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,o),void 0))},this.moveCursorLongWordLeft=function(){var e,t=this.lead.row,o=this.lead.column;if(e=this.session.getFoldAt(t,o,-1))return this.moveCursorTo(e.start.row,e.start.column),void 0;var i=this.session.getFoldStringAt(t,o,-1);null==i&&(i=this.doc.getLine(t).substring(0,o));var r,s=n.stringReverse(i);return this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,(r=this.session.nonTokenRe.exec(s))&&(o-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),0>=o?(this.moveCursorTo(t,0),this.moveCursorLeft(),t>0&&this.moveCursorWordLeft(),void 0):((r=this.session.tokenRe.exec(s))&&(o-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,o),void 0)},this.$shortWordEndIndex=function(e){var t,o,n=0,i=/\s/,r=this.session.tokenRe;if(r.lastIndex=0,t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{for(;(o=e[n])&&i.test(o);)n++;if(1>n)for(r.lastIndex=0;(o=e[n])&&!r.test(o);)if(r.lastIndex=0,n++,i.test(o)){if(n>2){n--;break}for(;(o=e[n])&&i.test(o);)n++;if(n>2)break}}return r.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,o=this.doc.getLine(e),n=o.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==o.length){var r=this.doc.getLength();do e++,n=this.doc.getLine(e);while(r>e&&/^\s*$/.test(n));/^\s+/.test(n)||(n=""),t=0}var s=this.$shortWordEndIndex(n);this.moveCursorTo(e,t+s)},this.moveCursorShortWordLeft=function(){var e,t=this.lead.row,o=this.lead.column;if(e=this.session.getFoldAt(t,o,-1))return this.moveCursorTo(e.start.row,e.start.column);var i=this.session.getLine(t).substring(0,o);if(0==o){do t--,i=this.doc.getLine(t);while(t>0&&/^\s*$/.test(i));o=i.length,/\s+$/.test(i)||(i="")}var r=n.stringReverse(i),s=this.$shortWordEndIndex(r);return this.moveCursorTo(t,o-s)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var o=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(this.$desiredColumn?o.column=this.$desiredColumn:this.$desiredColumn=o.column);var n=this.session.screenToDocumentPosition(o.row+e,o.column);this.moveCursorTo(n.row,n.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,o){var n=this.session.getFoldAt(e,t,1);n&&(e=n.start.row,t=n.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,o||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,o){var n=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(n.row,n.column,o)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(void 0==e.start){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var o=r.fromPoints(e[t].start,e[t].end);e.isBackwards&&(o.cursor=o.start),this.addRange(o,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(s.prototype),t.Selection=s}),define("ace/range",["require","exports","module"],function(e,t){var o=function(e,t){return e.row-t.row||e.column-t.column},n=function(e,t,o,n){this.start={row:e,column:t},this.end={row:o,column:n}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,o=e.end,n=e.start;return t=this.compare(o.row,o.column),1==t?(t=this.compare(n.row,n.column),1==t?2:0==t?1:0):-1==t?-2:(t=this.compare(n.row,n.column),-1==t?-1:1==t?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return 0==this.compare(e,t)?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return 0==this.compare(e,t)?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var o={row:t+1,column:0};else if(this.end.row<e)var o={row:e,column:0};if(this.start.row>t)var i={row:t+1,column:0};else if(this.start.row<e)var i={row:e,column:0};return n.fromPoints(i||this.start,o||this.end)},this.extend=function(e,t){var o=this.compare(e,t);if(0==o)return this;if(-1==o)var i={row:e,column:t};else var r={row:e,column:t};return n.fromPoints(i||this.start,r||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 n.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new n(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new n(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),o=e.documentToScreenPosition(this.end);return new n(t.row,t.column,o.row,o.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(n.prototype),n.fromPoints=function(e,t){return new n(e.row,e.column,t.row,t.column)},n.comparePoints=o,n.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=n}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t){var o=e("../tokenizer").Tokenizer,n=e("./text_highlight_rules").TextHighlightRules,i=e("./behaviour").Behaviour,r=e("../unicode"),s=e("../lib/lang"),l=e("../token_iterator").TokenIterator,a=e("../range").Range,c=function(){this.HighlightRules=n,this.$behaviour=new i};(function(){this.tokenRe=new RegExp("^["+r.packages.L+r.packages.Mn+r.packages.Mc+r.packages.Nd+r.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+r.packages.L+r.packages.Mn+r.packages.Mc+r.packages.Nd+r.packages.Pc+"\\$_]|s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=new this.HighlightRules,this.$tokenizer=new o(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,o,n){function i(e){for(var t=o;n>=t;t++)e(r.getLine(t),t)}var r=t.doc,l=!0,a=!0,c=1/0,u=t.getTabSize(),g=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var h=this.lineCommentStart.map(s.escapeRegExp).join("|"),d=this.lineCommentStart[0];else var h=s.escapeRegExp(this.lineCommentStart),d=this.lineCommentStart;h=new RegExp("^(\\s*)(?:"+h+") ?"),g=t.getUseSoftTabs();var p=function(e,t){var o=e.match(h);if(o){var n=o[1].length,i=o[0].length;!_(e,n,i)&&" "==o[0][i-1]&&i--,r.removeInLine(t,n,i)}},f=d+" ",m=function(e,t){(!l||/\S/.test(e))&&(_(e,c,c)?r.insertInLine({row:t,column:c},f):r.insertInLine({row:t,column:c},d))},y=function(e){return h.test(e)},_=function(e,t,o){for(var n=0;t--&&" "==e.charAt(t);)n++;if(n%u!=0)return!1;for(var n=0;" "==e.charAt(o++);)n++;return u>2?n%u!=u-1:n%u==0}}else{if(!this.blockComment)return!1;var d=this.blockComment.start,v=this.blockComment.end,h=new RegExp("^(\\s*)(?:"+s.escapeRegExp(d)+")"),E=new RegExp("(?:"+s.escapeRegExp(v)+")\\s*$"),m=function(e,t){y(e,t)||(!l||/\S/.test(e))&&(r.insertInLine({row:t,column:e.length},v),r.insertInLine({row:t,column:c},d))},p=function(e,t){var o;(o=e.match(E))&&r.removeInLine(t,e.length-o[0].length,e.length),(o=e.match(h))&&r.removeInLine(t,o[1].length,o[0].length)},y=function(e,o){if(h.test(e))return!0;for(var n=t.getTokens(o),i=0;i<n.length;i++)if("comment"===n[i].type)return!0}}var B=1/0;i(function(e,t){var o=e.search(/\S/);-1!==o?(c>o&&(c=o),a&&!y(e,t)&&(a=!1)):B>e.length&&(B=e.length)}),1/0==c&&(c=B,l=!1,a=!1),g&&c%u!=0&&(c=Math.floor(c/u)*u),i(a?p:m)},this.toggleBlockComment=function(e,t,o,n){var i=this.blockComment;if(i){!i.start&&i[0]&&(i=i[0]);var r,s,c=new l(t,n.row,n.column),u=c.getCurrentToken(),g=(t.selection,t.selection.toOrientedRange());if(u&&/comment/.test(u.type)){for(var h,d;u&&/comment/.test(u.type);){var p=u.value.indexOf(i.start);if(-1!=p){var f=c.getCurrentTokenRow(),m=c.getCurrentTokenColumn()+p;h=new a(f,m,f,m+i.start.length);break}u=c.stepBackward()}for(var c=new l(t,n.row,n.column),u=c.getCurrentToken();u&&/comment/.test(u.type);){var p=u.value.indexOf(i.end);if(-1!=p){var f=c.getCurrentTokenRow(),m=c.getCurrentTokenColumn()+p;d=new a(f,m,f,m+i.end.length);break}u=c.stepForward()}d&&t.remove(d),h&&(t.remove(h),r=h.start.row,s=-i.start.length)}else s=i.start.length,r=o.start.row,t.insert(o.end,i.end),t.insert(o.start,i.start);g.start.row==r&&(g.start.column+=s),g.end.row==r&&(g.end.column+=s),t.selection.fromOrientedRange(g)}},this.getNextLineIndent=function(e,t){return this.$getIndent(t)},this.checkOutdent=function(){return!1},this.autoOutdent=function(){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);for(var o=["toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],t=0;t<o.length;t++)(function(e){var n=o[t],i=e[n];e[o[t]]=function(){return this.$delegator(n,arguments,i)}})(this)},this.$delegator=function(e,t,o){var n=t[0];"string"!=typeof n&&(n=n[0]);for(var i=0;i<this.$embeds.length;i++)if(this.$modes[this.$embeds[i]]){var r=n.split(this.$embeds[i]);if(!r[0]&&r[1]){t[0]=r[1];var s=this.$modes[this.$embeds[i]];return s[e].apply(s,t)}}var l=o.apply(this,t);return o?l:void 0},this.transformAction=function(e,t){if(this.$behaviour){var o=this.$behaviour.getBehaviours();for(var n in o)if(o[n][t]){var i=o[n][t].apply(this,arguments);if(i)return i}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,o=[];for(var n in t)for(var i=t[n],r=0,s=i.length;s>r;r++)if("string"==typeof i[r].token)/keyword|support|storage/.test(i[r].token)&&o.push(i[r].regex);else if("object"==typeof i[r].token)for(var l=0,a=i[r].token.length;a>l;l++)if(/keyword|support|storage/.test(i[r].token[l])){var n=i[r].regex.match(/\(.+?\)/g)[l];o.push(n.substr(1,n.length-2))}this.completionKeywords=o}return e?o.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(){var e=this.$keywordList||this.$createKeywordList();return e.map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})}}).call(c.prototype),t.Mode=c}),define("ace/tokenizer",["require","exports","module"],function(e,t){var o=1e3,n=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){for(var o=this.states[t],n=[],i=0,r=this.matchMappings[t]={defaultToken:"text"},s="g",l=[],a=0;a<o.length;a++){var c=o[a];if(c.defaultToken&&(r.defaultToken=c.defaultToken),c.caseInsensitive&&(s="gi"),null!=c.regex){c.regex instanceof RegExp&&(c.regex=c.regex.toString().slice(1,-1));var u=c.regex,g=new RegExp("(?:("+u+")|(.))").exec("a").length-2;if(Array.isArray(c.token))if(1==c.token.length||1==g)c.token=c.token[0];else{if(g-1!=c.token.length)throw new Error("number of classes and regexp groups in '"+c.token+"'\n'"+c.regex+"' doesn't match\n"+(g-1)+"!="+c.token.length);c.tokenArray=c.token,c.token=null,c.onMatch=this.$arrayTokens}else"function"==typeof c.token&&!c.onMatch&&(c.onMatch=g>1?this.$applyToken:c.token);g>1&&(/\\\d/.test(c.regex)?u=c.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(g=1,u=this.removeCapturingGroups(c.regex)),!c.splitRegex&&"string"!=typeof c.token&&l.push(c)),r[i]=a,i+=g,n.push(u),c.onMatch||(c.onMatch=null),c.__proto__=null}}l.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,s)},this),this.regExps[t]=new RegExp("("+n.join(")|(")+")|($)",s)}};(function(){this.$setMaxTokenCount=function(e){o=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),o=this.token.apply(this,t);if("string"==typeof o)return[{type:o,value:e}];for(var n=[],i=0,r=o.length;r>i;i++)t[i]&&(n[n.length]={type:o[i],value:t[i]});return n},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";for(var o=[],n=this.tokenArray,i=0,r=n.length;r>i;i++)t[i+1]&&(o[o.length]={type:n[i],value:t[i+1]});return o},this.removeCapturingGroups=function(e){var t=e.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(-1!=e.indexOf("(?=")){var o=0,n=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,r,s,l,a){return n?n="]"!=l:l?n=!0:s?(o==i.stack&&(i.end=a+1,i.stack=-1),o--):r&&(o++,1!=r.length&&(i.stack=o,i.start=a)),e}),null!=i.end&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&"string"!=typeof t){var n=t.slice(0);t=n[0]}else var n=[];var i=t||"start",r=this.states[i],s=this.matchMappings[i],l=this.regExps[i];l.lastIndex=0;for(var a,c=[],u=0,g={type:null,value:""};a=l.exec(e);){var h=s.defaultToken,d=null,p=a[0],f=l.lastIndex;if(f-p.length>u){var m=e.substring(u,f-p.length);g.type==h?g.value+=m:(g.type&&c.push(g),g={type:h,value:m})}for(var y=0;y<a.length-2;y++)if(void 0!==a[y+1]){d=r[s[y]],h=d.onMatch?d.onMatch(p,i,n):d.token,d.next&&(i="string"==typeof d.next?d.next:d.next(i,n),r=this.states[i],r||(window.console&&console.error&&console.error(i,"doesn't exist"),i="start",r=this.states[i]),s=this.matchMappings[i],u=f,l=this.regExps[i],l.lastIndex=f);break}if(p)if("string"==typeof h)d&&d.merge===!1||g.type!==h?(g.type&&c.push(g),g={type:h,value:p}):g.value+=p;else if(h){g.type&&c.push(g),g={type:null,value:""};for(var y=0;y<h.length;y++)c.push(h[y])}if(u==e.length)break;if(u=f,c.length>o){for(;u<e.length;)g.type&&c.push(g),g={value:e.substring(u,u+=2e3),type:"overflow"};i="start",n=[];break}}return g.type&&c.push(g),{tokens:c,state:n.length?n:i}}}).call(n.prototype),t.Tokenizer=n}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t){var o=e("../lib/lang"),n=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(t)for(var o in e){for(var n=e[o],i=0;i<n.length;i++){var r=n[i];r.next&&("string"!=typeof r.next?r.nextState&&0!==r.nextState.indexOf(t)&&(r.nextState=t+r.nextState):0!==r.next.indexOf(t)&&(r.next=t+r.next))}this.$rules[t+o]=n}else for(var o in e)this.$rules[o]=e[o]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,r){var s=(new e).getRules();if(i)for(var l=0;l<i.length;l++)i[l]=t+i[l];else{i=[];for(var a in s)i.push(t+a)}if(this.addRules(s,t),n)for(var c=Array.prototype[r?"push":"unshift"],l=0;l<i.length;l++)c.apply(this.$rules[i[l]],o.deepCopy(n));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return"start"!=e&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t[0]!==e?"start":(t.shift(),t.shift())};this.normalizeRules=function(){function o(r){var s=i[r];s.processed=!0;for(var l=0;l<s.length;l++){var a=s[l];!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var c=a.next||a.push;if(c&&Array.isArray(c)){var u=a.stateName;u||(u=a.token,"string"!=typeof u&&(u=u[0]||""),i[u]&&(u+=n++)),i[u]=c,a.next=u,o(u)}else"pop"==c&&(a.next=t);if(a.push&&(a.nextState=a.next||a.push,a.next=e,delete a.push),a.rules)for(var g in a.rules)i[g]?i[g].push&&i[g].push.apply(i[g],a.rules[g]):i[g]=a.rules[g];if(a.include||"string"==typeof a)var h=a.include||a,d=i[h];else Array.isArray(a)&&(d=a);if(d){var p=[l,1].concat(d);a.noEscape&&(p=p.filter(function(e){return!e.next})),s.splice.apply(s,p),l--,d=null}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}var n=0,i=this.$rules;Object.keys(i).forEach(o,this)},this.createKeywordMapper=function(e,t,o,n){var i=Object.create(null);return Object.keys(e).forEach(function(t){var r=e[t];o&&(r=r.toLowerCase());for(var s=r.split(n||"|"),l=s.length;l--;)i[s[l]]=t}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),e=null,o?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(n.prototype),t.TextHighlightRules=n}),define("ace/mode/behaviour",["require","exports","module"],function(e,t){var o=function(){this.$behaviours={}};(function(){this.add=function(e,t,o){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=o},this.addBehaviours=function(e){for(var t in e)for(var o in e[t])this.add(t,o,e[t][o])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var o=(new e).getBehaviours(t);else var o=e.getBehaviours(t);this.addBehaviours(o)},this.getBehaviours=function(e){if(!e)return this.$behaviours;for(var t={},o=0;o<e.length;o++)this.$behaviours[e[o]]&&(t[e[o]]=this.$behaviours[e[o]]);return t}}).call(o.prototype),t.Behaviour=o}),define("ace/unicode",["require","exports","module"],function(e,t){function o(e){var o=/\w{4}/g;for(var n in e)t.packages[n]=e[n].replace(o,"\\u$&")}t.packages={},o({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"})
10
10
  }),define("ace/token_iterator",["require","exports","module"],function(e,t){var o=function(e,t,o){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var n=e.getTokenAt(t,o);this.$tokenIndex=n?n.index:-1};(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;for(var e;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),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 e=this.$rowTokens,t=this.$tokenIndex,o=e[t].start;if(void 0!==o)return o;for(o=0;t>0;)t-=1,o+=e[t].value.length;return o}}).call(o.prototype),t.TokenIterator=o}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t){var o=e("./lib/oop"),n=e("./lib/event_emitter").EventEmitter,i=e("./range").Range,r=e("./anchor").Anchor,s=function(e){this.$lines=[],0==e.length?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){o.implement(this,n),this.setValue=function(e){var t=this.getLength();this.remove(new i(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new r(this,e,t)},this.$split=0=="aaa".split(/a/).length?function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e)},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var o=t.length-1;return e.end.row-e.start.row==o&&(t[o]=t[o].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||0===t.length)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var o=this.$split(t),n=o.splice(0,1)[0],i=0==o.length?null:o.splice(o.length-1,1)[0];return e=this.insertInLine(e,n),null!==i&&(e=this.insertNewLine(e),e=this._insertLines(e.row,o),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(0==t.length)return{row:e,column:0};if(t.length>65535){var o=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var n=[e,0];n.push.apply(n,t),this.$lines.splice.apply(this.$lines,n);var r=new i(e,0,e+t.length,0),s={action:"insertLines",range:r,lines:t};return this._emit("change",{data:s}),o||r.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var o={row:e.row+1,column:0},n={action:"insertText",range:i.fromPoints(e,o),text:this.getNewLineCharacter()};return this._emit("change",{data:n}),o},this.insertInLine=function(e,t){if(0==t.length)return e;var o=this.$lines[e.row]||"";this.$lines[e.row]=o.substring(0,e.column)+t+o.substring(e.column);var n={row:e.row,column:e.column+t.length},r={action:"insertText",range:i.fromPoints(e,n),text:t};return this._emit("change",{data:r}),n},this.remove=function(e){if(!e instanceof i&&(e=i.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end),e.isEmpty())return e.start;var t=e.start.row,o=e.end.row;if(e.isMultiLine()){var n=0==e.start.column?t:t+1,r=o-1;e.end.column>0&&this.removeInLine(o,0,e.end.column),r>=n&&this._removeLines(n,r),n!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,o){if(t!=o){var n=new i(e,t,e,o),r=this.getLine(e),s=r.substring(t,o),l=r.substring(0,t)+r.substring(o,r.length);this.$lines.splice(e,1,l);var a={action:"removeText",range:n,text:s};return this._emit("change",{data:a}),n.start}},this.removeLines=function(e,t){return 0>e||t>=this.getLength()?this.remove(new i(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var o=new i(e,0,t+1,0),n=this.$lines.splice(e,t-e+1),r={action:"removeLines",range:o,nl:this.getNewLineCharacter(),lines:n};return this._emit("change",{data:r}),n},this.removeNewLine=function(e){var t=this.getLine(e),o=this.getLine(e+1),n=new i(e,t.length,e+1,0),r=t+o;this.$lines.splice(e,2,r);var s={action:"removeText",range:n,text:this.getNewLineCharacter()};this._emit("change",{data:s})},this.replace=function(e,t){if(!e instanceof i&&(e=i.fromPoints(e.start,e.end)),0==t.length&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;if(this.remove(e),t)var o=this.insert(e.start,t);else o=e.start;return o},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var o=e[t],n=i.fromPoints(o.range.start,o.range.end);"insertLines"==o.action?this.insertLines(n.start.row,o.lines):"insertText"==o.action?this.insert(n.start,o.text):"removeLines"==o.action?this._removeLines(n.start.row,n.end.row-1):"removeText"==o.action&&this.remove(n)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var o=e[t],n=i.fromPoints(o.range.start,o.range.end);"insertLines"==o.action?this._removeLines(n.start.row,n.end.row-1):"insertText"==o.action?this.remove(n):"removeLines"==o.action?this._insertLines(n.start.row,o.lines):"removeText"==o.action&&this.insert(n.start,o.text)}},this.indexToPosition=function(e,t){for(var o=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,i=t||0,r=o.length;r>i;i++)if(e-=o[i].length+n,0>e)return{row:i,column:e+o[i].length+n};return{row:r-1,column:o[r-1].length}},this.positionToIndex=function(e,t){for(var o=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,i=0,r=Math.min(e.row,o.length),s=t||0;r>s;++s)i+=o[s].length+n;return i+e.column}}).call(s.prototype),t.Document=s}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t){var o=e("./lib/oop"),n=e("./lib/event_emitter").EventEmitter,i=t.Anchor=function(e,t,o){this.$onChange=this.onChange.bind(this),this.attach(e),"undefined"==typeof o?this.setPosition(t.row,t.column):this.setPosition(t,o)};(function(){o.implement(this,n),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,o=t.range;if((o.start.row!=o.end.row||o.start.row==this.row)&&!(o.start.row>this.row||o.start.row==this.row&&o.start.column>this.column)){var n=this.row,i=this.column,r=o.start,s=o.end;"insertText"===t.action?r.row===n&&r.column<=i?r.column===i&&this.$insertRight||(r.row===s.row?i+=s.column-r.column:(i-=r.column,n+=s.row-r.row)):r.row!==s.row&&r.row<n&&(n+=s.row-r.row):"insertLines"===t.action?r.row<=n&&(n+=s.row-r.row):"removeText"===t.action?r.row===n&&r.column<i?i=s.column>=i?r.column:Math.max(0,i-(s.column-r.column)):r.row!==s.row&&r.row<n?(s.row===n&&(i=Math.max(0,i-s.column)+r.column),n-=s.row-r.row):s.row===n&&(n-=s.row-r.row,i=Math.max(0,i-s.column)+r.column):"removeLines"==t.action&&r.row<=n&&(s.row<=n?n-=s.row-r.row:(n=r.row,i=0)),this.setPosition(n,i,!0)}},this.setPosition=function(e,t,o){var n;if(n=o?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=n.row||this.column!=n.column){var i={row:this.row,column:this.column};this.row=n.row,this.column=n.column,this._emit("change",{old:i,value:n})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var o={};return e>=this.document.getLength()?(o.row=Math.max(0,this.document.getLength()-1),o.column=this.document.getLine(o.row).length):0>e?(o.row=0,o.column=0):(o.row=e,o.column=Math.min(this.document.getLine(o.row).length,Math.max(0,t))),0>t&&(o.column=0),o}}).call(i.prototype)}),define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t){var o=e("./lib/oop"),n=e("./lib/event_emitter").EventEmitter,i=function(e){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var t=this;this.$worker=function(){if(t.running){for(var e=new Date,o=t.currentLine,n=-1,i=t.doc;t.lines[o];)o++;var r=o,s=i.getLength(),l=0;for(t.running=!1;s>o;){t.$tokenizeRow(o),n=o;do o++;while(t.lines[o]);if(l++,l%5==0&&new Date-e>20)return t.running=setTimeout(t.$worker,20),t.currentLine=o,void 0}t.currentLine=o,n>=r&&t.fireUpdateEvent(r,n)}}};(function(){o.implement(this,n),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var o={first:e,last:t};this._emit("update",{data:o})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.range,o=t.start.row,n=t.end.row-o;if(0===n)this.lines[o]=null;else if("removeText"==e.action||"removeLines"==e.action)this.lines.splice(o,n+1,null),this.states.splice(o,n+1,null);else{var i=Array(n+1);i.unshift(o,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(o,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),o=this.states[e-1],n=this.tokenizer.getLineTokens(t,o,e);return this.states[e]+""!=n.state+""?(this.states[e]=n.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=n.tokens}}).call(i.prototype),t.BackgroundTokenizer=i}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t){var o=e("./lib/lang"),n=(e("./lib/oop"),e("./range").Range),i=function(e,t,o){this.setRegexp(e),this.clazz=t,this.type=o||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,i,r){if(this.regExp)for(var s=r.firstRow,l=r.lastRow,a=s;l>=a;a++){var c=this.cache[a];null==c&&(c=o.getMatchOffsets(i.getLine(a),this.regExp),c.length>this.MAX_RANGES&&(c=c.slice(0,this.MAX_RANGES)),c=c.map(function(e){return new n(a,e.offset,a,e.offset+e.length)}),this.cache[a]=c.length?c:"");for(var u=c.length;u--;)t.drawSingleLineMarker(e,c[u].toScreenRange(i),this.clazz,r)}}}).call(i.prototype),t.SearchHighlight=i}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t){function o(){this.getFoldAt=function(e,t,o){var n=this.getFoldLine(e);if(!n)return null;for(var i=n.folds,r=0;r<i.length;r++){var s=i[r];if(s.range.contains(e,t)){if(1==o&&s.range.isEnd(e,t))continue;if(-1==o&&s.range.isStart(e,t))continue;return s}}},this.getFoldsInRange=function(e){var t=e.start,o=e.end,n=this.$foldData,i=[];t.column+=1,o.column-=1;for(var r=0;r<n.length;r++){var s=n[r].range.compareRange(e);if(2!=s){if(-2==s)break;for(var l=n[r].folds,a=0;a<l.length;a++){var c=l[a];if(s=c.range.compareRange(e),-2==s)break;if(2!=s){if(42==s)break;i.push(c)}}}}return t.column-=1,o.column+=1,i},this.getAllFolds=function(){function e(e){t.push(e)}for(var t=[],o=this.$foldData,n=0;n<o.length;n++)for(var i=0;i<o[n].folds.length;i++)e(o[n].folds[i]);return t},this.getFoldStringAt=function(e,t,o,n){if(n=n||this.getFoldLine(e),!n)return null;for(var i,r,s={end:{column:0}},l=0;l<n.folds.length;l++){r=n.folds[l];var a=r.range.compareEnd(e,t);if(-1==a){i=this.getLine(r.start.row).substring(s.end.column,r.start.column);break}if(0===a)return null;s=r}return i||(i=this.getLine(r.start.row).substring(s.end.column)),-1==o?i.substring(0,t-s.end.column):1==o?i.substring(t-s.end.column):i},this.getFoldLine=function(e,t){var o=this.$foldData,n=0;for(t&&(n=o.indexOf(t)),-1==n&&(n=0),n;n<o.length;n++){var i=o[n];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var o=this.$foldData,n=0;for(t&&(n=o.indexOf(t)),-1==n&&(n=0),n;n<o.length;n++){var i=o[n];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){for(var o=this.$foldData,n=t-e+1,i=0;i<o.length;i++){var r=o[i],s=r.end.row,l=r.start.row;if(s>=t){t>l&&(l>=e?n-=t-l:n=0);break}s>=e&&(n-=l>=e?s-l:s-e+1)}return n},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var o,n=this.$foldData,s=!1;e instanceof r?o=e:(o=new r(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var l=o.start.row,a=o.start.column,c=o.end.row,u=o.end.column;if(c>l||l==c&&u-2>=a){var g=this.getFoldAt(l,a,1),h=this.getFoldAt(c,u,-1);if(g&&h==g)return g.addSubFold(o);if(g&&!g.range.isStart(l,a)||h&&!h.range.isEnd(c,u))throw new Error("A fold can't intersect already existing fold"+o.range+g.range);var d=this.getFoldsInRange(o.range);d.length>0&&(this.removeFolds(d),d.forEach(function(e){o.addSubFold(e)}));for(var p=0;p<n.length;p++){var f=n[p];if(c==f.start.row){f.addFold(o),s=!0;break}if(l==f.end.row){if(f.addFold(o),s=!0,!o.sameRow){var m=n[p+1];if(m&&m.start.row==c){f.merge(m);break}}break}if(c<=f.start.row)break}return s||(f=this.$addFoldLine(new i(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(f.start.row,f.start.row):this.$updateRowLengthCache(f.start.row,f.start.row),this.$modified=!0,this._emit("changeFold",{data:o,action:"add"}),o}throw new Error("The range has to be at least 2 characters width")},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,o=t.start.row,n=t.end.row,i=this.$foldData,r=t.folds;if(1==r.length)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))r.pop(),t.end.row=r[r.length-1].end.row,t.end.column=r[r.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))r.shift(),t.start.row=r[0].start.row,t.start.column=r[0].start.column;else if(e.sameRow)r.splice(r.indexOf(e),1);else{var s=t.split(e.start.row,e.start.column);r=s.folds,r.shift(),s.start.row=r[0].start.row,s.start.column=r[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(o,n):this.$updateRowLengthCache(o,n)),this.$modified=!0,this._emit("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){for(var t=[],o=0;o<e.length;o++)t.push(e[o]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var o,i;if(null==e?(o=new n(0,0,this.getLength(),0),t=!0):o="number"==typeof e?new n(e,0,e,this.getLine(e).length):"row"in e?n.fromPoints(e,e):e,i=this.getFoldsInRange(o),t)this.removeFolds(i);else for(;i.length;)this.expandFolds(i),i=this.getFoldsInRange(o)},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var o=this.getFoldLine(e,t);return o?o.end.row:e},this.getRowFoldStart=function(e,t){var o=this.getFoldLine(e,t);return o?o.start.row:e},this.getFoldDisplayLine=function(e,t,o,n,i){null==n&&(n=e.start.row,i=0),null==t&&(t=e.end.row,o=this.getLine(t).length);var r=this.doc,s="";return e.walk(function(e,t,o,l){if(!(n>t)){if(t==n){if(i>o)return;l=Math.max(i,l)}s+=null!=e?e:r.getLine(t).substring(l,o)}},t,o),s},this.getDisplayLine=function(e,t,o,n){var i=this.getFoldLine(e);if(!i){var r;return r=this.doc.getLine(e),r.substring(n||0,t||r.length)}return this.getFoldDisplayLine(i,e,t,o,n)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var o=t.folds.map(function(e){return e.clone()});return new i(e,o)})},this.toggleFold=function(e){var t,o,n=this.selection,i=n.getRange();if(i.isEmpty()){var r=i.start;if(t=this.getFoldAt(r.row,r.column))return this.expandFold(t),void 0;(o=this.findMatchingBracket(r))?1==i.comparePoint(o)?i.end=o:(i.start=o,i.start.column++,i.end.column--):(o=this.findMatchingBracket({row:r.row,column:r.column+1}))?(1==i.comparePoint(o)?i.end=o:i.start=o,i.start.column++):i=this.getCommentFoldRange(r.row,r.column)||i}else{var s=this.getFoldsInRange(i);if(e&&s.length)return this.expandFolds(s),void 0;1==s.length&&(t=s[0])}if(t||(t=this.getFoldAt(i.start.row,i.start.column)),t&&t.range.toString()==i.toString())return this.expandFold(t),void 0;var l="...";if(!i.isMultiLine()){if(l=this.getTextRange(i),l.length<4)return;l=l.trim().substring(0,2)+".."}this.addFold(l,i)},this.getCommentFoldRange=function(e,t,o){var i=new s(this,e,t),r=i.getCurrentToken();if(r&&/^comment|string/.test(r.type)){var l=new n,a=new RegExp(r.type.replace(/\..*/,"\\."));if(1!=o){do r=i.stepBackward();while(r&&a.test(r.type));i.stepForward()}if(l.start.row=i.getCurrentTokenRow(),l.start.column=i.getCurrentTokenColumn()+2,i=new s(this,e,t),-1!=o){do r=i.stepForward();while(r&&a.test(r.type));r=i.stepBackward()}else r=i.getCurrentToken();return l.end.row=i.getCurrentTokenRow(),l.end.column=i.getCurrentTokenColumn()+r.value.length-2,l}},this.foldAll=function(e,t,o){void 0==o&&(o=1e5);var n=this.foldWidgets;t=t||this.getLength(),e=e||0;for(var i=e;t>i;i++)if(null==n[i]&&(n[i]=this.getFoldWidget(i)),"start"==n[i]){var r=this.getFoldWidgetRange(i),s=r.end.row;if(r&&r.isMultiLine()&&t>=s&&r.start.row>=e)try{var l=this.addFold("...",r);l.collapseChildren=o,i=s}catch(a){}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){this.$foldStyle=e,"manual"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){return this.$foldMode!=e?(this.$foldMode=e,this.removeListener("change",this.$updateFoldWidgets),this._emit("changeAnnotation"),e&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),void 0):(this.foldWidgets=null,void 0)):void 0},this.getParentFoldRangeData=function(e,t){var o=this.foldWidgets;if(!o||t&&o[e])return{};for(var n,i=e-1;i>=0;){var r=o[i];if(null==r&&(r=o[i]=this.getFoldWidget(i)),"start"==r){var s=this.getFoldWidgetRange(i);if(n||(n=s),s&&s.end.row>=e)break}i--}return{range:-1!==i&&s,firstRange:n}},this.onFoldWidgetClick=function(e,t){var o=this.getFoldWidget(e),n=this.getLine(e);t=t.domEvent;var i=t.shiftKey,r=t.ctrlKey||t.metaKey,s=t.altKey,l="end"===o?-1:1,a=this.getFoldAt(e,-1===l?0:n.length,l);if(a)return i||r?this.removeFold(a):this.expandFold(a),void 0;var c=this.getFoldWidgetRange(e);if(c&&!c.isMultiLine()&&(a=this.getFoldAt(c.start.row,c.start.column,1),a&&c.isEqual(a.range)))return this.removeFold(a),void 0;if(s){var u=this.getParentFoldRangeData(e);if(u.range)var g=u.range.start.row+1,h=u.range.end.row;this.foldAll(g,h,r?1e4:0)}else if(i){var h=c?c.end.row:this.getLength();this.foldAll(e+1,c.end.row,r?1e4:0)}else c&&(r&&(c.collapseChildren=1e4),this.addFold("...",c));c||((t.target||t.srcElement).className+=" ace_invalid")},this.updateFoldWidgets=function(e){var t=e.data,o=t.range,n=o.start.row,i=o.end.row-n;if(0===i)this.foldWidgets[n]=null;else if("removeText"==t.action||"removeLines"==t.action)this.foldWidgets.splice(n,i+1,null);else{var r=Array(i+1);r.unshift(n,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}}}var n=e("../range").Range,i=e("./fold_line").FoldLine,r=e("./fold").Fold,s=e("../token_iterator").TokenIterator;t.Folding=o}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t){function o(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var o=t[t.length-1];this.range=new n(t[0].start.row,t[0].start.column,o.end.row,o.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var n=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,o){var n,i,r,s=0,l=this.folds,a=!0;null==t&&(t=this.end.row,o=this.end.column);for(var c=0;c<l.length;c++){if(n=l[c],i=n.range.compareStart(t,o),-1==i)return e(null,t,o,s,a),void 0;if(r=e(null,n.start.row,n.start.column,s,a),r=!r&&e(n.placeholder,n.start.row,n.start.column,s),r||0==i)return;a=!n.sameRow,s=n.end.column}e(null,t,o,s,a)},this.getNextFoldTo=function(e,t){for(var o,n,i=0;i<this.folds.length;i++){if(o=this.folds[i],n=o.range.compareEnd(e,t),-1==n)return{fold:o,kind:"after"};if(0==n)return{fold:o,kind:"inside"}}return null},this.addRemoveChars=function(e,t,o){var n,i,r=this.getNextFoldTo(e,t);if(r)if(n=r.fold,"inside"==r.kind&&n.start.column!=t&&n.start.row!=e)window.console&&window.console.log(e,t,n);else if(n.start.row==e){i=this.folds;var s=i.indexOf(n);for(0==s&&(this.start.column+=o),s;s<i.length;s++){if(n=i[s],n.start.column+=o,!n.sameRow)return;n.end.column+=o}this.end.column+=o}},this.split=function(e,t){var n=this.getNextFoldTo(e,t).fold,i=this.folds,r=this.foldData;if(!n)return null;var s=i.indexOf(n),l=i[s-1];this.end.row=l.end.row,this.end.column=l.end.column,i=i.splice(s,i.length-s);var a=new o(r,i);return r.splice(r.indexOf(this)+1,0,a),a},this.merge=function(e){for(var t=e.folds,o=0;o<t.length;o++)this.addFold(t[o]);var n=this.foldData;n.splice(n.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push(" "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){for(var t,o=0,n=0;n<this.folds.length;n++){var t=this.folds[n];if(e-=t.start.column-o,0>e)return{row:t.start.row,column:t.start.column+e};if(e-=t.placeholder.length,0>e)return t.start;o=t.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(o.prototype),t.FoldLine=o}),define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(e,t){function o(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function n(e,t){o(e.start,t),o(e.end,t)}function i(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}function r(e,t){i(e.start,t),i(e.end,t)}var s=(e("../range").Range,e("../range_list").RangeList),l=e("../lib/oop"),a=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};l.inherits(a,s),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new a(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(!this.range.isEqual(e)){if(!this.range.containsRange(e))throw new Error("A fold can't intersect already existing fold"+e.range+this.range);n(e,this.start);for(var t=e.start.row,o=e.start.column,i=0,r=-1;i<this.subFolds.length&&(r=this.subFolds[i].range.compare(t,o),1==r);i++);var s=this.subFolds[i];if(0==r)return s.addSubFold(e);for(var t=e.range.end.row,o=e.range.end.column,l=i,r=-1;l<this.subFolds.length&&(r=this.subFolds[l].range.compare(t,o),1==r);l++);{this.subFolds[l]}if(0==r)throw new Error("A fold can't intersect already existing fold"+e.range+this.range);{this.subFolds.splice(i,l-i,e)}return e.setFoldLine(this.foldLine),e}},this.restoreRange=function(e){return r(e,this.start)}}.call(a.prototype)}),define("ace/range_list",["require","exports","module","ace/range"],function(e,t){var o=e("./range").Range,n=o.comparePoints,i=function(){this.ranges=[]};(function(){this.comparePoints=n,this.pointIndex=function(e,t,o){for(var i=this.ranges,r=o||0;r<i.length;r++){var s=i[r],l=n(e,s.end);if(!(l>0)){var a=n(e,s.start);return 0===l?t&&0!==a?-r-2:r:a>0||0===a&&!t?r:-r-1}}return-r-1},this.add=function(e){var t=!e.isEmpty(),o=this.pointIndex(e.start,t);0>o&&(o=-o-1);var n=this.pointIndex(e.end,t,o);return 0>n?n=-n-1:n++,this.ranges.splice(o,n-o,e)},this.addList=function(e){for(var t=[],o=e.length;o--;)t.push.call(t,this.add(e[o]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);return t>=0?this.ranges.splice(t,1):void 0},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return n(e.start,t.start)});for(var o,i=t[0],r=1;r<t.length;r++){o=i,i=t[r];var s=n(o.end,i.start);0>s||(0!=s||o.isEmpty()||i.isEmpty())&&(n(o.end,i.end)<0&&(o.end.row=i.end.row,o.end.column=i.end.column),t.splice(r,1),e.push(i),i=o,r--)}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);return t>=0?this.ranges[t]:void 0},this.clipRows=function(e,t){var o=this.ranges;if(o[0].start.row>t||o[o.length-1].start.row<e)return[];var n=this.pointIndex({row:e,column:0});0>n&&(n=-n-1);var i=this.pointIndex({row:t,column:0},n);0>i&&(i=-i-1);for(var r=[],s=n;i>s;s++)r.push(o[s]);return r},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},this.$onChange=function(e){var t=e.data.range;if("i"==e.data.action[0])var o=t.start,n=t.end;else var n=t.start,o=t.end;for(var i=o.row,r=n.row,s=r-i,l=-o.column+n.column,a=this.ranges,c=0,u=a.length;u>c;c++){var g=a[c];if(!(g.end.row<i)){if(g.start.row>i)break;if(g.start.row==i&&g.start.column>=o.column&&(g.start.column!=o.column||!this.$insertRight)&&(g.start.column+=l,g.start.row+=s),g.end.row==i&&g.end.column>=o.column){if(g.end.column==o.column&&this.$insertRight)continue;g.end.column==o.column&&l>0&&u-1>c&&g.end.column>g.start.column&&g.end.column==a[c+1].start.column&&(g.end.column-=l),g.end.column+=l,g.end.row+=s}}}if(0!=s&&u>c)for(;u>c;c++){var g=a[c];g.start.row+=s,g.end.row+=s}}}).call(i.prototype),t.RangeList=i}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t){function o(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var o=t||this.getLine(e.row).charAt(e.column-1);if(""==o)return null;var n=o.match(/([\(\[\{])|([\)\]\}])/);return n?n[1]?this.$findClosingBracket(n[1],e):this.$findOpeningBracket(n[2],e):null},this.getBracketRange=function(e){var t,o=this.getLine(e.row),n=!0,r=o.charAt(e.column-1),s=r&&r.match(/([\(\[\{])|([\)\]\}])/);if(s||(r=o.charAt(e.column),e={row:e.row,column:e.column+1},s=r&&r.match(/([\(\[\{])|([\)\]\}])/),n=!1),!s)return null;if(s[1]){var l=this.$findClosingBracket(s[1],e);if(!l)return null;t=i.fromPoints(e,l),n||(t.end.column++,t.start.column--),t.cursor=t.end}else{var l=this.$findOpeningBracket(s[2],e);if(!l)return null;t=i.fromPoints(l,e),n||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,o){var i=this.$brackets[e],r=1,s=new n(this,t.row,t.column),l=s.getCurrentToken();if(l||(l=s.stepForward()),l){o||(o=new RegExp("(\\.?"+l.type.replace(".","\\.").replace("rparen",".paren")+")+"));for(var a=t.column-s.getCurrentTokenColumn()-2,c=l.value;;){for(;a>=0;){var u=c.charAt(a);if(u==i){if(r-=1,0==r)return{row:s.getCurrentTokenRow(),column:a+s.getCurrentTokenColumn()}}else u==e&&(r+=1);a-=1}do l=s.stepBackward();while(l&&!o.test(l.type));if(null==l)break;c=l.value,a=c.length-1}return null}},this.$findClosingBracket=function(e,t,o){var i=this.$brackets[e],r=1,s=new n(this,t.row,t.column),l=s.getCurrentToken();if(l||(l=s.stepForward()),l){o||(o=new RegExp("(\\.?"+l.type.replace(".","\\.").replace("lparen",".paren")+")+"));for(var a=t.column-s.getCurrentTokenColumn();;){for(var c=l.value,u=c.length;u>a;){var g=c.charAt(a);if(g==i){if(r-=1,0==r)return{row:s.getCurrentTokenRow(),column:a+s.getCurrentTokenColumn()}}else g==e&&(r+=1);a+=1}do l=s.stepForward();while(l&&!o.test(l.type));if(null==l)break;a=0}return null}}}var n=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=o}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t){var o=e("./lib/lang"),n=e("./lib/oop"),i=e("./range").Range,r=function(){this.$options={}};(function(){this.set=function(e){return n.mixin(this.$options,e),this},this.getOptions=function(){return o.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$matchIterator(e,this.$options);if(!t)return!1;var o=null;return t.forEach(function(e,t,n){if(e.start)o=e;else{var r=e.offset+(n||0);o=new i(t,r,t,r+e.length)}return!0}),o},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,r=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),s=[],l=t.re;if(t.$isMultiLine)for(var a=l.length,c=r.length-a,u=l.offset||0;c>=u;u++){for(var g=0;a>g&&-1!=r[u+g].search(l[g]);g++);var h=r[u],d=r[u+a-1],p=h.match(l[0])[0].length,f=d.match(l[a-1])[0].length;s.push(new i(u,h.length-p,u+a-1,f))}else for(var m=0;m<r.length;m++)for(var y=o.getMatchOffsets(r[m],l),g=0;g<y.length;g++){var _=y[g];s.push(new i(m,_.offset,m,_.offset+_.length))
11
11
  }if(n){for(var v=n.start.column,E=n.start.column,m=0,g=s.length-1;g>m&&s[m].start.column<v&&s[m].start.row==n.start.row;)m++;for(;g>m&&s[g].end.column>E&&s[g].end.row==n.end.row;)g--;for(s=s.slice(m,g+1),m=0,g=s.length;g>m;m++)s[m].start.row+=n.start.row,s[m].end.row+=n.start.row}return s},this.replace=function(e,t){var o=this.$options,n=this.$assembleRegExp(o);if(o.$isMultiLine)return t;if(n){var i=n.exec(e);if(!i||i[0].length!=e.length)return null;if(t=e.replace(n,t),o.preserveCase){t=t.split("");for(var r=Math.min(e.length,e.length);r--;){var s=e[r];t[r]=s&&s.toLowerCase()!=s?t[r].toUpperCase():t[r].toLowerCase()}t=t.join("")}return t}},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var r,s=this,l=t.backwards;if(t.$isMultiLine)var a=n.length,c=function(t,o,s){var l=t.search(n[0]);if(-1!=l){for(var c=1;a>c;c++)if(t=e.getLine(o+c),-1==t.search(n[c]))return;var u=t.match(n[a-1])[0].length,g=new i(o,l,o+a-1,u);return 1==n.offset?(g.start.row--,g.start.column=Number.MAX_VALUE):s&&(g.start.column+=s),r(g)?!0:void 0}};else if(l)var c=function(e,t,i){for(var s=o.getMatchOffsets(e,n),l=s.length-1;l>=0;l--)if(r(s[l],t,i))return!0};else var c=function(e,t,i){for(var s=o.getMatchOffsets(e,n),l=0;l<s.length;l++)if(r(s[l],t,i))return!0};return{forEach:function(o){r=o,s.$lineIterator(e,t).forEach(c)}}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=o.escapeRegExp(n)),e.wholeWord&&(n="\\b"+n+"\\b");var i=e.caseSensitive?"g":"gi";if(e.$isMultiLine=!t&&/[\n\r]/.test(n),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var r=new RegExp(n,i)}catch(s){r=!1}return e.re=r},this.$assembleMultilineRegExp=function(e,t){for(var o=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),n=[],i=0;i<o.length;i++)try{n.push(new RegExp(o[i],t))}catch(r){return!1}return""==o[0]?(n.shift(),n.offset=1):n.offset=0,n},this.$lineIterator=function(e,t){var o=1==t.backwards,n=0!=t.skipCurrent,i=t.range,r=t.start;r||(r=i?i[o?"end":"start"]:e.selection.getRange()),r.start&&(r=r[n!=o?"end":"start"]);var s=i?i.start.row:0,l=i?i.end.row:e.getLength()-1,a=o?function(o){var n=r.row,i=e.getLine(n).substring(0,r.column);if(!o(i,n)){for(n--;n>=s;n--)if(o(e.getLine(n),n))return;if(0!=t.wrap)for(n=l,s=r.row;n>=s;n--)if(o(e.getLine(n),n))return}}:function(o){var n=r.row,i=e.getLine(n).substr(r.column);if(!o(i,n,r.column)){for(n+=1;l>=n;n++)if(o(e.getLine(n),n))return;if(0!=t.wrap)for(n=s,l=r.row;l>=n;n++)if(o(e.getLine(n),n))return}};return{forEach:a}}}).call(r.prototype),t.Search=r}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t){var o=e("../lib/oop"),n=e("../keyboard/hash_handler").HashHandler,i=e("../lib/event_emitter").EventEmitter,r=function(e,t){n.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};o.inherits(r,n),function(){o.implement(this,i),this.exec=function(e,t,o){if("string"==typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var n={editor:t,command:e,args:o},i=this._emit("exec",n);return this._signal("afterExec",n),i===!1?!1:!0},this.toggleRecording=function(e){return this.$inReplay?void 0:(e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0))},this.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){"string"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}}},this.trimMacro=function(e){return e.map(function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(r.prototype),t.CommandManager=r}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t){function o(e,t){if(this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.__defineGetter__&&this.__defineSetter__&&"undefined"!=typeof console&&console.error){var o=!1,n=function(){o||(o=!0,console.error("commmandKeyBinding has too many m's. use commandKeyBinding"))};this.__defineGetter__("commmandKeyBinding",function(){return n(),this.commandKeyBinding}),this.__defineSetter__("commmandKeyBinding",function(e){return n(),this.commandKeyBinding=e})}else this.commmandKeyBinding=this.commandKeyBinding;this.addCommands(e)}var n=e("../lib/keys"),i=e("../lib/useragent");(function(){this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e){var t="string"==typeof e?e:e.name;e=this.commands[t],delete this.commands[t];var o=this.commandKeyBinding;for(var n in o)for(var i in o[n])o[n][i]==e&&delete o[n][i]},this.bindKey=function(e,t){if(e){if("function"==typeof t)return this.addCommand({exec:t,bindKey:e,name:t.name||e}),void 0;var o=this.commandKeyBinding;e.split("|").forEach(function(e){var n=this.parseKeys(e,t),i=n.hashId;(o[i]||(o[i]={}))[n.key]=t},this)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var o=e[t];if(o)return"string"==typeof o?this.bindKey(o,t):("function"==typeof o&&(o={exec:o}),o.name||(o.name=t),this.addCommand(o),void 0)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){var t=e.bindKey;if(t){var o="string"==typeof t?t:t[this.platform];this.bindKey(o,e)}},this.parseKeys=function(e){-1!=e.indexOf(" ")&&(e=e.split(/\s+/).pop());var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),o=t.pop(),i=n[o];if(n.FUNCTION_KEYS[i])o=n.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:o,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:o.toUpperCase(),hashId:-1}}for(var r=0,s=t.length;s--;){var l=n.KEY_MODS[t[s]];if(null==l)return"undefined"!=typeof console&&console.error("invalid modifier "+t[s]+" in "+e),!1;r|=l}return{key:o,hashId:r}},this.findKeyCommand=function(e,t){var o=this.commandKeyBinding;return o[e]&&o[e][t]},this.handleKeyboard=function(e,t,o){return{command:this.findKeyCommand(t,o)}}}).call(o.prototype),t.HashHandler=o}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config"],function(e,t){function o(e,t){return{win:e,mac:t}}var n=e("../lib/lang"),i=e("../config");t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},readOnly:!0},{name:"foldall",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll()},readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,group:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,group:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,group:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,group:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P",null),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},multiSelectAction:"forEach"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()}},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()}},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()}},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()}},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){return e.selection.isEmpty()?(e.remove("left"),void 0):!1},multiSelectAction:"forEach"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach"},{name:"inserttext",exec:function(e,t){e.insert(n.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)}},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach"}]}),define("ace/undomanager",["require","exports","module"],function(e,t){var o=function(){this.reset()};(function(){this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=0/0),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),o=null;return t&&(o=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),o},this.redo=function(e){var t=this.$redoStack.pop(),o=null;return t&&(o=this.$doc.redoChanges(t,e),this.$undoStack.push(t),this.dirtyCounter++),o},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return 0===this.dirtyCounter}}).call(o.prototype),t.UndoManager=o}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/useragent","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/renderloop","ace/lib/event_emitter"],function(e,t){var o=e("./lib/oop"),n=e("./lib/dom"),i=(e("./lib/useragent"),e("./config")),r=e("./layer/gutter").Gutter,s=e("./layer/marker").Marker,l=e("./layer/text").Text,a=e("./layer/cursor").Cursor,c=e("./scrollbar").ScrollBarH,u=e("./scrollbar").ScrollBarV,g=e("./renderloop").RenderLoop,h=e("./lib/event_emitter").EventEmitter,d=".ace_editor {position: relative;overflow: hidden;font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;font-size: 12px;line-height: normal;color: black;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: text;}.ace_dragging, .ace_dragging * {cursor: move !important;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: '';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM2OEZDQTQ4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM2OEZDQTU4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzY4RkNBMjhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzY4RkNBMzhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkgXxbAAAAJbSURBVHjapFNNaBNBFH4zs5vdZLP5sQmNpT82QY209heh1ioWisaDRcSKF0WKJ0GQnrzrxasHsR6EnlrwD0TagxJabaVEpFYxLWlLSS822tr87m66ccfd2GKyVhA6MMybgfe97/vmPUQphd0sZjto9XIn9OOsvlu2nkqRzVU+6vvlzPf8W6bk8dxQ0NPbxAALgCgg2JkaQuhzQau/El0zbmUA7U0Es8v2CiYmKQJHGO1QICCLoqilMhkmurDAyapKgqItezi/USRdJqEYY4D5jCy03ht2yMkkvL91jTTX10qzyyu2hruPRN7jgbH+EOsXcMLgYiThEgAMhABW85oqy1DXdRIdvP1AHJ2acQXvDIrVHcdQNrEKNYSVMSZGMjEzIIAwDXIo+6G/FxcGnzkC3T2oMhLjre49sBB+RRcHLqdafK6sYdE/GGBwU1VpFNj0aN8pJbe+BkZyevUrvLl6Xmm0W9IuTc0DxrDNAJd5oEvI/KRsNC3bQyNjPO9yQ1YHcfj2QvfQc/5TUhJTBc2iM0U7AWDQtc1nJHvD/cfO2s7jaGkiTEfa/Ep8coLu7zmNmh8+dc5lZDuUeFAGUNA/OY6JVaypQ0vjr7XYjUvJM37vt+j1vuTK5DgVfVUoTjVe+y3/LxMxY2GgU+CSLy4cpfsYorRXuXIOi0Vt40h67uZFTdIo6nLaZcwUJWAzwNS0tBnqqKzQDnjdG/iPyZxo46HaKUpbvYkj8qYRTZsBhge+JHhZyh0x9b95JqjVJkT084kZIPwu/mPWqPgfQ5jXh2+92Ay7HedfAgwA6KDWafb4w3cAAAAASUVORK5CYII=\");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM2OEZDQTg4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM2OEZDQTk4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzY4RkNBNjhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzY4RkNBNzhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pgd7PfIAAAGmSURBVHjaYvr//z8DJZiJgUIANoCRkREb9gLiSVAaQx4OQM7AAkwd7XU2/v++/rOttdYGEB9dASEvOMydGKfH8Gv/p4XTkvRBfLxeQAP+1cUhXopyvzhP7P/IoSj7g7Mw09cNKO6J1QQ0L4gICPIv/veg/8W+JdFvQNLHVsW9/nmn9zk7B+cCkDwhL7gt6knSZnx9/LuCEOcvkIAMP+cvto9nfqyZmmUAksfnBUtbM60gX/3/kgyv3/xSFOL5DZT+L8vP+Yfh5cvfPvp/xUHyQHXGyAYwgpwBjZYFT3Y1OEl/OfCH4ffv3wzc4iwMvNIsDJ+f/mH4+vIPAxsb631WW0Yln6ZpQLXdMK/DXGDflh+sIv37EivD5x//Gb7+YWT4y86sl7BCCkSD+Z++/1dkvsFRl+HnD1Rvje4F8whjMXmGj58YGf5zsDMwcnAwfPvKcml62DsQDeaDxN+/Y0qwlpEHqrdB94IRNIDUgfgfKJChGK4OikEW3gTiXUB950ASLFAF54AC94A0G9QAfOnmF9DCDzABFqS08IHYDIScdijOjQABBgC+/9awBH96jwAAAABJRU5ErkJggg==\");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url(\"data:image/gif;base64,R0lGODlhEAAQAMQAAAAAAEFBQVJSUl5eXmRkZGtra39/f4WFhYmJiZGRkaampry8vMPDw8zMzNXV1dzc3OTk5Orq6vDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABQALAAAAAAQABAAAAUuICWOZGmeaBml5XGwFCQSBGyXRSAwtqQIiRuiwIM5BoYVbEFIyGCQoeJGrVptIQA7\");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRTk5MTVGREIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRTk5MTVGRUIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZFOTkxNUZCQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFOTkxNUZDQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SIDkjAAAAJ1JREFUeNpi/P//PwMlgImBQkB7A6qrq/+DMC55FkIGKCoq4pVnpFkgTp069f/+/fv/r1u37r+tre1/kg0A+ptn9uzZYLaRkRHpLvjw4cNXWVlZhufPnzOcO3eOdAO0tbVPAjHDmzdvGA4fPsxIsgGSkpJmv379Ynj37h2DjIyMCMkG3LhxQ/T27dsMampqDHZ2dq/pH41DxwCAAAMAFdc68dUsFZgAAAAASUVORK5CYII=\");}.ace_scrollbar {position: absolute;overflow-x: hidden;overflow-y: auto;right: 0;top: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-h {position: absolute;overflow-x: auto;overflow-y: hidden;right: 0;left: 0;bottom: 0;z-index: 6;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;}.ace_text-input.ace_composition {background: #f8f8f8;color: #111;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;white-space: nowrap;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;/* setting pointer-events: auto; on node under the mouse, which changesduring scroll, will break mouse wheel scrolling in Safari */pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0px;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-moz-transition: opacity 0.18s;-webkit-transition: opacity 0.18s;-o-transition: opacity 0.18s;-ms-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_cursor[style*=\"opacity: 0\"]{-ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_line {white-space: nowrap;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image: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\"),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\");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;-moz-border-radius: 2px;-webkit-border-radius: 2px;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image: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\"),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\");background-repeat: no-repeat, repeat-x;background-position: center center, top left;}.ace_gutter-tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;display: inline-block;max-width: 500px;padding: 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre-line;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;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\");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {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\");}.ace_fold-widget.ace_closed {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\");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}/*** Dark version for fold widgets*/.ace_dark .ace_fold-widget {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\");}.ace_dark .ace_fold-widget.ace_end {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\");}.ace_dark .ace_fold-widget.ace_closed {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-moz-transition: opacity 0.4s ease 0.05s;-webkit-transition: opacity 0.4s ease 0.05s;-o-transition: opacity 0.4s ease 0.05s;-ms-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-moz-transition: opacity 0.05s ease 0.05s;-webkit-transition: opacity 0.05s ease 0.05s;-o-transition: opacity 0.05s ease 0.05s;-ms-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}";
12
12
  n.importCssString(d,"ace_editor");var p=function(e,t){var o=this;this.container=e||n.createElement("div"),this.$keepTextAreaAtCursor=!0,n.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=n.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=n.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=n.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new r(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new s(this.content);var h=this.$textLayer=new l(this.content);this.canvas=h.element,this.$markerFront=new s(this.content),this.$cursorLayer=new a(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new u(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){o.$scrollAnimation||o.session.setScrollTop(e.data-o.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){o.$scrollAnimation||o.session.setScrollLeft(e.data-o.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$textLayer.addEventListener("changeCharacterSize",function(){o.updateCharacterSize(),o.onResize(!0),o._signal("changeCharacterSize")}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new g(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),i.resetOptions(this),i._emit("renderer",this)};(function(){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,o.implement(this,h),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session=e,this.scroller.className="ace_scroller",this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),this.$loop.schedule(this.CHANGE_FULL)},this.updateLines=function(e,t){void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.firstRow>this.layerConfig.lastRow||this.$changedLines.lastRow<this.layerConfig.firstRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.onResize=function(e,t,o,n){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;n||(n=i.clientHeight||i.scrollHeight),o||(o=i.clientWidth||i.scrollWidth);var r=this.$updateCachedSize(e,t,o,n);return this.$size.scrollerHeight&&(o||n)?(e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(r,!0):this.$loop.schedule(r|this.$changes),this.resizing&&(this.resizing=0),void 0):this.resizing=0}},this.$updateCachedSize=function(e,t,o,n){var i=0,r=this.$size,s={width:r.width,height:r.height,scrollerHeight:r.scrollerHeight,scrollerWidth:r.scrollerWidth};return n&&(e||r.height!=n)&&(r.height=n,i=this.CHANGE_SIZE,r.scrollerHeight=r.height,this.$horizScroll&&(r.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",this.session&&(this.session.setScrollTop(this.getScrollTop()),i|=this.CHANGE_SCROLL)),o&&(e||r.width!=o)&&(i=this.CHANGE_SIZE,r.width=o,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",r.scrollerWidth=Math.max(0,o-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(i|=this.CHANGE_FULL)),i&&this._signal("resize",s),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var o=this.session.selection.getCursor();o.column=0,e=this.$cursorLayer.getPixelPosition(o,!0),t*=this.session.getRowLength(o.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=n.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=n.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,o=this.$cursorLayer.$pixelPos.left;t-=e.offset;var n=this.lineHeight;if(!(0>t||t>e.height-n)){var i=this.characterWidth;if(this.$composition){var r=this.textarea.value.replace(/^\x01+/,"");i*=this.session.$getStringScreenWidth(r)[0]+2,n+=2,t-=1}o-=this.scrollLeft,o>this.$size.scrollerWidth-i&&(o=this.$size.scrollerWidth-i),o-=this.scrollBar.width,this.textarea.style.height=n+"px",this.textarea.style.width=i+"px",this.textarea.style.right=Math.max(0,this.$size.scrollerWidth-o-i)+"px",this.textarea.style.bottom=Math.max(0,this.$size.height-t-n)+"px"}}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,o,n){var i=this.scrollMargin;i.top=0|e,i.bottom=0|t,i.right=0|n,i.left=0|o,i.v=i.top+i.bottom,i.h=i.left+i.right,this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){this.scrollBarV.setInnerHeight(this.layerConfig.maxHeight+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setInnerWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$renderChanges=function(e,t){return this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&(e||t)?this.$size.width?(this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL)&&(e|=this.$computeLayerConfig()),e&this.CHANGE_H_SCROLL&&(this.$updateScrollBarH(),this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL?(this.$updateScrollBarV(),this.$updateScrollBarH(),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),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender"),void 0):e&this.CHANGE_SCROLL?(this.$updateScrollBarV(),e&this.CHANGE_TEXT||e&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),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender"),void 0):(e&this.CHANGE_TEXT?(this.$textLayer.update(this.layerConfig),this.$showGutter&&this.$gutterLayer.update(this.layerConfig)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(this.layerConfig):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(this.layerConfig),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(this.layerConfig),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(this.layerConfig),(e&this.CHANGE_SIZE||e&this.CHANGE_LINES)&&(this.$updateScrollBarV(),this.$updateScrollBarH()),this._signal("afterRender"),void 0)):(this.$changes|=e,this.onResize(!0)):(this.$changes|=e,void 0)},this.$autosize=function(e){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,o=Math.max((this.$minLines||1)*this.lineHeight,Math.min(t,e)),n=e>t;if(o!=this.desiredHeight||this.$size.height!=this.desiredHeight||n!=this.$vScroll){n!=this.$vScroll&&(this.$vScroll=n,this.scrollBarV.setVisible(n));var i=this.container.clientWidth;this.container.style.height=o+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,o),this.desiredHeight=o}},this.$computeLayerConfig=function(){this.$maxLines&&this.lineHeight>1&&this.$autosize();var e=this.session,t=this.$size.height<=2*this.lineHeight,o=this.session.getScreenLength(),n=o*this.lineHeight,i=this.scrollTop%this.lineHeight,r=this.$size.scrollerHeight+this.lineHeight,s=this.$getLongestLine(),l=!t&&(this.$hScrollBarAlwaysVisible||this.$size.scrollerWidth-s-2*this.$padding<0),a=this.$horizScroll!==l;a&&(this.$horizScroll=l,this.scrollBarH.setVisible(l)),!this.$maxLines&&this.$scrollPastEnd&&this.scrollTop>n-this.$size.scrollerHeight&&(n+=Math.min((this.$size.scrollerHeight-this.lineHeight)*this.$scrollPastEnd,this.scrollTop-n+this.$size.scrollerHeight));var c=!t&&(this.$vScrollBarAlwaysVisible||this.$size.scrollerHeight-n<0),u=this.$vScroll!==c;u&&(this.$vScroll=c,this.scrollBarV.setVisible(c)),this.session.setScrollTop(Math.max(-this.scrollMargin.top,Math.min(this.scrollTop,n-this.$size.scrollerHeight+this.scrollMargin.v))),this.session.setScrollLeft(Math.max(-this.scrollMargin.left,Math.min(this.scrollLeft,s+2*this.$padding-this.$size.scrollerWidth+this.scrollMargin.h)));var g,h,d=Math.ceil(r/this.lineHeight)-1,p=Math.max(0,Math.round((this.scrollTop-i)/this.lineHeight)),f=p+d,m=this.lineHeight;p=e.screenToDocumentRow(p,0);var y=e.getFoldLine(p);y&&(p=y.start.row),g=e.documentToScreenRow(p,0),h=e.getRowLength(p)*m,f=Math.min(e.screenToDocumentRow(f,0),e.getLength()-1),r=this.$size.scrollerHeight+e.getRowLength(f)*m+h,i=this.scrollTop-g*m;var _=0;return(a||u)&&(_=this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this._signal("scrollbarVisibilityChanged"),u&&(s=this.$getLongestLine())),this.layerConfig={width:s,padding:this.$padding,firstRow:p,firstRowScreen:g,lastRow:f,lineHeight:m,characterWidth:this.characterWidth,minHeight:r,maxHeight:n,offset:i,height:this.$size.scrollerHeight},this.$gutterLayer.element.style.marginTop=-i+"px",this.content.style.marginTop=-i+"px",this.content.style.width=s+2*this.$padding+"px",this.content.style.height=r+"px",_},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var o=this.layerConfig;if(!(e>o.lastRow+1||t<o.firstRow))return 1/0===t?(this.$showGutter&&this.$gutterLayer.update(o),this.$textLayer.update(o),void 0):(this.$textLayer.updateLines(o,e,t),!0)},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*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(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),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.scrollSelectionIntoView=function(e,t,o){this.scrollCursorIntoView(e,o),this.scrollCursorIntoView(t,o)},this.scrollCursorIntoView=function(e,t){if(0!==this.$size.scrollerHeight){var o=this.$cursorLayer.getPixelPosition(e),n=o.left,i=o.top,r=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;r>i?(t&&(i-=t*this.$size.scrollerHeight),0==i?i=-this.scrollMargin.top:0==i&&(i=+this.scrollMargin.bottom),this.session.setScrollTop(i)):r+this.$size.scrollerHeight<i+this.lineHeight&&(t&&(i+=t*this.$size.scrollerHeight),this.session.setScrollTop(i+this.lineHeight-this.$size.scrollerHeight));var s=this.scrollLeft;s>n?(n<this.$padding+2*this.layerConfig.characterWidth&&(n=-this.scrollMargin.left),this.session.setScrollLeft(n)):s+this.$size.scrollerWidth<n+this.characterWidth?this.session.setScrollLeft(Math.round(n+this.characterWidth-this.$size.scrollerWidth)):s<=this.$padding&&n-s<this.characterWidth&&this.session.setScrollLeft(0)}},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(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){"number"==typeof e&&(e={row:e,column:0});var o=this.$cursorLayer.getPixelPosition(e),n=this.$size.scrollerHeight-this.lineHeight,i=o.top-n*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var o=0,n=this.STEPS,i=[],r=function(e,t,o){return o*(Math.pow(e-1,3)+1)+t};for(o=0;n>o;++o)i.push(r(o/this.STEPS,e,t-e));return i},this.scrollToLine=function(e,t,o,n){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}),r=i.top;t&&(r-=this.$size.scrollerHeight/2);var s=this.scrollTop;this.session.setScrollTop(r),o!==!1&&this.animateScrolling(s,n)},this.animateScrolling=function(e,t){var o=this.scrollTop;if(this.$animatedScroll){var n=this;if(e!=o){if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length&&(e=i[0],e==o))return}var r=n.$calcSteps(e,o);this.$scrollAnimation={from:e,to:o,steps:r},clearInterval(this.$timer),n.session.setScrollTop(r.shift()),this.$timer=setInterval(function(){r.length?(n.session.setScrollTop(r.shift()),n.session.$scrollTop=o):null!=o?(n.session.$scrollTop=-1,n.session.setScrollTop(o),o=null):(n.$timer=clearInterval(n.$timer),n.$scrollAnimation=null,t&&t())},10)}}},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){return 0>t&&this.session.getScrollTop()>=1-this.scrollMargin.top?!0:t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight-(this.$size.scrollerHeight-this.lineHeight)*this.$scrollPastEnd<-1+this.scrollMargin.bottom?!0:0>e&&this.session.getScrollLeft()>=1-this.scrollMargin.left?!0:e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right?!0:void 0},this.pixelToScreenCoordinates=function(e,t){var o=this.scroller.getBoundingClientRect(),n=(e+this.scrollLeft-o.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-o.top)/this.lineHeight),r=Math.round(n);return{row:i,column:r,side:n-r>0?1:-1}},this.screenToTextCoordinates=function(e,t){var o=this.scroller.getBoundingClientRect(),n=Math.round((e+this.scrollLeft-o.left-this.$padding)/this.characterWidth),i=Math.floor((t+this.scrollTop-o.top)/this.lineHeight);return this.session.screenToDocumentPosition(i,Math.max(n,0))},this.textToScreenCoordinates=function(e,t){var o=this.scroller.getBoundingClientRect(),n=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(n.column*this.characterWidth),r=n.row*this.lineHeight;return{pageX:o.left+i-this.scrollLeft,pageY:o.top+r-this.scrollTop}},this.visualizeFocus=function(){n.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){n.removeCssClass(this.container,"ace_focus")},this.showComposition=function(){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,n.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(n.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(e,t){function o(o){if(r.$themeValue!=e)return t&&t();if(o.cssClass){n.importCssString(o.cssText,o.cssClass,r.container.ownerDocument),r.theme&&n.removeCssClass(r.container,r.theme.cssClass),r.$theme=o.cssClass,r.theme=o,n.addCssClass(r.container,o.cssClass),n.setCssClass(r.container,"ace_dark",o.isDark);var i="padding"in o?o.padding:4;r.$padding&&i!=r.$padding&&r.setPadding(i),r.$size&&(r.$size.width=0,r.onResize()),r._dispatchEvent("themeLoaded",{theme:o}),t&&t()}}var r=this;if(this.$themeValue=e,r._dispatchEvent("themeChange",{theme:e}),e&&"string"!=typeof e)o(e);else{var s=e||"ace/theme/textmate";i.loadModule(["theme",s],o)}},this.getTheme=function(){return this.$themeValue},this.setStyle=function(e,t){n.setCssClass(this.container,e,0!=t)},this.unsetStyle=function(e){n.removeCssClass(this.container,e)},this.setMouseCursor=function(e){this.content.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(p.prototype),i.defineOptions(p.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){"number"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){n.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){return this.$gutterLineHighlight?(this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight(),void 0):(this.$gutterLineHighlight=n.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight),void 0)},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){"number"==typeof e&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(){this.updateFull()}},minLines:{set:function(){this.updateFull()}},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}}}),t.VirtualRenderer=p}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t){var o=e("../lib/dom"),n=e("../lib/oop"),i=e("../lib/lang"),r=e("../lib/event_emitter").EventEmitter,s=function(e){this.element=o.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){n.implement(this,r),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t,o,n=0;n<e.length;n++){var r=e[n],o=r.row,t=this.$annotations[o];t||(t=this.$annotations[o]={text:[]});var s=r.text;s=s?i.escapeHTML(s):r.html||"",-1===t.text.indexOf(s)&&t.text.push(s);var l=r.type;"error"==l?t.className=" ace_error":"warning"==l&&" ace_error"!=t.className?t.className=" ace_warning":"info"==l&&!t.className&&(t.className=" ace_info")}},this.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.data,o=t.range,n=o.start.row,i=o.end.row-n;if(0!==i)if("removeText"==t.action||"removeLines"==t.action)this.$annotations.splice(n,i+1,null);else{var r=Array(i+1);r.unshift(n,1),this.$annotations.splice.apply(this.$annotations,r)}}},this.update=function(e){for(var t=e.firstRow,n=e.lastRow,i=this.session.getNextFoldLine(t),r=i?i.start.row:1/0,s=this.$showFoldWidgets&&this.session.foldWidgets,l=this.session.$breakpoints,a=this.session.$decorations,c=this.session.$firstLineNumber,u=0,g=null,h=-1,d=t;;){if(d>r&&(d=i.end.row+1,i=this.session.getNextFoldLine(d,i),r=i?i.start.row:1/0),d>n){for(;this.$cells.length>h+1;)g=this.$cells.pop(),this.element.removeChild(g.element);break}g=this.$cells[++h],g||(g={element:null,textNode:null,foldWidget:null},g.element=o.createElement("div"),g.textNode=document.createTextNode(""),g.element.appendChild(g.textNode),this.element.appendChild(g.element),this.$cells[h]=g);var p="ace_gutter-cell ";l[d]&&(p+=l[d]),a[d]&&(p+=a[d]),this.$annotations[d]&&(p+=this.$annotations[d].className),g.element.className!=p&&(g.element.className=p);var f=this.session.getRowLength(d)*e.lineHeight+"px";f!=g.element.style.height&&(g.element.style.height=f);var m=u=d+c;if(m!=g.textNode.data&&(g.textNode.data=m),s){var y=s[d];null==y&&(y=s[d]=this.session.getFoldWidget(d))}if(y){g.foldWidget||(g.foldWidget=o.createElement("span"),g.element.appendChild(g.foldWidget));var p="ace_fold-widget ace_"+y;p+="start"==y&&d==r&&d<i.end.row?" ace_closed":" ace_open",g.foldWidget.className!=p&&(g.foldWidget.className=p);var f=e.lineHeight+"px";g.foldWidget.style.height!=f&&(g.foldWidget.style.height=f)}else null!=g.foldWidget&&(g.element.removeChild(g.foldWidget),g.foldWidget=null);d++}this.element.style.height=e.minHeight+"px",(this.$fixedWidth||this.session.$useWrapMode)&&(u=this.session.getLength());var _=u.toString().length*e.characterWidth,v=this.$padding||this.$computePadding();_+=v.left+v.right,_!==this.gutterWidth&&!isNaN(_)&&(this.gutterWidth=_,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",_))},this.$fixedWidth=!1,this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?o.addCssClass(this.element,"ace_folding-enabled"):o.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=o.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1||0,this.$padding.right=parseInt(e.paddingRight)||0,this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),o=this.element.getBoundingClientRect();return e.x<t.left+o.left?"markers":this.$showFoldWidgets&&e.x>o.right-t.right?"foldWidgets":void 0}}).call(s.prototype),t.Gutter=s}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t){var o=e("../range").Range,n=e("../lib/dom"),i=function(e){this.element=n.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(e){this.config=e;var t=[];for(var o in this.markers){var i=this.markers[o];if(i.range){var r=i.range.clipRows(e.firstRow,e.lastRow);if(!r.isEmpty())if(r=r.toScreenRange(this.session),i.renderer){var s=this.$getTop(r.start.row,e),l=this.$padding+r.start.column*e.characterWidth;i.renderer(t,r,l,s,e)}else"fullLine"==i.type?this.drawFullLineMarker(t,r,i.clazz,e):"screenLine"==i.type?this.drawScreenLineMarker(t,r,i.clazz,e):r.isMultiLine()?"text"==i.type?this.drawTextMarker(t,r,i.clazz,e):this.drawMultiLineMarker(t,r,i.clazz,e):this.drawSingleLineMarker(t,r,i.clazz+" ace_start",e)}else i.update(t,this,this.session,e)}this.element=n.setInnerHtml(this.element,t.join(""))}},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i,r){var s=t.start.row,l=new o(s,t.start.column,s,this.session.getScreenLastRowColumn(s));for(this.drawSingleLineMarker(e,l,n+" ace_start",i,1,r),s=t.end.row,l=new o(s,0,s,t.end.column),this.drawSingleLineMarker(e,l,n,i,0,r),s=t.start.row+1;s<t.end.row;s++)l.start.row=s,l.end.row=s,l.end.column=this.session.getScreenLastRowColumn(s),this.drawSingleLineMarker(e,l,n,i,1,r)},this.drawMultiLineMarker=function(e,t,o,n,i){var r=this.$padding,s=n.lineHeight,l=this.$getTop(t.start.row,n),a=r+t.start.column*n.characterWidth;i=i||"",e.push("<div class='",o," ace_start' style='","height:",s,"px;","right:0;","top:",l,"px;","left:",a,"px;",i,"'></div>"),l=this.$getTop(t.end.row,n);var c=t.end.column*n.characterWidth;e.push("<div class='",o,"' style='","height:",s,"px;","width:",c,"px;","top:",l,"px;","left:",r,"px;",i,"'></div>"),s=(t.end.row-t.start.row-1)*n.lineHeight,0>s||(l=this.$getTop(t.start.row+1,n),e.push("<div class='",o,"' style='","height:",s,"px;","right:0;","top:",l,"px;","left:",r,"px;",i,"'></div>"))},this.drawSingleLineMarker=function(e,t,o,n,i,r){var s=n.lineHeight,l=(t.end.column+(i||0)-t.start.column)*n.characterWidth,a=this.$getTop(t.start.row,n),c=this.$padding+t.start.column*n.characterWidth;e.push("<div class='",o,"' style='","height:",s,"px;","width:",l,"px;","top:",a,"px;","left:",c,"px;",r||"","'></div>")},this.drawFullLineMarker=function(e,t,o,n,i){var r=this.$getTop(t.start.row,n),s=n.lineHeight;t.start.row!=t.end.row&&(s+=this.$getTop(t.end.row,n)-r),e.push("<div class='",o,"' style='","height:",s,"px;","top:",r,"px;","left:0;right:0;",i||"","'></div>")},this.drawScreenLineMarker=function(e,t,o,n,i){var r=this.$getTop(t.start.row,n),s=n.lineHeight;e.push("<div class='",o,"' style='","height:",s,"px;","top:",r,"px;","left:0;right:0;",i||"","'></div>")}}).call(i.prototype),t.Marker=i}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t){var o=e("../lib/oop"),n=e("../lib/dom"),i=e("../lib/lang"),r=e("../lib/useragent"),s=e("../lib/event_emitter").EventEmitter,l=function(e){this.element=n.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$characterSize={width:0,height:0},this.checkForSizeChanges(),this.$pollSizeChanges()