openc3-cosmos-tool-cmdsender 6.2.1 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/tools/cmdsender/{ArrayWidget-BxEO5hEG-8511e4632def6a0e74b7.js → ArrayWidget-BbsN1dzF-594144199eb2d95551ed.js} +2 -2
- data/tools/cmdsender/{ArrayplotWidget-B_VPoV4v-9b829b41a8f487fb7b12.js → ArrayplotWidget-CCKEyYIx-9499ee0a0346cbe7cb1d.js} +1 -1
- data/tools/cmdsender/{BarColumn-C9dkpg2O-aa1fe2fc4c19fed67b11.js → BarColumn-C6p07yWK-4468c21718ece53c5e65.js} +1 -1
- data/tools/cmdsender/BlockWidget-DlCHbqZX-db1d2ffcb135d88e1452.js +2 -0
- data/tools/cmdsender/{ButtonWidget-B6HM0Doo-9eef9437e89fc7d566d8.js → ButtonWidget-CtfJzCBR-ad127f6b877657c1f822.js} +2 -2
- data/tools/cmdsender/{CanvasWidget-DZQGG-yQ-6f8d1eed4d7420b4cd98.js → CanvasWidget-CqRlXc4r-3eb909cdddae90766ad2.js} +1 -1
- data/tools/cmdsender/CanvasdotWidget--Xr_KsZs-5126dda17abe035ff90a.js +1 -0
- data/tools/cmdsender/{CanvasimageWidget-mhcPpAuN-db7941af0abdafaecd57.js → CanvasimageWidget-BPlj5QYK-f70317e097c787f5f886.js} +1 -1
- data/tools/cmdsender/{CanvasimagevalueWidget-Cx-dH8Gc-1c0a3533fe2f607a3234.js → CanvasimagevalueWidget-DVFGLt8f-e2b3eb4b4fbb08481683.js} +1 -1
- data/tools/cmdsender/CanvaslabelWidget-CYNqmyP0-3a0a9e7f091516e4e064.js +1 -0
- data/tools/cmdsender/{CanvaslabelvalueWidget-CwmYDCjr-a009af3a8722dd4f4447.js → CanvaslabelvalueWidget-B7yIDmsn-b2ba8d17526f8dc5ccd2.js} +1 -1
- data/tools/cmdsender/CanvaslineWidget-BICdxX0Q-41bf3fef8c9f49ca865b.js +1 -0
- data/tools/cmdsender/{CanvaslinevalueWidget-C3sJnjLQ-c3dc637242976749695f.js → CanvaslinevalueWidget-Cq-Ddh0P-49b015962846b88154a6.js} +1 -1
- data/tools/cmdsender/CheckbuttonWidget-B74AWeaW-87ed8255ef695bb52883.js +1 -0
- data/tools/cmdsender/ComboboxWidget-CtyKbEWb-8cee3038b482aa26b002.js +1 -0
- data/tools/cmdsender/CommandSender-6e091b1f97552e91e2f4.js +1121 -0
- data/tools/cmdsender/{CriticalCmdDialog-DLEasFsx-f4e2db6e24c0580ef3ee.js → CriticalCmdDialog-DPIZOBeP-e9cef69f6baacd12a1b6.js} +1 -1
- data/tools/cmdsender/DateWidget-BEVSczU8-a781613ae187bc6e58a6.js +1 -0
- data/tools/cmdsender/{DetailsDialog-BvbziA7Y-b48fa056579987bcf8ba.js → DetailsDialog-DmEC5BTs-351fb65c89f4820397e7.js} +1 -1
- data/tools/cmdsender/{DynamicWidget-gFSYxzvT-5fbc8fc72ac73db20201.js → DynamicWidget-CfMtj7H8-c47e8d5ced9a7c47fa39.js} +1 -1
- data/tools/cmdsender/{FormatvalueWidget-CGpnTqVH-7ef749e37941026c2c34.js → FormatvalueWidget-DN12xymS-565e883640cb1ee4bcd6.js} +1 -1
- data/tools/cmdsender/Graph-Bgo0cjl3-12e656c2fbd09d6ca84a.js +1 -0
- data/tools/cmdsender/{GraphWidget-Dycey-mj-b621f9bf00bc75906d63.js → GraphWidget-DurWDmpg-7b61f52f7f0dbcb4da37.js} +1 -1
- data/tools/cmdsender/{HorizontalWidget-D31NRWy5-82c892a1c05216707c7d.js → HorizontalWidget-Cd_wl1b3-3dd6d4ae8647f7d42b80.js} +1 -1
- data/tools/cmdsender/HorizontalboxWidget-BcMTFBU--87012312234b9b917885.js +1 -0
- data/tools/cmdsender/HorizontallineWidget-CXFqHclf-c2faa7570d2da527f0e3.js +1 -0
- data/tools/cmdsender/{IframeWidget-Ctj8OIcG-b6856f4090d5e10b41bf.js → IframeWidget-BPerHCCa-265bd8d7acc72d2c0d70.js} +1 -1
- data/tools/cmdsender/{ImageLoader-BrNrCBvi-c97344e328e58754bd19.js → ImageLoader-4N-7Gj61-7e6eec121d686572959a.js} +1 -1
- data/tools/cmdsender/ImageviewerWidget-Cw_H_HmZ-d2a4e85b3987492ecd85.js +1 -0
- data/tools/cmdsender/{LabelWidget-t7I87dp7-e8fdb08179dd33ec7624.js → LabelWidget-xrmcVeq8-f0507c5a077c4cdfd664.js} +1 -1
- data/tools/cmdsender/LabelledWidget-D48QoyMk-7c6bcc9d958c4da37475.js +1 -0
- data/tools/cmdsender/LabelprogressbarWidget-C_950t6g-df94ae42db00bc117b3a.js +1 -0
- data/tools/cmdsender/LabelsparklineWidget-0KXQyPoU-c93d00860885c336a273.js +1 -0
- data/tools/cmdsender/{LabelvalueWidget-Zx_yHCtl-66bd678c498af762d592.js → LabelvalueWidget-CQ06wWDK-3f12e0f4173201707f77.js} +1 -1
- data/tools/cmdsender/{LabelvaluedescWidget-BBSBh4vI-39f763d890fa98687c76.js → LabelvaluedescWidget-Bo8zT01X-bb9ad75f7e0a954f36ca.js} +1 -1
- data/tools/cmdsender/{LabelvaluelimitsbarWidget-CZueHYWG-b5ef59aaa1328581fe23.js → LabelvaluelimitsbarWidget-BucTw8Yk-3577bdad4273d9419048.js} +1 -1
- data/tools/cmdsender/LabelvaluelimitscolumnWidget-Dflb1hNd-37e8f6b7cc0a2c7184e3.js +1 -0
- data/tools/cmdsender/{LabelvaluerangebarWidget-BhYTBgDq-da2cbdcbf420ddda2d97.js → LabelvaluerangebarWidget-D8cbfXFM-b4100d49aaebd2dd9635.js} +1 -1
- data/tools/cmdsender/{Layout-Bh7VzCZd-3825a88ccc81fa7692a5.js → Layout-Tf--nruw-d89e597992d289c5c9c4.js} +1 -1
- data/tools/cmdsender/LedWidget-qH_FthkK-83bc6f921cc74ab91f5d.js +1 -0
- data/tools/cmdsender/{LimitsbarWidget-Djui0IpK-9b2934313d2ad9fba22d.js → LimitsbarWidget-B9lAB2RD-288b3467382d9530b782.js} +1 -1
- data/tools/cmdsender/{LimitscolorWidget-DdmvKzmx-2293f6228f7000ddf5ec.js → LimitscolorWidget-c6Qa6su7-41be9e0311e5fe7c52e0.js} +1 -1
- data/tools/cmdsender/{LimitscolumnWidget-Cc19IEjq-1441eeb3aaf6e544896d.js → LimitscolumnWidget-CcLs_443-b7a68d42b7b00e3512b8.js} +1 -1
- data/tools/cmdsender/LinegraphWidget-BSVYLFo1-f82a0f9cf2c7f99ce325.js +1 -0
- data/tools/cmdsender/MatrixbycolumnsWidget-DXFpZTre-fe6f1c46262a7417647e.js +1 -0
- data/tools/cmdsender/{ProgressbarWidget-DIfqhHRE-d8342f82e4bec4ac5bab.js → ProgressbarWidget-iYGw8-Dc-14e4a41c6a023b994c3e.js} +1 -1
- data/tools/cmdsender/RadiobuttonWidget-ytmoVZ3u-b2ebbb35500b17d001dd.js +1 -0
- data/tools/cmdsender/{RadiogroupWidget-Ci9sCX39-d4c4bd1790022ea4dea0.js → RadiogroupWidget-CusMBhKH-ccf57e6e8b6750f23d2c.js} +1 -1
- data/tools/cmdsender/{RangebarWidget-CN0YuHqy-e08da056086a7bcedbbb.js → RangebarWidget-D_zGTtCa-fd1c1fdb62c79ce04f5d.js} +1 -1
- data/tools/cmdsender/{RollupWidget-y4jBtJB2-5d95dbec09685bf333d9.js → RollupWidget-Dolsixyt-4bc9a6714cfa5e29069a.js} +1 -1
- data/tools/cmdsender/ScrollwindowWidget-DV2nZuNi-59140cec70809d54ae70.js +1 -0
- data/tools/cmdsender/{SignalWidget-DQ5Uc2uV-d9484191a375d5bed432.js → SignalWidget-d9-6h85k-ed90ce120ebbc1af270d.js} +1 -1
- data/tools/cmdsender/SpacerWidget-BH0p2OLi-414df726eb2e8a024774.js +1 -0
- data/tools/cmdsender/{SparklineWidget-CZtvu2ss-5da82bae33660e026616.js → SparklineWidget-coxi9r2g-82d776fb6d0457093393.js} +1 -1
- data/tools/cmdsender/TabbookWidget-B1XKplGH-1e431e646853de0b2638.js +1 -0
- data/tools/cmdsender/TextboxWidget-C-_M2M4l-887a4f53ee9ef2c01014.js +1 -0
- data/tools/cmdsender/{TextfieldWidget-Df0ANSiU-7acb3b498bf616306f21.js → TextfieldWidget-C08N4JE8-4958b374f603abb2f9b3.js} +1 -1
- data/tools/cmdsender/TimeWidget-DtwdEcFg-489a9a23316a3b57cc13.js +1 -0
- data/tools/cmdsender/TitleWidget-CT-aLcNb-d460b47d0ecbf991d963.js +1 -0
- data/tools/cmdsender/{VWidget-C4spAawK-fa358645d8a61d47a915.js → VWidget-DQqb7NVW-8290bc2533653e765e4a.js} +1 -1
- data/tools/cmdsender/ValueWidget-C6RanBj3-126e69a1a5c1ac9279c9.js +1 -0
- data/tools/cmdsender/ValuelimitsbarWidget-B3bvjfxc-b79ddd1d1e23a4ef45ad.js +1 -0
- data/tools/cmdsender/ValuelimitscolumnWidget-QvhI6EcE-64fb0222c498943bc5e4.js +1 -0
- data/tools/cmdsender/ValuerangebarWidget-Dt3K9BnC-a2ab381501d79ce10604.js +1 -0
- data/tools/cmdsender/{VerticalWidget-D8jUFxjS-d3e6e91831cd5aecc0e4.js → VerticalWidget-BIIViZgI-6dc9a0298b9e20c15b32.js} +1 -1
- data/tools/cmdsender/VerticalboxWidget-DY72fLHW-d667c1651494c8557f7f.js +1 -0
- data/tools/cmdsender/{Widget-fRCERxGf-aafc740c50474cca197f.js → Widget-oyqWpFXJ-9037f91b02577da12e4e.js} +1 -1
- data/tools/cmdsender/main-69178b62009db0b76b8d.js +1499 -0
- data/tools/cmdsender/main.js +1 -1
- metadata +71 -74
- data/tools/cmdsender/BlockWidget-CuefOin6-497752ff088a5e4a71b1.js +0 -2
- data/tools/cmdsender/CanvasdotWidget-6wuCSnw_-306dd0fa7ce42d15ccbd.js +0 -1
- data/tools/cmdsender/CanvaslabelWidget-CQZCeohU-6e39beedda52e5c2d25a.js +0 -1
- data/tools/cmdsender/CanvaslineWidget-nTP3fJB4-8b39a30e693c6cd7eb2b.js +0 -1
- data/tools/cmdsender/CheckbuttonWidget-5-8YDsQL-2803bfd3516eeb9617d1.js +0 -1
- data/tools/cmdsender/ComboboxWidget-DzBL8h9f-f96f8a3bc7f821570df0.js +0 -1
- data/tools/cmdsender/CommandSender-d9af5675184352ee7274.js +0 -1110
- data/tools/cmdsender/DateWidget-CW7Od7lB-940431a9ea835ba7cc65.js +0 -1
- data/tools/cmdsender/Graph-3rkhFP3G-45b6ca2bdae879df831e.js +0 -1
- data/tools/cmdsender/HorizontalboxWidget-Br8dSVHD-63f6a1740519706585f9.js +0 -1
- data/tools/cmdsender/HorizontallineWidget-CbxREBYI-e678a9f10c8c8a8eaba4.js +0 -1
- data/tools/cmdsender/ImageviewerWidget-XrsqxmLo-dffa54da77dc2d7dc6fc.js +0 -1
- data/tools/cmdsender/LabelledWidget-C7TDf92M-92655815689de7829201.js +0 -1
- data/tools/cmdsender/LabelprogressbarWidget-wwLURt1u-c1584edc2c65358bc1dc.js +0 -1
- data/tools/cmdsender/LabelsparklineWidget-B3awLUyP-37a417e4ad53bda1e560.js +0 -1
- data/tools/cmdsender/LabelvaluelimitscolumnWidget-BTvzyQMq-e5b56cbc9464126c792f.js +0 -1
- data/tools/cmdsender/LedWidget-CxJjJBBS-e45ddd225d0eeb153b7a.js +0 -1
- data/tools/cmdsender/LinegraphWidget-BtieJxeL-caaeb9bff1314849a503.js +0 -1
- data/tools/cmdsender/MatrixbycolumnsWidget-DnExVRF8-d3c0e7c0b0fdf82886b8.js +0 -1
- data/tools/cmdsender/RadiobuttonWidget-QzIkNP7m-8fc36a7f1d6fcd90869a.js +0 -1
- data/tools/cmdsender/ScrollwindowWidget-CBzYk4Y3-8b3c992c45c19cdb56c0.js +0 -1
- data/tools/cmdsender/SpacerWidget-6rsc_dSM-ab9e4fb5dbc6302ea54e.js +0 -1
- data/tools/cmdsender/TabbookWidget-DNALU0jl-bf6235c98306dd323110.js +0 -1
- data/tools/cmdsender/TextboxWidget-5hqPj74D-9560d6865b4baf243c2b.js +0 -1
- data/tools/cmdsender/TimeWidget-C6XQMUG2-e72f1c45296943261d2f.js +0 -1
- data/tools/cmdsender/TitleWidget-B9SPUlbW-21f44d6b6e202c99fb2f.js +0 -1
- data/tools/cmdsender/ValueWidget-D4RrYVEK-24f42b6d1af4c1fdc7c5.js +0 -1
- data/tools/cmdsender/ValuelimitsbarWidget-Bc9_Vj_f-a5875c9121402411a4e8.js +0 -1
- data/tools/cmdsender/ValuelimitscolumnWidget-DHKIL7sf-a10b568eb9f616f37ee7.js +0 -1
- data/tools/cmdsender/ValuerangebarWidget-CecQRIok-f0e68b04979762f2e4a8.js +0 -1
- data/tools/cmdsender/VerticalboxWidget-B4eGUSYH-1805e70e7b22eaf8338a.js +0 -1
- data/tools/cmdsender/main-ca3bfa60574c4c3a32e6.js +0 -1424
@@ -0,0 +1,1121 @@
|
|
1
|
+
System.register(["./main-69178b62009db0b76b8d.js","vue","./CriticalCmdDialog-DPIZOBeP-e9cef69f6baacd12a1b6.js","./DetailsDialog-DmEC5BTs-351fb65c89f4820397e7.js","vue-router","single-spa","vuex","vuetify"],function(exports,module){"use strict";var d,WA,OA,FA,NA,L_,vA,_export_sfc,ke$2,resolveComponent,createBlock,openBlock,Teleport,createVNode,withCtx,createElementVNode,toDisplayString,createElementBlock,Fragment,renderList,createTextVNode,mergeProps,createSlots,createCommentVNode,normalizeStyle,withDirectives,normalizeProps,guardReactiveProps,vShow,withModifiers,normalizeClass,N$1,P;return{setters:[c=>{d=c.d,WA=c.W,OA=c.O,FA=c.F,NA=c.N,L_=c.L,vA=c.v,_export_sfc=c._,ke$2=c.k},c=>{resolveComponent=c.resolveComponent,createBlock=c.createBlock,openBlock=c.openBlock,Teleport=c.Teleport,createVNode=c.createVNode,withCtx=c.withCtx,createElementVNode=c.createElementVNode,toDisplayString=c.toDisplayString,createElementBlock=c.createElementBlock,Fragment=c.Fragment,renderList=c.renderList,createTextVNode=c.createTextVNode,mergeProps=c.mergeProps,createSlots=c.createSlots,createCommentVNode=c.createCommentVNode,normalizeStyle=c.normalizeStyle,withDirectives=c.withDirectives,normalizeProps=c.normalizeProps,guardReactiveProps=c.guardReactiveProps,vShow=c.vShow,withModifiers=c.withModifiers,normalizeClass=c.normalizeClass},c=>{N$1=c.N},c=>{P=c.P},null,null,null,null],execute:function(){var __vite_style__=document.createElement("style");__vite_style__.textContent=`.container[data-v-b19a55d5] .v-select__selections{width:auto}.v-overflow-btn[data-v-b19a55d5]{margin-top:0}.container[data-v-b19a55d5]{padding:0}.hazardous[data-v-b19a55d5] .v-select__selection-text{color:#ffdc00!important}.editor[data-v-b7ab1f82]{margin-left:30px;height:50px;width:95%;position:relative;font-size:16px}
|
2
|
+
/*$vite$:1*/`,document.head.appendChild(__vite_style__);const D="openc3-ace-vim-mode-enabled",w$1="ace/keyboard/vim",X$1={isVimModeEnabled(){return localStorage.getItem(D)==="true"},setVimMode(c){localStorage.setItem(D,JSON.stringify(!!c))},toggleVimMode(c){this.isVimModeEnabled()?(c.setKeyboardHandler(null),this.setVimMode(!1)):(c.setKeyboardHandler(w$1),this.setVimMode(!0)),c.focus()},applyVimModeIfEnabled(c){this.isVimModeEnabled()?c.setKeyboardHandler(w$1):c.setKeyboardHandler(null)}},G={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(c){return c.replaceAll(" ","-").toLowerCase()},subMenuClick(c){c.command(c),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},Y$1={class:"app-title mr-2"};function z$2(c,h,f,g,J,A){const S=resolveComponent("v-col"),_=resolveComponent("v-row"),s=resolveComponent("v-icon"),u=resolveComponent("v-btn"),i=resolveComponent("v-divider"),o=resolveComponent("v-list-item-title"),r=resolveComponent("v-list-item"),t=resolveComponent("v-list"),e=resolveComponent("v-menu"),n=resolveComponent("v-radio"),a=resolveComponent("v-list-item-action"),p=resolveComponent("v-radio-group"),m=resolveComponent("v-checkbox");return openBlock(),createBlock(Teleport,{to:"#openc3-menu"},[createVNode(_,{"no-gutters":""},{default:withCtx(()=>[createVNode(S,{"align-self":"end"},{default:withCtx(()=>[createElementVNode("span",Y$1,toDisplayString(f.title),1)]),_:1})]),_:1}),createVNode(_,{dense:"",class:"flex-nowrap"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(f.menus,(k,x)=>(openBlock(),createBlock(e,{ref_for:!0,ref:"topmenu",key:x},{activator:withCtx(({props:$})=>[createVNode(u,mergeProps({ref_for:!0},$,{variant:"outlined",class:"mx-1 menu-button",text:k.label,"data-test":A.formatDT(`${f.title} ${k.label}`)}),{append:withCtx(()=>[createVNode(s,{class:"menu-button-icon"},{default:withCtx(()=>h[0]||(h[0]=[createTextVNode(" mdi-menu-down ")])),_:1})]),_:2},1040,["text","data-test"])]),default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(k.items,($,C)=>(openBlock(),createElementBlock(Fragment,null,[$.divider?(openBlock(),createBlock(i,{key:C+"-divider"})):$.subMenu&&$.subMenu.length>0?(openBlock(),createElementBlock("div",{key:C+"-submenu"},[(openBlock(),createBlock(e,{"open-on-hover":"",location:"right",key:C},{activator:withCtx(({props:W})=>[(openBlock(),createBlock(r,mergeProps({ref_for:!0},W,{disabled:$.disabled,key:C}),createSlots({append:withCtx(()=>[createVNode(s,null,{default:withCtx(()=>h[1]||(h[1]=[createTextVNode(" mdi-chevron-right ")])),_:1})]),default:withCtx(()=>[!$.radio&&!$.checkbox?(openBlock(),createBlock(o,{key:0,style:normalizeStyle("cursor: pointer;"+($.disabled?"opacity: 0.2":""))},{default:withCtx(()=>[createTextVNode(toDisplayString($.label),1)]),_:2},1032,["style"])):createCommentVNode("",!0)]),_:2},[$.icon?{name:"prepend",fn:withCtx(()=>[createVNode(s,{disabled:$.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString($.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList($.subMenu,(W,ye)=>(openBlock(),createBlock(r,{key:ye,"prepend-icon":W.icon,onClick:U=>A.subMenuClick(W)},{default:withCtx(()=>[createVNode(o,null,{default:withCtx(()=>[createTextVNode(toDisplayString(W.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):$.radioGroup?(openBlock(),createBlock(p,{"model-value":$.value,"onUpdate:modelValue":$.command,key:C+"-radio-group","hide-details":"",density:"compact",class:"ma-0 pa-0"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList($.choices,(W,ye)=>(openBlock(),createBlock(r,{key:ye+"-choice"},{default:withCtx(()=>[createVNode(a,{class:"list-action"},{default:withCtx(()=>[createVNode(n,{color:"secondary",label:W.label,value:W.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(openBlock(),createBlock(r,{onClick:W=>$.command($),disabled:$.disabled,"data-test":A.formatDT(`${f.title} ${k.label} ${$.label}`),key:C+"-list"},createSlots({default:withCtx(()=>[$.checkbox?(openBlock(),createBlock(a,{key:0,class:"list-action"},{default:withCtx(()=>[createVNode(m,{modelValue:$.checked,"onUpdate:modelValue":W=>$.checked=W,label:$.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):createCommentVNode("",!0),!$.radio&&!$.checkbox?(openBlock(),createBlock(o,{key:1,style:normalizeStyle("cursor: pointer;"+($.disabled?"opacity: 0.2":""))},{default:withCtx(()=>[createTextVNode(toDisplayString($.label),1)]),_:2},1032,["style"])):createCommentVNode("",!0)]),_:2},[$.icon?{name:"prepend",fn:withCtx(()=>[createVNode(s,{icon:$.icon,disabled:$.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["onClick","disabled","data-test"]))],64))),256))]),_:2},1024)]),_:2},1024))),128))]),_:1})])}const Z$1=d(G,[["render",z$2],["__scopeId","data-v-4d454b93"]]);let te$1=class{constructor(){OA.get("/openc3-api/autocomplete/data/screen").then(h=>{this.autocompleteData=h.data}),this.api=new FA}async getCompletions(h,f,g,J,A){let S=f.getLine(g.row).slice(0,g.column).trimStart().split(/ (?![^<]*>)/),_=this.autocompleteData;S.length>1&&(_=_.find(i=>i.caption===S[0]));let s={},u=!0;if(_&&_.params){_.params.length==S.length-1&&(u=!1);let i=_.params[S.length-2];if(i["Target name"])_=(await this.api.get_target_names()).reduce((o,r)=>(o[r]=1,o),{});else if(i["Packet name"]){let o=S[S.length-2];_=(await this.api.get_all_tlm(o)).reduce((r,t)=>(r[t.packet_name]=t.description,r),{})}else if(i["Item name"]){let o=S[S.length-3],r=S[S.length-2];_=(await this.api.get_tlm(o,r)).items.reduce((t,e)=>(t[e.name]=e.description,t),{})}else _=i;s=Object.keys(_||{}).map(o=>{let r={value:o+(u?" ":""),command:u&&"startAutocomplete"};return typeof _[o]=="string"&&(r.meta=_[o]),r})}else s=_;A(null,s)}};const ne$1={props:{modelValue:Boolean,target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},errors:{type:Array,default:()=>[]}},data(){return{file:null,docsKeyword:"",contextMenu:!1,menuX:0,menuY:0}},computed:{editErrors:function(){if(this.definition===""&&!this.file)return["Input can not be blank."];if(this.errors.length!==0){let c=new Set,h=[];const f=this.errors.toSorted((g,J)=>g.lineNumber-J.lineNumber);for(const g of f){let J=`At ${g.lineNumber}: (${g.line}) ${g.message}.`;g.usage&&(J+=` Usage: ${g.usage}`),h.push(J),c.add(g.message)}return h}return[]},show:{get(){return this.modelValue},set(c){this.$emit("update:modelValue",c)}}},mounted:function(){this.editor=vA.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const c=this.buildScreenMode();this.editor.session.setMode(new c),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setOption("enableBasicAutocompletion",!0),this.editor.setOption("enableLiveAutocompletion",!0),this.editor.completers=[new te$1],this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.definition),this.editor.clearSelection(),X$1.applyVimModeIfEnabled(this.editor),this.editor.focus()},beforeUnmount(){this.editor.destroy(),this.editor.container.remove()},methods:{toggleVimMode:function(){X$1.toggleVimMode(this.editor)},showContextMenu:function(c){this.menuX=c.pageX,this.menuY=c.pageY;let h=this.editor.getCursorPosition(),f=this.editor.session.getTokenAt(h.row,h.column);if(f){let g=f.value.trim();g.includes(" ")?this.docsKeyword=g.split(" ")[0]:this.docsKeyword=g,this.contextMenu=!0}},openDocumentation(){window.open(`${window.location.origin}/tools/staticdocs/docs/configuration/telemetry-screens#${this.docsKeyword.toLowerCase()}`,"_blank")},buildScreenMode(){let c=vA.require("ace/lib/oop"),h=vA.require("ace/mode/text_highlight_rules").TextHighlightRules,f=this.keywords.join("|"),g=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"\\b\\d+(?:\\.\\d+)?\\b"},{token:"keyword",regex:new RegExp(`^\\s*(${f})\\b`)}]},this.normalizeRules()};c.inherits(g,h);let J=function(){this.HighlightRules=g},A=vA.require("ace/mode/text").Mode;return c.inherits(J,A),(function(){this.$id="ace/mode/openc3"}).call(J.prototype),J},downloadScreen:function(){const c=new Blob([this.editor.getValue()],{type:"text/plain"}),h=document.createElement("a");h.href=URL.createObjectURL(c),h.setAttribute("download",`${this.screen.toLowerCase()}.txt`),h.click()},loadFile:function(){const c=new FileReader;c.readAsText(this.file);const h=this;c.onload=function(){h.editor.setValue(c.result),h.file=null}},deleteScreen:function(){this.$dialog.confirm("Are you sure you want to delete this screen?!",{okText:"Delete",cancelText:"Cancel"}).then(c=>{this.$emit("delete")})}}},ie$1={class:"mx-2"},se={class:"mx-2"},le$1=["textContent"];function oe$1(c,h,f,g,J,A){const S=resolveComponent("v-icon"),_=resolveComponent("v-tooltip"),s=resolveComponent("v-spacer"),u=resolveComponent("v-toolbar"),i=resolveComponent("v-row"),o=resolveComponent("v-btn"),r=resolveComponent("v-file-input"),t=resolveComponent("v-list-item-title"),e=resolveComponent("v-list-item"),n=resolveComponent("v-divider"),a=resolveComponent("v-list"),p=resolveComponent("v-menu"),m=resolveComponent("v-card-text"),k=resolveComponent("v-card"),x=resolveComponent("v-dialog");return openBlock(),createBlock(x,{persistent:"",modelValue:A.show,"onUpdate:modelValue":h[5]||(h[5]=$=>A.show=$),width:"75vw"},{default:withCtx(()=>[createVNode(k,null,{default:withCtx(()=>[createVNode(u,{height:"24"},{default:withCtx(()=>[createElementVNode("div",ie$1,[createVNode(_,{location:"top"},{activator:withCtx(({props:$})=>[createElementVNode("div",normalizeProps(guardReactiveProps($)),[createVNode(S,{"data-test":"delete-screen-icon",onClick:A.deleteScreen},{default:withCtx(()=>h[6]||(h[6]=[createTextVNode(" mdi-delete ")])),_:1},8,["onClick"])],16)]),default:withCtx(()=>[h[7]||(h[7]=createElementVNode("span",null," Delete Screen ",-1))]),_:1})]),createVNode(s),createElementVNode("span",null," Edit Screen: "+toDisplayString(f.target)+" "+toDisplayString(f.screen),1),createVNode(s),createElementVNode("div",se,[createVNode(_,{location:"top"},{activator:withCtx(({props:$})=>[createElementVNode("div",normalizeProps(guardReactiveProps($)),[createVNode(S,{"data-test":"download-screen-icon",onClick:A.downloadScreen},{default:withCtx(()=>h[8]||(h[8]=[createTextVNode(" mdi-download ")])),_:1},8,["onClick"])],16)]),default:withCtx(()=>[h[9]||(h[9]=createElementVNode("span",null," Download Screen ",-1))]),_:1})])]),_:1}),createVNode(m,{style:{"max-height":"90vh"}},{default:withCtx(()=>[createVNode(i,{class:"mt-3"},{default:withCtx(()=>h[10]||(h[10]=[createTextVNode(" Upload a screen file. ")])),_:1}),createVNode(i,{"no-gutters":"",align:"center"},{default:withCtx(()=>[createVNode(o,{onClick:A.loadFile,disabled:!J.file,color:"primary",class:"mr-3","data-test":"edit-screen-load"},{default:withCtx(()=>h[11]||(h[11]=[createTextVNode(" Load ")])),_:1},8,["onClick","disabled"]),createVNode(r,{modelValue:J.file,"onUpdate:modelValue":h[0]||(h[0]=$=>J.file=$),"truncate-length":"15",accept:".txt",label:"Click to select .txt screen file."},null,8,["modelValue"])]),_:1}),createVNode(i,{class:"mb-2"},{default:withCtx(()=>h[12]||(h[12]=[createTextVNode(" Edit the screen definition. ")])),_:1}),createVNode(i,{class:"mb-2"},{default:withCtx(()=>[createElementVNode("pre",{ref:"editor",class:"editor",onContextmenu:h[1]||(h[1]=withModifiers((...$)=>A.showContextMenu&&A.showContextMenu(...$),["prevent"]))},null,544),createVNode(p,{modelValue:J.contextMenu,"onUpdate:modelValue":h[2]||(h[2]=$=>J.contextMenu=$),target:[J.menuX,J.menuY]},{default:withCtx(()=>[createVNode(a,null,{default:withCtx(()=>[createVNode(e,{link:""},{default:withCtx(()=>[createVNode(t,{onClick:A.openDocumentation},{default:withCtx(()=>[createTextVNode(toDisplayString(J.docsKeyword)+" documentation ",1)]),_:1},8,["onClick"])]),_:1}),createVNode(n),createVNode(e,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:A.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1}),createVNode(i,{style:{"max-height":"120px","overflow-y":"auto"}},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(A.editErrors,($,C)=>(openBlock(),createElementBlock("div",{key:C},[createElementVNode("span",{class:"text-red",textContent:toDisplayString($)},null,8,le$1)]))),128))]),_:1}),createVNode(i,{class:"mt-5"},{default:withCtx(()=>[h[15]||(h[15]=createElementVNode("span",null,"Ctrl-space brings up autocomplete. Right click keywords for documentation.",-1)),createVNode(s),createVNode(o,{onClick:h[3]||(h[3]=$=>c.$emit("cancel")),class:"mx-2",variant:"outlined","data-test":"edit-screen-cancel"},{default:withCtx(()=>h[13]||(h[13]=[createTextVNode(" Cancel ")])),_:1}),createVNode(o,{onClick:h[4]||(h[4]=$=>c.$emit("save",c.editor.getValue())),class:"mx-2",color:"primary","data-test":"edit-screen-save"},{default:withCtx(()=>h[14]||(h[14]=[createTextVNode(" Save ")])),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const re$1=d(ne$1,[["render",oe$1],["__scopeId","data-v-40531a57"]]),z$1=20,we$1={mixins:[WA],components:{EditScreenDialog:re$1},props:{target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},initialFloated:{type:Boolean,default:!1},initialTop:{type:Number,default:0},initialLeft:{type:Number,default:0},initialZ:{type:Number,default:0},minZ:{type:Number,default:0},fixFloated:{type:Boolean,default:!1},count:{type:Number,default:0},showClose:{type:Boolean,default:!0},timeZone:{type:String,default:"local"},inline:{type:Boolean,default:!1}},data(){return{api:null,backup:"",currentDefinition:this.definition,editDialog:!1,expand:!0,configParser:null,configError:!1,currentLayout:null,layoutStack:[],namedWidgets:{},dynamicWidgets:[],width:null,height:null,staleTime:30,cacheTimeout:.1,globalSettings:[],substitute:!1,original_target_name:null,force_substitute:!1,pollingPeriod:1,errors:[],errorDialog:!1,screenKey:null,dragX:0,dragY:0,floated:this.initialFloated,top:this.initialTop,left:this.initialLeft,zIndex:this.initialZ,changeCounter:0,screenItems:[],screenValues:{},updateCounter:0,screenId:L_.uniqueId("openc3-screen_")}},watch:{count:{handler(c,h){this.currentDefinition=this.definition,this.rerender()}}},computed:{error:function(){if(this.errorDialog&&this.errors.length>0){let c=new Set,h="";for(const f of this.errors){if(c.has(f.message))continue;let g=`${f.time}: (${f.type}) ${f.message}
|
3
|
+
`;h+=g,c.add(f.message)}return h}return null},computedStyle(){var c;let h={};const f=this.width||((c=this.$refs.bar)==null?void 0:c.clientWidth);return this.floated&&(h.position="absolute",h.top=this.top+"px",h.left=this.left+"px",h.width=f+"px"),h}},errorCaptured(c,h,f){return console.log({err:c,vm:h,info:f}),this.errors.length<z$1&&(console.log({errors:this.errors}),c.usage?this.errors.push({type:"usage",message:c.message,usage:c.usage,line:c.line,lineNumber:c.lineNumber,time:new Date().getTime()}):this.errors.push({type:"error",message:c,time:new Date().getTime()}),this.configError=!0),!1},created(){this.api=new FA,this.configParser=new NA,this.parseDefinition(),this.screenKey=Math.floor(Math.random()*1e6)},mounted(){this.updateRefreshInterval(),this.floated&&(this.$refs.bar.onmousedown=this.dragMouseDown,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex)},unmounted(){this.updater!=null&&(clearInterval(this.updater),this.updater=null)},methods:{open(c,h){this.$parent.showScreen(c,h)},close(c,h){this.$parent.closeScreenByName(c,h)},closeAll(){this.$parent.closeAll()},clearErrors:function(){this.errors=[],this.configError=!1},updateRefreshInterval:function(){let c=this.pollingPeriod*1e3;this.updater&&clearInterval(this.updater),this.updater=setInterval(()=>{this.update()},c)},parseDefinition:function(){if(this.clearErrors(),this.namedWidgets={},this.layoutStack=[],this.dynamicWidgets=[],this.layoutStack.push({type:"VerticalWidget",parameters:[],widgets:[]}),this.currentLayout=this.layoutStack[this.layoutStack.length-1],this.configParser.parse_string(this.currentDefinition,"",!1,!0,(c,h,f,g)=>{if(c)switch(c){case"SCREEN":this.configParser.verify_num_parameters(3,4,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`),this.width=parseInt(h[0]),this.height=parseInt(h[1]),this.pollingPeriod=parseFloat(h[2]);break;case"END":this.configParser.verify_num_parameters(0,0,`${c}`),this.layoutStack.pop(),this.currentLayout=this.layoutStack[this.layoutStack.length-1];break;case"STALE_TIME":this.configParser.verify_num_parameters(1,1,`${c} <Time (s)>`),this.staleTime=parseInt(h[0]);break;case"SETTING":case"SUBSETTING":(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(h);break;case"GLOBAL_SETTING":case"GLOBAL_SUBSETTING":this.globalSettings.push(h);break;default:this.processWidget(c,h,f,g);break}}),typeof this.layoutStack[0]>"u"){let c=[],h=[];for(const f of this.dynamicWidgets)c.push(f.name),h.push(f.lineNumber);this.errors.length<z$1&&(this.errors.push({type:"usage",message:`Unknown widget! Are these widgets: ${c.join(",")}?`,lineNumber:h.join(","),time:new Date().getTime()}),this.configError=!0),this.layoutStack[0]={type:"VerticalWidget",parameters:[],widgets:[]}}else this.applyGlobalSettings(this.layoutStack[0].widgets)},openEdit:function(){this.backup=this.currentDefinition.repeat(1),this.editDialog=!0},upScreen:function(){this.zIndex+=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex])},downScreen:function(){this.zIndex>this.minZ&&(this.zIndex-=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex]))},floatScreen:function(){if(this.floated)this.$refs.bar.onmousedown=null,this.$refs.bar.parentElement.parentElement.style="z-index: 0",this.floated=!1,this.$emit("unfloat-screen",[this.floated,this.top,this.left,this.zIndex]);else{let c=this.$refs.bar.parentElement.parentElement.parentElement.getBoundingClientRect(),h=this.$refs.bar.getBoundingClientRect();this.top=h.top-c.top-5,this.left=h.left-c.left-5,this.$refs.bar.onmousedown=this.dragMouseDown,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.floated=!0,this.$emit("float-screen",[this.floated,this.top,this.left,this.zIndex])}},dragMouseDown:function(c){c=c||window.event,c.preventDefault(),this.dragX=c.clientX,this.dragY=c.clientY,document.onmouseup=this.closeDragElement,document.onmousemove=this.elementDrag},elementDrag:function(c){c=c||window.event,c.preventDefault();let h=this.dragX-c.clientX,f=this.dragY-c.clientY;this.dragX=c.clientX,this.dragY=c.clientY,this.top=this.$refs.bar.offsetTop-f,this.left=this.$refs.bar.offsetLeft-h,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex])},closeDragElement:function(){document.onmouseup=null,document.onmousemove=null},rerender:function(){this.parseDefinition(),this.updateRefreshInterval(),this.screenKey=Math.floor(Math.random()*1e6),this.$nextTick(function(){this.clearErrors(),this.$emit("edit-screen")})},cancelEdit:function(){this.file=null,this.editDialog=!1,this.currentDefinition=this.backup,this.rerender()},saveEdit:function(c){this.editDialog=!1,this.currentDefinition=c,this.rerender(),this.$nextTick(function(){OA.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:this.target,screen:this.screen,text:this.currentDefinition}},0)})},deleteScreen:function(){this.editDialog=!1,OA.delete(`/openc3-api/screen/${this.target}/${this.screen}`).then(c=>{this.$emit("delete-screen")})},minMaxTransition:function(){this.expand=!this.expand,this.$emit("min-max-screen")},processWidget:function(c,h,f,g){let J=null;c==="NAMED_WIDGET"&&(this.configParser.verify_num_parameters(2,null,`${c} <Widget Name> <Widget Type> <Widget Settings... (optional)>`),J=h[0].toUpperCase(),c=h[1].toUpperCase(),h=h.slice(2,h.length));const A=c.charAt(0).toUpperCase()+c.slice(1).toLowerCase()+"Widget";let S=[];if(S.push(["__SCREEN_ID__",this.screenId]),J!==null&&S.push(["NAMED_WIDGET",J]),c==="VERTICAL"||c==="VERTICALBOX"||c==="HORIZONTAL"||c==="HORIZONTALBOX"||c==="MATRIXBYCOLUMNS"||c==="TABBOOK"||c==="TABITEM"||c==="CANVAS"||c==="RADIOGROUP"||c==="SCROLLWINDOW"){const _={type:A,parameters:h,settings:S,screenValues:this.screenValues,screenTimeZone:this.timeZone,widgets:[]};this.layoutStack.push(_),this.currentLayout.widgets.push(_),this.currentLayout=_}else if(this.$options.components[A])this.currentLayout.widgets.push({type:A,target:this.target,parameters:h,settings:S,screenValues:this.screenValues,screenTimeZone:this.timeZone,line:f,lineNumber:g});else{let _={type:"DynamicWidget",target:this.target,parameters:h,settings:S,screenValues:this.screenValues,screenTimeZone:this.timeZone,name:A,line:f,lineNumber:g};this.currentLayout.widgets.push(_),this.dynamicWidgets.push(_)}},applyGlobalSettings:function(c){c.forEach(h=>{this.globalSettings.forEach(f=>{h.type.toLowerCase()===f[0].toLowerCase()+"widget"&&h.settings.push(f.slice(1))}),h.widgets&&this.applyGlobalSettings(h.widgets)})},update:function(){this.screenItems.length!==0&&this.configError===!1&&this.api.get_tlm_values(this.screenItems,this.staleTime,this.cacheTimeout).then(c=>{this.clearErrors(),this.updateValues(c)}).catch(c=>{let h=JSON.stringify(c,null,2);h.includes("no response received")||(this.configError=!0),this.errors.find(f=>f.message===h)||this.errors.length<z$1&&this.errors.push({type:"error",message:h,time:new Date().getTime()})})},updateValues:function(c){this.updateCounter+=1;for(let h=0;h<c.length;h++)c[h].push(this.updateCounter),this.screenValues[this.screenItems[h]]=c[h]},addItem:function(c){this.screenItems.push(c),this.screenValues[c]=[null,null,0]},deleteItem:function(c){let h=this.screenItems.indexOf(c);this.screenItems.splice(h,1)}}},ke$1={class:"pa-1",style:{position:"relative"},ref:"screen"},Se$1={key:1,class:"pa-1",style:{position:"relative"}};function Ce$1(c,h,f,g,J,A){const S=resolveComponent("v-icon"),_=resolveComponent("v-tooltip"),s=resolveComponent("v-spacer"),u=resolveComponent("v-toolbar"),i=resolveComponent("v-overlay"),o=resolveComponent("vertical-widget"),r=resolveComponent("v-expand-transition"),t=resolveComponent("v-card"),e=resolveComponent("edit-screen-dialog"),n=resolveComponent("v-textarea"),a=resolveComponent("v-dialog");return openBlock(),createElementBlock("div",{style:normalizeStyle(A.computedStyle),ref:"bar"},[f.inline?createCommentVNode("",!0):(openBlock(),createBlock(t,{key:0,"min-height":J.height,"min-width":J.width,style:{cursor:"default"}},{default:withCtx(()=>[createVNode(u,{height:"24"},{default:withCtx(()=>[withDirectives(createElementVNode("div",null,[createVNode(_,{location:"top"},{activator:withCtx(({props:p})=>[createElementVNode("div",normalizeProps(guardReactiveProps(p)),[createVNode(S,{"data-test":"error-graph-icon",onClick:h[0]||(h[0]=m=>J.errorDialog=!0)},{default:withCtx(()=>h[7]||(h[7]=[createTextVNode(" mdi-alert ")])),_:1})],16)]),default:withCtx(()=>[h[8]||(h[8]=createElementVNode("span",null," Errors ",-1))]),_:1})],512),[[vShow,J.errors.length!==0]]),createVNode(_,{location:"top"},{activator:withCtx(({props:p})=>[createElementVNode("div",normalizeProps(guardReactiveProps(p)),[createVNode(S,{"data-test":"edit-screen-icon",onClick:A.openEdit},{default:withCtx(()=>h[9]||(h[9]=[createTextVNode(" mdi-pencil ")])),_:1},8,["onClick"])],16)]),default:withCtx(()=>[h[10]||(h[10]=createElementVNode("span",null," Edit Screen ",-1))]),_:1}),f.fixFloated?createCommentVNode("",!0):(openBlock(),createBlock(_,{key:0,location:"top"},{activator:withCtx(({props:p})=>[createElementVNode("div",normalizeProps(guardReactiveProps(p)),[createVNode(S,{"data-test":"float-screen-icon",onClick:A.floatScreen},{default:withCtx(()=>[createTextVNode(toDisplayString(J.floated?"mdi-balloon":"mdi-view-grid-outline"),1)]),_:1},8,["onClick"])],16)]),default:withCtx(()=>[createElementVNode("span",null,toDisplayString(J.floated?"Unfloat Screen":"Float Screen"),1)]),_:1})),J.floated?(openBlock(),createBlock(_,{key:1,location:"top"},{activator:withCtx(({props:p})=>[createElementVNode("div",normalizeProps(guardReactiveProps(p)),[createVNode(S,{"data-test":"up-screen-icon",onClick:A.upScreen},{default:withCtx(()=>h[11]||(h[11]=[createTextVNode(" mdi-arrow-up ")])),_:1},8,["onClick"])],16)]),default:withCtx(()=>[h[12]||(h[12]=createElementVNode("span",null," Move Screen Up ",-1))]),_:1})):createCommentVNode("",!0),J.floated&&J.zIndex>f.minZ?(openBlock(),createBlock(_,{key:2,location:"top"},{activator:withCtx(({props:p})=>[createElementVNode("div",normalizeProps(guardReactiveProps(p)),[createVNode(S,{"data-test":"down-screen-icon",onClick:A.downScreen},{default:withCtx(()=>h[13]||(h[13]=[createTextVNode(" mdi-arrow-down ")])),_:1},8,["onClick"])],16)]),default:withCtx(()=>[h[14]||(h[14]=createElementVNode("span",null," Move Screen Down ",-1))]),_:1})):createCommentVNode("",!0),createVNode(s),createElementVNode("span",null,toDisplayString(f.target)+" "+toDisplayString(f.screen),1),createVNode(s),createVNode(_,{location:"top"},{activator:withCtx(({props:p})=>[createElementVNode("div",normalizeProps(guardReactiveProps(p)),[withDirectives(createVNode(S,{"data-test":"minimize-screen-icon",onClick:A.minMaxTransition},{default:withCtx(()=>h[15]||(h[15]=[createTextVNode(" mdi-window-minimize ")])),_:1},8,["onClick"]),[[vShow,J.expand]]),withDirectives(createVNode(S,{"data-test":"maximize-screen-icon",onClick:A.minMaxTransition},{default:withCtx(()=>h[16]||(h[16]=[createTextVNode(" mdi-window-maximize ")])),_:1},8,["onClick"]),[[vShow,!J.expand]])],16)]),default:withCtx(()=>[withDirectives(createElementVNode("span",null," Minimize Screen ",512),[[vShow,J.expand]]),withDirectives(createElementVNode("span",null," Maximize Screen ",512),[[vShow,!J.expand]])]),_:1}),f.showClose?(openBlock(),createBlock(_,{key:3,location:"top"},{activator:withCtx(({props:p})=>[createElementVNode("div",normalizeProps(guardReactiveProps(p)),[createVNode(S,{"data-test":"close-screen-icon",onClick:h[1]||(h[1]=m=>c.$emit("close-screen"))},{default:withCtx(()=>h[17]||(h[17]=[createTextVNode(" mdi-close-box ")])),_:1})],16)]),default:withCtx(()=>[h[18]||(h[18]=createElementVNode("span",null," Close Screen ",-1))]),_:1})):createCommentVNode("",!0)]),_:1}),J.editDialog?createCommentVNode("",!0):(openBlock(),createBlock(r,{key:0},{default:withCtx(()=>[withDirectives(createElementVNode("div",ke$1,[createVNode(i,{style:{"pointer-events":"none"},"model-value":J.errors.length!==0,opacity:"0.8",absolute:"",attach:""},null,8,["model-value"]),(openBlock(),createBlock(o,{key:J.screenKey,widgets:J.layoutStack[0].widgets,"screen-values":J.screenValues,"screen-time-zone":f.timeZone,onAddItem:A.addItem,onDeleteItem:A.deleteItem,onOpen:A.open,onClose:A.close,onCloseAll:A.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))],512),[[vShow,J.expand]])]),_:1}))]),_:1},8,["min-height","min-width"])),f.inline?(openBlock(),createElementBlock("div",Se$1,[createVNode(i,{style:{"pointer-events":"none"},"model-value":J.errors.length!==0,opacity:"0.8",absolute:"",attach:""},null,8,["model-value"]),(openBlock(),createBlock(o,{key:J.screenKey,widgets:J.layoutStack[0].widgets,"screen-values":J.screenValues,"screen-time-zone":f.timeZone,onAddItem:A.addItem,onDeleteItem:A.deleteItem,onOpen:A.open,onClose:A.close,onCloseAll:A.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))])):createCommentVNode("",!0),J.editDialog?(openBlock(),createBlock(e,{key:2,modelValue:J.editDialog,"onUpdate:modelValue":h[2]||(h[2]=p=>J.editDialog=p),target:f.target,screen:f.screen,definition:J.currentDefinition,keywords:f.keywords,errors:J.errors,onSave:h[3]||(h[3]=p=>A.saveEdit(p)),onCancel:h[4]||(h[4]=p=>A.cancelEdit()),onDelete:h[5]||(h[5]=p=>A.deleteScreen())},null,8,["modelValue","target","screen","definition","keywords","errors"])):createCommentVNode("",!0),createVNode(a,{modelValue:J.errorDialog,"onUpdate:modelValue":h[6]||(h[6]=p=>J.errorDialog=p),width:"60vw"},{default:withCtx(()=>[createVNode(u,{height:"24"},{default:withCtx(()=>[createVNode(s),createElementVNode("span",null," Screen: "+toDisplayString(f.target)+" "+toDisplayString(f.screen)+" Errors ",1),createVNode(s)]),_:1}),createVNode(t,null,{default:withCtx(()=>[createVNode(n,{class:"errors",readonly:"",rows:"13","model-value":A.error},null,8,["model-value"])]),_:1})]),_:1},8,["modelValue"])],4)}const Oe$1=d(we$1,[["render",Ce$1],["__scopeId","data-v-2bc7c71d"]]);var sprintf$1={},hasRequiredSprintf;function requireSprintf(){return hasRequiredSprintf||(hasRequiredSprintf=1,function(c){(function(){var h={not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function f(_){return J(S(_),arguments)}function g(_,s){return f.apply(null,[_].concat(s||[]))}function J(_,s){var u=1,i=_.length,o,r="",t,e,n,a,p,m,k,x;for(t=0;t<i;t++)if(typeof _[t]=="string")r+=_[t];else if(typeof _[t]=="object"){if(n=_[t],n.keys)for(o=s[u],e=0;e<n.keys.length;e++){if(o==null)throw new Error(f('[sprintf] Cannot access property "%s" of undefined value "%s"',n.keys[e],n.keys[e-1]));o=o[n.keys[e]]}else n.param_no?o=s[n.param_no]:o=s[u++];if(h.not_type.test(n.type)&&h.not_primitive.test(n.type)&&o instanceof Function&&(o=o()),h.numeric_arg.test(n.type)&&typeof o!="number"&&isNaN(o))throw new TypeError(f("[sprintf] expecting number but found %T",o));switch(h.number.test(n.type)&&(k=o>=0),n.type){case"b":o=parseInt(o,10).toString(2);break;case"c":o=String.fromCharCode(parseInt(o,10));break;case"d":case"i":o=parseInt(o,10);break;case"j":o=JSON.stringify(o,null,n.width?parseInt(n.width):0);break;case"e":o=n.precision?parseFloat(o).toExponential(n.precision):parseFloat(o).toExponential();break;case"f":o=n.precision?parseFloat(o).toFixed(n.precision):parseFloat(o);break;case"g":o=n.precision?String(Number(o.toPrecision(n.precision))):parseFloat(o);break;case"o":o=(parseInt(o,10)>>>0).toString(8);break;case"s":o=String(o),o=n.precision?o.substring(0,n.precision):o;break;case"t":o=String(!!o),o=n.precision?o.substring(0,n.precision):o;break;case"T":o=Object.prototype.toString.call(o).slice(8,-1).toLowerCase(),o=n.precision?o.substring(0,n.precision):o;break;case"u":o=parseInt(o,10)>>>0;break;case"v":o=o.valueOf(),o=n.precision?o.substring(0,n.precision):o;break;case"x":o=(parseInt(o,10)>>>0).toString(16);break;case"X":o=(parseInt(o,10)>>>0).toString(16).toUpperCase();break}h.json.test(n.type)?r+=o:(h.number.test(n.type)&&(!k||n.sign)?(x=k?"+":"-",o=o.toString().replace(h.sign,"")):x="",p=n.pad_char?n.pad_char==="0"?"0":n.pad_char.charAt(1):" ",m=n.width-(x+o).length,a=n.width&&m>0?p.repeat(m):"",r+=n.align?x+o+a:p==="0"?x+a+o:a+x+o)}return r}var A=Object.create(null);function S(_){if(A[_])return A[_];for(var s=_,u,i=[],o=0;s;){if((u=h.text.exec(s))!==null)i.push(u[0]);else if((u=h.modulo.exec(s))!==null)i.push("%");else if((u=h.placeholder.exec(s))!==null){if(u[2]){o|=1;var r=[],t=u[2],e=[];if((e=h.key.exec(t))!==null)for(r.push(e[1]);(t=t.substring(e[0].length))!=="";)if((e=h.key_access.exec(t))!==null)r.push(e[1]);else if((e=h.index_access.exec(t))!==null)r.push(e[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");u[2]=r}else o|=2;if(o===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:u[0],param_no:u[1],keys:u[2],sign:u[3],pad_char:u[4],align:u[5],width:u[6],precision:u[7],type:u[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");s=s.substring(u[0].length)}return A[_]=i}c.sprintf=f,c.vsprintf=g,typeof window<"u"&&(window.sprintf=f,window.vsprintf=g)})()}(sprintf$1)),sprintf$1}requireSprintf();var ace$1={exports:{}},hasRequiredAce;function requireAce(){return hasRequiredAce||(hasRequiredAce=1,function(c,h){(function(){var f="ace",g=function(){return this}();!g&&typeof window<"u"&&(g=window);var J=function(i,o,r){if(typeof i!="string"){J.original?J.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=o),J.modules[i]||(J.payloads[i]=r,J.modules[i]=null)};J.modules={},J.payloads={};var A=function(i,o,r){if(typeof o=="string"){var t=s(i,o);if(t!=null)return r&&r(),t}else if(Object.prototype.toString.call(o)==="[object Array]"){for(var e=[],n=0,a=o.length;n<a;++n){var p=s(i,o[n]);if(p==null&&S.original)return;e.push(p)}return r&&r.apply(null,e)||!0}},S=function(i,o){var r=A("",i,o);return r==null&&S.original?S.original.apply(this,arguments):r},_=function(i,o){if(o.indexOf("!")!==-1){var r=o.split("!");return _(i,r[0])+"!"+_(i,r[1])}if(o.charAt(0)=="."){var t=i.split("/").slice(0,-1).join("/");for(o=t+"/"+o;o.indexOf(".")!==-1&&e!=o;){var e=o;o=o.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return o},s=function(i,o){o=_(i,o);var r=J.modules[o];if(!r){if(r=J.payloads[o],typeof r=="function"){var t={},e={id:o,uri:"",exports:t,packaged:!0},n=function(p,m){return A(o,p,m)},a=r(n,t,e);t=a||e.exports,J.modules[o]=t,delete J.payloads[o]}r=J.modules[o]=t||r}return r};function u(i){var o=g;g[i]||(g[i]={}),o=g[i],(!o.define||!o.define.packaged)&&(J.original=o.define,o.define=J,o.define.packaged=!0),(!o.require||!o.require.packaged)&&(S.original=o.require,o.require=S,o.require.packaged=!0)}u(f)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(f,g,J){function A(S,_,s){Object.defineProperty(S,_,{value:s,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||A(String.prototype,"startsWith",function(S,_){return _=_||0,this.lastIndexOf(S,_)===_}),String.prototype.endsWith||A(String.prototype,"endsWith",function(S,_){var s=this;(_===void 0||_>s.length)&&(_=s.length),_-=S.length;var u=s.indexOf(S,_);return u!==-1&&u===_}),String.prototype.repeat||A(String.prototype,"repeat",function(S){for(var _="",s=this;S>0;)S&1&&(_+=s),(S>>=1)&&(s+=s);return _}),String.prototype.includes||A(String.prototype,"includes",function(S,_){return this.indexOf(S,_)!=-1}),Object.assign||(Object.assign=function(S){if(S==null)throw new TypeError("Cannot convert undefined or null to object");for(var _=Object(S),s=1;s<arguments.length;s++){var u=arguments[s];u!=null&&Object.keys(u).forEach(function(i){_[i]=u[i]})}return _}),Object.values||(Object.values=function(S){return Object.keys(S).map(function(_){return S[_]})}),Array.prototype.find||A(Array.prototype,"find",function(S){for(var _=this.length,s=arguments[1],u=0;u<_;u++){var i=this[u];if(S.call(s,i,u,this))return i}}),Array.prototype.findIndex||A(Array.prototype,"findIndex",function(S){for(var _=this.length,s=arguments[1],u=0;u<_;u++){var i=this[u];if(S.call(s,i,u,this))return u}}),Array.prototype.includes||A(Array.prototype,"includes",function(S,_){return this.indexOf(S,_)!=-1}),Array.prototype.fill||A(Array.prototype,"fill",function(S){for(var _=this,s=_.length>>>0,u=arguments[1],i=u>>0,o=i<0?Math.max(s+i,0):Math.min(i,s),r=arguments[2],t=r===void 0?s:r>>0,e=t<0?Math.max(s+t,0):Math.min(t,s);o<e;)_[o]=S,o++;return _}),Array.of||A(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(f,g,J){f("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(f,g,J){g.deepCopy=function A(S){if(typeof S!="object"||!S)return S;var _;if(Array.isArray(S)){_=[];for(var s=0;s<S.length;s++)_[s]=A(S[s]);return _}if(Object.prototype.toString.call(S)!=="[object Object]")return S;_={};for(var s in S)_[s]=A(S[s]);return _}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(f,g,J){g.last=function(_){return _[_.length-1]},g.stringReverse=function(_){return _.split("").reverse().join("")},g.stringRepeat=function(_,s){for(var u="";s>0;)s&1&&(u+=_),(s>>=1)&&(_+=_);return u};var A=/^\s\s*/,S=/\s\s*$/;g.stringTrimLeft=function(_){return _.replace(A,"")},g.stringTrimRight=function(_){return _.replace(S,"")},g.copyObject=function(_){var s={};for(var u in _)s[u]=_[u];return s},g.copyArray=function(_){for(var s=[],u=0,i=_.length;u<i;u++)_[u]&&typeof _[u]=="object"?s[u]=this.copyObject(_[u]):s[u]=_[u];return s},g.deepCopy=f("./deep_copy").deepCopy,g.arrayToMap=function(_){for(var s={},u=0;u<_.length;u++)s[_[u]]=1;return s},g.createMap=function(_){var s=Object.create(null);for(var u in _)s[u]=_[u];return s},g.arrayRemove=function(_,s){for(var u=0;u<=_.length;u++)s===_[u]&&_.splice(u,1)},g.escapeRegExp=function(_){return _.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},g.escapeHTML=function(_){return(""+_).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},g.getMatchOffsets=function(_,s){var u=[];return _.replace(s,function(i){u.push({offset:arguments[arguments.length-2],length:i.length})}),u},g.deferredCall=function(_){var s=null,u=function(){s=null,_()},i=function(o){return i.cancel(),s=setTimeout(u,o||0),i};return i.schedule=i,i.call=function(){return this.cancel(),_(),i},i.cancel=function(){return clearTimeout(s),s=null,i},i.isPending=function(){return s},i},g.delayedCall=function(_,s){var u=null,i=function(){u=null,_()},o=function(r){u==null&&(u=setTimeout(i,r||s))};return o.delay=function(r){u&&clearTimeout(u),u=setTimeout(i,r||s)},o.schedule=o,o.call=function(){this.cancel(),_()},o.cancel=function(){u&&clearTimeout(u),u=null},o.isPending=function(){return u},o},g.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},g.skipEmptyMatch=function(_,s,u){return u&&_.codePointAt(s)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(f,g,J){g.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},g.getOS=function(){return g.isMac?g.OS.MAC:g.isLinux?g.OS.LINUX:g.OS.WINDOWS};var A=typeof navigator=="object"?navigator:{},S=(/mac|win|linux/i.exec(A.platform)||["other"])[0].toLowerCase(),_=A.userAgent||"",s=A.appName||"";g.isWin=S=="win",g.isMac=S=="mac",g.isLinux=S=="linux",g.isIE=s=="Microsoft Internet Explorer"||s.indexOf("MSAppHost")>=0?parseFloat((_.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((_.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),g.isOldIE=g.isIE&&g.isIE<9,g.isGecko=g.isMozilla=_.match(/ Gecko\/\d+/),g.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",g.isWebKit=parseFloat(_.split("WebKit/")[1])||void 0,g.isChrome=parseFloat(_.split(" Chrome/")[1])||void 0,g.isSafari=parseFloat(_.split(" Safari/")[1])&&!g.isChrome||void 0,g.isEdge=parseFloat(_.split(" Edge/")[1])||void 0,g.isAIR=_.indexOf("AdobeAIR")>=0,g.isAndroid=_.indexOf("Android")>=0,g.isChromeOS=_.indexOf(" CrOS ")>=0,g.isIOS=/iPad|iPhone|iPod/.test(_)&&!window.MSStream,g.isIOS&&(g.isMac=!0),g.isMobile=g.isIOS||g.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(f,g,J){var A=f("./useragent"),S="http://www.w3.org/1999/xhtml";g.buildDom=function r(t,e,n){if(typeof t=="string"&&t){var a=document.createTextNode(t);return e&&e.appendChild(a),a}if(!Array.isArray(t))return t&&t.appendChild&&e&&e.appendChild(t),t;if(typeof t[0]!="string"||!t[0]){for(var p=[],m=0;m<t.length;m++){var k=r(t[m],e,n);k&&p.push(k)}return p}var x=document.createElement(t[0]),$=t[1],C=1;$&&typeof $=="object"&&!Array.isArray($)&&(C=2);for(var m=C;m<t.length;m++)r(t[m],x,n);return C==2&&Object.keys($).forEach(function(W){var ye=$[W];W==="class"?x.className=Array.isArray(ye)?ye.join(" "):ye:typeof ye=="function"||W=="value"||W[0]=="$"?x[W]=ye:W==="ref"?n&&(n[ye]=x):W==="style"?typeof ye=="string"&&(x.style.cssText=ye):ye!=null&&x.setAttribute(W,ye)}),e&&e.appendChild(x),x},g.getDocumentHead=function(r){return r||(r=document),r.head||r.getElementsByTagName("head")[0]||r.documentElement},g.createElement=function(r,t){return document.createElementNS?document.createElementNS(t||S,r):document.createElement(r)},g.removeChildren=function(r){r.innerHTML=""},g.createTextNode=function(r,t){var e=t?t.ownerDocument:document;return e.createTextNode(r)},g.createFragment=function(r){var t=r?r.ownerDocument:document;return t.createDocumentFragment()},g.hasCssClass=function(r,t){var e=(r.className+"").split(/\s+/g);return e.indexOf(t)!==-1},g.addCssClass=function(r,t){g.hasCssClass(r,t)||(r.className+=" "+t)},g.removeCssClass=function(r,t){for(var e=r.className.split(/\s+/g);;){var n=e.indexOf(t);if(n==-1)break;e.splice(n,1)}r.className=e.join(" ")},g.toggleCssClass=function(r,t){for(var e=r.className.split(/\s+/g),n=!0;;){var a=e.indexOf(t);if(a==-1)break;n=!1,e.splice(a,1)}return n&&e.push(t),r.className=e.join(" "),n},g.setCssClass=function(r,t,e){e?g.addCssClass(r,t):g.removeCssClass(r,t)},g.hasCssString=function(r,t){var e=0,n;if(t=t||document,n=t.querySelectorAll("style")){for(;e<n.length;)if(n[e++].id===r)return!0}},g.removeElementById=function(r,t){t=t||document,t.getElementById(r)&&t.getElementById(r).remove()};var _,s=[];g.useStrictCSP=function(r){_=r,r==!1?u():s||(s=[])};function u(){var r=s;s=null,r&&r.forEach(function(t){i(t[0],t[1])})}function i(r,t,e){if(!(typeof document>"u")){if(s){if(e)u();else if(e===!1)return s.push([r,t])}if(!_){var n=e;!e||!e.getRootNode?n=document:(n=e.getRootNode(),(!n||n==e)&&(n=document));var a=n.ownerDocument||n;if(t&&g.hasCssString(t,n))return null;t&&(r+=`
|
4
|
+
/*# sourceURL=ace/css/`+t+" */");var p=g.createElement("style");p.appendChild(a.createTextNode(r)),t&&(p.id=t),n==a&&(n=g.getDocumentHead(a)),n.insertBefore(p,n.firstChild)}}}if(g.importCssString=i,g.importCssStylsheet=function(r,t){g.buildDom(["link",{rel:"stylesheet",href:r}],g.getDocumentHead(t))},g.scrollbarWidth=function(r){var t=g.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var e=g.createElement("ace_outer"),n=e.style;n.position="absolute",n.left="-10000px",n.overflow="hidden",n.width="200px",n.minWidth="0px",n.height="150px",n.display="block",e.appendChild(t);var a=r&&r.documentElement||document&&document.documentElement;if(!a)return 0;a.appendChild(e);var p=t.offsetWidth;n.overflow="scroll";var m=t.offsetWidth;return p===m&&(m=e.clientWidth),a.removeChild(e),p-m},g.computedStyle=function(r,t){return window.getComputedStyle(r,"")||{}},g.setStyle=function(r,t,e){r[t]!==e&&(r[t]=e)},g.HAS_CSS_ANIMATION=!1,g.HAS_CSS_TRANSFORMS=!1,g.HI_DPI=A.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,A.isChromeOS&&(g.HI_DPI=!1),typeof document<"u"){var o=document.createElement("div");g.HI_DPI&&o.style.transform!==void 0&&(g.HAS_CSS_TRANSFORMS=!0),!A.isEdge&&typeof o.style.animationName<"u"&&(g.HAS_CSS_ANIMATION=!0),o=null}g.HAS_CSS_TRANSFORMS?g.translate=function(r,t,e){r.style.transform="translate("+Math.round(t)+"px, "+Math.round(e)+"px)"}:g.translate=function(r,t,e){r.style.top=Math.round(e)+"px",r.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(f,g,J){/*
|
5
|
+
* based on code from:
|
6
|
+
*
|
7
|
+
* @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
|
8
|
+
* Available via the MIT or new BSD license.
|
9
|
+
* see: http://github.com/jrburke/requirejs for details
|
10
|
+
*/var A=f("./dom");g.get=function(S,_){var s=new XMLHttpRequest;s.open("GET",S,!0),s.onreadystatechange=function(){s.readyState===4&&_(s.responseText)},s.send(null)},g.loadScript=function(S,_){var s=A.getDocumentHead(),u=document.createElement("script");u.src=S,s.appendChild(u),u.onload=u.onreadystatechange=function(i,o){(o||!u.readyState||u.readyState=="loaded"||u.readyState=="complete")&&(u=u.onload=u.onreadystatechange=null,o||_())}},g.qualifyURL=function(S){var _=document.createElement("a");return _.href=S,_.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(f,g,J){g.inherits=function(A,S){A.super_=S,A.prototype=Object.create(S.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}})},g.mixin=function(A,S){for(var _ in S)A[_]=S[_];return A},g.implement=function(A,S){g.mixin(A,S)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(f,g,J){var A={},S=function(){this.propagationStopped=!0},_=function(){this.defaultPrevented=!0};A._emit=A._dispatchEvent=function(s,u){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var i=this._eventRegistry[s]||[],o=this._defaultHandlers[s];if(!(!i.length&&!o)){(typeof u!="object"||!u)&&(u={}),u.type||(u.type=s),u.stopPropagation||(u.stopPropagation=S),u.preventDefault||(u.preventDefault=_),i=i.slice();for(var r=0;r<i.length&&(i[r](u,this),!u.propagationStopped);r++);if(o&&!u.defaultPrevented)return o(u,this)}},A._signal=function(s,u){var i=(this._eventRegistry||{})[s];if(i){i=i.slice();for(var o=0;o<i.length;o++)i[o](u,this)}},A.once=function(s,u){var i=this;if(this.on(s,function o(){i.off(s,o),u.apply(null,arguments)}),!u)return new Promise(function(o){u=o})},A.setDefaultHandler=function(s,u){var i=this._defaultHandlers;if(i||(i=this._defaultHandlers={_disabled_:{}}),i[s]){var o=i[s],r=i._disabled_[s];r||(i._disabled_[s]=r=[]),r.push(o);var t=r.indexOf(u);t!=-1&&r.splice(t,1)}i[s]=u},A.removeDefaultHandler=function(s,u){var i=this._defaultHandlers;if(i){var o=i._disabled_[s];if(i[s]==u)o&&this.setDefaultHandler(s,o.pop());else if(o){var r=o.indexOf(u);r!=-1&&o.splice(r,1)}}},A.on=A.addEventListener=function(s,u,i){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[s];return o||(o=this._eventRegistry[s]=[]),o.indexOf(u)==-1&&o[i?"unshift":"push"](u),u},A.off=A.removeListener=A.removeEventListener=function(s,u){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[s];if(i){var o=i.indexOf(u);o!==-1&&i.splice(o,1)}},A.removeAllListeners=function(s){s||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[s]=void 0),this._defaultHandlers&&(this._defaultHandlers[s]=void 0)},g.EventEmitter=A}),ace.define("ace/lib/report_error",["require","exports","module"],function(f,g,J){g.reportError=function(S,_){var s=new Error(S);s.data=_,typeof console=="object"&&console.error&&console.error(s),setTimeout(function(){throw s})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(f,g,J){var A={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"};g.defaultEnglishMessages=A}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(f,g,J){"no use strict";var A=f("./oop"),S=f("./event_emitter").EventEmitter,_=f("./report_error").reportError,s=f("./default_english_messages").defaultEnglishMessages,u={setOptions:function(e){Object.keys(e).forEach(function(n){this.setOption(n,e[n])},this)},getOptions:function(e){var n={};if(e)Array.isArray(e)||(n=e,e=Object.keys(n));else{var a=this.$options;e=Object.keys(a).filter(function(p){return!a[p].hidden})}return e.forEach(function(p){n[p]=this.getOption(p)},this),n},setOption:function(e,n){if(this["$"+e]!==n){var a=this.$options[e];if(!a)return i('misspelled option "'+e+'"');if(a.forwardTo)return this[a.forwardTo]&&this[a.forwardTo].setOption(e,n);a.handlesSet||(this["$"+e]=n),a&&a.set&&a.set.call(this,n)}},getOption:function(e){var n=this.$options[e];return n?n.forwardTo?this[n.forwardTo]&&this[n.forwardTo].getOption(e):n&&n.get?n.get.call(this):this["$"+e]:i('misspelled option "'+e+'"')}};function i(e){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var o,r,t=function(){function e(){this.$defaultOptions={},o=s,r="dollarSigns"}return e.prototype.defineOptions=function(n,a,p){return n.$options||(this.$defaultOptions[a]=n.$options={}),Object.keys(p).forEach(function(m){var k=p[m];typeof k=="string"&&(k={forwardTo:k}),k.name||(k.name=m),n.$options[k.name]=k,"initialValue"in k&&(n["$"+k.name]=k.initialValue)}),A.implement(n,u),this},e.prototype.resetOptions=function(n){Object.keys(n.$options).forEach(function(a){var p=n.$options[a];"value"in p&&n.setOption(a,p.value)})},e.prototype.setDefaultValue=function(n,a,p){if(!n){for(n in this.$defaultOptions)if(this.$defaultOptions[n][a])break;if(!this.$defaultOptions[n][a])return!1}var m=this.$defaultOptions[n]||(this.$defaultOptions[n]={});m[a]&&(m.forwardTo?this.setDefaultValue(m.forwardTo,a,p):m[a].value=p)},e.prototype.setDefaultValues=function(n,a){Object.keys(a).forEach(function(p){this.setDefaultValue(n,p,a[p])},this)},e.prototype.setMessages=function(n,a){o=n,a&&a.placeholders&&(r=a.placeholders)},e.prototype.nls=function(n,a,p){o[n]||(i("No message found for the key '"+n+"' in messages with id "+o.$id+", trying to find a translation for the default string '"+a+"'."),o[a]||i("No message found for the default string '"+a+"' in the provided messages. Falling back to the default English message."));var m=o[n]||o[a]||a;return p&&(r==="dollarSigns"&&(m=m.replace(/\$(\$|[\d]+)/g,function(k,x){return x=="$"?"$":p[x]})),r==="curlyBrackets"&&(m=m.replace(/\{([^\}]+)\}/g,function(k,x){return p[x]}))),m},e}();t.prototype.warn=i,t.prototype.reportError=_,A.implement(t.prototype,S),g.AppConfig=t}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(f,g,J){J.exports=`.ace-tm .ace_gutter {
|
11
|
+
background: #f0f0f0;
|
12
|
+
color: #333;
|
13
|
+
}
|
14
|
+
|
15
|
+
.ace-tm .ace_print-margin {
|
16
|
+
width: 1px;
|
17
|
+
background: #e8e8e8;
|
18
|
+
}
|
19
|
+
|
20
|
+
.ace-tm .ace_fold {
|
21
|
+
background-color: #6B72E6;
|
22
|
+
}
|
23
|
+
|
24
|
+
.ace-tm {
|
25
|
+
background-color: #FFFFFF;
|
26
|
+
color: black;
|
27
|
+
}
|
28
|
+
|
29
|
+
.ace-tm .ace_cursor {
|
30
|
+
color: black;
|
31
|
+
}
|
32
|
+
|
33
|
+
.ace-tm .ace_invisible {
|
34
|
+
color: rgb(191, 191, 191);
|
35
|
+
}
|
36
|
+
|
37
|
+
.ace-tm .ace_storage,
|
38
|
+
.ace-tm .ace_keyword {
|
39
|
+
color: blue;
|
40
|
+
}
|
41
|
+
|
42
|
+
.ace-tm .ace_constant {
|
43
|
+
color: rgb(197, 6, 11);
|
44
|
+
}
|
45
|
+
|
46
|
+
.ace-tm .ace_constant.ace_buildin {
|
47
|
+
color: rgb(88, 72, 246);
|
48
|
+
}
|
49
|
+
|
50
|
+
.ace-tm .ace_constant.ace_language {
|
51
|
+
color: rgb(88, 92, 246);
|
52
|
+
}
|
53
|
+
|
54
|
+
.ace-tm .ace_constant.ace_library {
|
55
|
+
color: rgb(6, 150, 14);
|
56
|
+
}
|
57
|
+
|
58
|
+
.ace-tm .ace_invalid {
|
59
|
+
background-color: rgba(255, 0, 0, 0.1);
|
60
|
+
color: red;
|
61
|
+
}
|
62
|
+
|
63
|
+
.ace-tm .ace_support.ace_function {
|
64
|
+
color: rgb(60, 76, 114);
|
65
|
+
}
|
66
|
+
|
67
|
+
.ace-tm .ace_support.ace_constant {
|
68
|
+
color: rgb(6, 150, 14);
|
69
|
+
}
|
70
|
+
|
71
|
+
.ace-tm .ace_support.ace_type,
|
72
|
+
.ace-tm .ace_support.ace_class {
|
73
|
+
color: rgb(109, 121, 222);
|
74
|
+
}
|
75
|
+
|
76
|
+
.ace-tm .ace_keyword.ace_operator {
|
77
|
+
color: rgb(104, 118, 135);
|
78
|
+
}
|
79
|
+
|
80
|
+
.ace-tm .ace_string {
|
81
|
+
color: rgb(3, 106, 7);
|
82
|
+
}
|
83
|
+
|
84
|
+
.ace-tm .ace_comment {
|
85
|
+
color: rgb(76, 136, 107);
|
86
|
+
}
|
87
|
+
|
88
|
+
.ace-tm .ace_comment.ace_doc {
|
89
|
+
color: rgb(0, 102, 255);
|
90
|
+
}
|
91
|
+
|
92
|
+
.ace-tm .ace_comment.ace_doc.ace_tag {
|
93
|
+
color: rgb(128, 159, 191);
|
94
|
+
}
|
95
|
+
|
96
|
+
.ace-tm .ace_constant.ace_numeric {
|
97
|
+
color: rgb(0, 0, 205);
|
98
|
+
}
|
99
|
+
|
100
|
+
.ace-tm .ace_variable {
|
101
|
+
color: rgb(49, 132, 149);
|
102
|
+
}
|
103
|
+
|
104
|
+
.ace-tm .ace_xml-pe {
|
105
|
+
color: rgb(104, 104, 91);
|
106
|
+
}
|
107
|
+
|
108
|
+
.ace-tm .ace_entity.ace_name.ace_function {
|
109
|
+
color: #0000A2;
|
110
|
+
}
|
111
|
+
|
112
|
+
|
113
|
+
.ace-tm .ace_heading {
|
114
|
+
color: rgb(12, 7, 255);
|
115
|
+
}
|
116
|
+
|
117
|
+
.ace-tm .ace_list {
|
118
|
+
color:rgb(185, 6, 144);
|
119
|
+
}
|
120
|
+
|
121
|
+
.ace-tm .ace_meta.ace_tag {
|
122
|
+
color:rgb(0, 22, 142);
|
123
|
+
}
|
124
|
+
|
125
|
+
.ace-tm .ace_string.ace_regex {
|
126
|
+
color: rgb(255, 0, 0)
|
127
|
+
}
|
128
|
+
|
129
|
+
.ace-tm .ace_marker-layer .ace_selection {
|
130
|
+
background: rgb(181, 213, 255);
|
131
|
+
}
|
132
|
+
.ace-tm.ace_multiselect .ace_selection.ace_start {
|
133
|
+
box-shadow: 0 0 3px 0px white;
|
134
|
+
}
|
135
|
+
.ace-tm .ace_marker-layer .ace_step {
|
136
|
+
background: rgb(252, 255, 0);
|
137
|
+
}
|
138
|
+
|
139
|
+
.ace-tm .ace_marker-layer .ace_stack {
|
140
|
+
background: rgb(164, 229, 101);
|
141
|
+
}
|
142
|
+
|
143
|
+
.ace-tm .ace_marker-layer .ace_bracket {
|
144
|
+
margin: -1px 0 0 -1px;
|
145
|
+
border: 1px solid rgb(192, 192, 192);
|
146
|
+
}
|
147
|
+
|
148
|
+
.ace-tm .ace_marker-layer .ace_active-line {
|
149
|
+
background: rgba(0, 0, 0, 0.07);
|
150
|
+
}
|
151
|
+
|
152
|
+
.ace-tm .ace_gutter-active-line {
|
153
|
+
background-color : #dcdcdc;
|
154
|
+
}
|
155
|
+
|
156
|
+
.ace-tm .ace_marker-layer .ace_selected-word {
|
157
|
+
background: rgb(250, 250, 255);
|
158
|
+
border: 1px solid rgb(200, 200, 250);
|
159
|
+
}
|
160
|
+
|
161
|
+
.ace-tm .ace_indent-guide {
|
162
|
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
|
163
|
+
}
|
164
|
+
|
165
|
+
.ace-tm .ace_indent-guide-active {
|
166
|
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
|
167
|
+
}
|
168
|
+
`}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(f,g,J){g.isDark=!1,g.cssClass="ace-tm",g.cssText=f("./textmate-css"),g.$id="ace/theme/textmate";var A=f("../lib/dom");A.importCssString(g.cssText,g.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(f,g,J){"no use strict";var A=f("./lib/lang"),S=f("./lib/net"),_=f("./lib/dom"),s=f("./lib/app_config").AppConfig;J.exports=g=new s;var u={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};g.get=function(t){if(!u.hasOwnProperty(t))throw new Error("Unknown config key: "+t);return u[t]},g.set=function(t,e){if(u.hasOwnProperty(t))u[t]=e;else if(this.setDefaultValue("",t,e)==!1)throw new Error("Unknown config key: "+t);t=="useStrictCSP"&&_.useStrictCSP(e)},g.all=function(){return A.copyObject(u)},g.$modes={},g.moduleUrl=function(t,e){if(u.$moduleUrls[t])return u.$moduleUrls[t];var n=t.split("/");e=e||n[n.length-2]||"";var a=e=="snippets"?"/":"-",p=n[n.length-1];if(e=="worker"&&a=="-"){var m=new RegExp("^"+e+"[\\-_]|[\\-_]"+e+"$","g");p=p.replace(m,"")}(!p||p==e)&&n.length>1&&(p=n[n.length-2]);var k=u[e+"Path"];return k==null?k=u.basePath:a=="/"&&(e=a=""),k&&k.slice(-1)!="/"&&(k+="/"),k+e+a+p+this.get("suffix")},g.setModuleUrl=function(t,e){return u.$moduleUrls[t]=e};var i=function(t,e){if(t==="ace/theme/textmate"||t==="./theme/textmate")return e(null,f("./theme/textmate"));if(o)return o(t,e);console.error("loader is not configured")},o;g.setLoader=function(t){o=t},g.dynamicModules=Object.create(null),g.$loading={},g.$loaded={},g.loadModule=function(t,e){var n;if(Array.isArray(t))var a=t[0],p=t[1];else if(typeof t=="string")var p=t;var m=function(k){if(k&&!g.$loading[p])return e&&e(k);if(g.$loading[p]||(g.$loading[p]=[]),g.$loading[p].push(e),!(g.$loading[p].length>1)){var x=function(){i(p,function($,C){C&&(g.$loaded[p]=C),g._emit("load.module",{name:p,module:C});var W=g.$loading[p];g.$loading[p]=null,W.forEach(function(ye){ye&&ye(C)})})};if(!g.get("packaged"))return x();S.loadScript(g.moduleUrl(p,a),x),r()}};if(g.dynamicModules[p])g.dynamicModules[p]().then(function(k){k.default?m(k.default):m(k)});else{try{n=this.$require(p)}catch{}m(n||g.$loaded[p])}},g.$require=function(t){if(typeof J.require=="function"){var e="require";return J[e](t)}},g.setModuleLoader=function(t,e){g.dynamicModules[t]=e};var r=function(){!u.basePath&&!u.workerPath&&!u.modePath&&!u.themePath&&!Object.keys(u.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),r=function(){})};g.version="1.39.1"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(f,g,J){f("./lib/fixoldbrowsers");var A=f("./config");A.setLoader(function(u,i){f([u],function(o){i(null,o)})});var S=function(){return this||typeof window<"u"&&window}();J.exports=function(u){A.init=_,A.$require=f,u.require=f},_(!0);function _(u){if(!(!S||!S.document)){A.set("packaged",u||f.packaged||J.packaged||S.define&&(void 0).packaged);var i={},o="",r=document.currentScript||document._currentScript,t=r&&r.ownerDocument||document;r&&r.src&&(o=r.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var e=t.getElementsByTagName("script"),n=0;n<e.length;n++){var a=e[n],p=a.src||a.getAttribute("src");if(p){for(var m=a.attributes,k=0,x=m.length;k<x;k++){var $=m[k];$.name.indexOf("data-ace-")===0&&(i[s($.name.replace(/^data-ace-/,""))]=$.value)}var C=p.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);C&&(o=C[1])}}o&&(i.base=i.base||o,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 W in i)typeof i[W]<"u"&&A.set(W,i[W])}}function s(u){return u.replace(/-(.)/g,function(i,o){return o.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(f,g,J){var A=function(){function S(_,s,u,i){this.start={row:_,column:s},this.end={row:u,column:i}}return S.prototype.isEqual=function(_){return this.start.row===_.start.row&&this.end.row===_.end.row&&this.start.column===_.start.column&&this.end.column===_.end.column},S.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},S.prototype.contains=function(_,s){return this.compare(_,s)==0},S.prototype.compareRange=function(_){var s,u=_.end,i=_.start;return s=this.compare(u.row,u.column),s==1?(s=this.compare(i.row,i.column),s==1?2:s==0?1:0):s==-1?-2:(s=this.compare(i.row,i.column),s==-1?-1:s==1?42:0)},S.prototype.comparePoint=function(_){return this.compare(_.row,_.column)},S.prototype.containsRange=function(_){return this.comparePoint(_.start)==0&&this.comparePoint(_.end)==0},S.prototype.intersects=function(_){var s=this.compareRange(_);return s==-1||s==0||s==1},S.prototype.isEnd=function(_,s){return this.end.row==_&&this.end.column==s},S.prototype.isStart=function(_,s){return this.start.row==_&&this.start.column==s},S.prototype.setStart=function(_,s){typeof _=="object"?(this.start.column=_.column,this.start.row=_.row):(this.start.row=_,this.start.column=s)},S.prototype.setEnd=function(_,s){typeof _=="object"?(this.end.column=_.column,this.end.row=_.row):(this.end.row=_,this.end.column=s)},S.prototype.inside=function(_,s){return this.compare(_,s)==0?!(this.isEnd(_,s)||this.isStart(_,s)):!1},S.prototype.insideStart=function(_,s){return this.compare(_,s)==0?!this.isEnd(_,s):!1},S.prototype.insideEnd=function(_,s){return this.compare(_,s)==0?!this.isStart(_,s):!1},S.prototype.compare=function(_,s){return!this.isMultiLine()&&_===this.start.row?s<this.start.column?-1:s>this.end.column?1:0:_<this.start.row?-1:_>this.end.row?1:this.start.row===_?s>=this.start.column?0:-1:this.end.row===_?s<=this.end.column?0:1:0},S.prototype.compareStart=function(_,s){return this.start.row==_&&this.start.column==s?-1:this.compare(_,s)},S.prototype.compareEnd=function(_,s){return this.end.row==_&&this.end.column==s?1:this.compare(_,s)},S.prototype.compareInside=function(_,s){return this.end.row==_&&this.end.column==s?1:this.start.row==_&&this.start.column==s?-1:this.compare(_,s)},S.prototype.clipRows=function(_,s){if(this.end.row>s)var u={row:s+1,column:0};else if(this.end.row<_)var u={row:_,column:0};if(this.start.row>s)var i={row:s+1,column:0};else if(this.start.row<_)var i={row:_,column:0};return S.fromPoints(i||this.start,u||this.end)},S.prototype.extend=function(_,s){var u=this.compare(_,s);if(u==0)return this;if(u==-1)var i={row:_,column:s};else var o={row:_,column:s};return S.fromPoints(i||this.start,o||this.end)},S.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},S.prototype.isMultiLine=function(){return this.start.row!==this.end.row},S.prototype.clone=function(){return S.fromPoints(this.start,this.end)},S.prototype.collapseRows=function(){return this.end.column==0?new S(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new S(this.start.row,0,this.end.row,0)},S.prototype.toScreenRange=function(_){var s=_.documentToScreenPosition(this.start),u=_.documentToScreenPosition(this.end);return new S(s.row,s.column,u.row,u.column)},S.prototype.moveBy=function(_,s){this.start.row+=_,this.start.column+=s,this.end.row+=_,this.end.column+=s},S}();A.fromPoints=function(S,_){return new A(S.row,S.column,_.row,_.column)},A.comparePoints=function(S,_){return S.row-_.row||S.column-_.column},g.Range=A}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(f,g,J){for(var A=f("./oop"),S={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},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","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},_={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},s=0;s<10;s++)_["Digit"+s]=48+s,_["Numpad"+s]=96+s,S.PRINTABLE_KEYS[48+s]=""+s,S.FUNCTION_KEYS[96+s]="Numpad"+s;for(var s=65;s<91;s++){var u=String.fromCharCode(s+32);_["Key"+u.toUpperCase()]=s,S.PRINTABLE_KEYS[s]=u}for(var s=1;s<13;s++)_["F"+s]=111+s,S.FUNCTION_KEYS[111+s]="F"+s;var i={Shift:16,Control:17,Alt:18,Meta:224};for(var o in i)_[o]=_[o+"Left"]=_[o+"Right"]=i[o];g.$codeToKeyCode=_,S.PRINTABLE_KEYS[173]="-";for(var r in S.FUNCTION_KEYS){var t=S.FUNCTION_KEYS[r].toLowerCase();S[t]=parseInt(r,10)}for(var r in S.PRINTABLE_KEYS){var t=S.PRINTABLE_KEYS[r].toLowerCase();S[t]=parseInt(r,10)}A.mixin(S,S.MODIFIER_KEYS),A.mixin(S,S.PRINTABLE_KEYS),A.mixin(S,S.FUNCTION_KEYS),S.enter=S.return,S.escape=S.esc,S.del=S.delete,function(){for(var e=["cmd","ctrl","alt","shift"],n=Math.pow(2,e.length);n--;)S.KEY_MODS[n]=e.filter(function(a){return n&S.KEY_MODS[a]}).join("-")+"-"}(),S.KEY_MODS[0]="",S.KEY_MODS[-1]="input-",A.mixin(g,S),g.default=g,g.keyCodeToString=function(e){var n=S[e];return typeof n!="string"&&(n=String.fromCharCode(e)),n.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(f,g,J){var A=f("./keys"),S=f("./useragent"),_=null,s=0,u;function i(){u=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return u={passive:!1},!0}})}catch{}}function o(){return u==null&&i(),u}function r(k,x,$){this.elem=k,this.type=x,this.callback=$}r.prototype.destroy=function(){e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var t=g.addListener=function(k,x,$,C){k.addEventListener(x,$,o()),C&&C.$toDestroy.push(new r(k,x,$))},e=g.removeListener=function(k,x,$){k.removeEventListener(x,$,o())};g.stopEvent=function(k){return g.stopPropagation(k),g.preventDefault(k),!1},g.stopPropagation=function(k){k.stopPropagation&&k.stopPropagation()},g.preventDefault=function(k){k.preventDefault&&k.preventDefault()},g.getButton=function(k){return k.type=="dblclick"?0:k.type=="contextmenu"||S.isMac&&k.ctrlKey&&!k.altKey&&!k.shiftKey?2:k.button},g.capture=function(k,x,$){var C=k&&k.ownerDocument||document;function W(ye){x&&x(ye),$&&$(ye),e(C,"mousemove",x),e(C,"mouseup",W),e(C,"dragstart",W)}return t(C,"mousemove",x),t(C,"mouseup",W),t(C,"dragstart",W),W},g.addMouseWheelListener=function(k,x,$){t(k,"wheel",function(C){var W=.15,ye=C.deltaX||0,U=C.deltaY||0;switch(C.deltaMode){case C.DOM_DELTA_PIXEL:C.wheelX=ye*W,C.wheelY=U*W;break;case C.DOM_DELTA_LINE:var L=15;C.wheelX=ye*L,C.wheelY=U*L;break;case C.DOM_DELTA_PAGE:var De=150;C.wheelX=ye*De,C.wheelY=U*De;break}x(C)},$)},g.addMultiMouseDownListener=function(k,x,$,C,W){var ye=0,U,L,De,I={2:"dblclick",3:"tripleclick",4:"quadclick"};function E(b){if(g.getButton(b)!==0?ye=0:b.detail>1?(ye++,ye>4&&(ye=1)):ye=1,S.isIE){var y=Math.abs(b.clientX-U)>5||Math.abs(b.clientY-L)>5;(!De||y)&&(ye=1),De&&clearTimeout(De),De=setTimeout(function(){De=null},x[ye-1]||600),ye==1&&(U=b.clientX,L=b.clientY)}if(b._clicks=ye,$[C]("mousedown",b),ye>4)ye=0;else if(ye>1)return $[C](I[ye],b)}Array.isArray(k)||(k=[k]),k.forEach(function(b){t(b,"mousedown",E,W)})};function n(k){return 0|(k.ctrlKey?1:0)|(k.altKey?2:0)|(k.shiftKey?4:0)|(k.metaKey?8:0)}g.getModifierString=function(k){return A.KEY_MODS[n(k)]};function a(k,x,$){var C=n(x);if(!$&&x.code&&($=A.$codeToKeyCode[x.code]||$),!S.isMac&&_){if(x.getModifierState&&(x.getModifierState("OS")||x.getModifierState("Win"))&&(C|=8),_.altGr)if((3&C)!=3)_.altGr=0;else return;if($===18||$===17){var W=x.location;if($===17&&W===1)_[$]==1&&(s=x.timeStamp);else if($===18&&C===3&&W===2){var ye=x.timeStamp-s;ye<50&&(_.altGr=!0)}}}if($ in A.MODIFIER_KEYS&&($=-1),!(!C&&$===13&&x.location===3&&(k(x,C,-$),x.defaultPrevented))){if(S.isChromeOS&&C&8){if(k(x,C,$),x.defaultPrevented)return;C&=-9}return!C&&!($ in A.FUNCTION_KEYS)&&!($ in A.PRINTABLE_KEYS)?!1:k(x,C,$)}}g.addCommandKeyListener=function(k,x,$){var C=null;t(k,"keydown",function(W){_[W.keyCode]=(_[W.keyCode]||0)+1;var ye=a(x,W,W.keyCode);return C=W.defaultPrevented,ye},$),t(k,"keypress",function(W){C&&(W.ctrlKey||W.altKey||W.shiftKey||W.metaKey)&&(g.stopEvent(W),C=null)},$),t(k,"keyup",function(W){_[W.keyCode]=null},$),_||(p(),t(window,"focus",p))};function p(){_=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!S.isOldIE){var m=1;g.nextTick=function(k,x){x=x||window;var $="zero-timeout-message-"+m++,C=function(W){W.data==$&&(g.stopPropagation(W),e(x,"message",C),k())};t(x,"message",C),x.postMessage($,"*")}}g.$idleBlocked=!1,g.onIdle=function(k,x){return setTimeout(function $(){g.$idleBlocked?setTimeout($,100):k()},x)},g.$idleBlockId=null,g.blockIdle=function(k){g.$idleBlockId&&clearTimeout(g.$idleBlockId),g.$idleBlocked=!0,g.$idleBlockId=setTimeout(function(){g.$idleBlocked=!1},k||100)},g.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),g.nextFrame?g.nextFrame=g.nextFrame.bind(window):g.nextFrame=function(k){setTimeout(k,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(f,g,J){var A;J.exports={lineMode:!1,pasteCancelled:function(){return A&&A>Date.now()-50?!0:A=!1},cancel:function(){A=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(f,g,J){var A=f("../lib/event"),S=f("../config").nls,_=f("../lib/useragent"),s=f("../lib/dom"),u=f("../lib/lang"),i=f("../clipboard"),o=_.isChrome<18,r=_.isIE,t=_.isChrome>63,e=400,n=f("../lib/keys"),a=n.KEY_MODS,p=_.isIOS,m=p?/\s/:/\n/,k=_.isMobile,x;x=function($,C){var W=s.createElement("textarea");W.className="ace_text-input",W.setAttribute("wrap","off"),W.setAttribute("autocorrect","off"),W.setAttribute("autocapitalize","off"),W.setAttribute("spellcheck","false"),W.style.opacity="0",$.insertBefore(W,$.firstChild);var ye=!1,U=!1,L=!1,De=!1,I="";k||(W.style.fontSize="1px");var E=!1,b=!1,y="",M=0,q=0,_e=0,Ee=Number.MAX_SAFE_INTEGER,it=Number.MIN_SAFE_INTEGER,ot=0;try{var zt=document.activeElement===W}catch{}this.setNumberOfExtraLines=function(Ht){if(Ee=Number.MAX_SAFE_INTEGER,it=Number.MIN_SAFE_INTEGER,Ht<0){ot=0;return}ot=Ht},this.setAriaLabel=function(){var Ht="";if(C.$textInputAriaLabel&&(Ht+="".concat(C.$textInputAriaLabel,", ")),C.session){var ci=C.session.selection.cursor.row;Ht+=S("text-input.aria-label","Cursor at row $0",[ci+1])}W.setAttribute("aria-label",Ht)},this.setAriaOptions=function(Ht){Ht.activeDescendant?(W.setAttribute("aria-haspopup","true"),W.setAttribute("aria-autocomplete",Ht.inline?"both":"list"),W.setAttribute("aria-activedescendant",Ht.activeDescendant)):(W.setAttribute("aria-haspopup","false"),W.setAttribute("aria-autocomplete","both"),W.removeAttribute("aria-activedescendant")),Ht.role&&W.setAttribute("role",Ht.role),Ht.setLabel&&(W.setAttribute("aria-roledescription",S("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),A.addListener(W,"blur",function(Ht){b||(C.onBlur(Ht),zt=!1)},C),A.addListener(W,"focus",function(Ht){if(!b){if(zt=!0,_.isEdge)try{if(!document.hasFocus())return}catch{}C.onFocus(Ht),_.isEdge?setTimeout(ct):ct()}},C),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:C.renderer.enableKeyboardAccessibility}),I||t||this.$focusScroll=="browser")return W.focus({preventScroll:!0});var Ht=W.style.top;W.style.position="fixed",W.style.top="0px";try{var ci=W.getBoundingClientRect().top!=0}catch{return}var ui=[];if(ci)for(var fi=W.parentElement;fi&&fi.nodeType==1;)ui.push(fi),fi.setAttribute("ace_nocontext","true"),!fi.parentElement&&fi.getRootNode?fi=fi.getRootNode().host:fi=fi.parentElement;W.focus({preventScroll:!0}),ci&&ui.forEach(function(gi){gi.removeAttribute("ace_nocontext")}),setTimeout(function(){W.style.position="",W.style.top=="0px"&&(W.style.top=Ht)},0)},this.blur=function(){W.blur()},this.isFocused=function(){return zt},C.on("beforeEndOperation",function(){var Ht=C.curOp,ci=Ht&&Ht.command&&Ht.command.name;if(ci!="insertstring"){var ui=ci&&(Ht.docChanged||Ht.selectionChanged);L&&ui&&(y=W.value="",ki()),ct()}}),C.on("changeSelection",this.setAriaLabel);var at=function(Ht,ci){for(var ui=ci,fi=1;fi<=Ht-Ee&&fi<2*ot+1;fi++)ui+=C.session.getLine(Ht-fi).length+1;return ui},ct=p?function(Ht){if(!(!zt||ye&&!Ht||De)){Ht||(Ht="");var ci=`
|
169
|
+
ab`+Ht+`cde fg
|
170
|
+
`;ci!=W.value&&(W.value=y=ci);var ui=4,fi=4+(Ht.length||(C.selection.isEmpty()?0:1));(M!=ui||q!=fi)&&W.setSelectionRange(ui,fi),M=ui,q=fi}}:function(){if(!(L||De)&&!(!zt&&!qt)){L=!0;var Ht=0,ci=0,ui="";if(C.session){var fi=C.selection,gi=fi.getRange(),bi=fi.cursor.row;bi===it+1?(Ee=it+1,it=Ee+2*ot):bi===Ee-1?(it=Ee-1,Ee=it-2*ot):(bi<Ee-1||bi>it+1)&&(Ee=bi>ot?bi-ot:0,it=bi>ot?bi+ot:2*ot);for(var $i=[],Ci=Ee;Ci<=it;Ci++)$i.push(C.session.getLine(Ci));if(ui=$i.join(`
|
171
|
+
`),Ht=at(gi.start.row,gi.start.column),ci=at(gi.end.row,gi.end.column),gi.start.row<Ee){var yi=C.session.getLine(Ee-1);Ht=gi.start.row<Ee-1?0:Ht,ci+=yi.length+1,ui=yi+`
|
172
|
+
`+ui}else if(gi.end.row>it){var mi=C.session.getLine(it+1);ci=gi.end.row>it+1?mi.length:gi.end.column,ci+=ui.length+1,ui=ui+`
|
173
|
+
`+mi}else k&&bi>0&&(ui=`
|
174
|
+
`+ui,ci+=1,Ht+=1);ui.length>e&&(Ht<e&&ci<e?ui=ui.slice(0,e):(ui=`
|
175
|
+
`,Ht==ci?Ht=ci=0:(Ht=0,ci=1)));var _i=ui+`
|
176
|
+
|
177
|
+
`;_i!=y&&(W.value=y=_i,M=q=_i.length)}if(qt&&(M=W.selectionStart,q=W.selectionEnd),q!=ci||M!=Ht||W.selectionEnd!=q)try{W.setSelectionRange(Ht,ci),M=Ht,q=ci}catch{}L=!1}};this.resetSelection=ct,zt&&C.onFocus();var Mt=function(Ht){return Ht.selectionStart===0&&Ht.selectionEnd>=y.length&&Ht.value===y&&y&&Ht.selectionEnd!==q},Bt=function(Ht){L||(ye?ye=!1:Mt(W)?(C.selectAll(),ct()):k&&W.selectionStart!=M&&ct())},jt=null;this.setInputHandler=function(Ht){jt=Ht},this.getInputHandler=function(){return jt};var qt=!1,li=function(Ht,ci){if(qt&&(qt=!1),U)return ct(),Ht&&C.onPaste(Ht),U=!1,"";for(var ui=W.selectionStart,fi=W.selectionEnd,gi=M,bi=y.length-q,$i=Ht,Ci=Ht.length-ui,yi=Ht.length-fi,mi=0;gi>0&&y[mi]==Ht[mi];)mi++,gi--;for($i=$i.slice(mi),mi=1;bi>0&&y.length-mi>M-1&&y[y.length-mi]==Ht[Ht.length-mi];)mi++,bi--;Ci-=mi-1,yi-=mi-1;var _i=$i.length-mi+1;if(_i<0&&(gi=-_i,_i=0),$i=$i.slice(0,_i),!ci&&!$i&&!Ci&&!gi&&!bi&&!yi)return"";De=!0;var Mi=!1;return _.isAndroid&&$i==". "&&($i=" ",Mi=!0),$i&&!gi&&!bi&&!Ci&&!yi||E?C.onTextInput($i):C.onTextInput($i,{extendLeft:gi,extendRight:bi,restoreStart:Ci,restoreEnd:yi}),De=!1,y=Ht,M=ui,q=fi,_e=yi,Mi?`
|
178
|
+
`:$i},ai=function(Ht){if(L)return Ai();if(Ht&&Ht.inputType){if(Ht.inputType=="historyUndo")return C.execCommand("undo");if(Ht.inputType=="historyRedo")return C.execCommand("redo")}var ci=W.value,ui=li(ci,!0);(ci.length>e+100||m.test(ui)||k&&M<1&&M==q)&&ct()},di=function(Ht,ci,ui){var fi=Ht.clipboardData||window.clipboardData;if(!(!fi||o)){var gi=r||ui?"Text":"text/plain";try{return ci?fi.setData(gi,ci)!==!1:fi.getData(gi)}catch(bi){if(!ui)return di(bi,ci,!0)}}},pi=function(Ht,ci){var ui=C.getCopyText();if(!ui)return A.preventDefault(Ht);di(Ht,ui)?(p&&(ct(ui),ye=ui,setTimeout(function(){ye=!1},10)),ci?C.onCut():C.onCopy(),A.preventDefault(Ht)):(ye=!0,W.value=ui,W.select(),setTimeout(function(){ye=!1,ct(),ci?C.onCut():C.onCopy()}))},wi=function(Ht){pi(Ht,!0)},Si=function(Ht){pi(Ht,!1)},vi=function(Ht){var ci=di(Ht);i.pasteCancelled()||(typeof ci=="string"?(ci&&C.onPaste(ci,Ht),_.isIE&&setTimeout(ct),A.preventDefault(Ht)):(W.value="",U=!0))};A.addCommandKeyListener(W,function(Ht,ci,ui){if(!L)return C.onCommandKey(Ht,ci,ui)},C),A.addListener(W,"select",Bt,C),A.addListener(W,"input",ai,C),A.addListener(W,"cut",wi,C),A.addListener(W,"copy",Si,C),A.addListener(W,"paste",vi,C),(!("oncut"in W)||!("oncopy"in W)||!("onpaste"in W))&&A.addListener($,"keydown",function(Ht){if(!(_.isMac&&!Ht.metaKey||!Ht.ctrlKey))switch(Ht.keyCode){case 67:Si(Ht);break;case 86:vi(Ht);break;case 88:wi(Ht);break}},C);var xi=function(Ht){if(!(L||!C.onCompositionStart||C.$readOnly)&&(L={},!E)){Ht.data&&(L.useTextareaForIME=!1),setTimeout(Ai,0),C._signal("compositionStart"),C.on("mousedown",Ti);var ci=C.getSelectionRange();ci.end.row=ci.start.row,ci.end.column=ci.start.column,L.markerRange=ci,L.selectionStart=M,C.onCompositionStart(L),L.useTextareaForIME?(y=W.value="",M=0,q=0):(W.msGetInputContext&&(L.context=W.msGetInputContext()),W.getInputContext&&(L.context=W.getInputContext()))}},Ai=function(){if(!(!L||!C.onCompositionUpdate||C.$readOnly)){if(E)return Ti();if(L.useTextareaForIME)C.onCompositionUpdate(W.value);else{var Ht=W.value;li(Ht),L.markerRange&&(L.context&&(L.markerRange.start.column=L.selectionStart=L.context.compositionStartOffset),L.markerRange.end.column=L.markerRange.start.column+q-L.selectionStart+_e)}}},ki=function(Ht){!C.onCompositionEnd||C.$readOnly||(L=!1,C.onCompositionEnd(),C.off("mousedown",Ti),Ht&&ai())};function Ti(){b=!0,W.blur(),W.focus(),b=!1}var Ni=u.delayedCall(Ai,50).schedule.bind(null,null);function Di(Ht){Ht.keyCode==27&&W.value.length<W.selectionStart&&(L||(y=W.value),M=q=-1,ct()),Ni()}A.addListener(W,"compositionstart",xi,C),A.addListener(W,"compositionupdate",Ai,C),A.addListener(W,"keyup",Di,C),A.addListener(W,"keydown",Ni,C),A.addListener(W,"compositionend",ki,C),this.getElement=function(){return W},this.setCommandMode=function(Ht){E=Ht,W.readOnly=!1},this.setReadOnly=function(Ht){E||(W.readOnly=Ht)},this.setCopyWithEmptySelection=function(Ht){},this.onContextMenu=function(Ht){qt=!0,ct(),C._emit("nativecontextmenu",{target:C,domEvent:Ht}),this.moveToMouse(Ht,!0)},this.moveToMouse=function(Ht,ci){I||(I=W.style.cssText),W.style.cssText=(ci?"z-index:100000;":"")+(_.isIE?"opacity:0.1;":"")+"text-indent: -"+(M+q)*C.renderer.characterWidth*.5+"px;";var ui=C.container.getBoundingClientRect(),fi=s.computedStyle(C.container),gi=ui.top+(parseInt(fi.borderTopWidth)||0),bi=ui.left+(parseInt(fi.borderLeftWidth)||0),$i=ui.bottom-gi-W.clientHeight-2,Ci=function(yi){s.translate(W,yi.clientX-bi-2,Math.min(yi.clientY-gi-2,$i))};Ci(Ht),Ht.type=="mousedown"&&(C.renderer.$isMousePressed=!0,clearTimeout(Li),_.isWin&&A.capture(C.container,Ci,Ei))},this.onContextMenuClose=Ei;var Li;function Ei(){clearTimeout(Li),Li=setTimeout(function(){I&&(W.style.cssText=I,I=""),C.renderer.$isMousePressed=!1,C.renderer.$keepTextAreaAtCursor&&C.renderer.$moveTextAreaToCursor()},0)}var Ri=function(Ht){C.textInput.onContextMenu(Ht),Ei()};A.addListener(W,"mouseup",Ri,C),A.addListener(W,"mousedown",function(Ht){Ht.preventDefault(),Ei()},C),A.addListener(C.renderer.scroller,"contextmenu",Ri,C),A.addListener(W,"contextmenu",Ri,C),p&&Fi($,C,W);function Fi(Ht,ci,ui){var fi=null,gi=!1;ui.addEventListener("keydown",function($i){fi&&clearTimeout(fi),gi=!0},!0),ui.addEventListener("keyup",function($i){fi=setTimeout(function(){gi=!1},100)},!0);var bi=function($i){if(document.activeElement===ui&&!(gi||L||ci.$mouseHandler.isMousePressed)&&!ye){var Ci=ui.selectionStart,yi=ui.selectionEnd,mi=null,_i=0;if(Ci==0?mi=n.up:Ci==1?mi=n.home:yi>q&&y[yi]==`
|
179
|
+
`?mi=n.end:Ci<M&&y[Ci-1]==" "?(mi=n.left,_i=a.option):Ci<M||Ci==M&&q!=M&&Ci==yi?mi=n.left:yi>q&&y.slice(0,yi).split(`
|
180
|
+
`).length>2?mi=n.down:yi>q&&y[yi-1]==" "?(mi=n.right,_i=a.option):(yi>q||yi==q&&q!=M&&Ci==yi)&&(mi=n.right),Ci!==yi&&(_i|=a.shift),mi){var Mi=ci.onCommandKey({},_i,mi);if(!Mi&&ci.commands){mi=n.keyCodeToString(mi);var Ii=ci.commands.findKeyCommand(_i,mi);Ii&&ci.execCommand(Ii)}M=Ci,q=yi,ct("")}}};document.addEventListener("selectionchange",bi),ci.on("destroy",function(){document.removeEventListener("selectionchange",bi)})}this.destroy=function(){W.parentElement&&W.parentElement.removeChild(W)}},g.TextInput=x,g.$setUserAgentForTests=function($,C){k=$,p=C}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(f,g,J){var A=f("../lib/useragent"),S=0,_=550,s=function(){function o(r){r.$clickSelection=null;var t=r.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(r)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(r)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(r)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(r)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(r));var e=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];e.forEach(function(n){r[n]=this[n]},this),r.selectByLines=this.extendSelectionBy.bind(r,"getLineRange"),r.selectByWords=this.extendSelectionBy.bind(r,"getWordRange")}return o.prototype.onMouseDown=function(r){var t=r.inSelection(),e=r.getDocumentPosition();this.mousedownEvent=r;var n=this.editor,a=r.getButton();if(a!==0){var p=n.getSelectionRange(),m=p.isEmpty();(m||a==1)&&n.selection.moveToPosition(e),a==2&&(n.textInput.onContextMenu(r.domEvent),A.isMozilla||r.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!n.isFocused()&&(n.focus(),this.$focusTimeout&&!this.$clickSelection&&!n.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(r);return}return this.captureMouse(r),this.startSelect(e,r.domEvent._clicks>1),r.preventDefault()},o.prototype.startSelect=function(r,t){r=r||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var e=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?e.selection.selectToPosition(r):t||e.selection.moveToPosition(r),t||this.select(),e.setStyle("ace_selecting"),this.setState("select"))},o.prototype.select=function(){var r,t=this.editor,e=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var n=this.$clickSelection.comparePoint(e);if(n==-1)r=this.$clickSelection.end;else if(n==1)r=this.$clickSelection.start;else{var a=i(this.$clickSelection,e);e=a.cursor,r=a.anchor}t.selection.setSelectionAnchor(r.row,r.column)}t.selection.selectToPosition(e),t.renderer.scrollCursorIntoView()},o.prototype.extendSelectionBy=function(r){var t,e=this.editor,n=e.renderer.screenToTextCoordinates(this.x,this.y),a=e.selection[r](n.row,n.column);if(this.$clickSelection){var p=this.$clickSelection.comparePoint(a.start),m=this.$clickSelection.comparePoint(a.end);if(p==-1&&m<=0)t=this.$clickSelection.end,(a.end.row!=n.row||a.end.column!=n.column)&&(n=a.start);else if(m==1&&p>=0)t=this.$clickSelection.start,(a.start.row!=n.row||a.start.column!=n.column)&&(n=a.end);else if(p==-1&&m==1)n=a.end,t=a.start;else{var k=i(this.$clickSelection,n);n=k.cursor,t=k.anchor}e.selection.setSelectionAnchor(t.row,t.column)}e.selection.selectToPosition(n),e.renderer.scrollCursorIntoView()},o.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},o.prototype.focusWait=function(){var r=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(r>S||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},o.prototype.onDoubleClick=function(r){var t=r.getDocumentPosition(),e=this.editor,n=e.session,a=n.getBracketRange(t);a?(a.isEmpty()&&(a.start.column--,a.end.column++),this.setState("select")):(a=e.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=a,this.select()},o.prototype.onTripleClick=function(r){var t=r.getDocumentPosition(),e=this.editor;this.setState("selectByLines");var n=e.getSelectionRange();n.isMultiLine()&&n.contains(t.row,t.column)?(this.$clickSelection=e.selection.getLineRange(n.start.row),this.$clickSelection.end=e.selection.getLineRange(n.end.row).end):this.$clickSelection=e.selection.getLineRange(t.row),this.select()},o.prototype.onQuadClick=function(r){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},o.prototype.onMouseWheel=function(r){if(!r.getAccelKey()){r.getShiftKey()&&r.wheelY&&!r.wheelX&&(r.wheelX=r.wheelY,r.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var e=this.$lastScroll,n=r.domEvent.timeStamp,a=n-e.t,p=a?r.wheelX/a:e.vx,m=a?r.wheelY/a:e.vy;a<_&&(p=(p+e.vx)/2,m=(m+e.vy)/2);var k=Math.abs(p/m),x=!1;if(k>=1&&t.renderer.isScrollableBy(r.wheelX*r.speed,0)&&(x=!0),k<=1&&t.renderer.isScrollableBy(0,r.wheelY*r.speed)&&(x=!0),x)e.allowed=n;else if(n-e.allowed<_){var $=Math.abs(p)<=1.5*Math.abs(e.vx)&&Math.abs(m)<=1.5*Math.abs(e.vy);$?(x=!0,e.allowed=n):e.allowed=0}if(e.t=n,e.vx=p,e.vy=m,x)return t.renderer.scrollBy(r.wheelX*r.speed,r.wheelY*r.speed),r.stop()}},o}();s.prototype.selectEnd=s.prototype.selectByLinesEnd,s.prototype.selectAllEnd=s.prototype.selectByLinesEnd,s.prototype.selectByWordsEnd=s.prototype.selectByLinesEnd,g.DefaultHandlers=s;function u(o,r,t,e){return Math.sqrt(Math.pow(t-o,2)+Math.pow(e-r,2))}function i(o,r){if(o.start.row==o.end.row)var t=2*r.column-o.start.column-o.end.column;else if(o.start.row==o.end.row-1&&!o.start.column&&!o.end.column)var t=r.column-4;else var t=2*r.row-o.start.row-o.end.row;return t<0?{cursor:o.start,anchor:o.end}:{cursor:o.end,anchor:o.start}}}),ace.define("ace/lib/scroll",["require","exports","module"],function(f,g,J){g.preventParentScroll=function(S){S.stopPropagation();var _=S.currentTarget,s=_.scrollHeight>_.clientHeight;s||S.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(f,g,J){var A=this&&this.__extends||function(){var n=function(a,p){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,k){m.__proto__=k}||function(m,k){for(var x in k)Object.prototype.hasOwnProperty.call(k,x)&&(m[x]=k[x])},n(a,p)};return function(a,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");n(a,p);function m(){this.constructor=a}a.prototype=p===null?Object.create(p):(m.prototype=p.prototype,new m)}}(),S=this&&this.__values||function(n){var a=typeof Symbol=="function"&&Symbol.iterator,p=a&&n[a],m=0;if(p)return p.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&m>=n.length&&(n=void 0),{value:n&&n[m++],done:!n}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")},_=f("./lib/dom");f("./lib/event");var s=f("./range").Range,u=f("./lib/scroll").preventParentScroll,i="ace_tooltip",o=function(){function n(a){this.isOpen=!1,this.$element=null,this.$parentNode=a}return n.prototype.$init=function(){return this.$element=_.createElement("div"),this.$element.className=i,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},n.prototype.getElement=function(){return this.$element||this.$init()},n.prototype.setText=function(a){this.getElement().textContent=a},n.prototype.setHtml=function(a){this.getElement().innerHTML=a},n.prototype.setPosition=function(a,p){this.getElement().style.left=a+"px",this.getElement().style.top=p+"px"},n.prototype.setClassName=function(a){_.addCssClass(this.getElement(),a)},n.prototype.setTheme=function(a){this.$element.className=i+" "+(a.isDark?"ace_dark ":"")+(a.cssClass||"")},n.prototype.show=function(a,p,m){a!=null&&this.setText(a),p!=null&&m!=null&&this.setPosition(p,m),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},n.prototype.hide=function(a){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=i,this.isOpen=!1)},n.prototype.getHeight=function(){return this.getElement().offsetHeight},n.prototype.getWidth=function(){return this.getElement().offsetWidth},n.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},n}(),r=function(){function n(){this.popups=[]}return n.prototype.addPopup=function(a){this.popups.push(a),this.updatePopups()},n.prototype.removePopup=function(a){var p=this.popups.indexOf(a);p!==-1&&(this.popups.splice(p,1),this.updatePopups())},n.prototype.updatePopups=function(){var a,p,m,k;this.popups.sort(function(I,E){return E.priority-I.priority});var x=[];try{for(var $=S(this.popups),C=$.next();!C.done;C=$.next()){var W=C.value,ye=!0;try{for(var U=(m=void 0,S(x)),L=U.next();!L.done;L=U.next()){var De=L.value;if(this.doPopupsOverlap(De,W)){ye=!1;break}}}catch(I){m={error:I}}finally{try{L&&!L.done&&(k=U.return)&&k.call(U)}finally{if(m)throw m.error}}ye?x.push(W):W.hide()}}catch(I){a={error:I}}finally{try{C&&!C.done&&(p=$.return)&&p.call($)}finally{if(a)throw a.error}}},n.prototype.doPopupsOverlap=function(a,p){var m=a.getElement().getBoundingClientRect(),k=p.getElement().getBoundingClientRect();return m.left<k.right&&m.right>k.left&&m.top<k.bottom&&m.bottom>k.top},n}(),t=new r;g.popupManager=t,g.Tooltip=o;var e=function(n){A(a,n);function a(p){p===void 0&&(p=document.body);var m=n.call(this,p)||this;m.timeout=void 0,m.lastT=0,m.idleTime=350,m.lastEvent=void 0,m.onMouseOut=m.onMouseOut.bind(m),m.onMouseMove=m.onMouseMove.bind(m),m.waitForHover=m.waitForHover.bind(m),m.hide=m.hide.bind(m);var k=m.getElement();return k.style.whiteSpace="pre-wrap",k.style.pointerEvents="auto",k.addEventListener("mouseout",m.onMouseOut),k.tabIndex=-1,k.addEventListener("blur",(function(){k.contains(document.activeElement)||this.hide()}).bind(m)),k.addEventListener("wheel",u),m}return a.prototype.addToEditor=function(p){p.on("mousemove",this.onMouseMove),p.on("mousedown",this.hide),p.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},a.prototype.removeFromEditor=function(p){p.off("mousemove",this.onMouseMove),p.off("mousedown",this.hide),p.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},a.prototype.onMouseMove=function(p,m){this.lastEvent=p,this.lastT=Date.now();var k=m.$mouseHandler.isMousePressed;if(this.isOpen){var x=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(x.row,x.column)||k||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||k||(this.lastEvent=p,this.timeout=setTimeout(this.waitForHover,this.idleTime))},a.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var p=Date.now()-this.lastT;if(this.idleTime-p>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-p);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},a.prototype.isOutsideOfText=function(p){var m=p.editor,k=p.getDocumentPosition(),x=m.session.getLine(k.row);if(k.column==x.length){var $=m.renderer.pixelToScreenCoordinates(p.clientX,p.clientY),C=m.session.documentToScreenPosition(k.row,k.column);if(C.column!=$.column||C.row!=$.row)return!0}return!1},a.prototype.setDataProvider=function(p){this.$gatherData=p},a.prototype.showForRange=function(p,m,k,x){var $=10;if(!(x&&x!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var C=p.renderer;this.isOpen||(t.addPopup(this),this.$registerCloseEvents(),this.setTheme(C.theme)),this.isOpen=!0,this.addMarker(m,p.session),this.range=s.fromPoints(m.start,m.end);var W=C.textToScreenCoordinates(m.start.row,m.start.column),ye=C.scroller.getBoundingClientRect();W.pageX<ye.left&&(W.pageX=ye.left);var U=this.getElement();U.innerHTML="",U.appendChild(k),U.style.maxHeight="",U.style.display="block";var L=U.clientHeight,De=U.clientWidth,I=window.innerHeight-W.pageY-C.lineHeight,E=!0;W.pageY-L<0&&W.pageY<I&&(E=!1),U.style.maxHeight=(E?W.pageY:I)-$+"px",U.style.top=E?"":W.pageY+C.lineHeight+"px",U.style.bottom=E?window.innerHeight-W.pageY+"px":"",U.style.left=Math.min(W.pageX,window.innerWidth-De-$)+"px"}},a.prototype.addMarker=function(p,m){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=m,this.marker=m&&m.addMarker(p,"ace_highlight-marker","text")},a.prototype.hide=function(p){!p&&document.activeElement==this.getElement()||p&&p.target&&(p.type!="keydown"||p.ctrlKey||p.metaKey)&&this.$element.contains(p.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,t.removePopup(this)))},a.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},a.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},a.prototype.onMouseOut=function(p){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!p.relatedTarget||this.getElement().contains(p.relatedTarget)||p&&p.currentTarget.contains(p.relatedTarget)||p.relatedTarget.classList.contains("ace_content")||this.hide())},a}(o);g.HoverTooltip=e}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],function(f,g,J){var A=this&&this.__extends||function(){var n=function(a,p){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,k){m.__proto__=k}||function(m,k){for(var x in k)Object.prototype.hasOwnProperty.call(k,x)&&(m[x]=k[x])},n(a,p)};return function(a,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");n(a,p);function m(){this.constructor=a}a.prototype=p===null?Object.create(p):(m.prototype=p.prototype,new m)}}(),S=this&&this.__values||function(n){var a=typeof Symbol=="function"&&Symbol.iterator,p=a&&n[a],m=0;if(p)return p.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&m>=n.length&&(n=void 0),{value:n&&n[m++],done:!n}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")},_=f("../lib/dom"),s=f("../lib/event"),u=f("../tooltip").Tooltip,i=f("../config").nls,o=5,r=3;g.GUTTER_TOOLTIP_LEFT_OFFSET=o,g.GUTTER_TOOLTIP_TOP_OFFSET=r;function t(n){var a=n.editor,p=a.renderer.$gutterLayer,m=new e(a,!0);n.editor.setDefaultHandler("guttermousedown",function(ye){if(!(!a.isFocused()||ye.getButton()!=0)){var U=p.getRegion(ye);if(U!="foldWidgets"){var L=ye.getDocumentPosition().row,De=a.session.selection;if(ye.getShiftKey())De.selectTo(L,0);else{if(ye.domEvent.detail==2)return a.selectAll(),ye.preventDefault();n.$clickSelection=a.selection.getLineRange(L)}return n.setState("selectByLines"),n.captureMouse(ye),ye.preventDefault()}}});var k,x;function $(){var ye=x.getDocumentPosition().row,U=a.session.getLength();if(ye==U){var L=a.renderer.pixelToScreenCoordinates(0,x.y).row,De=x.$pos;if(L>a.session.documentToScreenRow(De.row,De.column))return C()}if(m.showTooltip(ye),!!m.isOpen)if(a.on("mousewheel",C),a.on("changeSession",C),window.addEventListener("keydown",C,!0),n.$tooltipFollowsMouse)W(x);else{var I=x.getGutterRow(),E=p.$lines.get(I);if(E){var b=E.element.querySelector(".ace_gutter_annotation"),y=b.getBoundingClientRect(),M=m.getElement().style;M.left=y.right-o+"px",M.top=y.bottom-r+"px"}else W(x)}}function C(ye){ye&&ye.type==="keydown"&&(ye.ctrlKey||ye.metaKey)||ye&&ye.type==="mouseout"&&(!ye.relatedTarget||m.getElement().contains(ye.relatedTarget))||(k&&(k=clearTimeout(k)),m.isOpen&&(m.hideTooltip(),a.off("mousewheel",C),a.off("changeSession",C),window.removeEventListener("keydown",C,!0)))}function W(ye){m.setPosition(ye.x,ye.y)}n.editor.setDefaultHandler("guttermousemove",function(ye){var U=ye.domEvent.target||ye.domEvent.srcElement;if(_.hasCssClass(U,"ace_fold-widget"))return C();m.isOpen&&n.$tooltipFollowsMouse&&W(ye),x=ye,!k&&(k=setTimeout(function(){k=null,x&&!n.isMousePressed&&$()},50))}),s.addListener(a.renderer.$gutter,"mouseout",function(ye){x=null,m.isOpen&&(k=setTimeout(function(){k=null,C(ye)},50))},a)}g.GutterHandler=t;var e=function(n){A(a,n);function a(p,m){m===void 0&&(m=!1);var k=n.call(this,p.container)||this;k.editor=p,k.visibleTooltipRow;var x=k.getElement();return x.setAttribute("role","tooltip"),x.style.pointerEvents="auto",m&&(k.onMouseOut=k.onMouseOut.bind(k),x.addEventListener("mouseout",k.onMouseOut)),k}return a.prototype.onMouseOut=function(p){this.isOpen&&(!p.relatedTarget||this.getElement().contains(p.relatedTarget)||p&&p.currentTarget.contains(p.relatedTarget)||this.hideTooltip())},a.prototype.setPosition=function(p,m){var k=window.innerWidth||document.documentElement.clientWidth,x=window.innerHeight||document.documentElement.clientHeight,$=this.getWidth(),C=this.getHeight();p+=15,m+=15,p+$>k&&(p-=p+$-k),m+C>x&&(m-=20+C),u.prototype.setPosition.call(this,p,m)},Object.defineProperty(a,"annotationLabels",{get:function(){return{error:{singular:i("gutter-tooltip.aria-label.error.singular","error"),plural:i("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:i("gutter-tooltip.aria-label.security.singular","security finding"),plural:i("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:i("gutter-tooltip.aria-label.warning.singular","warning"),plural:i("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:i("gutter-tooltip.aria-label.info.singular","information message"),plural:i("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:i("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:i("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),a.prototype.showTooltip=function(p){var m,k=this.editor.renderer.$gutterLayer,x=k.$annotations[p],$;x?$={displayText:Array.from(x.displayText),type:Array.from(x.type)}:$={displayText:[],type:[]};var C=k.session.getFoldLine(p);if(C&&k.$showFoldedAnnotations){for(var W={error:[],security:[],warning:[],info:[],hint:[]},ye={error:1,security:2,warning:3,info:4,hint:5},U,L=p+1;L<=C.end.row;L++)if(k.$annotations[L])for(var De=0;De<k.$annotations[L].text.length;De++){var I=k.$annotations[L].type[De];W[I].push(k.$annotations[L].text[De]),(!U||ye[I]<ye[U])&&(U=I)}if(["error","security","warning"].includes(U)){var E="".concat(a.annotationsToSummaryString(W)," in folded code.");$.displayText.push(E),$.type.push(U+"_fold")}}if($.displayText.length===0)return this.hideTooltip();for(var b={error:[],security:[],warning:[],info:[],hint:[]},y=k.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",L=0;L<$.displayText.length;L++){var M=_.createElement("span"),q=_.createElement("span");(m=q.classList).add.apply(m,["ace_".concat($.type[L]),y]),q.setAttribute("aria-label","".concat(a.annotationLabels[$.type[L].replace("_fold","")].singular)),q.setAttribute("role","img"),q.appendChild(_.createTextNode(" ")),M.appendChild(q),M.appendChild(_.createTextNode($.displayText[L])),M.appendChild(_.createElement("br")),b[$.type[L].replace("_fold","")].push(M)}var _e=this.getElement();_.removeChildren(_e),b.error.forEach(function(Ee){return _e.appendChild(Ee)}),b.security.forEach(function(Ee){return _e.appendChild(Ee)}),b.warning.forEach(function(Ee){return _e.appendChild(Ee)}),b.info.forEach(function(Ee){return _e.appendChild(Ee)}),b.hint.forEach(function(Ee){return _e.appendChild(Ee)}),_e.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.visibleTooltipRow=p,this.editor._signal("showGutterTooltip",this)},a.prototype.hideTooltip=function(){this.isOpen&&(this.$element.removeAttribute("aria-live"),this.hide(),this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this))},a.annotationsToSummaryString=function(p){var m,k,x=[],$=["error","security","warning","info","hint"];try{for(var C=S($),W=C.next();!W.done;W=C.next()){var ye=W.value;if(p[ye].length){var U=p[ye].length===1?a.annotationLabels[ye].singular:a.annotationLabels[ye].plural;x.push("".concat(p[ye].length," ").concat(U))}}}catch(L){m={error:L}}finally{try{W&&!W.done&&(k=C.return)&&k.call(C)}finally{if(m)throw m.error}}return x.join(", ")},a}(u);g.GutterTooltip=e}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(f,g,J){var A=f("../lib/event"),S=f("../lib/useragent"),_=function(){function s(u,i){this.speed,this.wheelX,this.wheelY,this.domEvent=u,this.editor=i,this.x=this.clientX=u.clientX,this.y=this.clientY=u.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return s.prototype.stopPropagation=function(){A.stopPropagation(this.domEvent),this.propagationStopped=!0},s.prototype.preventDefault=function(){A.preventDefault(this.domEvent),this.defaultPrevented=!0},s.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},s.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},s.prototype.getGutterRow=function(){var u=this.getDocumentPosition().row,i=this.editor.session.documentToScreenRow(u,0),o=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return i-o},s.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var u=this.editor,i=u.getSelectionRange();if(i.isEmpty())this.$inSelection=!1;else{var o=this.getDocumentPosition();this.$inSelection=i.contains(o.row,o.column)}return this.$inSelection},s.prototype.getButton=function(){return A.getButton(this.domEvent)},s.prototype.getShiftKey=function(){return this.domEvent.shiftKey},s.prototype.getAccelKey=function(){return S.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},s}();g.MouseEvent=_}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(f,g,J){var A=f("../lib/dom"),S=f("../lib/event"),_=f("../lib/useragent"),s=200,u=200,i=5;function o(t){var e=t.editor,n=A.createElement("div");n.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",n.textContent=" ";var a=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];a.forEach(function(at){t[at]=this[at]},this),e.on("mousedown",this.onMouseDown.bind(t));var p=e.container,m,k,x,$,C,W,ye=0,U,L,De,I,E;this.onDragStart=function(at){if(this.cancelDrag||!p.draggable){var ct=this;return setTimeout(function(){ct.startSelect(),ct.captureMouse(at)},0),at.preventDefault()}C=e.getSelectionRange();var Mt=at.dataTransfer;Mt.effectAllowed=e.getReadOnly()?"copy":"copyMove",e.container.appendChild(n),Mt.setDragImage&&Mt.setDragImage(n,0,0),setTimeout(function(){e.container.removeChild(n)}),Mt.clearData(),Mt.setData("Text",e.session.getTextRange()),L=!0,this.setState("drag")},this.onDragEnd=function(at){if(p.draggable=!1,L=!1,this.setState(null),!e.getReadOnly()){var ct=at.dataTransfer.dropEffect;!U&&ct=="move"&&e.session.remove(e.getSelectionRange()),e.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(at){if(!(e.getReadOnly()||!ot(at.dataTransfer)))return k=at.clientX,x=at.clientY,m||q(),ye++,at.dataTransfer.dropEffect=U=zt(at),S.preventDefault(at)},this.onDragOver=function(at){if(!(e.getReadOnly()||!ot(at.dataTransfer)))return k=at.clientX,x=at.clientY,m||(q(),ye++),Ee!==null&&(Ee=null),at.dataTransfer.dropEffect=U=zt(at),S.preventDefault(at)},this.onDragLeave=function(at){if(ye--,ye<=0&&m)return _e(),U=null,S.preventDefault(at)},this.onDrop=function(at){if(W){var ct=at.dataTransfer;if(L)switch(U){case"move":C.contains(W.row,W.column)?C={start:W,end:W}:C=e.moveText(C,W);break;case"copy":C=e.moveText(C,W,!0);break}else{var Mt=ct.getData("Text");C={start:W,end:e.session.insert(W,Mt)},e.focus(),U=null}return _e(),S.preventDefault(at)}},S.addListener(p,"dragstart",this.onDragStart.bind(t),e),S.addListener(p,"dragend",this.onDragEnd.bind(t),e),S.addListener(p,"dragenter",this.onDragEnter.bind(t),e),S.addListener(p,"dragover",this.onDragOver.bind(t),e),S.addListener(p,"dragleave",this.onDragLeave.bind(t),e),S.addListener(p,"drop",this.onDrop.bind(t),e);function b(at,ct){var Mt=Date.now(),Bt=!ct||at.row!=ct.row,jt=!ct||at.column!=ct.column;if(!I||Bt||jt)e.moveCursorToPosition(at),I=Mt,E={x:k,y:x};else{var qt=r(E.x,E.y,k,x);qt>i?I=null:Mt-I>=u&&(e.renderer.scrollCursorIntoView(),I=null)}}function y(at,ct){var Mt=Date.now(),Bt=e.renderer.layerConfig.lineHeight,jt=e.renderer.layerConfig.characterWidth,qt=e.renderer.scroller.getBoundingClientRect(),li={x:{left:k-qt.left,right:qt.right-k},y:{top:x-qt.top,bottom:qt.bottom-x}},ai=Math.min(li.x.left,li.x.right),di=Math.min(li.y.top,li.y.bottom),pi={row:at.row,column:at.column};ai/jt<=2&&(pi.column+=li.x.left<li.x.right?-3:2),di/Bt<=1&&(pi.row+=li.y.top<li.y.bottom?-1:1);var wi=at.row!=pi.row,Si=at.column!=pi.column,vi=!ct||at.row!=ct.row;wi||Si&&!vi?De?Mt-De>=s&&e.renderer.scrollCursorIntoView(pi):De=Mt:De=null}function M(){var at=W;W=e.renderer.screenToTextCoordinates(k,x),b(W,at),y(W,at)}function q(){C=e.selection.toOrientedRange(),m=e.session.addMarker(C,"ace_selection",e.getSelectionStyle()),e.clearSelection(),e.isFocused()&&e.renderer.$cursorLayer.setBlinking(!1),clearInterval($),M(),$=setInterval(M,20),ye=0,S.addListener(document,"mousemove",it)}function _e(){clearInterval($),e.session.removeMarker(m),m=null,e.selection.fromOrientedRange(C),e.isFocused()&&!L&&e.$resetCursorStyle(),C=null,W=null,ye=0,De=null,I=null,S.removeListener(document,"mousemove",it)}var Ee=null;function it(){Ee==null&&(Ee=setTimeout(function(){Ee!=null&&m&&_e()},20))}function ot(at){var ct=at.types;return!ct||Array.prototype.some.call(ct,function(Mt){return Mt=="text/plain"||Mt=="Text"})}function zt(at){var ct=["copy","copymove","all","uninitialized"],Mt=["move","copymove","linkmove","all","uninitialized"],Bt=_.isMac?at.altKey:at.ctrlKey,jt="uninitialized";try{jt=at.dataTransfer.effectAllowed.toLowerCase()}catch{}var qt="none";return Bt&&ct.indexOf(jt)>=0?qt="copy":Mt.indexOf(jt)>=0?qt="move":ct.indexOf(jt)>=0&&(qt="copy"),qt}}(function(){this.dragWait=function(){var t=Date.now()-this.mousedownEvent.time;t>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var t=this.editor.container;t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(t){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var t=this.editor,e=t.container;e.draggable=!0,t.renderer.$cursorLayer.setBlinking(!1),t.setStyle("ace_dragging");var n=_.isWin?"default":"move";t.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(t){var e=this.editor.container;if(_.isIE&&this.state=="dragReady"){var n=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&e.dragDrop()}if(this.state==="dragWait"){var n=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(t){if(this.$dragEnabled){this.mousedownEvent=t;var e=this.editor,n=t.inSelection(),a=t.getButton(),p=t.domEvent.detail||1;if(p===1&&a===0&&n){if(t.editor.inMultiSelectMode&&(t.getAccelKey()||t.getShiftKey()))return;this.mousedownEvent.time=Date.now();var m=t.domEvent.target||t.domEvent.srcElement;if("unselectable"in m&&(m.unselectable="on"),e.getDragDelay()){if(_.isWebKit){this.cancelDrag=!0;var k=e.container;k.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(t,this.onMouseDrag.bind(this)),t.defaultPrevented=!0}}}}).call(o.prototype);function r(t,e,n,a){return Math.sqrt(Math.pow(n-t,2)+Math.pow(a-e,2))}g.DragdropHandler=o}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(f,g,J){var A=f("./mouse_event").MouseEvent,S=f("../lib/event"),_=f("../lib/dom");g.addTouchListeners=function(s,u){var i="scroll",o,r,t,e,n,a,p=0,m,k=0,x=0,$=0,C,W;function ye(){var b=window.navigator&&window.navigator.clipboard,y=!1,M=function(){var Ee=u.getCopyText(),it=u.session.getUndoManager().hasUndo();W.replaceChild(_.buildDom(y?["span",!Ee&&q("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],Ee&&q("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],Ee&&q("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],b&&q("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],it&&q("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],q("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],q("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),W.firstChild)},q=function(Ee){return u.commands.canExecute(Ee,u)},_e=function(Ee){var it=Ee.target.getAttribute("action");if(it=="more"||!y)return y=!y,M();it=="paste"?b.readText().then(function(ot){u.execCommand(it,ot)}):it&&((it=="cut"||it=="copy")&&(b?b.writeText(u.getCopyText()):document.execCommand("copy")),u.execCommand(it)),W.firstChild.style.display="none",y=!1,it!="openCommandPalette"&&u.focus()};W=_.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(Ee){i="menu",Ee.stopPropagation(),Ee.preventDefault(),u.textInput.focus()},ontouchend:function(Ee){Ee.stopPropagation(),Ee.preventDefault(),_e(Ee)},onclick:_e},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],u.container)}function U(){if(!u.getOption("enableMobileMenu")){W&&L();return}W||ye();var b=u.selection.cursor,y=u.renderer.textToScreenCoordinates(b.row,b.column),M=u.renderer.textToScreenCoordinates(0,0).pageX,q=u.renderer.scrollLeft,_e=u.container.getBoundingClientRect();W.style.top=y.pageY-_e.top-3+"px",y.pageX-_e.left<_e.width-70?(W.style.left="",W.style.right="10px"):(W.style.right="",W.style.left=M+q-_e.left+"px"),W.style.display="",W.firstChild.style.display="none",u.on("input",L)}function L(b){W&&(W.style.display="none"),u.off("input",L)}function De(){n=null,clearTimeout(n);var b=u.selection.getRange(),y=b.contains(m.row,m.column);(b.isEmpty()||!y)&&(u.selection.moveToPosition(m),u.selection.selectWord()),i="wait",U()}function I(){n=null,clearTimeout(n),u.selection.moveToPosition(m);var b=k>=2?u.selection.getLineRange(m.row):u.session.getBracketRange(m);b&&!b.isEmpty()?u.selection.setRange(b):u.selection.selectWord(),i="wait"}S.addListener(s,"contextmenu",function(b){if(C){var y=u.textInput.getElement();y.focus()}},u),S.addListener(s,"touchstart",function(b){var y=b.touches;if(n||y.length>1){clearTimeout(n),n=null,t=-1,i="zoom";return}C=u.$mouseHandler.isMousePressed=!0;var M=u.renderer.layerConfig.lineHeight,q=u.renderer.layerConfig.lineHeight,_e=b.timeStamp;e=_e;var Ee=y[0],it=Ee.clientX,ot=Ee.clientY;Math.abs(o-it)+Math.abs(r-ot)>M&&(t=-1),o=b.clientX=it,r=b.clientY=ot,x=$=0;var zt=new A(b,u);if(m=zt.getDocumentPosition(),_e-t<500&&y.length==1&&!p)k++,b.preventDefault(),b.button=0,I();else{k=0;var at=u.selection.cursor,ct=u.selection.isEmpty()?at:u.selection.anchor,Mt=u.renderer.$cursorLayer.getPixelPosition(at,!0),Bt=u.renderer.$cursorLayer.getPixelPosition(ct,!0),jt=u.renderer.scroller.getBoundingClientRect(),qt=u.renderer.layerConfig.offset,li=u.renderer.scrollLeft,ai=function(wi,Si){return wi=wi/q,Si=Si/M-.75,wi*wi+Si*Si};if(b.clientX<jt.left){i="zoom";return}var di=ai(b.clientX-jt.left-Mt.left+li,b.clientY-jt.top-Mt.top+qt),pi=ai(b.clientX-jt.left-Bt.left+li,b.clientY-jt.top-Bt.top+qt);di<3.5&&pi<3.5&&(i=di>pi?"cursor":"anchor"),pi<3.5?i="anchor":di<3.5?i="cursor":i="scroll",n=setTimeout(De,450)}t=_e},u),S.addListener(s,"touchend",function(b){C=u.$mouseHandler.isMousePressed=!1,a&&clearInterval(a),i=="zoom"?(i="",p=0):n?(u.selection.moveToPosition(m),p=0,U()):i=="scroll"?(E(),L()):U(),clearTimeout(n),n=null},u),S.addListener(s,"touchmove",function(b){n&&(clearTimeout(n),n=null);var y=b.touches;if(!(y.length>1||i=="zoom")){var M=y[0],q=o-M.clientX,_e=r-M.clientY;if(i=="wait")if(q*q+_e*_e>4)i="cursor";else return b.preventDefault();o=M.clientX,r=M.clientY,b.clientX=M.clientX,b.clientY=M.clientY;var Ee=b.timeStamp,it=Ee-e;if(e=Ee,i=="scroll"){var ot=new A(b,u);ot.speed=1,ot.wheelX=q,ot.wheelY=_e,10*Math.abs(q)<Math.abs(_e)&&(q=0),10*Math.abs(_e)<Math.abs(q)&&(_e=0),it!=0&&(x=q/it,$=_e/it),u._emit("mousewheel",ot),ot.propagationStopped||(x=$=0)}else{var zt=new A(b,u),at=zt.getDocumentPosition();i=="cursor"?u.selection.moveCursorToPosition(at):i=="anchor"&&u.selection.setSelectionAnchor(at.row,at.column),u.renderer.scrollCursorIntoView(at),b.preventDefault()}}},u);function E(){p+=60,a=setInterval(function(){p--<=0&&(clearInterval(a),a=null),Math.abs(x)<.01&&(x=0),Math.abs($)<.01&&($=0),p<20&&(x=.9*x),p<20&&($=.9*$);var b=u.session.getScrollTop();u.renderer.scrollBy(10*x,10*$),b==u.session.getScrollTop()&&(p=0)},10)}}}),ace.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/mouse/touch_handler","ace/config"],function(f,g,J){var A=f("../lib/event"),S=f("../lib/useragent"),_=f("./default_handlers").DefaultHandlers,s=f("./default_gutter_handler").GutterHandler,u=f("./mouse_event").MouseEvent,i=f("./dragdrop_handler").DragdropHandler,o=f("./touch_handler").addTouchListeners,r=f("../config"),t=function(){function e(n){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var a=this;this.editor=n,new _(this),new s(this),new i(this);var p=function(x){var $=!document.hasFocus||!document.hasFocus()||!n.isFocused()&&document.activeElement==(n.textInput&&n.textInput.getElement());$&&window.focus(),n.focus(),setTimeout(function(){n.isFocused()||n.focus()})},m=n.renderer.getMouseEventTarget();A.addListener(m,"click",this.onMouseEvent.bind(this,"click"),n),A.addListener(m,"mousemove",this.onMouseMove.bind(this,"mousemove"),n),A.addMultiMouseDownListener([m,n.renderer.scrollBarV&&n.renderer.scrollBarV.inner,n.renderer.scrollBarH&&n.renderer.scrollBarH.inner,n.textInput&&n.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",n),A.addMouseWheelListener(n.container,this.onMouseWheel.bind(this,"mousewheel"),n),o(n.container,n);var k=n.renderer.$gutter;A.addListener(k,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),n),A.addListener(k,"click",this.onMouseEvent.bind(this,"gutterclick"),n),A.addListener(k,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),n),A.addListener(k,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),n),A.addListener(m,"mousedown",p,n),A.addListener(k,"mousedown",p,n),S.isIE&&n.renderer.scrollBarV&&(A.addListener(n.renderer.scrollBarV.element,"mousedown",p,n),A.addListener(n.renderer.scrollBarH.element,"mousedown",p,n)),n.on("mousemove",function(x){if(!(a.state||a.$dragDelay||!a.$dragEnabled)){var $=n.renderer.screenToTextCoordinates(x.x,x.y),C=n.session.selection.getRange(),W=n.renderer;!C.isEmpty()&&C.insideStart($.row,$.column)?W.setCursorStyle("default"):W.setCursorStyle("")}},n)}return e.prototype.onMouseEvent=function(n,a){this.editor.session&&this.editor._emit(n,new u(a,this.editor))},e.prototype.onMouseMove=function(n,a){var p=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!p||!p.length||this.editor._emit(n,new u(a,this.editor))},e.prototype.onMouseWheel=function(n,a){var p=new u(a,this.editor);p.speed=this.$scrollSpeed*2,p.wheelX=a.wheelX,p.wheelY=a.wheelY,this.editor._emit(n,p)},e.prototype.setState=function(n){this.state=n},e.prototype.captureMouse=function(n,a){this.x=n.x,this.y=n.y,this.isMousePressed=!0;var p=this.editor,m=this.editor.renderer;m.$isMousePressed=!0;var k=this,x=function(U){if(U){if(S.isWebKit&&!U.which&&k.releaseMouse)return k.releaseMouse();k.x=U.clientX,k.y=U.clientY,a&&a(U),k.mouseEvent=new u(U,k.editor),k.$mouseMoved=!0}},$=function(U){p.off("beforeEndOperation",W),clearInterval(ye),p.session&&C(),k[k.state+"End"]&&k[k.state+"End"](U),k.state="",k.isMousePressed=m.$isMousePressed=!1,m.$keepTextAreaAtCursor&&m.$moveTextAreaToCursor(),k.$onCaptureMouseMove=k.releaseMouse=null,U&&k.onMouseEvent("mouseup",U),p.endOperation()},C=function(){k[k.state]&&k[k.state](),k.$mouseMoved=!1};if(S.isOldIE&&n.domEvent.type=="dblclick")return setTimeout(function(){$(n)});var W=function(U){k.releaseMouse&&p.curOp.command.name&&p.curOp.selectionChanged&&(k[k.state+"End"]&&k[k.state+"End"](),k.state="",k.releaseMouse())};p.on("beforeEndOperation",W),p.startOperation({command:{name:"mouse"}}),k.$onCaptureMouseMove=x,k.releaseMouse=A.capture(this.editor.container,x,$);var ye=setInterval(C,20)},e.prototype.cancelContextMenu=function(){var n=(function(a){a&&a.domEvent&&a.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",n),a&&a.domEvent&&A.stopEvent(a.domEvent))}).bind(this);setTimeout(n,10),this.editor.on("nativecontextmenu",n)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},e}();t.prototype.releaseMouse=null,r.defineOptions(t.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:S.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),g.MouseHandler=t}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(f,g,J){var A=f("../lib/dom"),S=function(){function _(s){s.on("click",function(u){var i=u.getDocumentPosition(),o=s.session,r=o.getFoldAt(i.row,i.column,1);r&&(u.getAccelKey()?o.removeFold(r):o.expandFold(r),u.stop());var t=u.domEvent&&u.domEvent.target;t&&A.hasCssClass(t,"ace_inline_button")&&A.hasCssClass(t,"ace_toggle_wrap")&&(o.setOption("wrap",!o.getUseWrapMode()),s.renderer.scrollCursorIntoView())}),s.on("gutterclick",function(u){var i=s.renderer.$gutterLayer.getRegion(u);if(i=="foldWidgets"){var o=u.getDocumentPosition().row,r=s.session;r.foldWidgets&&r.foldWidgets[o]&&s.session.onFoldWidgetClick(o,u),s.isFocused()||s.focus(),u.stop()}}),s.on("gutterdblclick",function(u){var i=s.renderer.$gutterLayer.getRegion(u);if(i=="foldWidgets"){var o=u.getDocumentPosition().row,r=s.session,t=r.getParentFoldRangeData(o,!0),e=t.range||t.firstRange;if(e){o=e.start.row;var n=r.getFoldAt(o,r.getLine(o).length,1);n?r.removeFold(n):(r.addFold("...",e),s.renderer.scrollCursorIntoView({row:e.start.row,column:0}))}u.stop()}})}return _}();g.FoldHandler=S}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(f,g,J){var A=f("../lib/keys"),S=f("../lib/event"),_=function(){function s(u){this.$editor=u,this.$data={editor:u},this.$handlers=[],this.setDefaultHandler(u.commands)}return s.prototype.setDefaultHandler=function(u){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=u,this.addKeyboardHandler(u,0)},s.prototype.setKeyboardHandler=function(u){var i=this.$handlers;if(i[i.length-1]!=u){for(;i[i.length-1]&&i[i.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(i[i.length-1]);this.addKeyboardHandler(u,1)}},s.prototype.addKeyboardHandler=function(u,i){if(u){typeof u=="function"&&!u.handleKeyboard&&(u.handleKeyboard=u);var o=this.$handlers.indexOf(u);o!=-1&&this.$handlers.splice(o,1),i==null?this.$handlers.push(u):this.$handlers.splice(i,0,u),o==-1&&u.attach&&u.attach(this.$editor)}},s.prototype.removeKeyboardHandler=function(u){var i=this.$handlers.indexOf(u);return i==-1?!1:(this.$handlers.splice(i,1),u.detach&&u.detach(this.$editor),!0)},s.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},s.prototype.getStatusText=function(){var u=this.$data,i=u.editor;return this.$handlers.map(function(o){return o.getStatusText&&o.getStatusText(i,u)||""}).filter(Boolean).join(" ")},s.prototype.$callKeyboardHandlers=function(u,i,o,r){for(var t,e=!1,n=this.$editor.commands,a=this.$handlers.length;a--&&(t=this.$handlers[a].handleKeyboard(this.$data,u,i,o,r),!(!(!t||!t.command)&&(t.command=="null"?e=!0:e=n.exec(t.command,this.$editor,t.args,r),e&&r&&u!=-1&&t.passEvent!=!0&&t.command.passEvent!=!0&&S.stopEvent(r),e))););return!e&&u==-1&&(t={command:"insertstring"},e=n.exec("insertstring",this.$editor,i)),e&&this.$editor._signal&&this.$editor._signal("keyboardActivity",t),e},s.prototype.onCommandKey=function(u,i,o){var r=A.keyCodeToString(o);return this.$callKeyboardHandlers(i,r,o,u)},s.prototype.onTextInput=function(u){return this.$callKeyboardHandlers(-1,u)},s}();g.KeyBinding=_}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(f,g,J){var A=0,S=0,_=!1,s=!1,u=!1,i=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],o=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],r=0,t=1,e=0,n=1,a=2,p=3,m=4,k=5,x=6,$=7,C=8,W=9,ye=10,U=11,L=12,De=13,I=14,E=15,b=16,y=17,M=18,q=[M,M,M,M,M,M,M,M,M,x,k,x,C,k,M,M,M,M,M,M,M,M,M,M,M,M,M,M,k,k,k,x,C,m,m,U,U,U,m,m,m,m,m,ye,W,ye,W,W,a,a,a,a,a,a,a,a,a,a,W,m,m,m,m,m,m,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,m,m,m,m,m,m,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,m,m,m,m,M,M,M,M,M,M,k,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,W,m,U,U,U,U,m,m,m,m,e,m,m,M,m,m,U,U,a,a,m,e,m,m,m,a,e,m,m,m,m,m],_e=[C,C,C,C,C,C,C,C,C,C,C,M,M,M,e,n,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,C,k,De,I,E,b,y,W,U,U,U,U,U,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,W,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,C];function Ee(at,ct,Mt,Bt){var jt=A?o:i,qt=null,li=null,ai=null,di=0,pi=null,wi=null,Si=-1,vi=null,xi=null,Ai=[];if(!Bt)for(vi=0,Bt=[];vi<Mt;vi++)Bt[vi]=zt(at[vi]);for(S=A,_=!1,s=!1,u=!1,xi=0;xi<Mt;xi++){if(qt=di,Ai[xi]=li=ot(at,Bt,Ai,xi),di=jt[qt][li],pi=di&240,di&=15,ct[xi]=ai=jt[di][5],pi>0)if(pi==16){for(vi=Si;vi<xi;vi++)ct[vi]=1;Si=-1}else Si=-1;if(wi=jt[di][6],wi)Si==-1&&(Si=xi);else if(Si>-1){for(vi=Si;vi<xi;vi++)ct[vi]=ai;Si=-1}Bt[xi]==k&&(ct[xi]=0),S|=ai}if(u){for(vi=0;vi<Mt;vi++)if(Bt[vi]==x){ct[vi]=A;for(var ki=vi-1;ki>=0&&Bt[ki]==C;ki--)ct[ki]=A}}}function it(at,ct,Mt){if(!(S<at)){if(at==1&&A==t&&!s){Mt.reverse();return}for(var Bt=Mt.length,jt=0,qt,li,ai,di;jt<Bt;){if(ct[jt]>=at){for(qt=jt+1;qt<Bt&&ct[qt]>=at;)qt++;for(li=jt,ai=qt-1;li<ai;li++,ai--)di=Mt[li],Mt[li]=Mt[ai],Mt[ai]=di;jt=qt}jt++}}}function ot(at,ct,Mt,Bt){var jt=ct[Bt],qt,li,ai,di;switch(jt){case e:case n:_=!1;case m:case p:return jt;case a:return _?p:a;case $:return _=!0,n;case C:return m;case W:return Bt<1||Bt+1>=ct.length||(qt=Mt[Bt-1])!=a&&qt!=p||(li=ct[Bt+1])!=a&&li!=p?m:(_&&(li=p),li==qt?li:m);case ye:return qt=Bt>0?Mt[Bt-1]:k,qt==a&&Bt+1<ct.length&&ct[Bt+1]==a?a:m;case U:if(Bt>0&&Mt[Bt-1]==a)return a;if(_)return m;for(di=Bt+1,ai=ct.length;di<ai&&ct[di]==U;)di++;return di<ai&&ct[di]==a?a:m;case L:for(ai=ct.length,di=Bt+1;di<ai&&ct[di]==L;)di++;if(di<ai){var pi=at[Bt],wi=pi>=1425&&pi<=2303||pi==64286;if(qt=ct[di],wi&&(qt==n||qt==$))return n}return Bt<1||(qt=ct[Bt-1])==k?m:Mt[Bt-1];case k:return _=!1,s=!0,A;case x:return u=!0,m;case De:case I:case b:case y:case E:_=!1;case M:return m}}function zt(at){var ct=at.charCodeAt(0),Mt=ct>>8;return Mt==0?ct>191?e:q[ct]:Mt==5?/[\u0591-\u05f4]/.test(at)?n:e:Mt==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(at)?L:/[\u0660-\u0669\u066b-\u066c]/.test(at)?p:ct==1642?U:/[\u06f0-\u06f9]/.test(at)?a:$:Mt==32&&ct<=8287?_e[ct&255]:Mt==254&&ct>=65136?$:m}g.L=e,g.R=n,g.EN=a,g.ON_R=3,g.AN=4,g.R_H=5,g.B=6,g.RLE=7,g.DOT="·",g.doBidiReorder=function(at,ct,Mt){if(at.length<2)return{};var Bt=at.split(""),jt=new Array(Bt.length),qt=new Array(Bt.length),li=[];A=Mt?t:r,Ee(Bt,li,Bt.length,ct);for(var ai=0;ai<jt.length;jt[ai]=ai,ai++);it(2,li,jt),it(1,li,jt);for(var ai=0;ai<jt.length-1;ai++)ct[ai]===p?li[ai]=g.AN:li[ai]===n&&(ct[ai]>$&&ct[ai]<De||ct[ai]===m||ct[ai]===M)?li[ai]=g.ON_R:ai>0&&Bt[ai-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(Bt[ai])&&(li[ai-1]=li[ai]=g.R_H,ai++);Bt[Bt.length-1]===g.DOT&&(li[Bt.length-1]=g.B),Bt[0]===""&&(li[0]=g.RLE);for(var ai=0;ai<jt.length;ai++)qt[ai]=li[jt[ai]];return{logicalFromVisual:jt,bidiLevels:qt}},g.hasBidiCharacters=function(at,ct){for(var Mt=!1,Bt=0;Bt<at.length;Bt++)ct[Bt]=zt(at.charAt(Bt)),!Mt&&(ct[Bt]==n||ct[Bt]==$||ct[Bt]==p)&&(Mt=!0);return Mt},g.getVisualFromLogicalIdx=function(at,ct){for(var Mt=0;Mt<ct.logicalFromVisual.length;Mt++)if(ct.logicalFromVisual[Mt]==at)return Mt;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(f,g,J){var A=f("./lib/bidiutil"),S=f("./lib/lang"),_=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,s=function(){function u(i){this.session=i,this.bidiMap={},this.currentRow=null,this.bidiUtil=A,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=_.test(i.getValue())}return u.prototype.isBidiRow=function(i,o,r){return this.seenBidi?(i!==this.currentRow&&(this.currentRow=i,this.updateRowLine(o,r),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},u.prototype.onChange=function(i){this.seenBidi?this.currentRow=null:i.action=="insert"&&_.test(i.lines.join(`
|
181
|
+
`))&&(this.seenBidi=!0,this.currentRow=null)},u.prototype.getDocumentRow=function(){var i=0,o=this.session.$screenRowCache;if(o.length){var r=this.session.$getRowCacheIndex(o,this.currentRow);r>=0&&(i=this.session.$docRowCache[r])}return i},u.prototype.getSplitIndex=function(){var i=0,o=this.session.$screenRowCache;if(o.length)for(var r,t=this.session.$getRowCacheIndex(o,this.currentRow);this.currentRow-i>0&&(r=this.session.$getRowCacheIndex(o,this.currentRow-i-1),r===t);)t=r,i++;else i=this.currentRow;return i},u.prototype.updateRowLine=function(i,o){i===void 0&&(i=this.getDocumentRow());var r=i===this.session.getLength()-1,t=r?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(i),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var e=this.session.$wrapData[i];e&&(o===void 0&&(o=this.getSplitIndex()),o>0&&e.length?(this.wrapIndent=e.indent,this.wrapOffset=this.wrapIndent*this.charWidths[A.L],this.line=o<e.length?this.line.substring(e[o-1],e[o]):this.line.substring(e[e.length-1])):this.line=this.line.substring(0,e[o]),o==e.length&&(this.line+=this.showInvisibles?t:A.DOT))}else this.line+=this.showInvisibles?t:A.DOT;var n=this.session,a=0,p;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(m,k){return m===" "||n.isFullWidth(m.charCodeAt(0))?(p=m===" "?n.getScreenTabSize(k+a):2,a+=p-1,S.stringRepeat(A.DOT,p)):m}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==A.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},u.prototype.updateBidiMap=function(){var i=[];A.hasBidiCharacters(this.line,i)||this.isRtlDir?this.bidiMap=A.doBidiReorder(this.line,i,this.isRtlDir):this.bidiMap={}},u.prototype.markAsDirty=function(){this.currentRow=null},u.prototype.updateCharacterWidths=function(i){if(this.characterWidth!==i.$characterSize.width){this.fontMetrics=i;var o=this.characterWidth=i.$characterSize.width,r=i.$measureCharWidth("ה");this.charWidths[A.L]=this.charWidths[A.EN]=this.charWidths[A.ON_R]=o,this.charWidths[A.R]=this.charWidths[A.AN]=r,this.charWidths[A.R_H]=r*.45,this.charWidths[A.B]=this.charWidths[A.RLE]=0,this.currentRow=null}},u.prototype.setShowInvisibles=function(i){this.showInvisibles=i,this.currentRow=null},u.prototype.setEolChar=function(i){this.EOL=i},u.prototype.setContentWidth=function(i){this.contentWidth=i},u.prototype.isRtlLine=function(i){return this.$isRtl?!0:i!=null?this.session.getLine(i).charAt(0)==this.RLE:this.isRtlDir},u.prototype.setRtlDirection=function(i,o){for(var r=i.getCursorPosition(),t=i.selection.getSelectionAnchor().row;t<=r.row;t++)!o&&i.session.getLine(t).charAt(0)===i.session.$bidiHandler.RLE?i.session.doc.removeInLine(t,0,1):o&&i.session.getLine(t).charAt(0)!==i.session.$bidiHandler.RLE&&i.session.doc.insert({column:0,row:t},i.session.$bidiHandler.RLE)},u.prototype.getPosLeft=function(i){i-=this.wrapIndent;var o=this.line.charAt(0)===this.RLE?1:0,r=i>o?this.session.getOverwrite()?i:i-1:o,t=A.getVisualFromLogicalIdx(r,this.bidiMap),e=this.bidiMap.bidiLevels,n=0;!this.session.getOverwrite()&&i<=o&&e[t]%2!==0&&t++;for(var a=0;a<t;a++)n+=this.charWidths[e[a]];return!this.session.getOverwrite()&&i>o&&e[t]%2===0&&(n+=this.charWidths[e[t]]),this.wrapIndent&&(n+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(n+=this.rtlLineOffset),n},u.prototype.getSelections=function(i,o){var r=this.bidiMap,t=r.bidiLevels,e,n=[],a=0,p=Math.min(i,o)-this.wrapIndent,m=Math.max(i,o)-this.wrapIndent,k=!1,x=!1,$=0;this.wrapIndent&&(a+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var C,W=0;W<t.length;W++)C=r.logicalFromVisual[W],e=t[W],k=C>=p&&C<m,k&&!x?$=a:!k&&x&&n.push({left:$,width:a-$}),a+=this.charWidths[e],x=k;if(k&&W===t.length&&n.push({left:$,width:a-$}),this.isRtlDir)for(var ye=0;ye<n.length;ye++)n[ye].left+=this.rtlLineOffset;return n},u.prototype.offsetToCol=function(r){this.isRtlDir&&(r-=this.rtlLineOffset);var o=0,r=Math.max(r,0),t=0,e=0,n=this.bidiMap.bidiLevels,a=this.charWidths[n[e]];for(this.wrapIndent&&(r-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);r>t+a/2;){if(t+=a,e===n.length-1){a=0;break}a=this.charWidths[n[++e]]}return e>0&&n[e-1]%2!==0&&n[e]%2===0?(r<t&&e--,o=this.bidiMap.logicalFromVisual[e]):e>0&&n[e-1]%2===0&&n[e]%2!==0?o=1+(r>t?this.bidiMap.logicalFromVisual[e]:this.bidiMap.logicalFromVisual[e-1]):this.isRtlDir&&e===n.length-1&&a===0&&n[e-1]%2===0||!this.isRtlDir&&e===0&&n[e]%2!==0?o=1+this.bidiMap.logicalFromVisual[e]:(e>0&&n[e-1]%2!==0&&a!==0&&e--,o=this.bidiMap.logicalFromVisual[e]),o===0&&this.isRtlDir&&o++,o+this.wrapIndent},u}();g.BidiHandler=s}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(f,g,J){var A=f("./lib/oop"),S=f("./lib/lang"),_=f("./lib/event_emitter").EventEmitter,s=f("./range").Range,u=function(){function i(o){this.session=o,this.doc=o.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var r=this;this.cursor.on("change",function(t){r.$cursorChanged=!0,r.$silent||r._emit("changeCursor"),!r.$isEmpty&&!r.$silent&&r._emit("changeSelection"),!r.$keepDesiredColumnOnChange&&t.old.column!=t.value.column&&(r.$desiredColumn=null)}),this.anchor.on("change",function(){r.$anchorChanged=!0,!r.$isEmpty&&!r.$silent&&r._emit("changeSelection")})}return i.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},i.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},i.prototype.getCursor=function(){return this.lead.getPosition()},i.prototype.setAnchor=function(o,r){this.$isEmpty=!1,this.anchor.setPosition(o,r)},i.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},i.prototype.getSelectionLead=function(){return this.lead.getPosition()},i.prototype.isBackwards=function(){var o=this.anchor,r=this.lead;return o.row>r.row||o.row==r.row&&o.column>r.column},i.prototype.getRange=function(){var o=this.anchor,r=this.lead;return this.$isEmpty?s.fromPoints(r,r):this.isBackwards()?s.fromPoints(r,o):s.fromPoints(o,r)},i.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},i.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},i.prototype.setRange=function(o,r){var t=r?o.end:o.start,e=r?o.start:o.end;this.$setSelection(t.row,t.column,e.row,e.column)},i.prototype.$setSelection=function(o,r,t,e){if(!this.$silent){var n=this.$isEmpty,a=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(o,r),this.cursor.setPosition(t,e),this.$isEmpty=!s.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||n!=this.$isEmpty||a)&&this._emit("changeSelection")}},i.prototype.$moveSelection=function(o){var r=this.lead;this.$isEmpty&&this.setSelectionAnchor(r.row,r.column),o.call(this)},i.prototype.selectTo=function(o,r){this.$moveSelection(function(){this.moveCursorTo(o,r)})},i.prototype.selectToPosition=function(o){this.$moveSelection(function(){this.moveCursorToPosition(o)})},i.prototype.moveTo=function(o,r){this.clearSelection(),this.moveCursorTo(o,r)},i.prototype.moveToPosition=function(o){this.clearSelection(),this.moveCursorToPosition(o)},i.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},i.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},i.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},i.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},i.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},i.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},i.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},i.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},i.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},i.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},i.prototype.getWordRange=function(o,r){if(typeof r>"u"){var t=o||this.lead;o=t.row,r=t.column}return this.session.getWordRange(o,r)},i.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},i.prototype.selectAWord=function(){var o=this.getCursor(),r=this.session.getAWordRange(o.row,o.column);this.setSelectionRange(r)},i.prototype.getLineRange=function(o,r){var t=typeof o=="number"?o:this.lead.row,e,n=this.session.getFoldLine(t);return n?(t=n.start.row,e=n.end.row):e=t,r===!0?new s(t,0,e,this.session.getLine(e).length):new s(t,0,e+1,0)},i.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},i.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},i.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},i.prototype.wouldMoveIntoSoftTab=function(o,r,t){var e=o.column,n=o.column+r;return t<0&&(e=o.column-r,n=o.column),this.session.isTabStop(o)&&this.doc.getLine(o.row).slice(e,n).split(" ").length-1==r},i.prototype.moveCursorLeft=function(){var o=this.lead.getPosition(),r;if(r=this.session.getFoldAt(o.row,o.column,-1))this.moveCursorTo(r.start.row,r.start.column);else if(o.column===0)o.row>0&&this.moveCursorTo(o.row-1,this.doc.getLine(o.row-1).length);else{var t=this.session.getTabSize();this.wouldMoveIntoSoftTab(o,t,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-t):this.moveCursorBy(0,-1)}},i.prototype.moveCursorRight=function(){var o=this.lead.getPosition(),r;if(r=this.session.getFoldAt(o.row,o.column,1))this.moveCursorTo(r.end.row,r.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 t=this.session.getTabSize(),o=this.lead;this.wouldMoveIntoSoftTab(o,t,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,t):this.moveCursorBy(0,1)}},i.prototype.moveCursorLineStart=function(){var o=this.lead.row,r=this.lead.column,t=this.session.documentToScreenRow(o,r),e=this.session.screenToDocumentPosition(t,0),n=this.session.getDisplayLine(o,null,e.row,e.column),a=n.match(/^\s*/);a[0].length!=r&&!this.session.$useEmacsStyleLineStart&&(e.column+=a[0].length),this.moveCursorToPosition(e)},i.prototype.moveCursorLineEnd=function(){var o=this.lead,r=this.session.getDocumentLastRowColumnPosition(o.row,o.column);if(this.lead.column==r.column){var t=this.session.getLine(r.row);if(r.column==t.length){var e=t.search(/\s+$/);e>0&&(r.column=e)}}this.moveCursorTo(r.row,r.column)},i.prototype.moveCursorFileEnd=function(){var o=this.doc.getLength()-1,r=this.doc.getLine(o).length;this.moveCursorTo(o,r)},i.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},i.prototype.moveCursorLongWordRight=function(){var o=this.lead.row,r=this.lead.column,t=this.doc.getLine(o),e=t.substring(r);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var n=this.session.getFoldAt(o,r,1);if(n){this.moveCursorTo(n.end.row,n.end.column);return}if(this.session.nonTokenRe.exec(e)&&(r+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,e=t.substring(r)),r>=t.length){this.moveCursorTo(o,t.length),this.moveCursorRight(),o<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(e)&&(r+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(o,r)},i.prototype.moveCursorLongWordLeft=function(){var o=this.lead.row,r=this.lead.column,t;if(t=this.session.getFoldAt(o,r,-1)){this.moveCursorTo(t.start.row,t.start.column);return}var e=this.session.getFoldStringAt(o,r,-1);e==null&&(e=this.doc.getLine(o).substring(0,r));var n=S.stringReverse(e);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(n)&&(r-=this.session.nonTokenRe.lastIndex,n=n.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),r<=0){this.moveCursorTo(o,0),this.moveCursorLeft(),o>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(n)&&(r-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(o,r)},i.prototype.$shortWordEndIndex=function(o){var r=0,t,e=/\s/,n=this.session.tokenRe;if(n.lastIndex=0,this.session.tokenRe.exec(o))r=this.session.tokenRe.lastIndex;else{for(;(t=o[r])&&e.test(t);)r++;if(r<1){for(n.lastIndex=0;(t=o[r])&&!n.test(t);)if(n.lastIndex=0,r++,e.test(t))if(r>2){r--;break}else{for(;(t=o[r])&&e.test(t);)r++;if(r>2)break}}}return n.lastIndex=0,r},i.prototype.moveCursorShortWordRight=function(){var o=this.lead.row,r=this.lead.column,t=this.doc.getLine(o),e=t.substring(r),n=this.session.getFoldAt(o,r,1);if(n)return this.moveCursorTo(n.end.row,n.end.column);if(r==t.length){var a=this.doc.getLength();do o++,e=this.doc.getLine(o);while(o<a&&/^\s*$/.test(e));/^\s+/.test(e)||(e=""),r=0}var p=this.$shortWordEndIndex(e);this.moveCursorTo(o,r+p)},i.prototype.moveCursorShortWordLeft=function(){var o=this.lead.row,r=this.lead.column,t;if(t=this.session.getFoldAt(o,r,-1))return this.moveCursorTo(t.start.row,t.start.column);var e=this.session.getLine(o).substring(0,r);if(r===0){do o--,e=this.doc.getLine(o);while(o>0&&/^\s*$/.test(e));r=e.length,/\s+$/.test(e)||(e="")}var n=S.stringReverse(e),a=this.$shortWordEndIndex(n);return this.moveCursorTo(o,r-a)},i.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},i.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},i.prototype.moveCursorBy=function(o,r){var t=this.session.documentToScreenPosition(this.lead.row,this.lead.column),e;if(r===0&&(o!==0&&(this.session.$bidiHandler.isBidiRow(t.row,this.lead.row)?(e=this.session.$bidiHandler.getPosLeft(t.column),t.column=Math.round(e/this.session.$bidiHandler.charWidths[0])):e=t.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?t.column=this.$desiredColumn:this.$desiredColumn=t.column),o!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var n=this.session.lineWidgets[this.lead.row];o<0?o-=n.rowsAbove||0:o>0&&(o+=n.rowCount-(n.rowsAbove||0))}var a=this.session.screenToDocumentPosition(t.row+o,t.column,e);o!==0&&r===0&&a.row===this.lead.row&&(a.column,this.lead.column),this.moveCursorTo(a.row,a.column+r,r===0)},i.prototype.moveCursorToPosition=function(o){this.moveCursorTo(o.row,o.column)},i.prototype.moveCursorTo=function(o,r,t){var e=this.session.getFoldAt(o,r,1);e&&(o=e.start.row,r=e.start.column),this.$keepDesiredColumnOnChange=!0;var n=this.session.getLine(o);/[\uDC00-\uDFFF]/.test(n.charAt(r))&&n.charAt(r-1)&&(this.lead.row==o&&this.lead.column==r+1?r=r-1:r=r+1),this.lead.setPosition(o,r),this.$keepDesiredColumnOnChange=!1,t||(this.$desiredColumn=null)},i.prototype.moveCursorToScreen=function(o,r,t){var e=this.session.screenToDocumentPosition(o,r);this.moveCursorTo(e.row,e.column,t)},i.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},i.prototype.fromOrientedRange=function(o){this.setSelectionRange(o,o.cursor==o.start),this.$desiredColumn=o.desiredColumn||this.$desiredColumn},i.prototype.toOrientedRange=function(o){var r=this.getRange();return o?(o.start.column=r.start.column,o.start.row=r.start.row,o.end.column=r.end.column,o.end.row=r.end.row):o=r,o.cursor=this.isBackwards()?o.start:o.end,o.desiredColumn=this.$desiredColumn,o},i.prototype.getRangeOfMovements=function(o){var r=this.getCursor();try{o(this);var t=this.getCursor();return s.fromPoints(r,t)}catch{return s.fromPoints(r,r)}finally{this.moveCursorToPosition(r)}},i.prototype.toJSON=function(){if(this.rangeCount)var o=this.ranges.map(function(r){var t=r.clone();return t.isBackwards=r.cursor==r.start,t});else{var o=this.getRange();o.isBackwards=this.isBackwards()}return o},i.prototype.fromJSON=function(o){if(o.start==null)if(this.rangeList&&o.length>1){this.toSingleRange(o[0]);for(var r=o.length;r--;){var t=s.fromPoints(o[r].start,o[r].end);o[r].isBackwards&&(t.cursor=t.start),this.addRange(t,!0)}return}else o=o[0];this.rangeList&&this.toSingleRange(o),this.setSelectionRange(o,o.isBackwards)},i.prototype.isEqual=function(o){if((o.length||this.rangeCount)&&o.length!=this.rangeCount)return!1;if(!o.length||!this.ranges)return this.getRange().isEqual(o);for(var r=this.ranges.length;r--;)if(!this.ranges[r].isEqual(o[r]))return!1;return!0},i}();u.prototype.setSelectionAnchor=u.prototype.setAnchor,u.prototype.getSelectionAnchor=u.prototype.getAnchor,u.prototype.setSelectionRange=u.prototype.setRange,A.implement(u.prototype,_),g.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(f,g,J){var A=f("./lib/report_error").reportError,S=2e3,_=function(){function s(u){this.splitRegex,this.states=u,this.regExps={},this.matchMappings={};for(var i in this.states){for(var o=this.states[i],r=[],t=0,e=this.matchMappings[i]={defaultToken:"text"},n="g",a=[],p=0;p<o.length;p++){var m=o[p];if(m.defaultToken&&(e.defaultToken=m.defaultToken),m.caseInsensitive&&n.indexOf("i")===-1&&(n+="i"),m.unicode&&n.indexOf("u")===-1&&(n+="u"),m.regex!=null){m.regex instanceof RegExp&&(m.regex=m.regex.toString().slice(1,-1));var k=m.regex,x=new RegExp("(?:("+k+")|(.))").exec("a").length-2;Array.isArray(m.token)?m.token.length==1||x==1?m.token=m.token[0]:x-1!=m.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:m,groupCount:x-1}),m.token=m.token[0]):(m.tokenArray=m.token,m.token=null,m.onMatch=this.$arrayTokens):typeof m.token=="function"&&!m.onMatch&&(x>1?m.onMatch=this.$applyToken:m.onMatch=m.token),x>1&&(/\\\d/.test(m.regex)?k=m.regex.replace(/\\([0-9]+)/g,function($,C){return"\\"+(parseInt(C,10)+t+1)}):(x=1,k=this.removeCapturingGroups(m.regex)),!m.splitRegex&&typeof m.token!="string"&&a.push(m)),e[t]=p,t+=x,r.push(k),m.onMatch||(m.onMatch=null)}}r.length||(e[0]=0,r.push("$")),a.forEach(function($){$.splitRegex=this.createSplitterRegexp($.regex,n)},this),this.regExps[i]=new RegExp("("+r.join(")|(")+")|($)",n)}}return s.prototype.$setMaxTokenCount=function(u){S=u|0},s.prototype.$applyToken=function(u){var i=this.splitRegex.exec(u).slice(1),o=this.token.apply(this,i);if(typeof o=="string")return[{type:o,value:u}];for(var r=[],t=0,e=o.length;t<e;t++)i[t]&&(r[r.length]={type:o[t],value:i[t]});return r},s.prototype.$arrayTokens=function(u){if(!u)return[];var i=this.splitRegex.exec(u);if(!i)return"text";for(var o=[],r=this.tokenArray,t=0,e=r.length;t<e;t++)i[t+1]&&(o[o.length]={type:r[t],value:i[t+1]});return o},s.prototype.removeCapturingGroups=function(u){var i=u.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(o,r){return r?"(?:":o});return i},s.prototype.createSplitterRegexp=function(u,i){if(u.indexOf("(?=")!=-1){var o=0,r=!1,t={};u.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,n,a,p,m,k){return r?r=m!="]":m?r=!0:p?(o==t.stack&&(t.end=k+1,t.stack=-1),o--):a&&(o++,a.length!=1&&(t.stack=o,t.start=k)),e}),t.end!=null&&/^\)*$/.test(u.substr(t.end))&&(u=u.substring(0,t.start)+u.substr(t.end))}return u.charAt(0)!="^"&&(u="^"+u),u.charAt(u.length-1)!="$"&&(u+="$"),new RegExp(u,(i||"").replace("g",""))},s.prototype.getLineTokens=function(u,i){if(i&&typeof i!="string"){var o=i.slice(0);i=o[0],i==="#tmp"&&(o.shift(),i=o.shift())}else var o=[];var r=i||"start",t=this.states[r];t||(r="start",t=this.states[r]);var e=this.matchMappings[r],n=this.regExps[r];n.lastIndex=0;for(var a,p=[],m=0,k=0,x={type:null,value:""};a=n.exec(u);){var $=e.defaultToken,C=null,W=a[0],ye=n.lastIndex;if(ye-W.length>m){var U=u.substring(m,ye-W.length);x.type==$?x.value+=U:(x.type&&p.push(x),x={type:$,value:U})}for(var L=0;L<a.length-2;L++)if(a[L+1]!==void 0){C=t[e[L]],C.onMatch?$=C.onMatch(W,r,o,u):$=C.token,C.next&&(typeof C.next=="string"?r=C.next:r=C.next(r,o),t=this.states[r],t||(this.reportError("state doesn't exist",r),r="start",t=this.states[r]),e=this.matchMappings[r],m=ye,n=this.regExps[r],n.lastIndex=ye),C.consumeLineEnd&&(m=ye);break}if(W){if(typeof $=="string")(!C||C.merge!==!1)&&x.type===$?x.value+=W:(x.type&&p.push(x),x={type:$,value:W});else if($){x.type&&p.push(x),x={type:null,value:""};for(var L=0;L<$.length;L++)p.push($[L])}}if(m==u.length)break;if(m=ye,k++>S){for(k>2*u.length&&this.reportError("infinite loop with in ace tokenizer",{startState:i,line:u});m<u.length;)x.type&&p.push(x),x={value:u.substring(m,m+=500),type:"overflow"};r="start",o=[];break}}return x.type&&p.push(x),o.length>1&&o[0]!==r&&o.unshift("#tmp",r),{tokens:p,state:o.length?o:r}},s}();_.prototype.reportError=A,g.Tokenizer=_}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(f,g,J){var A=f("../lib/deep_copy").deepCopy,S;S=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(u,i){if(!i){for(var o in u)this.$rules[o]=u[o];return}for(var o in u){for(var r=u[o],t=0;t<r.length;t++){var e=r[t];(e.next||e.onMatch)&&(typeof e.next=="string"&&e.next.indexOf(i)!==0&&(e.next=i+e.next),e.nextState&&e.nextState.indexOf(i)!==0&&(e.nextState=i+e.nextState))}this.$rules[i+o]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(u,i,o,r,t){var e=typeof u=="function"?new u().getRules():u;if(r)for(var n=0;n<r.length;n++)r[n]=i+r[n];else{r=[];for(var a in e)r.push(i+a)}if(this.addRules(e,i),o)for(var p=Array.prototype[t?"push":"unshift"],n=0;n<r.length;n++)p.apply(this.$rules[r[n]],A(o));this.$embeds||(this.$embeds=[]),this.$embeds.push(i)},this.getEmbeds=function(){return this.$embeds};var _=function(u,i){return(u!="start"||i.length)&&i.unshift(this.nextState,u),this.nextState},s=function(u,i){return i.shift(),i.shift()||"start"};this.normalizeRules=function(){var u=0,i=this.$rules;function o(r){var t=i[r];t.processed=!0;for(var e=0;e<t.length;e++){var n=t[e],a=null;Array.isArray(n)&&(a=n,n={}),!n.regex&&n.start&&(n.regex=n.start,n.next||(n.next=[]),n.next.push({defaultToken:n.token},{token:n.token+".end",regex:n.end||n.start,next:"pop"}),n.token=n.token+".start",n.push=!0);var p=n.next||n.push;if(p&&Array.isArray(p)){var m=n.stateName;m||(m=n.token,typeof m!="string"&&(m=m[0]||""),i[m]&&(m+=u++)),i[m]=p,n.next=m,o(m)}else p=="pop"&&(n.next=s);if(n.push&&(n.nextState=n.next||n.push,n.next=_,delete n.push),n.rules)for(var k in n.rules)i[k]?i[k].push&&i[k].push.apply(i[k],n.rules[k]):i[k]=n.rules[k];var x=typeof n=="string"?n:n.include;if(x&&(x==="$self"&&(x="start"),Array.isArray(x)?a=x.map(function(C){return i[C]}):a=i[x]),a){var $=[e,1].concat(a);n.noEscape&&($=$.filter(function(C){return!C.next})),t.splice.apply(t,$),e--}n.keywordMap&&(n.token=this.createKeywordMapper(n.keywordMap,n.defaultToken||"text",n.caseInsensitive),delete n.defaultToken)}}Object.keys(i).forEach(o,this)},this.createKeywordMapper=function(u,i,o,r){var t=Object.create(null);return this.$keywordList=[],Object.keys(u).forEach(function(e){for(var n=u[e],a=n.split(r||"|"),p=a.length;p--;){var m=a[p];this.$keywordList.push(m),o&&(m=m.toLowerCase()),t[m]=e}},this),u=null,o?function(e){return t[e.toLowerCase()]||i}:function(e){return t[e]||i}},this.getKeywords=function(){return this.$keywords}}).call(S.prototype),g.TextHighlightRules=S}),ace.define("ace/mode/behaviour",["require","exports","module"],function(f,g,J){var A;A=function(){this.$behaviours={}},(function(){this.add=function(S,_,s){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[S]:this.$behaviours[S]={}}this.$behaviours[S][_]=s},this.addBehaviours=function(S){for(var _ in S)for(var s in S[_])this.add(_,s,S[_][s])},this.remove=function(S){this.$behaviours&&this.$behaviours[S]&&delete this.$behaviours[S]},this.inherit=function(S,_){if(typeof S=="function")var s=new S().getBehaviours(_);else var s=S.getBehaviours(_);this.addBehaviours(s)},this.getBehaviours=function(S){if(S){for(var _={},s=0;s<S.length;s++)this.$behaviours[S[s]]&&(_[S[s]]=this.$behaviours[S[s]]);return _}else return this.$behaviours}}).call(A.prototype),g.Behaviour=A}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(f,g,J){var A=f("./range").Range,S=function(){function _(s,u,i){this.$session=s,this.$row=u,this.$rowTokens=s.getTokens(u);var o=s.getTokenAt(u,i);this.$tokenIndex=o?o.index:-1}return _.prototype.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]},_.prototype.stepForward=function(){this.$tokenIndex+=1;for(var s;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,s||(s=this.$session.getLength()),this.$row>=s)return this.$row=s-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},_.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},_.prototype.getCurrentTokenRow=function(){return this.$row},_.prototype.getCurrentTokenColumn=function(){var s=this.$rowTokens,u=this.$tokenIndex,i=s[u].start;if(i!==void 0)return i;for(i=0;u>0;)u-=1,i+=s[u].value.length;return i},_.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},_.prototype.getCurrentTokenRange=function(){var s=this.$rowTokens[this.$tokenIndex],u=this.getCurrentTokenColumn();return new A(this.$row,u,this.$row,u+s.value.length)},_}();g.TokenIterator=S}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(f,g,J){var A=f("../../lib/oop"),S=f("../behaviour").Behaviour,_=f("../../token_iterator").TokenIterator,s=f("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],i=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],o,r={},t={'"':'"',"'":"'"},e=function(p){var m=-1;if(p.multiSelect&&(m=p.selection.index,r.rangeCount!=p.multiSelect.rangeCount&&(r={rangeCount:p.multiSelect.rangeCount})),r[m])return o=r[m];o=r[m]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},n=function(p,m,k,x){var $=p.end.row-p.start.row;return{text:k+m+x,selection:[0,p.start.column+1,$,p.end.column+($?0:1)]}},a;a=function(p){p=p||{},this.add("braces","insertion",function(m,k,x,$,C){var W=x.getCursorPosition(),ye=$.doc.getLine(W.row);if(C=="{"){e(x);var U=x.getSelectionRange(),L=$.doc.getTextRange(U),De=$.getTokenAt(W.row,W.column);if(L!==""&&L!=="{"&&x.getWrapBehavioursEnabled())return n(U,L,"{","}");if(De&&/(?:string)\.quasi|\.xml/.test(De.type)){var I=[/tag\-(?:open|name)/,/attribute\-name/];return I.some(function(Ee){return Ee.test(De.type)})||/(string)\.quasi/.test(De.type)&&De.value[W.column-De.start-1]!=="$"?void 0:(a.recordAutoInsert(x,$,"}"),{text:"{}",selection:[1,1]})}else if(a.isSaneInsertion(x,$))return/[\]\}\)]/.test(ye[W.column])||x.inMultiSelectMode||p.braces?(a.recordAutoInsert(x,$,"}"),{text:"{}",selection:[1,1]}):(a.recordMaybeInsert(x,$,"{"),{text:"{",selection:[1,1]})}else if(C=="}"){e(x);var E=ye.substring(W.column,W.column+1);if(E=="}"){var b=$.$findOpeningBracket("}",{column:W.column+1,row:W.row});if(b!==null&&a.isAutoInsertedClosing(W,ye,C))return a.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(C==`
|
182
|
+
`||C==`\r
|
183
|
+
`){e(x);var y="";a.isMaybeInsertedClosing(W,ye)&&(y=s.stringRepeat("}",o.maybeInsertedBrackets),a.clearMaybeInsertedClosing());var E=ye.substring(W.column,W.column+1);if(E==="}"){var M=$.findMatchingBracket({row:W.row,column:W.column+1},"}");if(!M)return null;var q=this.$getIndent($.getLine(M.row))}else if(y)var q=this.$getIndent(ye);else{a.clearMaybeInsertedClosing();return}var _e=q+$.getTabString();return{text:`
|
184
|
+
`+_e+`
|
185
|
+
`+q+y,selection:[1,_e.length,1,_e.length]}}else a.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(m,k,x,$,C){var W=$.doc.getTextRange(C);if(!C.isMultiLine()&&W=="{"){e(x);var ye=$.doc.getLine(C.start.row),U=ye.substring(C.end.column,C.end.column+1);if(U=="}")return C.end.column++,C;o.maybeInsertedBrackets--}}),this.add("parens","insertion",function(m,k,x,$,C){if(C=="("){e(x);var W=x.getSelectionRange(),ye=$.doc.getTextRange(W);if(ye!==""&&x.getWrapBehavioursEnabled())return n(W,ye,"(",")");if(a.isSaneInsertion(x,$))return a.recordAutoInsert(x,$,")"),{text:"()",selection:[1,1]}}else if(C==")"){e(x);var U=x.getCursorPosition(),L=$.doc.getLine(U.row),De=L.substring(U.column,U.column+1);if(De==")"){var I=$.$findOpeningBracket(")",{column:U.column+1,row:U.row});if(I!==null&&a.isAutoInsertedClosing(U,L,C))return a.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(m,k,x,$,C){var W=$.doc.getTextRange(C);if(!C.isMultiLine()&&W=="("){e(x);var ye=$.doc.getLine(C.start.row),U=ye.substring(C.start.column+1,C.start.column+2);if(U==")")return C.end.column++,C}}),this.add("brackets","insertion",function(m,k,x,$,C){if(C=="["){e(x);var W=x.getSelectionRange(),ye=$.doc.getTextRange(W);if(ye!==""&&x.getWrapBehavioursEnabled())return n(W,ye,"[","]");if(a.isSaneInsertion(x,$))return a.recordAutoInsert(x,$,"]"),{text:"[]",selection:[1,1]}}else if(C=="]"){e(x);var U=x.getCursorPosition(),L=$.doc.getLine(U.row),De=L.substring(U.column,U.column+1);if(De=="]"){var I=$.$findOpeningBracket("]",{column:U.column+1,row:U.row});if(I!==null&&a.isAutoInsertedClosing(U,L,C))return a.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(m,k,x,$,C){var W=$.doc.getTextRange(C);if(!C.isMultiLine()&&W=="["){e(x);var ye=$.doc.getLine(C.start.row),U=ye.substring(C.start.column+1,C.start.column+2);if(U=="]")return C.end.column++,C}}),this.add("string_dquotes","insertion",function(m,k,x,$,C){var W=$.$mode.$quotes||t;if(C.length==1&&W[C]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(C)!=-1)return;e(x);var ye=C,U=x.getSelectionRange(),L=$.doc.getTextRange(U);if(L!==""&&(L.length!=1||!W[L])&&x.getWrapBehavioursEnabled())return n(U,L,ye,ye);if(!L){var De=x.getCursorPosition(),I=$.doc.getLine(De.row),E=I.substring(De.column-1,De.column),b=I.substring(De.column,De.column+1),y=$.getTokenAt(De.row,De.column),M=$.getTokenAt(De.row,De.column+1);if(E=="\\"&&y&&/escape/.test(y.type))return null;var q=y&&/string|escape/.test(y.type),_e=!M||/string|escape/.test(M.type),Ee;if(b==ye)Ee=q!==_e,Ee&&/string\.end/.test(M.type)&&(Ee=!1);else{if(q&&!_e||q&&_e)return null;var it=$.$mode.tokenRe;it.lastIndex=0;var ot=it.test(E);it.lastIndex=0;var zt=it.test(b),at=$.$mode.$pairQuotesAfter,ct=at&&at[ye]&&at[ye].test(E);if(!ct&&ot||zt||b&&!/[\s;,.})\]\\]/.test(b))return null;var Mt=I[De.column-2];if(E==ye&&(Mt==ye||it.test(Mt)))return null;Ee=!0}return{text:Ee?ye+ye:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(m,k,x,$,C){var W=$.$mode.$quotes||t,ye=$.doc.getTextRange(C);if(!C.isMultiLine()&&W.hasOwnProperty(ye)){e(x);var U=$.doc.getLine(C.start.row),L=U.substring(C.start.column+1,C.start.column+2);if(L==ye)return C.end.column++,C}}),p.closeDocComment!==!1&&this.add("doc comment end","insertion",function(m,k,x,$,C){if(m==="doc-start"&&(C===`
|
186
|
+
`||C===`\r
|
187
|
+
`)&&x.selection.isEmpty()){var W=x.getCursorPosition();if(W.column===0)return;for(var ye=$.doc.getLine(W.row),U=$.doc.getLine(W.row+1),L=$.getTokens(W.row),De=0,I=0;I<L.length;I++){De+=L[I].value.length;var E=L[I];if(De>=W.column){if(De===W.column){if(!/\.doc/.test(E.type))return;if(/\*\//.test(E.value)){var b=L[I+1];if(!b||!/\.doc/.test(b.type))return}}var y=W.column-(De-E.value.length),M=E.value.indexOf("*/"),q=E.value.indexOf("/**",M>-1?M+2:0);if(q!==-1&&y>q&&y<q+3||M!==-1&&q!==-1&&y>=M&&y<=q||!/\.doc/.test(E.type))return;break}}var _e=this.$getIndent(ye);if(/\s*\*/.test(U))return/^\s*\*/.test(ye)?{text:C+_e+"* ",selection:[1,2+_e.length,1,2+_e.length]}:{text:C+_e+" * ",selection:[1,3+_e.length,1,3+_e.length]};if(/\/\*\*/.test(ye.substring(0,W.column)))return{text:C+_e+" * "+C+" "+_e+"*/",selection:[1,4+_e.length,1,4+_e.length]}}})},a.isSaneInsertion=function(p,m){var k=p.getCursorPosition(),x=new _(m,k.row,k.column);if(!this.$matchTokenType(x.getCurrentToken()||"text",u)){if(/[)}\]]/.test(p.session.getLine(k.row)[k.column]))return!0;var $=new _(m,k.row,k.column+1);if(!this.$matchTokenType($.getCurrentToken()||"text",u))return!1}return x.stepForward(),x.getCurrentTokenRow()!==k.row||this.$matchTokenType(x.getCurrentToken()||"text",i)},a.$matchTokenType=function(p,m){return m.indexOf(p.type||p)>-1},a.recordAutoInsert=function(p,m,k){var x=p.getCursorPosition(),$=m.doc.getLine(x.row);this.isAutoInsertedClosing(x,$,o.autoInsertedLineEnd[0])||(o.autoInsertedBrackets=0),o.autoInsertedRow=x.row,o.autoInsertedLineEnd=k+$.substr(x.column),o.autoInsertedBrackets++},a.recordMaybeInsert=function(p,m,k){var x=p.getCursorPosition(),$=m.doc.getLine(x.row);this.isMaybeInsertedClosing(x,$)||(o.maybeInsertedBrackets=0),o.maybeInsertedRow=x.row,o.maybeInsertedLineStart=$.substr(0,x.column)+k,o.maybeInsertedLineEnd=$.substr(x.column),o.maybeInsertedBrackets++},a.isAutoInsertedClosing=function(p,m,k){return o.autoInsertedBrackets>0&&p.row===o.autoInsertedRow&&k===o.autoInsertedLineEnd[0]&&m.substr(p.column)===o.autoInsertedLineEnd},a.isMaybeInsertedClosing=function(p,m){return o.maybeInsertedBrackets>0&&p.row===o.maybeInsertedRow&&m.substr(p.column)===o.maybeInsertedLineEnd&&m.substr(0,p.column)==o.maybeInsertedLineStart},a.popAutoInsertedClosing=function(){o.autoInsertedLineEnd=o.autoInsertedLineEnd.substr(1),o.autoInsertedBrackets--},a.clearMaybeInsertedClosing=function(){o&&(o.maybeInsertedBrackets=0,o.maybeInsertedRow=-1)},A.inherits(a,S),g.CstyleBehaviour=a}),ace.define("ace/unicode",["require","exports","module"],function(f,g,J){for(var A=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],S=0,_=[],s=0;s<A.length;s+=2)_.push(S+=A[s]),A[s+1]&&_.push(45,S+=A[s+1]);g.wordChars=String.fromCharCode.apply(null,_)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(f,g,J){var A=f("../config"),S=f("../tokenizer").Tokenizer,_=f("./text_highlight_rules").TextHighlightRules,s=f("./behaviour/cstyle").CstyleBehaviour,u=f("../unicode"),i=f("../lib/lang"),o=f("../token_iterator").TokenIterator,r=f("../range").Range,t;t=function(){this.HighlightRules=_},(function(){this.$defaultBehaviour=new s,this.tokenRe=new RegExp("^["+u.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+u.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new S(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,n,a,p){var m=n.doc,k=!0,x=!0,$=1/0,C=n.getTabSize(),W=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var L=this.lineCommentStart.map(i.escapeRegExp).join("|"),ye=this.lineCommentStart[0];else var L=i.escapeRegExp(this.lineCommentStart),ye=this.lineCommentStart;L=new RegExp("^(\\s*)(?:"+L+") ?"),W=n.getUseSoftTabs();var E=function(zt,at){var ct=zt.match(L);if(ct){var Mt=ct[1].length,Bt=ct[0].length;!M(zt,Mt,Bt)&&ct[0][Bt-1]==" "&&Bt--,m.removeInLine(at,Mt,Bt)}},y=ye+" ",I=function(zt,at){(!k||/\S/.test(zt))&&(M(zt,$,$)?m.insertInLine({row:at,column:$},y):m.insertInLine({row:at,column:$},ye))},b=function(zt,at){return L.test(zt)},M=function(zt,at,ct){for(var Mt=0;at--&&zt.charAt(at)==" ";)Mt++;if(Mt%C!=0)return!1;for(var Mt=0;zt.charAt(ct++)==" ";)Mt++;return C>2?Mt%C!=C-1:Mt%C==0}}else{if(!this.blockComment)return!1;var ye=this.blockComment.start,U=this.blockComment.end,L=new RegExp("^(\\s*)(?:"+i.escapeRegExp(ye)+")"),De=new RegExp("(?:"+i.escapeRegExp(U)+")\\s*$"),I=function(Ee,it){b(Ee,it)||(!k||/\S/.test(Ee))&&(m.insertInLine({row:it,column:Ee.length},U),m.insertInLine({row:it,column:$},ye))},E=function(Ee,it){var ot;(ot=Ee.match(De))&&m.removeInLine(it,Ee.length-ot[0].length,Ee.length),(ot=Ee.match(L))&&m.removeInLine(it,ot[1].length,ot[0].length)},b=function(Ee,it){if(L.test(Ee))return!0;for(var ot=n.getTokens(it),zt=0;zt<ot.length;zt++)if(ot[zt].type==="comment")return!0}}function q(Ee){for(var it=a;it<=p;it++)Ee(m.getLine(it),it)}var _e=1/0;q(function(Ee,it){var ot=Ee.search(/\S/);ot!==-1?(ot<$&&($=ot),x&&!b(Ee,it)&&(x=!1)):_e>Ee.length&&(_e=Ee.length)}),$==1/0&&($=_e,k=!1,x=!1),W&&$%C!=0&&($=Math.floor($/C)*C),q(x?E:I)},this.toggleBlockComment=function(e,n,a,p){var m=this.blockComment;if(m){!m.start&&m[0]&&(m=m[0]);var k=new o(n,p.row,p.column),x=k.getCurrentToken();n.selection;var $=n.selection.toOrientedRange(),C,W;if(x&&/comment/.test(x.type)){for(var ye,U;x&&/comment/.test(x.type);){var L=x.value.indexOf(m.start);if(L!=-1){var De=k.getCurrentTokenRow(),I=k.getCurrentTokenColumn()+L;ye=new r(De,I,De,I+m.start.length);break}x=k.stepBackward()}for(var k=new o(n,p.row,p.column),x=k.getCurrentToken();x&&/comment/.test(x.type);){var L=x.value.indexOf(m.end);if(L!=-1){var De=k.getCurrentTokenRow(),I=k.getCurrentTokenColumn()+L;U=new r(De,I,De,I+m.end.length);break}x=k.stepForward()}U&&n.remove(U),ye&&(n.remove(ye),C=ye.start.row,W=-m.start.length)}else W=m.start.length,C=a.start.row,n.insert(a.end,m.end),n.insert(a.start,m.start);$.start.row==C&&($.start.column+=W),$.end.row==C&&($.end.column+=W),n.selection.fromOrientedRange($)}},this.getNextLineIndent=function(e,n,a){return this.$getIndent(n)},this.checkOutdent=function(e,n,a){return!1},this.autoOutdent=function(e,n,a){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var n in e)if(e[n]){var a=e[n],p=a.prototype.$id,m=A.$modes[p];m||(A.$modes[p]=m=new a),A.$modes[n]||(A.$modes[n]=m),this.$embeds.push(n),this.$modes[n]=m}for(var k=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],x=function(C){(function(W){var ye=k[C],U=W[ye];W[k[C]]=function(){return this.$delegator(ye,arguments,U)}})($)},$=this,n=0;n<k.length;n++)x(n)},this.$delegator=function(e,n,a){var p=n[0]||"start";if(typeof p!="string"){if(Array.isArray(p[2])){var m=p[2][p[2].length-1],k=this.$modes[m];if(k)return k[e].apply(k,[p[1]].concat([].slice.call(n,1)))}p=p[0]||"start"}for(var x=0;x<this.$embeds.length;x++)if(this.$modes[this.$embeds[x]]){var $=p.split(this.$embeds[x]);if(!$[0]&&$[1]){n[0]=$[1];var k=this.$modes[this.$embeds[x]];return k[e].apply(k,n)}}var C=a.apply(this,n);return a?C:void 0},this.transformAction=function(e,n,a,p,m){if(this.$behaviour){var k=this.$behaviour.getBehaviours();for(var x in k)if(k[x][n]){var $=k[x][n].apply(this,arguments);if($)return $}}},this.getKeywords=function(e){if(!this.completionKeywords){var n=this.$tokenizer.rules,a=[];for(var p in n)for(var m=n[p],k=0,x=m.length;k<x;k++)if(typeof m[k].token=="string")/keyword|support|storage/.test(m[k].token)&&a.push(m[k].regex);else if(typeof m[k].token=="object"){for(var $=0,C=m[k].token.length;$<C;$++)if(/keyword|support|storage/.test(m[k].token[$])){var p=m[k].regex.match(/\(.+?\)/g)[$];a.push(p.substr(1,p.length-2))}}this.completionKeywords=a}return e?a.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,n,a,p){var m=this.$keywordList||this.$createKeywordList();return m.map(function(k){return{name:k,value:k,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(t.prototype),g.Mode=t}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(f,g,J){var A=f("./lib/dom"),S=function(){function _(s){this.session=s,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return _.prototype.getRowLength=function(s){var u;return this.lineWidgets?u=this.lineWidgets[s]&&this.lineWidgets[s].rowCount||0:u=0,!this.$useWrapMode||!this.$wrapData[s]?1+u:this.$wrapData[s].length+1+u},_.prototype.$getWidgetScreenLength=function(){var s=0;return this.lineWidgets.forEach(function(u){u&&u.rowCount&&!u.hidden&&(s+=u.rowCount)}),s},_.prototype.$onChangeEditor=function(s){this.attach(s.editor)},_.prototype.attach=function(s){s&&s.widgetManager&&s.widgetManager!=this&&s.widgetManager.detach(),this.editor!=s&&(this.detach(),this.editor=s,s&&(s.widgetManager=this,s.renderer.on("beforeRender",this.measureWidgets),s.renderer.on("afterRender",this.renderWidgets)))},_.prototype.detach=function(s){var u=this.editor;if(u){this.editor=null,u.widgetManager=null,u.renderer.off("beforeRender",this.measureWidgets),u.renderer.off("afterRender",this.renderWidgets);var i=this.session.lineWidgets;i&&i.forEach(function(o){o&&o.el&&o.el.parentNode&&(o._inDocument=!1,o.el.parentNode.removeChild(o.el))})}},_.prototype.updateOnFold=function(s,u){var i=u.lineWidgets;if(!(!i||!s.action)){for(var o=s.data,r=o.start.row,t=o.end.row,e=s.action=="add",n=r+1;n<t;n++)i[n]&&(i[n].hidden=e);i[t]&&(e?i[r]?i[t].hidden=e:i[r]=i[t]:(i[r]==i[t]&&(i[r]=void 0),i[t].hidden=e))}},_.prototype.updateOnChange=function(s){var u=this.session.lineWidgets;if(u){var i=s.start.row,o=s.end.row-i;if(o!==0)if(s.action=="remove"){var r=u.splice(i+1,o);!u[i]&&r[r.length-1]&&(u[i]=r.pop()),r.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var t=new Array(o);u[i]&&u[i].column!=null&&s.start.column>u[i].column&&i++,t.unshift(i,0),u.splice.apply(u,t),this.$updateRows()}}},_.prototype.$updateRows=function(){var s=this.session.lineWidgets;if(s){var u=!0;s.forEach(function(i,o){if(i)for(u=!1,i.row=o;i.$oldWidget;)i.$oldWidget.row=o,i=i.$oldWidget}),u&&(this.session.lineWidgets=null)}},_.prototype.$registerLineWidget=function(s){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var u=this.session.lineWidgets[s.row];return u&&(s.$oldWidget=u,u.el&&u.el.parentNode&&(u.el.parentNode.removeChild(u.el),u._inDocument=!1)),this.session.lineWidgets[s.row]=s,s},_.prototype.addLineWidget=function(s){if(this.$registerLineWidget(s),s.session=this.session,!this.editor)return s;var u=this.editor.renderer;s.html&&!s.el&&(s.el=A.createElement("div"),s.el.innerHTML=s.html),s.text&&!s.el&&(s.el=A.createElement("div"),s.el.textContent=s.text),s.el&&(A.addCssClass(s.el,"ace_lineWidgetContainer"),s.className&&A.addCssClass(s.el,s.className),s.el.style.position="absolute",s.el.style.zIndex="5",u.container.appendChild(s.el),s._inDocument=!0,s.coverGutter||(s.el.style.zIndex="3"),s.pixelHeight==null&&(s.pixelHeight=s.el.offsetHeight)),s.rowCount==null&&(s.rowCount=s.pixelHeight/u.layerConfig.lineHeight);var i=this.session.getFoldAt(s.row,0);if(s.$fold=i,i){var o=this.session.lineWidgets;s.row==i.end.row&&!o[i.start.row]?o[i.start.row]=s:s.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:s.row}}}),this.$updateRows(),this.renderWidgets(null,u),this.onWidgetChanged(s),s},_.prototype.removeLineWidget=function(s){if(s._inDocument=!1,s.session=null,s.el&&s.el.parentNode&&s.el.parentNode.removeChild(s.el),s.editor&&s.editor.destroy)try{s.editor.destroy()}catch{}if(this.session.lineWidgets){var u=this.session.lineWidgets[s.row];if(u==s)this.session.lineWidgets[s.row]=s.$oldWidget,s.$oldWidget&&this.onWidgetChanged(s.$oldWidget);else for(;u;){if(u.$oldWidget==s){u.$oldWidget=s.$oldWidget;break}u=u.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:s.row}}}),this.$updateRows()},_.prototype.getWidgetsAtRow=function(s){for(var u=this.session.lineWidgets,i=u&&u[s],o=[];i;)o.push(i),i=i.$oldWidget;return o},_.prototype.onWidgetChanged=function(s){this.session._changedWidgets.push(s),this.editor&&this.editor.renderer.updateFull()},_.prototype.measureWidgets=function(s,u){var i=this.session._changedWidgets,o=u.layerConfig;if(!(!i||!i.length)){for(var r=1/0,t=0;t<i.length;t++){var e=i[t];if(!(!e||!e.el)&&e.session==this.session){if(!e._inDocument){if(this.session.lineWidgets[e.row]!=e)continue;e._inDocument=!0,u.container.appendChild(e.el)}e.h=e.el.offsetHeight,e.fixedWidth||(e.w=e.el.offsetWidth,e.screenWidth=Math.ceil(e.w/o.characterWidth));var n=e.h/o.lineHeight;e.coverLine&&(n-=this.session.getRowLineCount(e.row),n<0&&(n=0)),e.rowCount!=n&&(e.rowCount=n,e.row<r&&(r=e.row))}}r!=1/0&&(this.session._emit("changeFold",{data:{start:{row:r}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},_.prototype.renderWidgets=function(s,u){var i=u.layerConfig,o=this.session.lineWidgets;if(o){for(var r=Math.min(this.firstRow,i.firstRow),t=Math.max(this.lastRow,i.lastRow,o.length);r>0&&!o[r];)r--;this.firstRow=i.firstRow,this.lastRow=i.lastRow,u.$cursorLayer.config=i;for(var e=r;e<=t;e++){var n=o[e];if(!(!n||!n.el)){if(n.hidden){n.el.style.top=-100-(n.pixelHeight||0)+"px";continue}n._inDocument||(n._inDocument=!0,u.container.appendChild(n.el));var a=u.$cursorLayer.getPixelPosition({row:e,column:0},!0).top;n.coverLine||(a+=i.lineHeight*this.session.getRowLineCount(n.row)),n.el.style.top=a-i.offset+"px";var p=n.coverGutter?0:u.gutterWidth;n.fixedWidth||(p-=u.scrollLeft),n.el.style.left=p+"px",n.fullWidth&&n.screenWidth&&(n.el.style.minWidth=i.width+2*i.padding+"px"),n.fixedWidth?n.el.style.right=u.scrollBar.getWidth()+"px":n.el.style.right=""}}}},_}();g.LineWidgets=S}),ace.define("ace/apply_delta",["require","exports","module"],function(f,g,J){g.applyDelta=function(A,S,_){var s=S.start.row,u=S.start.column,i=A[s]||"";switch(S.action){case"insert":var o=S.lines;if(o.length===1)A[s]=i.substring(0,u)+S.lines[0]+i.substring(u);else{var r=[s,1].concat(S.lines);A.splice.apply(A,r),A[s]=i.substring(0,u)+A[s],A[s+S.lines.length-1]+=i.substring(u)}break;case"remove":var t=S.end.column,e=S.end.row;s===e?A[s]=i.substring(0,u)+i.substring(t):A.splice(s,e-s+1,i.substring(0,u)+A[e].substring(t));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(f,g,J){var A=f("./lib/oop"),S=f("./lib/event_emitter").EventEmitter,_=function(){function i(o,r,t){this.$onChange=this.onChange.bind(this),this.attach(o),typeof r!="number"?this.setPosition(r.row,r.column):this.setPosition(r,t)}return i.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},i.prototype.getDocument=function(){return this.document},i.prototype.onChange=function(o){if(!(o.start.row==o.end.row&&o.start.row!=this.row)&&!(o.start.row>this.row)){var r=u(o,{row:this.row,column:this.column},this.$insertRight);this.setPosition(r.row,r.column,!0)}},i.prototype.setPosition=function(o,r,t){var e;if(t?e={row:o,column:r}:e=this.$clipPositionToDocument(o,r),!(this.row==e.row&&this.column==e.column)){var n={row:this.row,column:this.column};this.row=e.row,this.column=e.column,this._signal("change",{old:n,value:e})}},i.prototype.detach=function(){this.document.off("change",this.$onChange)},i.prototype.attach=function(o){this.document=o||this.document,this.document.on("change",this.$onChange)},i.prototype.$clipPositionToDocument=function(o,r){var t={};return o>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):o<0?(t.row=0,t.column=0):(t.row=o,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,r))),r<0&&(t.column=0),t},i}();_.prototype.$insertRight=!1,A.implement(_.prototype,S);function s(i,o,r){var t=r?i.column<=o.column:i.column<o.column;return i.row<o.row||i.row==o.row&&t}function u(i,o,r){var t=i.action=="insert",e=(t?1:-1)*(i.end.row-i.start.row),n=(t?1:-1)*(i.end.column-i.start.column),a=i.start,p=t?a:i.end;return s(o,a,r)?{row:o.row,column:o.column}:s(p,o,!r)?{row:o.row+e,column:o.column+(o.row==p.row?n:0)}:{row:a.row,column:a.column}}g.Anchor=_}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(f,g,J){var A=f("./lib/oop"),S=f("./apply_delta").applyDelta,_=f("./lib/event_emitter").EventEmitter,s=f("./range").Range,u=f("./anchor").Anchor,i=function(){function o(r){this.$lines=[""],r.length===0?this.$lines=[""]:Array.isArray(r)?this.insertMergedLines({row:0,column:0},r):this.insert({row:0,column:0},r)}return o.prototype.setValue=function(r){var t=this.getLength()-1;this.remove(new s(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},r||"")},o.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},o.prototype.createAnchor=function(r,t){return new u(this,r,t)},o.prototype.$detectNewLine=function(r){var t=r.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:`
|
188
|
+
`,this._signal("changeNewLineMode")},o.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
|
189
|
+
`;case"unix":return`
|
190
|
+
`;default:return this.$autoNewLine||`
|
191
|
+
`}},o.prototype.setNewLineMode=function(r){this.$newLineMode!==r&&(this.$newLineMode=r,this._signal("changeNewLineMode"))},o.prototype.getNewLineMode=function(){return this.$newLineMode},o.prototype.isNewLine=function(r){return r==`\r
|
192
|
+
`||r=="\r"||r==`
|
193
|
+
`},o.prototype.getLine=function(r){return this.$lines[r]||""},o.prototype.getLines=function(r,t){return this.$lines.slice(r,t+1)},o.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},o.prototype.getLength=function(){return this.$lines.length},o.prototype.getTextRange=function(r){return this.getLinesForRange(r).join(this.getNewLineCharacter())},o.prototype.getLinesForRange=function(r){var t;if(r.start.row===r.end.row)t=[this.getLine(r.start.row).substring(r.start.column,r.end.column)];else{t=this.getLines(r.start.row,r.end.row),t[0]=(t[0]||"").substring(r.start.column);var e=t.length-1;r.end.row-r.start.row==e&&(t[e]=t[e].substring(0,r.end.column))}return t},o.prototype.insertLines=function(r,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(r,t)},o.prototype.removeLines=function(r,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(r,t)},o.prototype.insertNewLine=function(r){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(r,["",""])},o.prototype.insert=function(r,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(r,this.$split(t))},o.prototype.insertInLine=function(r,t){var e=this.clippedPos(r.row,r.column),n=this.pos(r.row,r.column+t.length);return this.applyDelta({start:e,end:n,action:"insert",lines:[t]},!0),this.clonePos(n)},o.prototype.clippedPos=function(r,t){var e=this.getLength();r===void 0?r=e:r<0?r=0:r>=e&&(r=e-1,t=void 0);var n=this.getLine(r);return t==null&&(t=n.length),t=Math.min(Math.max(t,0),n.length),{row:r,column:t}},o.prototype.clonePos=function(r){return{row:r.row,column:r.column}},o.prototype.pos=function(r,t){return{row:r,column:t}},o.prototype.$clipPosition=function(r){var t=this.getLength();return r.row>=t?(r.row=Math.max(0,t-1),r.column=this.getLine(t-1).length):(r.row=Math.max(0,r.row),r.column=Math.min(Math.max(r.column,0),this.getLine(r.row).length)),r},o.prototype.insertFullLines=function(r,t){r=Math.min(Math.max(r,0),this.getLength());var e=0;r<this.getLength()?(t=t.concat([""]),e=0):(t=[""].concat(t),r--,e=this.$lines[r].length),this.insertMergedLines({row:r,column:e},t)},o.prototype.insertMergedLines=function(r,t){var e=this.clippedPos(r.row,r.column),n={row:e.row+t.length-1,column:(t.length==1?e.column:0)+t[t.length-1].length};return this.applyDelta({start:e,end:n,action:"insert",lines:t}),this.clonePos(n)},o.prototype.remove=function(r){var t=this.clippedPos(r.start.row,r.start.column),e=this.clippedPos(r.end.row,r.end.column);return this.applyDelta({start:t,end:e,action:"remove",lines:this.getLinesForRange({start:t,end:e})}),this.clonePos(t)},o.prototype.removeInLine=function(r,t,e){var n=this.clippedPos(r,t),a=this.clippedPos(r,e);return this.applyDelta({start:n,end:a,action:"remove",lines:this.getLinesForRange({start:n,end:a})},!0),this.clonePos(n)},o.prototype.removeFullLines=function(r,t){r=Math.min(Math.max(0,r),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var e=t==this.getLength()-1&&r>0,n=t<this.getLength()-1,a=e?r-1:r,p=e?this.getLine(a).length:0,m=n?t+1:t,k=n?0:this.getLine(m).length,x=new s(a,p,m,k),$=this.$lines.slice(r,t+1);return this.applyDelta({start:x.start,end:x.end,action:"remove",lines:this.getLinesForRange(x)}),$},o.prototype.removeNewLine=function(r){r<this.getLength()-1&&r>=0&&this.applyDelta({start:this.pos(r,this.getLine(r).length),end:this.pos(r+1,0),action:"remove",lines:["",""]})},o.prototype.replace=function(r,t){if(r instanceof s||(r=s.fromPoints(r.start,r.end)),t.length===0&&r.isEmpty())return r.start;if(t==this.getTextRange(r))return r.end;this.remove(r);var e;return t?e=this.insert(r.start,t):e=r.start,e},o.prototype.applyDeltas=function(r){for(var t=0;t<r.length;t++)this.applyDelta(r[t])},o.prototype.revertDeltas=function(r){for(var t=r.length-1;t>=0;t--)this.revertDelta(r[t])},o.prototype.applyDelta=function(r,t){var e=r.action=="insert";(e?r.lines.length<=1&&!r.lines[0]:!s.comparePoints(r.start,r.end))||(e&&r.lines.length>2e4?this.$splitAndapplyLargeDelta(r,2e4):(S(this.$lines,r,t),this._signal("change",r)))},o.prototype.$safeApplyDelta=function(r){var t=this.$lines.length;(r.action=="remove"&&r.start.row<t&&r.end.row<t||r.action=="insert"&&r.start.row<=t)&&this.applyDelta(r)},o.prototype.$splitAndapplyLargeDelta=function(r,t){for(var e=r.lines,n=e.length-t+1,a=r.start.row,p=r.start.column,m=0,k=0;m<n;m=k){k+=t-1;var x=e.slice(m,k);x.push(""),this.applyDelta({start:this.pos(a+m,p),end:this.pos(a+k,p=0),action:r.action,lines:x},!0)}r.lines=e.slice(m),r.start.row=a+m,r.start.column=p,this.applyDelta(r,!0)},o.prototype.revertDelta=function(r){this.$safeApplyDelta({start:this.clonePos(r.start),end:this.clonePos(r.end),action:r.action=="insert"?"remove":"insert",lines:r.lines.slice()})},o.prototype.indexToPosition=function(r,t){for(var e=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,a=t||0,p=e.length;a<p;a++)if(r-=e[a].length+n,r<0)return{row:a,column:r+e[a].length+n};return{row:p-1,column:r+e[p-1].length+n}},o.prototype.positionToIndex=function(r,t){for(var e=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,a=0,p=Math.min(r.row,e.length),m=t||0;m<p;++m)a+=e[m].length+n;return a+r.column},o.prototype.$split=function(r){return r.split(/\r\n|\r|\n/)},o}();i.prototype.$autoNewLine="",i.prototype.$newLineMode="auto",A.implement(i.prototype,_),g.Document=i}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(f,g,J){var A=f("./lib/oop"),S=f("./lib/event_emitter").EventEmitter,_=function(){function s(u,i){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=u;var o=this;this.$worker=function(){if(o.running){for(var r=new Date,t=o.currentLine,e=-1,n=o.doc,a=t;o.lines[t];)t++;var p=n.getLength(),m=0;for(o.running=!1;t<p;){o.$tokenizeRow(t),e=t;do t++;while(o.lines[t]);if(m++,m%5===0&&new Date-r>20){o.running=setTimeout(o.$worker,20);break}}o.currentLine=t,e==-1&&(e=t),a<=e&&o.fireUpdateEvent(a,e)}}}return s.prototype.setTokenizer=function(u){this.tokenizer=u,this.lines=[],this.states=[],this.start(0)},s.prototype.setDocument=function(u){this.doc=u,this.lines=[],this.states=[],this.stop()},s.prototype.fireUpdateEvent=function(u,i){var o={first:u,last:i};this._signal("update",{data:o})},s.prototype.start=function(u){this.currentLine=Math.min(u||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)},s.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},s.prototype.$updateOnChange=function(u){var i=u.start.row,o=u.end.row-i;if(o===0)this.lines[i]=null;else if(u.action=="remove")this.lines.splice(i,o+1,null),this.states.splice(i,o+1,null);else{var r=Array(o+1);r.unshift(i,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(i,this.currentLine,this.doc.getLength()),this.stop()},s.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},s.prototype.getTokens=function(u){return this.lines[u]||this.$tokenizeRow(u)},s.prototype.getState=function(u){return this.currentLine==u&&this.$tokenizeRow(u),this.states[u]||"start"},s.prototype.$tokenizeRow=function(u){var i=this.doc.getLine(u),o=this.states[u-1],r=this.tokenizer.getLineTokens(i,o,u);return this.states[u]+""!=r.state+""?(this.states[u]=r.state,this.lines[u+1]=null,this.currentLine>u+1&&(this.currentLine=u+1)):this.currentLine==u&&(this.currentLine=u+1),this.lines[u]=r.tokens},s.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},s}();A.implement(_.prototype,S),g.BackgroundTokenizer=_}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(f,g,J){var A=f("./lib/lang"),S=f("./range").Range,_=function(){function s(u,i,o){o===void 0&&(o="text"),this.setRegexp(u),this.clazz=i,this.type=o,this.docLen=0}return s.prototype.setRegexp=function(u){this.regExp+""!=u+""&&(this.regExp=u,this.cache=[])},s.prototype.update=function(u,i,o,r){if(this.regExp){for(var t=r.firstRow,e=r.lastRow,n={},a=o.$editor.$search,p=a.$isMultilineSearch(o.$editor.getLastSearchOptions()),m=t;m<=e;m++){var k=this.cache[m];if(k==null||o.getValue().length!=this.docLen){if(p){k=[];var x=a.$multiLineForward(o,this.regExp,m,e);if(x){var $=x.endRow<=e?x.endRow-1:e;$>m&&(m=$),k.push(new S(x.startRow,x.startCol,x.endRow,x.endCol))}k.length>this.MAX_RANGES&&(k=k.slice(0,this.MAX_RANGES))}else k=A.getMatchOffsets(o.getLine(m),this.regExp),k.length>this.MAX_RANGES&&(k=k.slice(0,this.MAX_RANGES)),k=k.map(function(U){return new S(m,U.offset,m,U.offset+U.length)});this.cache[m]=k.length?k:""}if(k.length!==0)for(var C=k.length;C--;){var W=k[C].toScreenRange(o),ye=W.toString();n[ye]||(n[ye]=!0,i.drawSingleLineMarker(u,W,this.clazz,r))}}this.docLen=o.getValue().length}},s}();_.prototype.MAX_RANGES=500,g.SearchHighlight=_}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(f,g,J){var A=function(){function $(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return $.prototype.addSession=function(C){this.$session=C},$.prototype.add=function(C,W,ye){if(!this.$fromUndo&&C!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),W===!1||!this.lastDeltas){this.lastDeltas=[];var U=this.$undoStack.length;U>this.$undoDepth-1&&this.$undoStack.splice(0,U-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),C.id=this.$rev=++this.$maxRev}(C.action=="remove"||C.action=="insert")&&(this.$lastDelta=C),this.lastDeltas.push(C)}},$.prototype.addSelection=function(C,W){this.selections.push({value:C,rev:W||this.$rev})},$.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},$.prototype.markIgnored=function(C,W){W==null&&(W=this.$rev+1);for(var ye=this.$undoStack,U=ye.length;U--;){var L=ye[U][0];if(L.id<=C)break;L.id<W&&(L.ignore=!0)}this.lastDeltas=null},$.prototype.getSelection=function(C,W){for(var ye=this.selections,U=ye.length;U--;){var L=ye[U];if(L.rev<C)return W&&(L=ye[U+1]),L}},$.prototype.getRevision=function(){return this.$rev},$.prototype.getDeltas=function(C,W){W==null&&(W=this.$rev+1);for(var ye=this.$undoStack,U=null,L=0,De=ye.length;De--;){var I=ye[De][0];if(I.id<W&&!U&&(U=De+1),I.id<=C){L=De+1;break}}return ye.slice(L,U)},$.prototype.getChangedRanges=function(C,W){W==null&&(W=this.$rev+1)},$.prototype.getChangedLines=function(C,W){W==null&&(W=this.$rev+1)},$.prototype.undo=function(C,W){this.lastDeltas=null;var ye=this.$undoStack;if(S(ye,ye.length)){C||(C=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var U=ye.pop(),L=null;return U&&(L=C.undoChanges(U,W),this.$redoStack.push(U),this.$syncRev()),this.$fromUndo=!1,L}},$.prototype.redo=function(C,W){if(this.lastDeltas=null,C||(C=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var ye=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);x(this.$redoStack,ye),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(De){De[0].id=++this.$maxRev},this)}var U=this.$redoStack.pop(),L=null;return U&&(L=C.redoChanges(U,W),this.$undoStack.push(U),this.$syncRev()),this.$fromUndo=!1,L},$.prototype.$syncRev=function(){var C=this.$undoStack,W=C[C.length-1],ye=W&&W[0].id||0;this.$redoStackBaseRev=ye,this.$rev=ye},$.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},$.prototype.canUndo=function(){return this.$undoStack.length>0},$.prototype.canRedo=function(){return this.$redoStack.length>0},$.prototype.bookmark=function(C){C==null&&(C=this.$rev),this.mark=C},$.prototype.isAtBookmark=function(){return this.$rev===this.mark},$.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},$.prototype.fromJSON=function(C){this.reset(),this.$undoStack=C.$undoStack,this.$redoStack=C.$redoStack},$.prototype.$prettyPrint=function(C){return C?o(C):o(this.$undoStack)+`
|
194
|
+
---
|
195
|
+
`+o(this.$redoStack)},$}();A.prototype.hasUndo=A.prototype.canUndo,A.prototype.hasRedo=A.prototype.canRedo,A.prototype.isClean=A.prototype.isAtBookmark,A.prototype.markClean=A.prototype.bookmark;function S($,C){for(var W=C;W--;){var ye=$[W];if(ye&&!ye[0].ignore){for(;W<C-1;){var U=e($[W],$[W+1]);$[W]=U[0],$[W+1]=U[1],W++}return!0}}}var _=f("./range").Range,s=_.comparePoints;_.comparePoints;function u($){return{row:$.row,column:$.column}}function i($){return{start:u($.start),end:u($.end),action:$.action,lines:$.lines.slice()}}function o($){if($=$||this,Array.isArray($))return $.map(o).join(`
|
196
|
+
`);var C="";return $.action?(C=$.action=="insert"?"+":"-",C+="["+$.lines+"]"):$.value&&(Array.isArray($.value)?C=$.value.map(r).join(`
|
197
|
+
`):C=r($.value)),$.start&&(C+=r($)),($.id||$.rev)&&(C+=" ("+($.id||$.rev)+")"),C}function r($){return $.start.row+":"+$.start.column+"=>"+$.end.row+":"+$.end.column}function t($,C){var W=$.action=="insert",ye=C.action=="insert";if(W&&ye)if(s(C.start,$.end)>=0)a(C,$,-1);else if(s(C.start,$.start)<=0)a($,C,1);else return null;else if(W&&!ye)if(s(C.start,$.end)>=0)a(C,$,-1);else if(s(C.end,$.start)<=0)a($,C,-1);else return null;else if(!W&&ye)if(s(C.start,$.start)>=0)a(C,$,1);else if(s(C.start,$.start)<=0)a($,C,1);else return null;else if(!W&&!ye)if(s(C.start,$.start)>=0)a(C,$,1);else if(s(C.end,$.start)<=0)a($,C,-1);else return null;return[C,$]}function e($,C){for(var W=$.length;W--;)for(var ye=0;ye<C.length;ye++)if(!t($[W],C[ye])){for(;W<$.length;){for(;ye--;)t(C[ye],$[W]);ye=C.length,W++}return[$,C]}return $.selectionBefore=C.selectionBefore=$.selectionAfter=C.selectionAfter=null,[C,$]}function n($,C){var W=$.action=="insert",ye=C.action=="insert";if(W&&ye)s($.start,C.start)<0?a(C,$,1):a($,C,1);else if(W&&!ye)s($.start,C.end)>=0?a($,C,-1):(s($.start,C.start)<=0||a($,_.fromPoints(C.start,$.start),-1),a(C,$,1));else if(!W&&ye)s(C.start,$.end)>=0?a(C,$,-1):(s(C.start,$.start)<=0||a(C,_.fromPoints($.start,C.start),-1),a($,C,1));else if(!W&&!ye)if(s(C.start,$.end)>=0)a(C,$,-1);else if(s(C.end,$.start)<=0)a($,C,-1);else{var U,L;return s($.start,C.start)<0&&(U=$,$=m($,C.start)),s($.end,C.end)>0&&(L=m($,C.end)),p(C.end,$.start,$.end,-1),L&&!U&&($.lines=L.lines,$.start=L.start,$.end=L.end,L=$),[C,U,L].filter(Boolean)}return[C,$]}function a($,C,W){p($.start,C.start,C.end,W),p($.end,C.start,C.end,W)}function p($,C,W,ye){$.row==(ye==1?C:W).row&&($.column+=ye*(W.column-C.column)),$.row+=ye*(W.row-C.row)}function m($,C){var W=$.lines,ye=$.end;$.end=u(C);var U=$.end.row-$.start.row,L=W.splice(U,W.length),De=U?C.column:C.column-$.start.column;W.push(L[0].substring(0,De)),L[0]=L[0].substr(De);var I={start:u(C),end:ye,lines:L,action:$.action};return I}function k($,C){C=i(C);for(var W=$.length;W--;){for(var ye=$[W],U=0;U<ye.length;U++){var L=ye[U],De=n(L,C);C=De[0],De.length!=2&&(De[2]?(ye.splice(U+1,1,De[1],De[2]),U++):De[1]||(ye.splice(U,1),U--))}ye.length||$.splice(W,1)}return $}function x($,C){for(var W=0;W<C.length;W++)for(var ye=C[W],U=0;U<ye.length;U++)k($,ye[U])}g.UndoManager=A}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(f,g,J){var A=f("../range").Range,S=function(){function _(s,u){this.foldData=s,Array.isArray(u)?this.folds=u:u=this.folds=[u];var i=u[u.length-1];this.range=new A(u[0].start.row,u[0].start.column,i.end.row,i.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(o){o.setFoldLine(this)},this)}return _.prototype.shiftRow=function(s){this.start.row+=s,this.end.row+=s,this.folds.forEach(function(u){u.start.row+=s,u.end.row+=s})},_.prototype.addFold=function(s){if(s.sameRow){if(s.start.row<this.startRow||s.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(s),this.folds.sort(function(u,i){return-u.range.compareEnd(i.start.row,i.start.column)}),this.range.compareEnd(s.start.row,s.start.column)>0?(this.end.row=s.end.row,this.end.column=s.end.column):this.range.compareStart(s.end.row,s.end.column)<0&&(this.start.row=s.start.row,this.start.column=s.start.column)}else if(s.start.row==this.end.row)this.folds.push(s),this.end.row=s.end.row,this.end.column=s.end.column;else if(s.end.row==this.start.row)this.folds.unshift(s),this.start.row=s.start.row,this.start.column=s.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");s.foldLine=this},_.prototype.containsRow=function(s){return s>=this.start.row&&s<=this.end.row},_.prototype.walk=function(s,u,i){var o=0,r=this.folds,t,e,n,a=!0;u==null&&(u=this.end.row,i=this.end.column);for(var p=0;p<r.length;p++){if(t=r[p],e=t.range.compareStart(u,i),e==-1){s(null,u,i,o,a);return}if(n=s(null,t.start.row,t.start.column,o,a),n=!n&&s(t.placeholder,t.start.row,t.start.column,o),n||e===0)return;a=!t.sameRow,o=t.end.column}s(null,u,i,o,a)},_.prototype.getNextFoldTo=function(s,u){for(var i,o,r=0;r<this.folds.length;r++){if(i=this.folds[r],o=i.range.compareEnd(s,u),o==-1)return{fold:i,kind:"after"};if(o===0)return{fold:i,kind:"inside"}}return null},_.prototype.addRemoveChars=function(s,u,i){var o=this.getNextFoldTo(s,u),r,t;if(o){if(r=o.fold,o.kind=="inside"&&r.start.column!=u&&r.start.row!=s)window.console&&window.console.log(s,u,r);else if(r.start.row==s){t=this.folds;var e=t.indexOf(r);for(e===0&&(this.start.column+=i),e;e<t.length;e++){if(r=t[e],r.start.column+=i,!r.sameRow)return;r.end.column+=i}this.end.column+=i}}},_.prototype.split=function(s,u){var i=this.getNextFoldTo(s,u);if(!i||i.kind=="inside")return null;var o=i.fold,r=this.folds,t=this.foldData,e=r.indexOf(o),n=r[e-1];this.end.row=n.end.row,this.end.column=n.end.column,r=r.splice(e,r.length-e);var a=new _(t,r);return t.splice(t.indexOf(this)+1,0,a),a},_.prototype.merge=function(s){for(var u=s.folds,i=0;i<u.length;i++)this.addFold(u[i]);var o=this.foldData;o.splice(o.indexOf(s),1)},_.prototype.toString=function(){var s=[this.range.toString()+": ["];return this.folds.forEach(function(u){s.push(" "+u.toString())}),s.push("]"),s.join(`
|
198
|
+
`)},_.prototype.idxToPosition=function(s){for(var u=0,i=0;i<this.folds.length;i++){var o=this.folds[i];if(s-=o.start.column-u,s<0)return{row:o.start.row,column:o.start.column+s};if(s-=o.placeholder.length,s<0)return o.start;u=o.end.column}return{row:this.end.row,column:this.end.column+s}},_}();g.FoldLine=S}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(f,g,J){var A=f("./range").Range,S=A.comparePoints,_=function(){function s(){this.ranges=[],this.$bias=1}return s.prototype.pointIndex=function(u,i,o){for(var r=this.ranges,t=o||0;t<r.length;t++){var e=r[t],n=S(u,e.end);if(!(n>0)){var a=S(u,e.start);return n===0?i&&a!==0?-t-2:t:a>0||a===0&&!i?t:-t-1}}return-t-1},s.prototype.add=function(u){var i=!u.isEmpty(),o=this.pointIndex(u.start,i);o<0&&(o=-o-1);var r=this.pointIndex(u.end,i,o);return r<0?r=-r-1:r++,this.ranges.splice(o,r-o,u)},s.prototype.addList=function(u){for(var i=[],o=u.length;o--;)i.push.apply(i,this.add(u[o]));return i},s.prototype.substractPoint=function(u){var i=this.pointIndex(u);if(i>=0)return this.ranges.splice(i,1)},s.prototype.merge=function(){var u=[],i=this.ranges;i=i.sort(function(n,a){return S(n.start,a.start)});for(var o=i[0],r,t=1;t<i.length;t++){r=o,o=i[t];var e=S(r.end,o.start);e<0||e==0&&!r.isEmpty()&&!o.isEmpty()||(S(r.end,o.end)<0&&(r.end.row=o.end.row,r.end.column=o.end.column),i.splice(t,1),u.push(o),o=r,t--)}return this.ranges=i,u},s.prototype.contains=function(u,i){return this.pointIndex({row:u,column:i})>=0},s.prototype.containsPoint=function(u){return this.pointIndex(u)>=0},s.prototype.rangeAtPoint=function(u){var i=this.pointIndex(u);if(i>=0)return this.ranges[i]},s.prototype.clipRows=function(u,i){var o=this.ranges;if(o[0].start.row>i||o[o.length-1].start.row<u)return[];var r=this.pointIndex({row:u,column:0});r<0&&(r=-r-1);var t=this.pointIndex({row:i,column:0},r);t<0&&(t=-t-1);for(var e=[],n=r;n<t;n++)e.push(o[n]);return e},s.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},s.prototype.attach=function(u){this.session&&this.detach(),this.session=u,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},s.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},s.prototype.$onChange=function(u){for(var i=u.start,o=u.end,r=i.row,t=o.row,e=this.ranges,n=0,a=e.length;n<a;n++){var p=e[n];if(p.end.row>=r)break}if(u.action=="insert")for(var m=t-r,k=-i.column+o.column;n<a;n++){var p=e[n];if(p.start.row>r)break;if(p.start.row==r&&p.start.column>=i.column&&(p.start.column==i.column&&this.$bias<=0||(p.start.column+=k,p.start.row+=m)),p.end.row==r&&p.end.column>=i.column){if(p.end.column==i.column&&this.$bias<0)continue;p.end.column==i.column&&k>0&&n<a-1&&p.end.column>p.start.column&&p.end.column==e[n+1].start.column&&(p.end.column-=k),p.end.column+=k,p.end.row+=m}}else for(var m=r-t,k=i.column-o.column;n<a;n++){var p=e[n];if(p.start.row>t)break;p.end.row<t&&(r<p.end.row||r==p.end.row&&i.column<p.end.column)?(p.end.row=r,p.end.column=i.column):p.end.row==t?p.end.column<=o.column?(m||p.end.column>i.column)&&(p.end.column=i.column,p.end.row=i.row):(p.end.column+=k,p.end.row+=m):p.end.row>t&&(p.end.row+=m),p.start.row<t&&(r<p.start.row||r==p.start.row&&i.column<p.start.column)?(p.start.row=r,p.start.column=i.column):p.start.row==t?p.start.column<=o.column?(m||p.start.column>i.column)&&(p.start.column=i.column,p.start.row=i.row):(p.start.column+=k,p.start.row+=m):p.start.row>t&&(p.start.row+=m)}if(m!=0&&n<a)for(;n<a;n++){var p=e[n];p.start.row+=m,p.end.row+=m}},s}();_.prototype.comparePoints=S,g.RangeList=_}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(f,g,J){var A=this&&this.__extends||function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,a){n.__proto__=a}||function(n,a){for(var p in a)Object.prototype.hasOwnProperty.call(a,p)&&(n[p]=a[p])},r(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");r(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),S=f("../range_list").RangeList,_=function(r){A(t,r);function t(e,n){var a=r.call(this)||this;return a.foldLine=null,a.placeholder=n,a.range=e,a.start=e.start,a.end=e.end,a.sameRow=e.start.row==e.end.row,a.subFolds=a.ranges=[],a}return t.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(n){n.setFoldLine(e)})},t.prototype.clone=function(){var e=this.range.clone(),n=new t(e,this.placeholder);return this.subFolds.forEach(function(a){n.subFolds.push(a.clone())}),n.collapseChildren=this.collapseChildren,n},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){u(e,this.start);for(var k=e.start.row,x=e.start.column,n=0,a=-1;n<this.subFolds.length&&(a=this.subFolds[n].range.compare(k,x),a==1);n++);var p=this.subFolds[n],m=0;if(a==0){if(p.range.containsRange(e))return p.addSubFold(e);m=1}for(var k=e.range.end.row,x=e.range.end.column,$=n,a=-1;$<this.subFolds.length&&(a=this.subFolds[$].range.compare(k,x),a==1);$++);a==0&&$++;for(var C=this.subFolds.splice(n,$-n,e),W=a==0?C.length-1:C.length,ye=m;ye<W;ye++)e.addSubFold(C[ye]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return o(e,this.start)},t}(S);function s(r,t){r.row-=t.row,r.row==0&&(r.column-=t.column)}function u(r,t){s(r.start,t),s(r.end,t)}function i(r,t){r.row==0&&(r.column+=t.column),r.row+=t.row}function o(r,t){i(r.start,t),i(r.end,t)}g.Fold=_}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(f,g,J){var A=f("../range").Range,S=f("./fold_line").FoldLine,_=f("./fold").Fold,s=f("../token_iterator").TokenIterator,u=f("../mouse/mouse_event").MouseEvent;function i(){this.getFoldAt=function(o,r,t){var e=this.getFoldLine(o);if(!e)return null;for(var n=e.folds,a=0;a<n.length;a++){var p=n[a].range;if(p.contains(o,r)){if(t==1&&p.isEnd(o,r)&&!p.isEmpty())continue;if(t==-1&&p.isStart(o,r)&&!p.isEmpty())continue;return n[a]}}},this.getFoldsInRange=function(o){var r=o.start,t=o.end,e=this.$foldData,n=[];r.column+=1,t.column-=1;for(var a=0;a<e.length;a++){var p=e[a].range.compareRange(o);if(p!=2){if(p==-2)break;for(var m=e[a].folds,k=0;k<m.length;k++){var x=m[k];if(p=x.range.compareRange(o),p==-2)break;if(p==2)continue;if(p==42)break;n.push(x)}}}return r.column-=1,t.column+=1,n},this.getFoldsInRangeList=function(o){if(Array.isArray(o)){var r=[];o.forEach(function(t){r=r.concat(this.getFoldsInRange(t))},this)}else var r=this.getFoldsInRange(o);return r},this.getAllFolds=function(){for(var o=[],r=this.$foldData,t=0;t<r.length;t++)for(var e=0;e<r[t].folds.length;e++)o.push(r[t].folds[e]);return o},this.getFoldStringAt=function(o,r,t,e){if(e=e||this.getFoldLine(o),!e)return null;for(var n={end:{column:0}},a,p,m=0;m<e.folds.length;m++){p=e.folds[m];var k=p.range.compareEnd(o,r);if(k==-1){a=this.getLine(p.start.row).substring(n.end.column,p.start.column);break}else if(k===0)return null;n=p}return a||(a=this.getLine(p.start.row).substring(n.end.column)),t==-1?a.substring(0,r-n.end.column):t==1?a.substring(r-n.end.column):a},this.getFoldLine=function(o,r){var t=this.$foldData,e=0;for(r&&(e=t.indexOf(r)),e==-1&&(e=0),e;e<t.length;e++){var n=t[e];if(n.start.row<=o&&n.end.row>=o)return n;if(n.end.row>o)return null}return null},this.getNextFoldLine=function(o,r){var t=this.$foldData,e=0;for(r&&(e=t.indexOf(r)),e==-1&&(e=0),e;e<t.length;e++){var n=t[e];if(n.end.row>=o)return n}return null},this.getFoldedRowCount=function(o,r){for(var t=this.$foldData,e=r-o+1,n=0;n<t.length;n++){var a=t[n],p=a.end.row,m=a.start.row;if(p>=r){m<r&&(m>=o?e-=r-m:e=0);break}else p>=o&&(m>=o?e-=p-m:e-=p-o+1)}return e},this.$addFoldLine=function(o){return this.$foldData.push(o),this.$foldData.sort(function(r,t){return r.start.row-t.start.row}),o},this.addFold=function(o,r){var t=this.$foldData,e=!1,n;o instanceof _?n=o:(n=new _(r,o),n.collapseChildren=r.collapseChildren),this.$clipRangeToDocument(n.range);var a=n.start.row,p=n.start.column,m=n.end.row,k=n.end.column,x=this.getFoldAt(a,p,1),$=this.getFoldAt(m,k,-1);if(x&&$==x)return x.addSubFold(n);x&&!x.range.isStart(a,p)&&this.removeFold(x),$&&!$.range.isEnd(m,k)&&this.removeFold($);var C=this.getFoldsInRange(n.range);C.length>0&&(this.removeFolds(C),n.collapseChildren||C.forEach(function(L){n.addSubFold(L)}));for(var W=0;W<t.length;W++){var ye=t[W];if(m==ye.start.row){ye.addFold(n),e=!0;break}else if(a==ye.end.row){if(ye.addFold(n),e=!0,!n.sameRow){var U=t[W+1];if(U&&U.start.row==m){ye.merge(U);break}}break}else if(m<=ye.start.row)break}return e||(ye=this.$addFoldLine(new S(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(ye.start.row,ye.start.row):this.$updateRowLengthCache(ye.start.row,ye.start.row),this.$modified=!0,this._signal("changeFold",{data:n,action:"add"}),n},this.addFolds=function(o){o.forEach(function(r){this.addFold(r)},this)},this.removeFold=function(o){var r=o.foldLine,t=r.start.row,e=r.end.row,n=this.$foldData,a=r.folds;if(a.length==1)n.splice(n.indexOf(r),1);else if(r.range.isEnd(o.end.row,o.end.column))a.pop(),r.end.row=a[a.length-1].end.row,r.end.column=a[a.length-1].end.column;else if(r.range.isStart(o.start.row,o.start.column))a.shift(),r.start.row=a[0].start.row,r.start.column=a[0].start.column;else if(o.sameRow)a.splice(a.indexOf(o),1);else{var p=r.split(o.start.row,o.start.column);a=p.folds,a.shift(),p.start.row=a[0].start.row,p.start.column=a[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(t,e):this.$updateRowLengthCache(t,e)),this.$modified=!0,this._signal("changeFold",{data:o,action:"remove"})},this.removeFolds=function(o){for(var r=[],t=0;t<o.length;t++)r.push(o[t]);r.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(o){this.removeFold(o),o.subFolds.forEach(function(r){o.restoreRange(r),this.addFold(r)},this),o.collapseChildren>0&&this.foldAll(o.start.row+1,o.end.row,o.collapseChildren-1),o.subFolds=[]},this.expandFolds=function(o){o.forEach(function(r){this.expandFold(r)},this)},this.unfold=function(o,r){var t,e;if(o==null)t=new A(0,0,this.getLength(),0),r==null&&(r=!0);else if(typeof o=="number")t=new A(o,0,o,this.getLine(o).length);else if("row"in o)t=A.fromPoints(o,o);else{if(Array.isArray(o))return e=[],o.forEach(function(a){e=e.concat(this.unfold(a))},this),e;t=o}e=this.getFoldsInRangeList(t);for(var n=e;e.length==1&&A.comparePoints(e[0].start,t.start)<0&&A.comparePoints(e[0].end,t.end)>0;)this.expandFolds(e),e=this.getFoldsInRangeList(t);if(r!=!1?this.removeFolds(e):this.expandFolds(e),n.length)return n},this.isRowFolded=function(o,r){return!!this.getFoldLine(o,r)},this.getRowFoldEnd=function(o,r){var t=this.getFoldLine(o,r);return t?t.end.row:o},this.getRowFoldStart=function(o,r){var t=this.getFoldLine(o,r);return t?t.start.row:o},this.getFoldDisplayLine=function(o,r,t,e,n){e==null&&(e=o.start.row),n==null&&(n=0),r==null&&(r=o.end.row),t==null&&(t=this.getLine(r).length);var a=this.doc,p="";return o.walk(function(m,k,x,$){if(!(k<e)){if(k==e){if(x<n)return;$=Math.max(n,$)}m!=null?p+=m:p+=a.getLine(k).substring($,x)}},r,t),p},this.getDisplayLine=function(o,r,t,e){var n=this.getFoldLine(o);if(n)return this.getFoldDisplayLine(n,o,r,t,e);var a;return a=this.doc.getLine(o),a.substring(e||0,r||a.length)},this.$cloneFoldData=function(){var o=[];return o=this.$foldData.map(function(r){var t=r.folds.map(function(e){return e.clone()});return new S(o,t)}),o},this.toggleFold=function(o){var r=this.selection,t=r.getRange(),e,n;if(t.isEmpty()){var a=t.start;if(e=this.getFoldAt(a.row,a.column),e){this.expandFold(e);return}else(n=this.findMatchingBracket(a))?t.comparePoint(n)==1?t.end=n:(t.start=n,t.start.column++,t.end.column--):(n=this.findMatchingBracket({row:a.row,column:a.column+1}))?(t.comparePoint(n)==1?t.end=n:t.start=n,t.start.column++):t=this.getCommentFoldRange(a.row,a.column)||t}else{var p=this.getFoldsInRange(t);if(o&&p.length){this.expandFolds(p);return}else p.length==1&&(e=p[0])}if(e||(e=this.getFoldAt(t.start.row,t.start.column)),e&&e.range.toString()==t.toString()){this.expandFold(e);return}var m="...";if(!t.isMultiLine()){if(m=this.getTextRange(t),m.length<4)return;m=m.trim().substring(0,2)+".."}this.addFold(m,t)},this.getCommentFoldRange=function(o,r,t){var e=new s(this,o,r),n=e.getCurrentToken(),a=n&&n.type;if(n&&/^comment|string/.test(a)){a=a.match(/comment|string/)[0],a=="comment"&&(a+="|doc-start|\\.doc");var p=new RegExp(a),m=new A;if(t!=1){do n=e.stepBackward();while(n&&p.test(n.type));n=e.stepForward()}m.start.row=e.getCurrentTokenRow(),m.start.column=e.getCurrentTokenColumn()+n.value.length,e=new s(this,o,r);var k=this.getState(e.$row);if(t!=-1){var x=-1;do if(n=e.stepForward(),x==-1){var $=this.getState(e.$row);k.toString()!==$.toString()&&(x=e.$row)}else if(e.$row>x)break;while(n&&p.test(n.type));n=e.stepBackward()}else n=e.getCurrentToken();return m.end.row=e.getCurrentTokenRow(),m.end.column=e.getCurrentTokenColumn(),m}},this.foldAll=function(o,r,t,e){t==null&&(t=1e5);var n=this.foldWidgets;if(n){r=r||this.getLength(),o=o||0;for(var a=o;a<r;a++)if(n[a]==null&&(n[a]=this.getFoldWidget(a)),n[a]=="start"&&!(e&&!e(a))){var p=this.getFoldWidgetRange(a);p&&p.isMultiLine()&&p.end.row<=r&&p.start.row>=o&&(a=p.end.row,p.collapseChildren=t,this.addFold("...",p))}}},this.foldToLevel=function(o){for(this.foldAll();o-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var o=this;this.foldAll(null,null,null,function(r){for(var t=o.getTokens(r),e=0;e<t.length;e++){var n=t[e];if(!(n.type=="text"&&/^\s+$/.test(n.value)))return!!/comment/.test(n.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(o){if(!this.$foldStyles[o])throw new Error("invalid fold style: "+o+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=o){this.$foldStyle=o,o=="manual"&&this.unfold();var r=this.$foldMode;this.$setFolding(null),this.$setFolding(r)}},this.$setFolding=function(o){if(this.$foldMode!=o){if(this.$foldMode=o,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!o||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=o.getFoldWidget.bind(o,this,this.$foldStyle),this.getFoldWidgetRange=o.getFoldWidgetRange.bind(o,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(o,r){var t=this.foldWidgets;if(!t||r&&t[o])return{};for(var e=o-1,n;e>=0;){var a=t[e];if(a==null&&(a=t[e]=this.getFoldWidget(e)),a=="start"){var p=this.getFoldWidgetRange(e);if(n||(n=p),p&&p.end.row>=o)break}e--}return{range:e!==-1&&p,firstRange:n}},this.onFoldWidgetClick=function(o,r){r instanceof u&&(r=r.domEvent);var t={children:r.shiftKey,all:r.ctrlKey||r.metaKey,siblings:r.altKey},e=this.$toggleFoldWidget(o,t);if(!e){var n=r.target||r.srcElement;n&&/ace_fold-widget/.test(n.className)&&(n.className+=" ace_invalid")}},this.$toggleFoldWidget=function(o,r){if(this.getFoldWidget){var t=this.getFoldWidget(o),e=this.getLine(o),n=t==="end"?-1:1,a=this.getFoldAt(o,n===-1?0:e.length,n);if(a)return r.children||r.all?this.removeFold(a):this.expandFold(a),a;var p=this.getFoldWidgetRange(o,!0);if(p&&!p.isMultiLine()&&(a=this.getFoldAt(p.start.row,p.start.column,1),a&&p.isEqual(a.range)))return this.removeFold(a),a;if(r.siblings){var m=this.getParentFoldRangeData(o);if(m.range)var k=m.range.start.row+1,x=m.range.end.row;this.foldAll(k,x,r.all?1e4:0)}else r.children?(x=p?p.end.row:this.getLength(),this.foldAll(o+1,x,r.all?1e4:0)):p&&(r.all&&(p.collapseChildren=1e4),this.addFold("...",p));return p}},this.toggleFoldWidget=function(o){var r=this.selection.getCursor().row;r=this.getRowFoldStart(r);var t=this.$toggleFoldWidget(r,{});if(!t){var e=this.getParentFoldRangeData(r,!0);if(t=e.range||e.firstRange,t){r=t.start.row;var n=this.getFoldAt(r,this.getLine(r).length,1);n?this.removeFold(n):this.addFold("...",t)}}},this.updateFoldWidgets=function(o){var r=o.start.row,t=o.end.row-r;if(t===0)this.foldWidgets[r]=null;else if(o.action=="remove")this.foldWidgets.splice(r,t+1,null);else{var e=Array(t+1);e.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,e)}},this.tokenizerUpdateFoldWidgets=function(o){var r=o.data;r.first!=r.last&&this.foldWidgets.length>r.first&&this.foldWidgets.splice(r.first,this.foldWidgets.length)}}g.Folding=i}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(f,g,J){var A=f("../token_iterator").TokenIterator,S=f("../range").Range;function _(){this.findMatchingBracket=function(s,u){if(s.column==0)return null;var i=u||this.getLine(s.row).charAt(s.column-1);if(i=="")return null;var o=i.match(/([\(\[\{])|([\)\]\}])/);return o?o[1]?this.$findClosingBracket(o[1],s):this.$findOpeningBracket(o[2],s):null},this.getBracketRange=function(s){var u=this.getLine(s.row),i=!0,o,r=u.charAt(s.column-1),t=r&&r.match(/([\(\[\{])|([\)\]\}])/);if(t||(r=u.charAt(s.column),s={row:s.row,column:s.column+1},t=r&&r.match(/([\(\[\{])|([\)\]\}])/),i=!1),!t)return null;if(t[1]){var e=this.$findClosingBracket(t[1],s);if(!e)return null;o=S.fromPoints(s,e),i||(o.end.column++,o.start.column--),o.cursor=o.end}else{var e=this.$findOpeningBracket(t[2],s);if(!e)return null;o=S.fromPoints(e,s),i||(o.start.column++,o.end.column--),o.cursor=o.start}return o},this.getMatchingBracketRanges=function(s,u){var i=this.getLine(s.row),o=/([\(\[\{])|([\)\]\}])/,r=!u&&i.charAt(s.column-1),t=r&&r.match(o);if(t||(r=(u===void 0||u)&&i.charAt(s.column),s={row:s.row,column:s.column+1},t=r&&r.match(o)),!t)return null;var e=new S(s.row,s.column-1,s.row,s.column),n=t[1]?this.$findClosingBracket(t[1],s):this.$findOpeningBracket(t[2],s);if(!n)return[e];var a=new S(n.row,n.column,n.row,n.column+1);return[e,a]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(s,u,i){var o=this.$brackets[s],r=1,t=new A(this,u.row,u.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){i||(i=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var n=u.column-t.getCurrentTokenColumn()-2,a=e.value;;){for(;n>=0;){var p=a.charAt(n);if(p==o){if(r-=1,r==0)return{row:t.getCurrentTokenRow(),column:n+t.getCurrentTokenColumn()}}else p==s&&(r+=1);n-=1}do e=t.stepBackward();while(e&&!i.test(e.type));if(e==null)break;a=e.value,n=a.length-1}return null}},this.$findClosingBracket=function(s,u,i){var o=this.$brackets[s],r=1,t=new A(this,u.row,u.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){i||(i=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var n=u.column-t.getCurrentTokenColumn();;){for(var a=e.value,p=a.length;n<p;){var m=a.charAt(n);if(m==o){if(r-=1,r==0)return{row:t.getCurrentTokenRow(),column:n+t.getCurrentTokenColumn()}}else m==s&&(r+=1);n+=1}do e=t.stepForward();while(e&&!i.test(e.type));if(e==null)break;n=0}return null}},this.getMatchingTags=function(s){var u=new A(this,s.row,s.column),i=this.$findTagName(u);if(i){var o=u.stepBackward();return o.value==="<"?this.$findClosingTag(u,i):this.$findOpeningTag(u,i)}},this.$findTagName=function(s){var u=s.getCurrentToken(),i=!1,o=!1;if(u&&u.type.indexOf("tag-name")===-1)do o?u=s.stepBackward():u=s.stepForward(),u&&(u.value==="/>"?o=!0:u.type.indexOf("tag-name")!==-1&&(i=!0));while(u&&!i);return u},this.$findClosingTag=function(s,u){var i,o=u.value,r=u.value,t=0,e=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);u=s.stepForward();var n=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+u.value.length),a=!1;do{if(i=u,i.type.indexOf("tag-close")!==-1&&!a){var p=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);a=!0}if(u=s.stepForward(),u){if(u.value===">"&&!a){var p=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);a=!0}if(u.type.indexOf("tag-name")!==-1){if(o=u.value,r===o){if(i.value==="<")t++;else if(i.value==="</"&&(t--,t<0)){s.stepBackward();var m=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+2);u=s.stepForward();var k=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=s.stepForward()),u&&u.value===">")var x=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);else return}}}else if(r===o&&u.value==="/>"&&(t--,t<0))var m=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+2),k=m,x=k,p=new S(n.end.row,n.end.column,n.end.row,n.end.column+1)}}while(u&&t>=0);if(e&&p&&m&&x&&n&&k)return{openTag:new S(e.start.row,e.start.column,p.end.row,p.end.column),closeTag:new S(m.start.row,m.start.column,x.end.row,x.end.column),openTagName:n,closeTagName:k}},this.$findOpeningTag=function(s,u){var i=s.getCurrentToken(),o=u.value,r=0,t=s.getCurrentTokenRow(),e=s.getCurrentTokenColumn(),n=e+2,a=new S(t,e,t,n);s.stepForward();var p=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=s.stepForward()),!(!u||u.value!==">")){var m=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);s.stepBackward(),s.stepBackward();do if(u=i,t=s.getCurrentTokenRow(),e=s.getCurrentTokenColumn(),n=e+u.value.length,i=s.stepBackward(),u){if(u.type.indexOf("tag-name")!==-1){if(o===u.value)if(i.value==="<"){if(r++,r>0){var k=new S(t,e,t,n),x=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);do u=s.stepForward();while(u&&u.value!==">");var $=new S(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1)}}else i.value==="</"&&r--}else if(u.value==="/>"){for(var C=0,W=i;W;){if(W.type.indexOf("tag-name")!==-1&&W.value===o){r--;break}else if(W.value==="<")break;W=s.stepBackward(),C++}for(var ye=0;ye<C;ye++)s.stepForward()}}while(i&&r<=0);if(x&&$&&a&&m&&k&&p)return{openTag:new S(x.start.row,x.start.column,$.end.row,$.end.column),closeTag:new S(a.start.row,a.start.column,m.end.row,m.end.column),openTagName:k,closeTagName:p}}}}g.BracketMatch=_}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(f,g,J){var A=f("./lib/oop"),S=f("./lib/lang"),_=f("./bidihandler").BidiHandler,s=f("./config"),u=f("./lib/event_emitter").EventEmitter,i=f("./selection").Selection,o=f("./mode/text").Mode,r=f("./range").Range,t=f("./line_widgets").LineWidgets,e=f("./document").Document,n=f("./background_tokenizer").BackgroundTokenizer,a=f("./search_highlight").SearchHighlight,p=f("./undomanager").UndoManager,m=function(){function I(E,b){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++I.$uid,this.$foldData.toString=function(){return this.join(`
|
199
|
+
`)},this.bgTokenizer=new n(new o().getTokenizer(),this);var y=this;this.bgTokenizer.on("update",function(M){y._signal("tokenizerUpdate",M)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof E!="object"||!E.getLine)&&(E=new e(E)),this.setDocument(E),this.selection=new i(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new _(this),s.resetOptions(this),this.setMode(b),s._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return I.prototype.$initOperationListeners=function(){var E=this;this.curOp=null,this.on("change",function(){E.curOp||(E.startOperation(),E.curOp.selectionBefore=E.$lastSel),E.curOp.docChanged=!0},!0),this.on("changeSelection",function(){E.curOp||(E.startOperation(),E.curOp.selectionBefore=E.$lastSel),E.curOp.selectionChanged=!0},!0),this.$operationResetTimer=S.delayedCall(this.endOperation.bind(this,!0))},I.prototype.startOperation=function(E){if(this.curOp){if(!E||this.curOp.command)return;this.prevOp=this.curOp}E||(E={}),this.$operationResetTimer.schedule(),this.curOp={command:E.command||{},args:E.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",E)},I.prototype.endOperation=function(E){if(this.curOp){if(E&&E.returnValue===!1){this.curOp=null,this._signal("endOperation",E);return}if(E==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var b=this.selection.toJSON();this.curOp.selectionAfter=b,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(b),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",E)}},I.prototype.setDocument=function(E){this.doc&&this.doc.off("change",this.$onChange),this.doc=E,E.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},I.prototype.getDocument=function(){return this.doc},Object.defineProperty(I.prototype,"widgetManager",{get:function(){var E=new t(this);return this.widgetManager=E,this.$editor&&E.attach(this.$editor),E},set:function(E){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:E})},enumerable:!1,configurable:!0}),I.prototype.$resetRowCache=function(E){if(!E){this.$docRowCache=[],this.$screenRowCache=[];return}var b=this.$docRowCache.length,y=this.$getRowCacheIndex(this.$docRowCache,E)+1;b>y&&(this.$docRowCache.splice(y,b),this.$screenRowCache.splice(y,b))},I.prototype.$getRowCacheIndex=function(E,b){for(var y=0,M=E.length-1;y<=M;){var q=y+M>>1,_e=E[q];if(b>_e)y=q+1;else if(b<_e)M=q-1;else return q}return y-1},I.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},I.prototype.onChangeFold=function(E){var b=E.data;this.$resetRowCache(b.start.row)},I.prototype.onChange=function(E){this.$modified=!0,this.$bidiHandler.onChange(E),this.$resetRowCache(E.start.row);var b=this.$updateInternalDataOnChange(E);!this.$fromUndo&&this.$undoManager&&(b&&b.length&&(this.$undoManager.add({action:"removeFolds",folds:b},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(E,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(E),this._signal("change",E)},I.prototype.onSelectionChange=function(){this._signal("changeSelection")},I.prototype.setValue=function(E){this.doc.setValue(E),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},I.fromJSON=function(E){typeof E=="string"&&(E=JSON.parse(E));var b=new p;b.$undoStack=E.history.undo,b.$redoStack=E.history.redo,b.mark=E.history.mark,b.$rev=E.history.rev;var y=new I(E.value);return E.folds.forEach(function(M){y.addFold("...",r.fromPoints(M.start,M.end))}),y.setAnnotations(E.annotations),y.setBreakpoints(E.breakpoints),y.setMode(E.mode),y.setScrollLeft(E.scrollLeft),y.setScrollTop(E.scrollTop),y.setUndoManager(b),y.selection.fromJSON(E.selection),y},I.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(E){return E.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},I.prototype.toString=function(){return this.doc.getValue()},I.prototype.getSelection=function(){return this.selection},I.prototype.getState=function(E){return this.bgTokenizer.getState(E)},I.prototype.getTokens=function(E){return this.bgTokenizer.getTokens(E)},I.prototype.getTokenAt=function(E,b){var y=this.bgTokenizer.getTokens(E),M,q=0;if(b==null){var _e=y.length-1;q=this.getLine(E).length}else for(var _e=0;_e<y.length&&(q+=y[_e].value.length,!(q>=b));_e++);return M=y[_e],M?(M.index=_e,M.start=q-M.value.length,M):null},I.prototype.setUndoManager=function(E){if(this.$undoManager=E,this.$informUndoManager&&this.$informUndoManager.cancel(),E){var b=this;E.addSession(this),this.$syncInformUndoManager=function(){b.$informUndoManager.cancel(),b.mergeUndoDeltas=!1},this.$informUndoManager=S.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},I.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},I.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},I.prototype.getTabString=function(){return this.getUseSoftTabs()?S.stringRepeat(" ",this.getTabSize()):" "},I.prototype.setUseSoftTabs=function(E){this.setOption("useSoftTabs",E)},I.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},I.prototype.setTabSize=function(E){this.setOption("tabSize",E)},I.prototype.getTabSize=function(){return this.$tabSize},I.prototype.isTabStop=function(E){return this.$useSoftTabs&&E.column%this.$tabSize===0},I.prototype.setNavigateWithinSoftTabs=function(E){this.setOption("navigateWithinSoftTabs",E)},I.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},I.prototype.setOverwrite=function(E){this.setOption("overwrite",E)},I.prototype.getOverwrite=function(){return this.$overwrite},I.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},I.prototype.addGutterDecoration=function(E,b){this.$decorations[E]||(this.$decorations[E]=""),this.$decorations[E]+=" "+b,this._signal("changeBreakpoint",{})},I.prototype.removeGutterDecoration=function(E,b){this.$decorations[E]=(this.$decorations[E]||"").replace(" "+b,""),this._signal("changeBreakpoint",{})},I.prototype.getBreakpoints=function(){return this.$breakpoints},I.prototype.setBreakpoints=function(E){this.$breakpoints=[];for(var b=0;b<E.length;b++)this.$breakpoints[E[b]]="ace_breakpoint";this._signal("changeBreakpoint",{})},I.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},I.prototype.setBreakpoint=function(E,b){b===void 0&&(b="ace_breakpoint"),b?this.$breakpoints[E]=b:delete this.$breakpoints[E],this._signal("changeBreakpoint",{})},I.prototype.clearBreakpoint=function(E){delete this.$breakpoints[E],this._signal("changeBreakpoint",{})},I.prototype.addMarker=function(E,b,y,M){var q=this.$markerId++,_e={range:E,type:y||"line",renderer:typeof y=="function"?y:null,clazz:b,inFront:!!M,id:q};return M?(this.$frontMarkers[q]=_e,this._signal("changeFrontMarker")):(this.$backMarkers[q]=_e,this._signal("changeBackMarker")),q},I.prototype.addDynamicMarker=function(E,b){if(E.update){var y=this.$markerId++;return E.id=y,E.inFront=!!b,b?(this.$frontMarkers[y]=E,this._signal("changeFrontMarker")):(this.$backMarkers[y]=E,this._signal("changeBackMarker")),E}},I.prototype.removeMarker=function(E){var b=this.$frontMarkers[E]||this.$backMarkers[E];if(b){var y=b.inFront?this.$frontMarkers:this.$backMarkers;delete y[E],this._signal(b.inFront?"changeFrontMarker":"changeBackMarker")}},I.prototype.getMarkers=function(E){return E?this.$frontMarkers:this.$backMarkers},I.prototype.highlight=function(E){if(!this.$searchHighlight){var b=new a(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(b)}this.$searchHighlight.setRegexp(E)},I.prototype.highlightLines=function(E,b,y,M){typeof b!="number"&&(y=b,b=E),y||(y="ace_step");var q=new r(E,0,b,1/0);return q.id=this.addMarker(q,y,"fullLine",M),q},I.prototype.setAnnotations=function(E){this.$annotations=E,this._signal("changeAnnotation",{})},I.prototype.getAnnotations=function(){return this.$annotations||[]},I.prototype.clearAnnotations=function(){this.setAnnotations([])},I.prototype.$detectNewLine=function(E){var b=E.match(/^.*?(\r?\n)/m);b?this.$autoNewLine=b[1]:this.$autoNewLine=`
|
200
|
+
`},I.prototype.getWordRange=function(E,b){var y=this.getLine(E),M=!1;if(b>0&&(M=!!y.charAt(b-1).match(this.tokenRe)),M||(M=!!y.charAt(b).match(this.tokenRe)),M)var q=this.tokenRe;else if(/^\s+$/.test(y.slice(b-1,b+1)))var q=/\s/;else var q=this.nonTokenRe;var _e=b;if(_e>0){do _e--;while(_e>=0&&y.charAt(_e).match(q));_e++}for(var Ee=b;Ee<y.length&&y.charAt(Ee).match(q);)Ee++;return new r(E,_e,E,Ee)},I.prototype.getAWordRange=function(E,b){for(var y=this.getWordRange(E,b),M=this.getLine(y.end.row);M.charAt(y.end.column).match(/[ \t]/);)y.end.column+=1;return y},I.prototype.setNewLineMode=function(E){this.doc.setNewLineMode(E)},I.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},I.prototype.setUseWorker=function(E){this.setOption("useWorker",E)},I.prototype.getUseWorker=function(){return this.$useWorker},I.prototype.onReloadTokenizer=function(E){var b=E.data;this.bgTokenizer.start(b.first),this._signal("tokenizerUpdate",E)},I.prototype.setMode=function(E,b){if(E&&typeof E=="object"){if(E.getTokenizer)return this.$onChangeMode(E);var y=E,M=y.path}else M=E||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new o),this.$modes[M]&&!y){this.$onChangeMode(this.$modes[M]),b&&b();return}this.$modeId=M,s.loadModule(["mode",M],(function(q){if(!this.destroyed){if(this.$modeId!==M)return b&&b();this.$modes[M]&&!y?this.$onChangeMode(this.$modes[M]):q&&q.Mode&&(q=new q.Mode(y),y||(this.$modes[M]=q,q.$id=M),this.$onChangeMode(q)),b&&b()}}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},I.prototype.$onChangeMode=function(E,b){if(b||(this.$modeId=E.$id),this.$mode!==E){var y=this.$mode;this.$mode=E,this.$stopWorker(),this.$useWorker&&this.$startWorker();var M=E.getTokenizer();if(M.on!==void 0){var q=this.onReloadTokenizer.bind(this);M.on("update",q)}this.bgTokenizer.setTokenizer(M),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=E.tokenRe,this.nonTokenRe=E.nonTokenRe,b||(E.attachToSession&&E.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(E.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:y,mode:E}))}},I.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},I.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(E){s.warn("Could not load worker",E),this.$worker=null}},I.prototype.getMode=function(){return this.$mode},I.prototype.setScrollTop=function(E){this.$scrollTop===E||isNaN(E)||(this.$scrollTop=E,this._signal("changeScrollTop",E))},I.prototype.getScrollTop=function(){return this.$scrollTop},I.prototype.setScrollLeft=function(E){this.$scrollLeft===E||isNaN(E)||(this.$scrollLeft=E,this._signal("changeScrollLeft",E))},I.prototype.getScrollLeft=function(){return this.$scrollLeft},I.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},I.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var E=0;return this.lineWidgets.forEach(function(b){b&&b.screenWidth>E&&(E=b.screenWidth)}),this.lineWidgetWidth=E},I.prototype.$computeWidth=function(E){if(this.$modified||E){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var b=this.doc.getAllLines(),y=this.$rowLengthCache,M=0,q=0,_e=this.$foldData[q],Ee=_e?_e.start.row:1/0,it=b.length,ot=0;ot<it;ot++){if(ot>Ee){if(ot=_e.end.row+1,ot>=it)break;_e=this.$foldData[q++],Ee=_e?_e.start.row:1/0}y[ot]==null&&(y[ot]=this.$getStringScreenWidth(b[ot])[0]),y[ot]>M&&(M=y[ot])}this.screenWidth=M}},I.prototype.getLine=function(E){return this.doc.getLine(E)},I.prototype.getLines=function(E,b){return this.doc.getLines(E,b)},I.prototype.getLength=function(){return this.doc.getLength()},I.prototype.getTextRange=function(E){return this.doc.getTextRange(E||this.selection.getRange())},I.prototype.insert=function(E,b){return this.doc.insert(E,b)},I.prototype.remove=function(E){return this.doc.remove(E)},I.prototype.removeFullLines=function(E,b){return this.doc.removeFullLines(E,b)},I.prototype.undoChanges=function(E,b){if(E.length){this.$fromUndo=!0;for(var y=E.length-1;y!=-1;y--){var M=E[y];M.action=="insert"||M.action=="remove"?this.doc.revertDelta(M):M.folds&&this.addFolds(M.folds)}!b&&this.$undoSelect&&(E.selectionBefore?this.selection.fromJSON(E.selectionBefore):this.selection.setRange(this.$getUndoSelection(E,!0))),this.$fromUndo=!1}},I.prototype.redoChanges=function(E,b){if(E.length){this.$fromUndo=!0;for(var y=0;y<E.length;y++){var M=E[y];(M.action=="insert"||M.action=="remove")&&this.doc.$safeApplyDelta(M)}!b&&this.$undoSelect&&(E.selectionAfter?this.selection.fromJSON(E.selectionAfter):this.selection.setRange(this.$getUndoSelection(E,!1))),this.$fromUndo=!1}},I.prototype.setUndoSelect=function(E){this.$undoSelect=E},I.prototype.$getUndoSelection=function(E,b){function y(it){return b?it.action!=="insert":it.action==="insert"}for(var M,q,_e=0;_e<E.length;_e++){var Ee=E[_e];if(Ee.start){if(!M){y(Ee)?M=r.fromPoints(Ee.start,Ee.end):M=r.fromPoints(Ee.start,Ee.start);continue}y(Ee)?(q=Ee.start,M.compare(q.row,q.column)==-1&&M.setStart(q),q=Ee.end,M.compare(q.row,q.column)==1&&M.setEnd(q)):(q=Ee.start,M.compare(q.row,q.column)==-1&&(M=r.fromPoints(Ee.start,Ee.start)))}}return M},I.prototype.replace=function(E,b){return this.doc.replace(E,b)},I.prototype.moveText=function(E,b,y){var M=this.getTextRange(E),q=this.getFoldsInRange(E),_e=r.fromPoints(b,b);if(!y){this.remove(E);var Ee=E.start.row-E.end.row,it=Ee?-E.end.column:E.start.column-E.end.column;it&&(_e.start.row==E.end.row&&_e.start.column>E.end.column&&(_e.start.column+=it),_e.end.row==E.end.row&&_e.end.column>E.end.column&&(_e.end.column+=it)),Ee&&_e.start.row>=E.end.row&&(_e.start.row+=Ee,_e.end.row+=Ee)}if(_e.end=this.insert(_e.start,M),q.length){var ot=E.start,zt=_e.start,Ee=zt.row-ot.row,it=zt.column-ot.column;this.addFolds(q.map(function(Mt){return Mt=Mt.clone(),Mt.start.row==ot.row&&(Mt.start.column+=it),Mt.end.row==ot.row&&(Mt.end.column+=it),Mt.start.row+=Ee,Mt.end.row+=Ee,Mt}))}return _e},I.prototype.indentRows=function(E,b,y){y=y.replace(/\t/g,this.getTabString());for(var M=E;M<=b;M++)this.doc.insertInLine({row:M,column:0},y)},I.prototype.outdentRows=function(E){for(var b=E.collapseRows(),y=new r(0,0,0,0),M=this.getTabSize(),q=b.start.row;q<=b.end.row;++q){var _e=this.getLine(q);y.start.row=q,y.end.row=q;for(var Ee=0;Ee<M&&_e.charAt(Ee)==" ";++Ee);Ee<M&&_e.charAt(Ee)==" "?(y.start.column=Ee,y.end.column=Ee+1):(y.start.column=0,y.end.column=Ee),this.remove(y)}},I.prototype.$moveLines=function(E,b,y){if(E=this.getRowFoldStart(E),b=this.getRowFoldEnd(b),y<0){var M=this.getRowFoldStart(E+y);if(M<0)return 0;var q=M-E}else if(y>0){var M=this.getRowFoldEnd(b+y);if(M>this.doc.getLength()-1)return 0;var q=M-b}else{E=this.$clipRowToDocument(E),b=this.$clipRowToDocument(b);var q=b-E+1}var _e=new r(E,0,b,Number.MAX_VALUE),Ee=this.getFoldsInRange(_e).map(function(ot){return ot=ot.clone(),ot.start.row+=q,ot.end.row+=q,ot}),it=y==0?this.doc.getLines(E,b):this.doc.removeFullLines(E,b);return this.doc.insertFullLines(E+q,it),Ee.length&&this.addFolds(Ee),q},I.prototype.moveLinesUp=function(E,b){return this.$moveLines(E,b,-1)},I.prototype.moveLinesDown=function(E,b){return this.$moveLines(E,b,1)},I.prototype.duplicateLines=function(E,b){return this.$moveLines(E,b,0)},I.prototype.$clipRowToDocument=function(E){return Math.max(0,Math.min(E,this.doc.getLength()-1))},I.prototype.$clipColumnToRow=function(E,b){return b<0?0:Math.min(this.doc.getLine(E).length,b)},I.prototype.$clipPositionToDocument=function(E,b){if(b=Math.max(0,b),E<0)E=0,b=0;else{var y=this.doc.getLength();E>=y?(E=y-1,b=this.doc.getLine(y-1).length):b=Math.min(this.doc.getLine(E).length,b)}return{row:E,column:b}},I.prototype.$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 b=this.doc.getLength()-1;return E.end.row>b?(E.end.row=b,E.end.column=this.doc.getLine(b).length):E.end.column=this.$clipColumnToRow(E.end.row,E.end.column),E},I.prototype.setUseWrapMode=function(E){if(E!=this.$useWrapMode){if(this.$useWrapMode=E,this.$modified=!0,this.$resetRowCache(0),E){var b=this.getLength();this.$wrapData=Array(b),this.$updateWrapData(0,b-1)}this._signal("changeWrapMode")}},I.prototype.getUseWrapMode=function(){return this.$useWrapMode},I.prototype.setWrapLimitRange=function(E,b){(this.$wrapLimitRange.min!==E||this.$wrapLimitRange.max!==b)&&(this.$wrapLimitRange={min:E,max:b},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},I.prototype.adjustWrapLimit=function(E,b){var y=this.$wrapLimitRange;y.max<0&&(y={min:b,max:b});var M=this.$constrainWrapLimit(E,y.min,y.max);return M!=this.$wrapLimit&&M>1?(this.$wrapLimit=M,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},I.prototype.$constrainWrapLimit=function(E,b,y){return b&&(E=Math.max(b,E)),y&&(E=Math.min(y,E)),E},I.prototype.getWrapLimit=function(){return this.$wrapLimit},I.prototype.setWrapLimit=function(E){this.setWrapLimitRange(E,E)},I.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},I.prototype.$updateInternalDataOnChange=function(E){var b=this.$useWrapMode,y=E.action,M=E.start,q=E.end,_e=M.row,Ee=q.row,it=Ee-_e,ot=null;if(this.$updating=!0,it!=0)if(y==="remove"){this[b?"$wrapData":"$rowLengthCache"].splice(_e,it);var zt=this.$foldData;ot=this.getFoldsInRange(E),this.removeFolds(ot);var at=this.getFoldLine(q.row),ct=0;if(at){at.addRemoveChars(q.row,q.column,M.column-q.column),at.shiftRow(-it);var Mt=this.getFoldLine(_e);Mt&&Mt!==at&&(Mt.merge(at),at=Mt),ct=zt.indexOf(at)+1}for(ct;ct<zt.length;ct++){var at=zt[ct];at.start.row>=q.row&&at.shiftRow(-it)}Ee=_e}else{var Bt=Array(it);Bt.unshift(_e,0);var jt=b?this.$wrapData:this.$rowLengthCache;jt.splice.apply(jt,Bt);var zt=this.$foldData,at=this.getFoldLine(_e),ct=0;if(at){var qt=at.range.compareInside(M.row,M.column);qt==0?(at=at.split(M.row,M.column),at&&(at.shiftRow(it),at.addRemoveChars(Ee,0,q.column-M.column))):qt==-1&&(at.addRemoveChars(_e,0,q.column-M.column),at.shiftRow(it)),ct=zt.indexOf(at)+1}for(ct;ct<zt.length;ct++){var at=zt[ct];at.start.row>=_e&&at.shiftRow(it)}}else{it=Math.abs(E.start.column-E.end.column),y==="remove"&&(ot=this.getFoldsInRange(E),this.removeFolds(ot),it=-it);var at=this.getFoldLine(_e);at&&at.addRemoveChars(_e,M.column,it)}return b&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,b?this.$updateWrapData(_e,Ee):this.$updateRowLengthCache(_e,Ee),ot},I.prototype.$updateRowLengthCache=function(E,b){this.$rowLengthCache[E]=null,this.$rowLengthCache[b]=null},I.prototype.$updateWrapData=function(E,b){var y=this.doc.getAllLines(),M=this.getTabSize(),q=this.$wrapData,_e=this.$wrapLimit,Ee,it,ot=E;for(b=Math.min(b,y.length-1);ot<=b;)it=this.getFoldLine(ot,it),it?(Ee=[],it.walk((function(zt,at,ct,Mt){var Bt;if(zt!=null){Bt=this.$getDisplayTokens(zt,Ee.length),Bt[0]=$;for(var jt=1;jt<Bt.length;jt++)Bt[jt]=C}else Bt=this.$getDisplayTokens(y[at].substring(Mt,ct),Ee.length);Ee=Ee.concat(Bt)}).bind(this),it.end.row,y[it.end.row].length+1),q[it.start.row]=this.$computeWrapSplits(Ee,_e,M),ot=it.end.row+1):(Ee=this.$getDisplayTokens(y[ot]),q[ot]=this.$computeWrapSplits(Ee,_e,M),ot++)},I.prototype.$computeWrapSplits=function(E,b,y){if(E.length==0)return[];var M=[],q=E.length,_e=0,Ee=0,it=this.$wrapAsCode,ot=this.$indentedSoftWrap,zt=b<=Math.max(2*y,8)||ot===!1?0:Math.floor(b/2);function at(){var qt=0;if(zt===0)return qt;if(ot)for(var li=0;li<E.length;li++){var ai=E[li];if(ai==ye)qt+=1;else if(ai==U)qt+=y;else{if(ai==L)continue;break}}return it&&ot!==!1&&(qt+=y),Math.min(qt,zt)}function ct(qt){for(var li=qt-_e,ai=_e;ai<qt;ai++){var di=E[ai];(di===12||di===2)&&(li-=1)}M.length||(Mt=at(),M.indent=Mt),Ee+=li,M.push(Ee),_e=qt}for(var Mt=0;q-_e>b-Mt;){var Bt=_e+b-Mt;if(E[Bt-1]>=ye&&E[Bt]>=ye){ct(Bt);continue}if(E[Bt]==$||E[Bt]==C){for(Bt;Bt!=_e-1&&E[Bt]!=$;Bt--);if(Bt>_e){ct(Bt);continue}for(Bt=_e+b,Bt;Bt<E.length&&E[Bt]==C;Bt++);if(Bt==E.length)break;ct(Bt);continue}for(var jt=Math.max(Bt-(b-(b>>2)),_e-1);Bt>jt&&E[Bt]<$;)Bt--;if(it){for(;Bt>jt&&E[Bt]<$;)Bt--;for(;Bt>jt&&E[Bt]==W;)Bt--}else for(;Bt>jt&&E[Bt]<ye;)Bt--;if(Bt>jt){ct(++Bt);continue}Bt=_e+b,E[Bt]==x&&Bt--,ct(Bt-Mt)}return M},I.prototype.$getDisplayTokens=function(E,b){var y=[],M;b=b||0;for(var q=0;q<E.length;q++){var _e=E.charCodeAt(q);if(_e==9){M=this.getScreenTabSize(y.length+b),y.push(U);for(var Ee=1;Ee<M;Ee++)y.push(L)}else _e==32?y.push(ye):_e>39&&_e<48||_e>57&&_e<64?y.push(W):_e>=4352&&De(_e)?y.push(k,x):y.push(k)}return y},I.prototype.$getStringScreenWidth=function(E,b,y){if(b==0)return[0,0];b==null&&(b=1/0),y=y||0;var M,q;for(q=0;q<E.length&&(M=E.charCodeAt(q),M==9?y+=this.getScreenTabSize(y):M>=4352&&De(M)?y+=2:y+=1,!(y>b));q++);return[y,q]},I.prototype.getRowLength=function(E){var b=1;return this.lineWidgets&&(b+=this.lineWidgets[E]&&this.lineWidgets[E].rowCount||0),!this.$useWrapMode||!this.$wrapData[E]?b:this.$wrapData[E].length+b},I.prototype.getRowLineCount=function(E){return!this.$useWrapMode||!this.$wrapData[E]?1:this.$wrapData[E].length+1},I.prototype.getRowWrapIndent=function(E){if(this.$useWrapMode){var b=this.screenToDocumentPosition(E,Number.MAX_VALUE),y=this.$wrapData[b.row];return y.length&&y[0]<b.column?y.indent:0}else return 0},I.prototype.getScreenLastRowColumn=function(E){var b=this.screenToDocumentPosition(E,Number.MAX_VALUE);return this.documentToScreenColumn(b.row,b.column)},I.prototype.getDocumentLastRowColumn=function(E,b){var y=this.documentToScreenRow(E,b);return this.getScreenLastRowColumn(y)},I.prototype.getDocumentLastRowColumnPosition=function(E,b){var y=this.documentToScreenRow(E,b);return this.screenToDocumentPosition(y,Number.MAX_VALUE/10)},I.prototype.getRowSplitData=function(E){if(this.$useWrapMode)return this.$wrapData[E]},I.prototype.getScreenTabSize=function(E){return this.$tabSize-(E%this.$tabSize|0)},I.prototype.screenToDocumentRow=function(E,b){return this.screenToDocumentPosition(E,b).row},I.prototype.screenToDocumentColumn=function(E,b){return this.screenToDocumentPosition(E,b).column},I.prototype.screenToDocumentPosition=function(E,b,y){if(E<0)return{row:0,column:0};var M,q=0,_e=0,Ee,it=0,ot=0,zt=this.$screenRowCache,at=this.$getRowCacheIndex(zt,E),ct=zt.length;if(ct&&at>=0)var it=zt[at],q=this.$docRowCache[at],Mt=E>zt[ct-1];else var Mt=!ct;for(var Bt=this.getLength()-1,jt=this.getNextFoldLine(q),qt=jt?jt.start.row:1/0;it<=E&&(ot=this.getRowLength(q),!(it+ot>E||q>=Bt));)it+=ot,q++,q>qt&&(q=jt.end.row+1,jt=this.getNextFoldLine(q,jt),qt=jt?jt.start.row:1/0),Mt&&(this.$docRowCache.push(q),this.$screenRowCache.push(it));if(jt&&jt.start.row<=q)M=this.getFoldDisplayLine(jt),q=jt.start.row;else{if(it+ot<=E||q>Bt)return{row:Bt,column:this.getLine(Bt).length};M=this.getLine(q),jt=null}var li=0,ai=Math.floor(E-it);if(this.$useWrapMode){var di=this.$wrapData[q];di&&(Ee=di[ai],ai>0&&di.length&&(li=di.indent,_e=di[ai-1]||di[di.length-1],M=M.substring(_e)))}return y!==void 0&&this.$bidiHandler.isBidiRow(it+ai,q,ai)&&(b=this.$bidiHandler.offsetToCol(y)),_e+=this.$getStringScreenWidth(M,b-li)[1],this.$useWrapMode&&_e>=Ee&&(_e=Ee-1),jt?jt.idxToPosition(_e):{row:q,column:_e}},I.prototype.documentToScreenPosition=function(E,b){if(typeof b>"u")var y=this.$clipPositionToDocument(E.row,E.column);else y=this.$clipPositionToDocument(E,b);E=y.row,b=y.column;var M=0,q=null,_e=null;_e=this.getFoldAt(E,b,1),_e&&(E=_e.start.row,b=_e.start.column);var Ee,it=0,ot=this.$docRowCache,zt=this.$getRowCacheIndex(ot,E),at=ot.length;if(at&&zt>=0)var it=ot[zt],M=this.$screenRowCache[zt],ct=E>ot[at-1];else var ct=!at;for(var Mt=this.getNextFoldLine(it),Bt=Mt?Mt.start.row:1/0;it<E;){if(it>=Bt){if(Ee=Mt.end.row+1,Ee>E)break;Mt=this.getNextFoldLine(Ee,Mt),Bt=Mt?Mt.start.row:1/0}else Ee=it+1;M+=this.getRowLength(it),it=Ee,ct&&(this.$docRowCache.push(it),this.$screenRowCache.push(M))}var jt="";Mt&&it>=Bt?(jt=this.getFoldDisplayLine(Mt,E,b),q=Mt.start.row):(jt=this.getLine(E).substring(0,b),q=E);var qt=0;if(this.$useWrapMode){var li=this.$wrapData[q];if(li){for(var ai=0;jt.length>=li[ai];)M++,ai++;jt=jt.substring(li[ai-1]||0,jt.length),qt=ai>0?li.indent:0}}return this.lineWidgets&&this.lineWidgets[it]&&this.lineWidgets[it].rowsAbove&&(M+=this.lineWidgets[it].rowsAbove),{row:M,column:qt+this.$getStringScreenWidth(jt)[0]}},I.prototype.documentToScreenColumn=function(E,b){return this.documentToScreenPosition(E,b).column},I.prototype.documentToScreenRow=function(E,b){return this.documentToScreenPosition(E,b).row},I.prototype.getScreenLength=function(){var E=0,b=null;if(this.$useWrapMode)for(var q=this.$wrapData.length,_e=0,M=0,b=this.$foldData[M++],Ee=b?b.start.row:1/0;_e<q;){var it=this.$wrapData[_e];E+=it?it.length+1:1,_e++,_e>Ee&&(_e=b.end.row+1,b=this.$foldData[M++],Ee=b?b.start.row:1/0)}else{E=this.getLength();for(var y=this.$foldData,M=0;M<y.length;M++)b=y[M],E-=b.end.row-b.start.row}return this.lineWidgets&&(E+=this.$getWidgetScreenLength()),E},I.prototype.$setFontMetrics=function(E){this.$enableVarChar&&(this.$getStringScreenWidth=function(b,y,M){if(y===0)return[0,0];y||(y=1/0),M=M||0;var q,_e;for(_e=0;_e<b.length&&(q=b.charAt(_e),q===" "?M+=this.getScreenTabSize(M):M+=E.getCharacterWidth(q),!(M>y));_e++);return[M,_e]})},I.prototype.getPrecedingCharacter=function(){var E=this.selection.getCursor();if(E.column===0)return E.row===0?"":this.doc.getNewLineCharacter();var b=this.getLine(E.row);return b[E.column-1]},I.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},I}();m.$uid=0,m.prototype.$modes=s.$modes,m.prototype.getValue=m.prototype.toString,m.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},m.prototype.$overwrite=!1,m.prototype.$mode=null,m.prototype.$modeId=null,m.prototype.$scrollTop=0,m.prototype.$scrollLeft=0,m.prototype.$wrapLimit=80,m.prototype.$useWrapMode=!1,m.prototype.$wrapLimitRange={min:null,max:null},m.prototype.lineWidgets=null,m.prototype.isFullWidth=De,A.implement(m.prototype,u);var k=1,x=2,$=3,C=4,W=9,ye=10,U=11,L=12;function De(I){return I<4352?!1:I>=4352&&I<=4447||I>=4515&&I<=4519||I>=4602&&I<=4607||I>=9001&&I<=9002||I>=11904&&I<=11929||I>=11931&&I<=12019||I>=12032&&I<=12245||I>=12272&&I<=12283||I>=12288&&I<=12350||I>=12353&&I<=12438||I>=12441&&I<=12543||I>=12549&&I<=12589||I>=12593&&I<=12686||I>=12688&&I<=12730||I>=12736&&I<=12771||I>=12784&&I<=12830||I>=12832&&I<=12871||I>=12880&&I<=13054||I>=13056&&I<=19903||I>=19968&&I<=42124||I>=42128&&I<=42182||I>=43360&&I<=43388||I>=44032&&I<=55203||I>=55216&&I<=55238||I>=55243&&I<=55291||I>=63744&&I<=64255||I>=65040&&I<=65049||I>=65072&&I<=65106||I>=65108&&I<=65126||I>=65128&&I<=65131||I>=65281&&I<=65376||I>=65504&&I<=65510}f("./edit_session/folding").Folding.call(m.prototype),f("./edit_session/bracket_match").BracketMatch.call(m.prototype),s.defineOptions(m.prototype,"session",{wrap:{set:function(I){if(!I||I=="off"?I=!1:I=="free"?I=!0:I=="printMargin"?I=-1:typeof I=="string"&&(I=parseInt(I,10)||!1),this.$wrap!=I)if(this.$wrap=I,!I)this.setUseWrapMode(!1);else{var E=typeof I=="number"?I:null;this.setWrapLimitRange(E,E),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(I){I=I=="auto"?this.$mode.type!="text":I!="text",I!=this.$wrapAsCode&&(this.$wrapAsCode=I,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(I){this.$useWorker=I,this.$stopWorker(),I&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(I){I=parseInt(I),I>0&&this.$tabSize!==I&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=I,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(I){this.setFoldStyle(I)},handlesSet:!0},overwrite:{set:function(I){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(I){this.doc.setNewLineMode(I)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(I){this.setMode(I)},get:function(){return this.$modeId},handlesSet:!0}}),g.EditSession=m}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(f,g,J){var A=f("./lib/lang"),S=f("./lib/oop"),_=f("./range").Range,s=function(){function r(){this.$options={}}return r.prototype.set=function(t){return S.mixin(this.$options,t),this},r.prototype.getOptions=function(){return A.copyObject(this.$options)},r.prototype.setOptions=function(t){this.$options=t},r.prototype.find=function(t){var e=this.$options,n=this.$matchIterator(t,e);if(!n)return!1;var a=null;return n.forEach(function(p,m,k,x){return a=new _(p,m,k,x),m==x&&e.start&&e.start.start&&e.skipCurrent!=!1&&a.isEqual(e.start)?(a=null,!1):!0}),a},r.prototype.findAll=function(t){var e=this.$options;if(!e.needle)return[];this.$assembleRegExp(e);var n=e.range,a=n?t.getLines(n.start.row,n.end.row):t.doc.getAllLines(),p=[],m=e.re;if(e.$isMultiLine){var k=m.length,x=a.length-k,$;e:for(var C=m.offset||0;C<=x;C++){for(var W=0;W<k;W++)if(a[C+W].search(m[W])==-1)continue e;var ye=a[C],U=a[C+k-1],L=ye.length-ye.match(m[0])[0].length,De=U.match(m[k-1])[0].length;$&&$.end.row===C&&$.end.column>L||(p.push($=new _(C,L,C+k-1,De)),k>2&&(C=C+k-2))}}else for(var I,E=0;E<a.length;E++)if(this.$isMultilineSearch(e)){var b=a.length-1;if(I=this.$multiLineForward(t,m,E,b),I){var y=I.endRow<=b?I.endRow-1:b;y>E&&(E=y),p.push(new _(I.startRow,I.startCol,I.endRow,I.endCol))}}else{I=A.getMatchOffsets(a[E],m);for(var W=0;W<I.length;W++){var M=I[W];p.push(new _(E,M.offset,E,M.offset+M.length))}}if(n){for(var q=n.start.column,_e=n.end.column,E=0,W=p.length-1;E<W&&p[E].start.column<q&&p[E].start.row==0;)E++;for(var Ee=n.end.row-n.start.row;E<W&&p[W].end.column>_e&&p[W].end.row==Ee;)W--;for(p=p.slice(E,W+1),E=0,W=p.length;E<W;E++)p[E].start.row+=n.start.row,p[E].end.row+=n.start.row}return p},r.prototype.parseReplaceString=function(t){for(var e={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},n="",a=0,p=t.length;a<p;a++){var m=t.charCodeAt(a);if(m===e.Backslash){if(a++,a>=p){n+="\\";break}var k=t.charCodeAt(a);switch(k){case e.Backslash:n+="\\";break;case e.n:n+=`
|
201
|
+
`;break;case e.t:n+=" ";break}continue}if(m===e.DollarSign){if(a++,a>=p){n+="$";break}var x=t.charCodeAt(a);if(x===e.DollarSign){n+="$$";continue}if(x===e.Digit0||x===e.Ampersand){n+="$&";continue}if(e.Digit1<=x&&x<=e.Digit9){n+="$"+t[a];continue}}n+=t[a]}return n||t},r.prototype.replace=function(t,e){var n=this.$options,a=this.$assembleRegExp(n);if(n.$isMultiLine)return e;if(a){var p=this.$isMultilineSearch(n);p&&(t=t.replace(/\r\n|\r|\n/g,`
|
202
|
+
`));var m=a.exec(t);if(!m||!p&&m[0].length!=t.length)return null;if(e=n.regExp?this.parseReplaceString(e):e.replace(/\$/g,"$$$$"),e=t.replace(a,e),n.preserveCase){e=e.split("");for(var k=Math.min(t.length,t.length);k--;){var x=t[k];x&&x.toLowerCase()!=x?e[k]=e[k].toUpperCase():e[k]=e[k].toLowerCase()}e=e.join("")}return e}},r.prototype.$assembleRegExp=function(t,e){if(t.needle instanceof RegExp)return t.re=t.needle;var n=t.needle;if(!t.needle)return t.re=!1;t.regExp||(n=A.escapeRegExp(n));var a=t.caseSensitive?"gm":"gmi";try{new RegExp(n,"u"),t.$supportsUnicodeFlag=!0,a+="u"}catch{t.$supportsUnicodeFlag=!1}if(t.wholeWord&&(n=u(n,t)),t.$isMultiLine=!e&&/[\n\r]/.test(n),t.$isMultiLine)return t.re=this.$assembleMultilineRegExp(n,a);try{var p=new RegExp(n,a)}catch{p=!1}return t.re=p},r.prototype.$assembleMultilineRegExp=function(t,e){for(var n=t.replace(/\r\n|\r|\n/g,`$
|
203
|
+
^`).split(`
|
204
|
+
`),a=[],p=0;p<n.length;p++)try{a.push(new RegExp(n[p],e))}catch{return!1}return a},r.prototype.$isMultilineSearch=function(t){return t.re&&/\\r\\n|\\r|\\n/.test(t.re.source)&&t.regExp&&!t.$isMultiLine},r.prototype.$multiLineForward=function(t,e,n,a){for(var p,m=o(t,n),k=n;k<=a;){for(var x=0;x<m&&!(k>a);x++){var $=t.getLine(k++);p=p==null?$:p+`
|
205
|
+
`+$}var C=e.exec(p);if(e.lastIndex=0,C){var W=p.slice(0,C.index).split(`
|
206
|
+
`),ye=C[0].split(`
|
207
|
+
`),U=n+W.length-1,L=W[W.length-1].length,De=U+ye.length-1,I=ye.length==1?L+ye[0].length:ye[ye.length-1].length;return{startRow:U,startCol:L,endRow:De,endCol:I}}}return null},r.prototype.$multiLineBackward=function(t,e,n,a,p){for(var m,k=o(t,a),x=t.getLine(a).length-n,$=a;$>=p;){for(var C=0;C<k&&$>=p;C++){var W=t.getLine($--);m=m==null?W:W+`
|
208
|
+
`+m}var ye=i(m,e,x);if(ye){var U=m.slice(0,ye.index).split(`
|
209
|
+
`),L=ye[0].split(`
|
210
|
+
`),De=$+U.length,I=U[U.length-1].length,E=De+L.length-1,b=L.length==1?I+L[0].length:L[L.length-1].length;return{startRow:De,startCol:I,endRow:E,endCol:b}}}return null},r.prototype.$matchIterator=function(t,e){var n=this.$assembleRegExp(e);if(!n)return!1;var a=this.$isMultilineSearch(e),p=this.$multiLineForward,m=this.$multiLineBackward,k=e.backwards==!0,x=e.skipCurrent!=!1,$=n.unicode,C=e.range,W=e.start;W||(W=C?C[k?"end":"start"]:t.selection.getRange()),W.start&&(W=W[x!=k?"end":"start"]);var ye=C?C.start.row:0,U=C?C.end.row:t.getLength()-1;if(k)var L=function(E){var b=W.row;if(!I(b,W.column,E)){for(b--;b>=ye;b--)if(I(b,Number.MAX_VALUE,E))return;if(e.wrap!=!1){for(b=U,ye=W.row;b>=ye;b--)if(I(b,Number.MAX_VALUE,E))return}}};else var L=function(b){var y=W.row;if(!I(y,W.column,b)){for(y=y+1;y<=U;y++)if(I(y,0,b))return;if(e.wrap!=!1){for(y=ye,U=W.row;y<=U;y++)if(I(y,0,b))return}}};if(e.$isMultiLine)var De=n.length,I=function(E,b,y){var M=k?E-De+1:E;if(!(M<0||M+De>t.getLength())){var q=t.getLine(M),_e=q.search(n[0]);if(!(!k&&_e<b||_e===-1)){for(var Ee=1;Ee<De;Ee++)if(q=t.getLine(M+Ee),q.search(n[Ee])==-1)return;var it=q.match(n[De-1])[0].length;if(!(k&&it>b)&&y(M,_e,M+De-1,it))return!0}}};else if(k)var I=function(b,y,M){if(a){var q=m(t,n,y,b,ye);if(!q)return!1;if(M(q.startRow,q.startCol,q.endRow,q.endCol))return!0}else{var _e=t.getLine(b),Ee=[],it,ot=0;for(n.lastIndex=0;it=n.exec(_e);){var zt=it[0].length;if(ot=it.index,!zt){if(ot>=_e.length)break;n.lastIndex=ot+=A.skipEmptyMatch(_e,ot,$)}if(it.index+zt>y)break;Ee.push(it.index,zt)}for(var at=Ee.length-1;at>=0;at-=2){var ct=Ee[at-1],zt=Ee[at];if(M(b,ct,b,ct+zt))return!0}}};else var I=function(b,y,M){if(n.lastIndex=y,a){var q=p(t,n,b,U);if(q){var _e=q.endRow<=U?q.endRow-1:U;_e>b&&(b=_e)}if(!q)return!1;if(M(q.startRow,q.startCol,q.endRow,q.endCol))return!0}else for(var Ee=t.getLine(b),it,ot;ot=n.exec(Ee);){var zt=ot[0].length;if(it=ot.index,M(b,it,b,it+zt))return!0;if(!zt&&(n.lastIndex=it+=A.skipEmptyMatch(Ee,it,$),it>=Ee.length))return!1}};return{forEach:L}},r}();function u(r,t){var e=A.supportsLookbehind();function n(k,x){x===void 0&&(x=!0);var $=e&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return $.test(k)||t.regExp?e&&t.$supportsUnicodeFlag?x?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var a=Array.from(r),p=a[0],m=a[a.length-1];return n(p)+r+n(m,!1)}function i(r,t,e){for(var n=null,a=0;a<=r.length;){t.lastIndex=a;var p=t.exec(r);if(!p)break;var m=p.index+p[0].length;if(m>r.length-e)break;(!n||m>n.index+n[0].length)&&(n=p),a=p.index+1}return n}function o(r,t){var e=5e3,n={row:t,column:0},a=r.doc.positionToIndex(n),p=a+e,m=r.doc.indexToPosition(p),k=m.row;return k+1}g.Search=s}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(f,g,J){var A=this&&this.__extends||function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,a){n.__proto__=a}||function(n,a){for(var p in a)Object.prototype.hasOwnProperty.call(a,p)&&(n[p]=a[p])},r(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");r(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),S=f("../lib/keys"),_=f("../lib/useragent"),s=S.KEY_MODS,u=function(){function r(t,e){this.$init(t,e,!1)}return r.prototype.$init=function(t,e,n){this.platform=e||(_.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(t),this.$singleCommand=n},r.prototype.addCommand=function(t){this.commands[t.name]&&this.removeCommand(t),this.commands[t.name]=t,t.bindKey&&this._buildKeyHash(t)},r.prototype.removeCommand=function(t,e){var n=t&&(typeof t=="string"?t:t.name);t=this.commands[n],e||delete this.commands[n];var a=this.commandKeyBinding;for(var p in a){var m=a[p];if(m==t)delete a[p];else if(Array.isArray(m)){var k=m.indexOf(t);k!=-1&&(m.splice(k,1),m.length==1&&(a[p]=m[0]))}}},r.prototype.bindKey=function(t,e,n){if(typeof t=="object"&&t&&(n==null&&(n=t.position),t=t[this.platform]),!!t){if(typeof e=="function")return this.addCommand({exec:e,bindKey:t,name:e.name||t});t.split("|").forEach(function(a){var p="";if(a.indexOf(" ")!=-1){var m=a.split(/\s+/);a=m.pop(),m.forEach(function($){var C=this.parseKeys($),W=s[C.hashId]+C.key;p+=(p?" ":"")+W,this._addCommandToBinding(p,"chainKeys")},this),p+=" "}var k=this.parseKeys(a),x=s[k.hashId]+k.key;this._addCommandToBinding(p+x,e,n)},this)}},r.prototype._addCommandToBinding=function(t,e,n){var a=this.commandKeyBinding,p;if(!e)delete a[t];else if(!a[t]||this.$singleCommand)a[t]=e;else{Array.isArray(a[t])?(p=a[t].indexOf(e))!=-1&&a[t].splice(p,1):a[t]=[a[t]],typeof n!="number"&&(n=i(e));var m=a[t];for(p=0;p<m.length;p++){var k=m[p],x=i(k);if(x>n)break}m.splice(p,0,e)}},r.prototype.addCommands=function(t){t&&Object.keys(t).forEach(function(e){var n=t[e];if(n){if(typeof n=="string")return this.bindKey(n,e);typeof n=="function"&&(n={exec:n}),typeof n=="object"&&(n.name||(n.name=e),this.addCommand(n))}},this)},r.prototype.removeCommands=function(t){Object.keys(t).forEach(function(e){this.removeCommand(t[e])},this)},r.prototype.bindKeys=function(t){Object.keys(t).forEach(function(e){this.bindKey(e,t[e])},this)},r.prototype._buildKeyHash=function(t){this.bindKey(t.bindKey,t)},r.prototype.parseKeys=function(t){var e=t.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(x){return x}),n=e.pop(),a=S[n];if(S.FUNCTION_KEYS[a])n=S.FUNCTION_KEYS[a].toLowerCase();else if(e.length){if(e.length==1&&e[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}else return{key:n,hashId:-1};for(var p=0,m=e.length;m--;){var k=S.KEY_MODS[e[m]];if(k==null)return typeof console<"u"&&console.error("invalid modifier "+e[m]+" in "+t),!1;p|=k}return{key:n,hashId:p}},r.prototype.findKeyCommand=function(t,e){var n=s[t]+e;return this.commandKeyBinding[n]},r.prototype.handleKeyboard=function(t,e,n,a){if(!(a<0)){var p=s[e]+n,m=this.commandKeyBinding[p];return t.$keyChain&&(t.$keyChain+=" "+p,m=this.commandKeyBinding[t.$keyChain]||m),m&&(m=="chainKeys"||m[m.length-1]=="chainKeys")?(t.$keyChain=t.$keyChain||p,{command:"null"}):(t.$keyChain&&((!e||e==4)&&n.length==1?t.$keyChain=t.$keyChain.slice(0,-p.length-1):(e==-1||a>0)&&(t.$keyChain="")),{command:m})}},r.prototype.getStatusText=function(t,e){return e.$keyChain||""},r}();function i(r){return typeof r=="object"&&r.bindKey&&r.bindKey.position||(r.isDefault?-100:0)}var o=function(r){A(t,r);function t(e,n){var a=r.call(this,e,n)||this;return a.$singleCommand=!0,a}return t}(u);o.call=function(r,t,e){u.prototype.$init.call(r,t,e,!0)},u.call=function(r,t,e){u.prototype.$init.call(r,t,e,!1)},g.HashHandler=o,g.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(f,g,J){var A=this&&this.__extends||function(){var i=function(o,r){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},i(o,r)};return function(o,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");i(o,r);function t(){this.constructor=o}o.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}}(),S=f("../lib/oop"),_=f("../keyboard/hash_handler").MultiHashHandler,s=f("../lib/event_emitter").EventEmitter,u=function(i){A(o,i);function o(r,t){var e=i.call(this,t,r)||this;return e.byName=e.commands,e.setDefaultHandler("exec",function(n){return n.args?n.command.exec(n.editor,n.args,n.event,!1):n.command.exec(n.editor,{},n.event,!0)}),e}return o.prototype.exec=function(r,t,e){if(Array.isArray(r)){for(var n=r.length;n--;)if(this.exec(r[n],t,e))return!0;return!1}typeof r=="string"&&(r=this.commands[r]);var a={editor:t,command:r,args:e};return this.canExecute(r,t)?(a.returnValue=this._emit("exec",a),this._signal("afterExec",a),a.returnValue!==!1):(this._signal("commandUnavailable",a),!1)},o.prototype.canExecute=function(r,t){return typeof r=="string"&&(r=this.commands[r]),!(!r||t&&t.$readOnly&&!r.readOnly||this.$checkCommandState!=!1&&r.isAvailable&&!r.isAvailable(t))},o.prototype.toggleRecording=function(r){if(!this.$inReplay)return r&&r._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=(function(t){this.macro.push([t.command,t.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},o.prototype.replay=function(r){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(r);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,r):this.exec(t[0],r,t[1])},this)}finally{this.$inReplay=!1}}},o.prototype.trimMacro=function(r){return r.map(function(t){return typeof t[0]!="string"&&(t[0]=t[0].name),t[1]||(t=t[0]),t})},o}(_);S.implement(u.prototype,s),g.CommandManager=u}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(f,g,J){var A=f("../lib/lang"),S=f("../config"),_=f("../range").Range;function s(i,o){return{win:i,mac:o}}g.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:s("Ctrl-,","Command-,"),exec:function(i){S.loadModule("ace/ext/settings_menu",function(o){o.init(i),i.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:s("Alt-E","F4"),exec:function(i){S.loadModule("ace/ext/error_marker",function(o){o.showErrorMarker(i,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:s("Alt-Shift-E","Shift-F4"),exec:function(i){S.loadModule("ace/ext/error_marker",function(o){o.showErrorMarker(i,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:s("Ctrl-A","Command-A"),exec:function(i){i.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:s(null,"Ctrl-L"),exec:function(i){i.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:s("Ctrl-L","Command-L"),exec:function(i,o){typeof o=="number"&&!isNaN(o)&&i.gotoLine(o),i.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(i){i.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(i){i.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:s("F2","F2"),exec:function(i){i.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:s("Alt-F2","Alt-F2"),exec:function(i){i.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:s("Alt-0","Command-Option-0"),exec:function(i){i.session.foldAll(),i.session.unfold(i.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(i){i.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:s("Ctrl-K","Command-G"),exec:function(i){i.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(i){i.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:s("Alt-K","Ctrl-G"),exec:function(i){i.selection.isEmpty()?i.selection.selectWord():i.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:s("Alt-Shift-K","Ctrl-Shift-G"),exec:function(i){i.selection.isEmpty()?i.selection.selectWord():i.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:s("Ctrl-F","Command-F"),exec:function(i){S.loadModule("ace/ext/searchbox",function(o){o.Search(i)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(i){i.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:s("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(i){i.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(i){i.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:s("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(i){i.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:s("Up","Up|Ctrl-P"),exec:function(i,o){i.navigateUp(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:s("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(i){i.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(i){i.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:s("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(i){i.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:s("Down","Down|Ctrl-N"),exec:function(i,o){i.navigateDown(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(i){i.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:s("Ctrl-Left","Option-Left"),exec:function(i){i.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:s("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(i){i.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(i){i.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:s("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(i){i.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:s("Left","Left|Ctrl-B"),exec:function(i,o){i.navigateLeft(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(i){i.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:s("Ctrl-Right","Option-Right"),exec:function(i){i.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:s("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(i){i.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(i){i.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:s("Shift-Right","Shift-Right"),exec:function(i){i.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:s("Right","Right|Ctrl-F"),exec:function(i,o){i.navigateRight(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(i){i.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:s(null,"Option-PageDown"),exec:function(i){i.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(i){i.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(i){i.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:s(null,"Option-PageUp"),exec:function(i){i.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(i){i.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:s("Ctrl-Up",null),exec:function(i){i.renderer.scrollBy(0,-2*i.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:s("Ctrl-Down",null),exec:function(i){i.renderer.scrollBy(0,2*i.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(i){i.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(i){i.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(i){i.commands.toggleRecording(i)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(i){i.commands.replay(i)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:s("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(i){i.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:s("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(i){i.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:s("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(i){i.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:s(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(i){},readOnly:!0},{name:"cut",description:"Cut",exec:function(i){var o=i.$copyWithEmptySelection&&i.selection.isEmpty(),r=o?i.selection.getLineRange():i.selection.getRange();i._emit("cut",r),r.isEmpty()||i.session.remove(r),i.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(i,o){i.$handlePaste(o)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:s("Ctrl-D","Command-D"),exec:function(i){i.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(i){i.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(i){i.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:s("Ctrl-/","Command-/"),exec:function(i){i.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:s("Ctrl-Shift-/","Command-Shift-/"),exec:function(i){i.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(i){i.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(i){i.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(i){S.loadModule("ace/ext/searchbox",function(o){o.Search(i,!0)})}},{name:"undo",description:"Undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(i){i.undo()}},{name:"redo",description:"Redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(i){i.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(i){i.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:s("Alt-Up","Option-Up"),exec:function(i){i.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(i){i.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:s("Alt-Down","Option-Down"),exec:function(i){i.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:s("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(i){i.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:s("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(i){i.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:s("Shift-Delete",null),exec:function(i){if(i.selection.isEmpty())i.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(i){i.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:s("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(i){i.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:s("Ctrl-Shift-Backspace",null),exec:function(i){var o=i.selection.getRange();o.start.column=0,i.session.remove(o)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:s("Ctrl-Shift-Delete",null),exec:function(i){var o=i.selection.getRange();o.end.column=Number.MAX_VALUE,i.session.remove(o)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(i){i.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(i){i.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(i){i.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:s("Tab","Tab"),exec:function(i){i.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(i){i.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(i){i.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(i,o){i.insert(o)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(i,o){i.insert(A.stringRepeat(o.text||"",o.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:s(null,"Ctrl-O"),exec:function(i){i.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:s("Alt-Shift-X","Ctrl-T"),exec:function(i){i.transposeLetters()},multiSelectAction:function(i){i.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(i){i.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(i){i.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:s(null,null),exec:function(i){i.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:s("Ctrl-Shift-L","Command-Shift-L"),exec:function(i){var o=i.selection.getRange();o.start.column=o.end.column=0,o.end.row++,i.selection.setRange(o,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:s("Ctrl+F3","F3"),exec:function(i){i.openLink()}},{name:"joinlines",description:"Join lines",bindKey:s(null,null),exec:function(i){for(var o=i.selection.isBackwards(),r=o?i.selection.getSelectionLead():i.selection.getSelectionAnchor(),t=o?i.selection.getSelectionAnchor():i.selection.getSelectionLead(),e=i.session.doc.getLine(r.row).length,n=i.session.doc.getTextRange(i.selection.getRange()),a=n.replace(/\n\s*/," ").length,p=i.session.doc.getLine(r.row),m=r.row+1;m<=t.row+1;m++){var k=A.stringTrimLeft(A.stringTrimRight(i.session.doc.getLine(m)));k.length!==0&&(k=" "+k),p+=k}t.row+1<i.session.doc.getLength()-1&&(p+=i.session.doc.getNewLineCharacter()),i.clearSelection(),i.session.doc.replace(new _(r.row,0,t.row+2,0),p),a>0?(i.selection.moveCursorTo(r.row,r.column),i.selection.selectTo(r.row,r.column+a)):(e=i.session.doc.getLine(r.row).length>e?e+1:e,i.selection.moveCursorTo(r.row,e))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:s(null,null),exec:function(i){var o=i.session.doc.getLength()-1,r=i.session.doc.getLine(o).length,t=i.selection.rangeList.ranges,e=[];t.length<1&&(t=[i.selection.getRange()]);for(var n=0;n<t.length;n++)n==t.length-1&&(t[n].end.row===o&&t[n].end.column===r||e.push(new _(t[n].end.row,t[n].end.column,o,r))),n===0?t[n].start.row===0&&t[n].start.column===0||e.push(new _(0,0,t[n].start.row,t[n].start.column)):e.push(new _(t[n-1].end.row,t[n-1].end.column,t[n].start.row,t[n].start.column));i.exitMultiSelectMode(),i.clearSelection();for(var n=0;n<e.length;n++)i.selection.addRange(e[n],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(i){i.selection.clearSelection(),i.navigateLineEnd(),i.insert(`
|
211
|
+
`)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(i){i.selection.clearSelection();var o=i.getCursorPosition();i.selection.moveTo(o.row-1,Number.MAX_VALUE),i.insert(`
|
212
|
+
`),o.row===0&&i.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(i){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),i.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:s("F1","F1"),exec:function(i){i.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:s(null,null),exec:function(i){i.prompt({$type:"modes"})},readOnly:!0}];for(var u=1;u<9;u++)g.commands.push({name:"foldToLevel"+u,description:"Fold To Level "+u,level:u,exec:function(i){i.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(f,g,J){var A=f("../lib/keys"),S=f("../mouse/default_gutter_handler").GutterTooltip,_=function(){function u(i){this.editor=i,this.gutterLayer=i.renderer.$gutterLayer,this.element=i.renderer.$gutter,this.lines=i.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new S(this.editor)}return u.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},u.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},u.prototype.$onGutterKeyDown=function(i){if(this.annotationTooltip.isOpen){i.preventDefault(),i.keyCode===A.escape&&this.annotationTooltip.hideTooltip();return}if(i.target===this.element){if(i.keyCode!=A.enter)return;i.preventDefault();var o=this.editor.getCursorPosition().row;this.editor.isRowVisible(o)||this.editor.scrollToLine(o,!0,!0),setTimeout((function(){var r=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),t=this.$findNearestFoldWidget(r),e=this.$findNearestAnnotation(r);if(!(t===null&&e===null)){if(t===null&&e!==null){this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}if(t!==null&&e===null){this.activeRowIndex=t,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}if(Math.abs(e-r)<Math.abs(t-r)){this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}else{this.activeRowIndex=t,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(i),setTimeout((function(){this.editor._signal("gutterkeydown",new s(i,this))}).bind(this),10)},u.prototype.$handleGutterKeyboardInteraction=function(i){if(i.keyCode===A.tab){i.preventDefault();return}if(i.keyCode===A.escape){i.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(i.keyCode===A.up){switch(i.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(i.keyCode===A.down){switch(i.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(i.keyCode===A.left){i.preventDefault(),this.$switchLane("annotation");return}if(i.keyCode===A.right){i.preventDefault(),this.$switchLane("fold");return}if(i.keyCode===A.enter||i.keyCode===A.space){switch(i.preventDefault(),this.activeLane){case"fold":if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="start"){var o=this.$rowIndexToRow(this.activeRowIndex);this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),i),setTimeout((function(){this.$rowIndexToRow(this.activeRowIndex)!==o&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(o),this.$focusFoldWidget(this.activeRowIndex))}).bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":var r=this.lines.cells[this.activeRowIndex].element.childNodes[2],t=r.getBoundingClientRect(),e=this.annotationTooltip.getElement().style;e.left=t.right+"px",e.top=t.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));break}return}},u.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},u.prototype.$isFoldWidgetVisible=function(i){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),r=this.$getFoldWidget(i).style.display!=="none";return o&&r},u.prototype.$isAnnotationVisible=function(i){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),r=this.$getAnnotation(i).style.display!=="none";return o&&r},u.prototype.$getFoldWidget=function(i){var o=this.lines.get(i),r=o.element;return r.childNodes[1]},u.prototype.$getAnnotation=function(i){var o=this.lines.get(i),r=o.element;return r.childNodes[2]},u.prototype.$findNearestFoldWidget=function(i){if(this.$isFoldWidgetVisible(i))return i;for(var o=0;i-o>0||i+o<this.lines.getLength()-1;){if(o++,i-o>=0&&this.$isFoldWidgetVisible(i-o))return i-o;if(i+o<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(i+o))return i+o}return null},u.prototype.$findNearestAnnotation=function(i){if(this.$isAnnotationVisible(i))return i;for(var o=0;i-o>0||i+o<this.lines.getLength()-1;){if(o++,i-o>=0&&this.$isAnnotationVisible(i-o))return i-o;if(i+o<=this.lines.getLength()-1&&this.$isAnnotationVisible(i+o))return i+o}return null},u.prototype.$focusFoldWidget=function(i){if(i!=null){var o=this.$getFoldWidget(i);o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus()}},u.prototype.$focusAnnotation=function(i){if(i!=null){var o=this.$getAnnotation(i);o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus()}},u.prototype.$blurFoldWidget=function(i){var o=this.$getFoldWidget(i);o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur()},u.prototype.$blurAnnotation=function(i){var o=this.$getAnnotation(i);o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur()},u.prototype.$moveFoldWidgetUp=function(){for(var i=this.activeRowIndex;i>0;)if(i--,this.$isFoldWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=i,this.$focusFoldWidget(this.activeRowIndex);return}},u.prototype.$moveFoldWidgetDown=function(){for(var i=this.activeRowIndex;i<this.lines.getLength()-1;)if(i++,this.$isFoldWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=i,this.$focusFoldWidget(this.activeRowIndex);return}},u.prototype.$moveAnnotationUp=function(){for(var i=this.activeRowIndex;i>0;)if(i--,this.$isAnnotationVisible(i)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$focusAnnotation(this.activeRowIndex);return}},u.prototype.$moveAnnotationDown=function(){for(var i=this.activeRowIndex;i<this.lines.getLength()-1;)if(i++,this.$isAnnotationVisible(i)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$focusAnnotation(this.activeRowIndex);return}},u.prototype.$switchLane=function(i){switch(i){case"annotation":if(this.activeLane==="annotation")break;var o=this.$findNearestAnnotation(this.activeRowIndex);if(o==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=o,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var r=this.$findNearestFoldWidget(this.activeRowIndex);if(r==null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,this.$focusFoldWidget(this.activeRowIndex);break}},u.prototype.$rowIndexToRow=function(i){var o=this.lines.get(i);return o?o.row:null},u.prototype.$rowToRowIndex=function(i){for(var o=0;o<this.lines.getLength();o++){var r=this.lines.get(o);if(r.row==i)return o}return null},u}();g.GutterKeyboardHandler=_;var s=function(){function u(i,o){this.gutterKeyboardHandler=o,this.domEvent=i}return u.prototype.getKey=function(){return A.keyCodeToString(this.domEvent.keyCode)},u.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},u.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},u.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},u}();g.GutterKeyboardEvent=s}),ace.define("ace/editor",["require","exports","module","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","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys","ace/lib/event","ace/tooltip"],function(f,g,J){var A=this&&this.__values||function(b){var y=typeof Symbol=="function"&&Symbol.iterator,M=y&&b[y],q=0;if(M)return M.call(b);if(b&&typeof b.length=="number")return{next:function(){return b&&q>=b.length&&(b=void 0),{value:b&&b[q++],done:!b}}};throw new TypeError(y?"Object is not iterable.":"Symbol.iterator is not defined.")},S=f("./lib/oop"),_=f("./lib/dom"),s=f("./lib/lang"),u=f("./lib/useragent"),i=f("./keyboard/textinput").TextInput,o=f("./mouse/mouse_handler").MouseHandler,r=f("./mouse/fold_handler").FoldHandler,t=f("./keyboard/keybinding").KeyBinding,e=f("./edit_session").EditSession,n=f("./search").Search,a=f("./range").Range,p=f("./lib/event_emitter").EventEmitter,m=f("./commands/command_manager").CommandManager,k=f("./commands/default_commands").commands,x=f("./config"),$=f("./token_iterator").TokenIterator,C=f("./keyboard/gutter_handler").GutterKeyboardHandler,W=f("./config").nls,ye=f("./clipboard"),U=f("./lib/keys"),L=f("./lib/event"),De=f("./tooltip").HoverTooltip,I=function(){function b(y,M,q){this.session,this.$toDestroy=[];var _e=y.getContainerElement();this.container=_e,this.renderer=y,this.id="editor"+ ++b.$uid,this.commands=new m(u.isMac?"mac":"win",k),typeof document=="object"&&(this.textInput=new i(y.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new o(this),new r(this)),this.keyBinding=new t(this),this.$search=new n().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(Ee,it){it._$emitInputEvent.schedule(31)}),this.setSession(M||q&&q.session||new e("")),x.resetOptions(this),q&&this.setOptions(q),x._signal("editor",this)}return b.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},b.prototype.startOperation=function(y){this.session.startOperation(y)},b.prototype.endOperation=function(y){this.session.endOperation(y)},b.prototype.onStartOperation=function(y){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,y||(this.previousCommand=null)},b.prototype.onEndOperation=function(y){if(this.curOp&&this.session){if(y&&y.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var M=this.curOp.command,q=M&&M.scrollIntoView;if(q){switch(q){case"center-animate":q="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var _e=this.selection.getRange(),Ee=this.renderer.layerConfig;(_e.start.row>=Ee.lastRow||_e.end.row<=Ee.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}q=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},b.prototype.$historyTracker=function(y){if(this.$mergeUndoDeltas){var M=this.prevOp,q=this.$mergeableCommands,_e=M.command&&y.command.name==M.command.name;if(y.command.name=="insertstring"){var Ee=y.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),_e=_e&&this.mergeNextCommand&&(!/\s/.test(Ee)||/\s/.test(M.args)),this.mergeNextCommand=!0}else _e=_e&&q.indexOf(y.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(_e=!1),_e?this.session.mergeUndoDeltas=!0:q.indexOf(y.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},b.prototype.setKeyboardHandler=function(y,M){if(y&&typeof y=="string"&&y!="ace"){this.$keybindingId=y;var q=this;x.loadModule(["keybinding",y],function(_e){q.$keybindingId==y&&q.keyBinding.setKeyboardHandler(_e&&_e.handler),M&&M()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(y),M&&M()},b.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},b.prototype.setSession=function(y){if(this.session!=y){this.curOp&&this.endOperation(),this.curOp={};var M=this.session;if(M){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var q=this.session.getSelection();q.off("changeCursor",this.$onCursorChange),q.off("changeSelection",this.$onSelectionChange)}this.session=y,y?(this.$onDocumentChange=this.onDocumentChange.bind(this),y.on("change",this.$onDocumentChange),this.renderer.setSession(y),this.$onChangeMode=this.onChangeMode.bind(this),y.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),y.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),y.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),y.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),y.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),y.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=y.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(y)),this._signal("changeSession",{session:y,oldSession:M}),this.curOp=null,M&&M._signal("changeEditor",{oldEditor:this}),M&&(M.$editor=null),y&&y._signal("changeEditor",{editor:this}),y&&(y.$editor=this),y&&!y.destroyed&&y.bgTokenizer.scheduleStart()}},b.prototype.getSession=function(){return this.session},b.prototype.setValue=function(y,M){return this.session.doc.setValue(y),M?M==1?this.navigateFileEnd():M==-1&&this.navigateFileStart():this.selectAll(),y},b.prototype.getValue=function(){return this.session.getValue()},b.prototype.getSelection=function(){return this.selection},b.prototype.resize=function(y){this.renderer.onResize(y)},b.prototype.setTheme=function(y,M){this.renderer.setTheme(y,M)},b.prototype.getTheme=function(){return this.renderer.getTheme()},b.prototype.setStyle=function(y){this.renderer.setStyle(y)},b.prototype.unsetStyle=function(y){this.renderer.unsetStyle(y)},b.prototype.getFontSize=function(){return this.getOption("fontSize")||_.computedStyle(this.container).fontSize},b.prototype.setFontSize=function(y){this.setOption("fontSize",y)},b.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var y=this;this.$highlightPending=!0,setTimeout(function(){y.$highlightPending=!1;var M=y.session;if(!(!M||M.destroyed)){M.$bracketHighlight&&(M.$bracketHighlight.markerIds.forEach(function(Mt){M.removeMarker(Mt)}),M.$bracketHighlight=null);var q=y.getCursorPosition(),_e=y.getKeyboardHandler(),Ee=_e&&_e.$getDirectionForHighlight&&_e.$getDirectionForHighlight(y),it=M.getMatchingBracketRanges(q,Ee);if(!it){var ot=new $(M,q.row,q.column),zt=ot.getCurrentToken();if(zt&&/\b(?:tag-open|tag-name)/.test(zt.type)){var at=M.getMatchingTags(q);at&&(it=[at.openTagName.isEmpty()?at.openTag:at.openTagName,at.closeTagName.isEmpty()?at.closeTag:at.closeTagName])}}if(!it&&M.$mode.getMatching&&(it=M.$mode.getMatching(y.session)),!it){y.getHighlightIndentGuides()&&y.renderer.$textLayer.$highlightIndentGuide();return}var ct="ace_bracket";Array.isArray(it)?it.length==1&&(ct="ace_error_bracket"):it=[it],it.length==2&&(a.comparePoints(it[0].end,it[1].start)==0?it=[a.fromPoints(it[0].start,it[1].end)]:a.comparePoints(it[0].start,it[1].end)==0&&(it=[a.fromPoints(it[1].start,it[0].end)])),M.$bracketHighlight={ranges:it,markerIds:it.map(function(Mt){return M.addMarker(Mt,ct,"text")})},y.getHighlightIndentGuides()&&y.renderer.$textLayer.$highlightIndentGuide()}},50)}},b.prototype.focus=function(){this.textInput.focus()},b.prototype.isFocused=function(){return this.textInput.isFocused()},b.prototype.blur=function(){this.textInput.blur()},b.prototype.onFocus=function(y){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",y))},b.prototype.onBlur=function(y){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",y))},b.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},b.prototype.onDocumentChange=function(y){var M=this.session.$useWrapMode,q=y.start.row==y.end.row?y.end.row:1/0;this.renderer.updateLines(y.start.row,q,M),this._signal("change",y),this.$cursorChange()},b.prototype.onTokenizerUpdate=function(y){var M=y.data;this.renderer.updateLines(M.first,M.last)},b.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},b.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},b.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},b.prototype.$updateHighlightActiveLine=function(){var y=this.getSession(),M;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(M=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(M=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(M=!1)),y.$highlightLineMarker&&!M)y.removeMarker(y.$highlightLineMarker.id),y.$highlightLineMarker=null;else if(!y.$highlightLineMarker&&M){var q=new a(M.row,M.column,M.row,1/0);q.id=y.addMarker(q,"ace_active-line","screenLine"),y.$highlightLineMarker=q}else M&&(y.$highlightLineMarker.start.row=M.row,y.$highlightLineMarker.end.row=M.row,y.$highlightLineMarker.start.column=M.column,y._signal("changeBackMarker"))},b.prototype.onSelectionChange=function(y){var M=this.session;if(M.$selectionMarker&&M.removeMarker(M.$selectionMarker),M.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var q=this.selection.getRange(),_e=this.getSelectionStyle();M.$selectionMarker=M.addMarker(q,"ace_selection",_e)}var Ee=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(Ee),this._signal("changeSelection")},b.prototype.$getSelectionHighLightRegexp=function(){var y=this.session,M=this.getSelectionRange();if(!(M.isEmpty()||M.isMultiLine())){var q=M.start.column,_e=M.end.column,Ee=y.getLine(M.start.row),it=Ee.substring(q,_e);if(!(it.length>5e3||!/[\w\d]/.test(it))){var ot=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:it}),zt=Ee.substring(q-1,_e+1);if(ot.test(zt))return ot}}},b.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},b.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},b.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},b.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},b.prototype.onChangeMode=function(y){this.renderer.updateText(),this._emit("changeMode",y)},b.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},b.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},b.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},b.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},b.prototype.getCopyText=function(){var y=this.getSelectedText(),M=this.session.doc.getNewLineCharacter(),q=!1;if(!y&&this.$copyWithEmptySelection){q=!0;for(var _e=this.selection.getAllRanges(),Ee=0;Ee<_e.length;Ee++){var it=_e[Ee];Ee&&_e[Ee-1].start.row==it.start.row||(y+=this.session.getLine(it.start.row)+M)}}var ot={text:y};return this._signal("copy",ot),ye.lineMode=q?ot.text:!1,ot.text},b.prototype.onCopy=function(){this.commands.exec("copy",this)},b.prototype.onCut=function(){this.commands.exec("cut",this)},b.prototype.onPaste=function(y,M){var q={text:y,event:M};this.commands.exec("paste",this,q)},b.prototype.$handlePaste=function(y){typeof y=="string"&&(y={text:y}),this._signal("paste",y);var M=y.text,q=M===ye.lineMode,_e=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)q?_e.insert({row:this.selection.lead.row,column:0},M):this.insert(M);else if(q)this.selection.rangeList.ranges.forEach(function(ct){_e.insert({row:ct.start.row,column:0},M)});else{var Ee=M.split(/\r\n|\r|\n/),it=this.selection.rangeList.ranges,ot=Ee.length==2&&(!Ee[0]||!Ee[1]);if(Ee.length!=it.length||ot)return this.commands.exec("insertstring",this,M);for(var zt=it.length;zt--;){var at=it[zt];at.isEmpty()||_e.remove(at),_e.insert(at.start,Ee[zt])}}},b.prototype.execCommand=function(y,M){return this.commands.exec(y,this,M)},b.prototype.insert=function(y,M){var q=this.session,_e=q.getMode(),Ee=this.getCursorPosition();if(this.getBehavioursEnabled()&&!M){var it=_e.transformAction(q.getState(Ee.row),"insertion",this,q,y);it&&(y!==it.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),y=it.text)}if(y==" "&&(y=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&y.indexOf(`
|
213
|
+
`)==-1){var ot=a.fromPoints(Ee,Ee);ot.end.column+=y.length,this.session.remove(ot)}}else{var ot=this.getSelectionRange();Ee=this.session.remove(ot),this.clearSelection()}if(y==`
|
214
|
+
`||y==`\r
|
215
|
+
`){var Mt=q.getLine(Ee.row);if(Ee.column>Mt.search(/\S|$/)){var zt=Mt.substr(Ee.column).search(/\S|$/);q.doc.removeInLine(Ee.row,Ee.column,Ee.column+zt)}}this.clearSelection();var at=Ee.column,ct=q.getState(Ee.row),Mt=q.getLine(Ee.row),Bt=_e.checkOutdent(ct,Mt,y);if(q.insert(Ee,y),it&&it.selection&&(it.selection.length==2?this.selection.setSelectionRange(new a(Ee.row,at+it.selection[0],Ee.row,at+it.selection[1])):this.selection.setSelectionRange(new a(Ee.row+it.selection[0],it.selection[1],Ee.row+it.selection[2],it.selection[3]))),this.$enableAutoIndent){if(q.getDocument().isNewLine(y)){var jt=_e.getNextLineIndent(ct,Mt.slice(0,Ee.column),q.getTabString());q.insert({row:Ee.row+1,column:0},jt)}Bt&&_e.autoOutdent(ct,q,Ee.row)}},b.prototype.autoIndent=function(){for(var y=this.session,M=y.getMode(),q=this.selection.isEmpty()?[new a(0,0,y.doc.getLength()-1,0)]:this.selection.getAllRanges(),_e="",Ee="",it="",ot=y.getTabString(),zt=0;zt<q.length;zt++)for(var at=q[zt].start.row,ct=q[zt].end.row,Mt=at;Mt<=ct;Mt++){Mt>0&&(_e=y.getState(Mt-1),Ee=y.getLine(Mt-1),it=M.getNextLineIndent(_e,Ee,ot));var Bt=y.getLine(Mt),jt=M.$getIndent(Bt);if(it!==jt){if(jt.length>0){var qt=new a(Mt,0,Mt,jt.length);y.remove(qt)}it.length>0&&y.insert({row:Mt,column:0},it)}M.autoOutdent(_e,y,Mt)}},b.prototype.onTextInput=function(y,M){if(!M)return this.keyBinding.onTextInput(y);this.startOperation({command:{name:"insertstring"}});var q=this.applyComposition.bind(this,y,M);this.selection.rangeCount?this.forEachSelection(q):q(),this.endOperation()},b.prototype.applyComposition=function(y,M){if(M.extendLeft||M.extendRight){var q=this.selection.getRange();q.start.column-=M.extendLeft,q.end.column+=M.extendRight,q.start.column<0&&(q.start.row--,q.start.column+=this.session.getLine(q.start.row).length+1),this.selection.setRange(q),!y&&!q.isEmpty()&&this.remove()}if((y||!this.selection.isEmpty())&&this.insert(y,!0),M.restoreStart||M.restoreEnd){var q=this.selection.getRange();q.start.column-=M.restoreStart,q.end.column-=M.restoreEnd,this.selection.setRange(q)}},b.prototype.onCommandKey=function(y,M,q){return this.keyBinding.onCommandKey(y,M,q)},b.prototype.setOverwrite=function(y){this.session.setOverwrite(y)},b.prototype.getOverwrite=function(){return this.session.getOverwrite()},b.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},b.prototype.setScrollSpeed=function(y){this.setOption("scrollSpeed",y)},b.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},b.prototype.setDragDelay=function(y){this.setOption("dragDelay",y)},b.prototype.getDragDelay=function(){return this.getOption("dragDelay")},b.prototype.setSelectionStyle=function(y){this.setOption("selectionStyle",y)},b.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},b.prototype.setHighlightActiveLine=function(y){this.setOption("highlightActiveLine",y)},b.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},b.prototype.setHighlightGutterLine=function(y){this.setOption("highlightGutterLine",y)},b.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},b.prototype.setHighlightSelectedWord=function(y){this.setOption("highlightSelectedWord",y)},b.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},b.prototype.setAnimatedScroll=function(y){this.renderer.setAnimatedScroll(y)},b.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},b.prototype.setShowInvisibles=function(y){this.renderer.setShowInvisibles(y)},b.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},b.prototype.setDisplayIndentGuides=function(y){this.renderer.setDisplayIndentGuides(y)},b.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},b.prototype.setHighlightIndentGuides=function(y){this.renderer.setHighlightIndentGuides(y)},b.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},b.prototype.setShowPrintMargin=function(y){this.renderer.setShowPrintMargin(y)},b.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},b.prototype.setPrintMarginColumn=function(y){this.renderer.setPrintMarginColumn(y)},b.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},b.prototype.setReadOnly=function(y){this.setOption("readOnly",y)},b.prototype.getReadOnly=function(){return this.getOption("readOnly")},b.prototype.setBehavioursEnabled=function(y){this.setOption("behavioursEnabled",y)},b.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},b.prototype.setWrapBehavioursEnabled=function(y){this.setOption("wrapBehavioursEnabled",y)},b.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},b.prototype.setShowFoldWidgets=function(y){this.setOption("showFoldWidgets",y)},b.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},b.prototype.setFadeFoldWidgets=function(y){this.setOption("fadeFoldWidgets",y)},b.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},b.prototype.remove=function(y){this.selection.isEmpty()&&(y=="left"?this.selection.selectLeft():this.selection.selectRight());var M=this.getSelectionRange();if(this.getBehavioursEnabled()){var q=this.session,_e=q.getState(M.start.row),Ee=q.getMode().transformAction(_e,"deletion",this,q,M);if(M.end.column===0){var it=q.getTextRange(M);if(it[it.length-1]==`
|
216
|
+
`){var ot=q.getLine(M.end.row);/^\s+$/.test(ot)&&(M.end.column=ot.length)}}Ee&&(M=Ee)}this.session.remove(M),this.clearSelection()},b.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},b.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},b.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},b.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var y=this.getSelectionRange();y.start.column==y.end.column&&y.start.row==y.end.row&&(y.end.column=0,y.end.row++),this.session.remove(y),this.clearSelection()},b.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var y=this.getCursorPosition();this.insert(`
|
217
|
+
`),this.moveCursorToPosition(y)},b.prototype.setGhostText=function(y,M){this.renderer.setGhostText(y,M)},b.prototype.removeGhostText=function(){this.renderer.removeGhostText()},b.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var y=this.getCursorPosition(),M=y.column;if(M!==0){var q=this.session.getLine(y.row),_e,Ee;M<q.length?(_e=q.charAt(M)+q.charAt(M-1),Ee=new a(y.row,M-1,y.row,M+1)):(_e=q.charAt(M-1)+q.charAt(M-2),Ee=new a(y.row,M-2,y.row,M)),this.session.replace(Ee,_e),this.session.selection.moveToPosition(Ee.end)}}},b.prototype.toLowerCase=function(){var y=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var M=this.getSelectionRange(),q=this.session.getTextRange(M);this.session.replace(M,q.toLowerCase()),this.selection.setSelectionRange(y)},b.prototype.toUpperCase=function(){var y=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var M=this.getSelectionRange(),q=this.session.getTextRange(M);this.session.replace(M,q.toUpperCase()),this.selection.setSelectionRange(y)},b.prototype.indent=function(){var y=this.session,M=this.getSelectionRange();if(M.start.row<M.end.row){var q=this.$getSelectedRows();y.indentRows(q.first,q.last," ");return}else if(M.start.column<M.end.column){var _e=y.getTextRange(M);if(!/^\s+$/.test(_e)){var q=this.$getSelectedRows();y.indentRows(q.first,q.last," ");return}}var Ee=y.getLine(M.start.row),it=M.start,ot=y.getTabSize(),zt=y.documentToScreenColumn(it.row,it.column);if(this.session.getUseSoftTabs())var at=ot-zt%ot,ct=s.stringRepeat(" ",at);else{for(var at=zt%ot;Ee[M.start.column-1]==" "&&at;)M.start.column--,at--;this.selection.setSelectionRange(M),ct=" "}return this.insert(ct)},b.prototype.blockIndent=function(){var y=this.$getSelectedRows();this.session.indentRows(y.first,y.last," ")},b.prototype.blockOutdent=function(){var y=this.session.getSelection();this.session.outdentRows(y.getRange())},b.prototype.sortLines=function(){for(var y=this.$getSelectedRows(),M=this.session,q=[],_e=y.first;_e<=y.last;_e++)q.push(M.getLine(_e));q.sort(function(ot,zt){return ot.toLowerCase()<zt.toLowerCase()?-1:ot.toLowerCase()>zt.toLowerCase()?1:0});for(var Ee=new a(0,0,0,0),_e=y.first;_e<=y.last;_e++){var it=M.getLine(_e);Ee.start.row=_e,Ee.end.row=_e,Ee.end.column=it.length,M.replace(Ee,q[_e-y.first])}},b.prototype.toggleCommentLines=function(){var y=this.session.getState(this.getCursorPosition().row),M=this.$getSelectedRows();this.session.getMode().toggleCommentLines(y,this.session,M.first,M.last)},b.prototype.toggleBlockComment=function(){var y=this.getCursorPosition(),M=this.session.getState(y.row),q=this.getSelectionRange();this.session.getMode().toggleBlockComment(M,this.session,q,y)},b.prototype.getNumberAt=function(y,M){var q=/[\-]?[0-9]+(?:\.[0-9]+)?/g;q.lastIndex=0;for(var _e=this.session.getLine(y);q.lastIndex<M;){var Ee=q.exec(_e);if(Ee.index<=M&&Ee.index+Ee[0].length>=M){var it={value:Ee[0],start:Ee.index,end:Ee.index+Ee[0].length};return it}}return null},b.prototype.modifyNumber=function(y){var M=this.selection.getCursor().row,q=this.selection.getCursor().column,_e=new a(M,q-1,M,q),Ee=this.session.getTextRange(_e);if(!isNaN(parseFloat(Ee))&&isFinite(Ee)){var it=this.getNumberAt(M,q);if(it){var ot=it.value.indexOf(".")>=0?it.start+it.value.indexOf(".")+1:it.end,zt=it.start+it.value.length-ot,at=parseFloat(it.value);at*=Math.pow(10,zt),ot!==it.end&&q<ot?y*=Math.pow(10,it.end-q-1):y*=Math.pow(10,it.end-q),at+=y,at/=Math.pow(10,zt);var ct=at.toFixed(zt),Mt=new a(M,it.start,M,it.end);this.session.replace(Mt,ct),this.moveCursorTo(M,Math.max(it.start+1,q+ct.length-it.value.length))}}else this.toggleWord()},b.prototype.toggleWord=function(){var y=this.selection.getCursor().row,M=this.selection.getCursor().column;this.selection.selectWord();var q=this.getSelectedText(),_e=this.selection.getWordRange().start.column,Ee=q.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),it=M-_e-1;it<0&&(it=0);var ot=0,zt=0,at=this;q.match(/[A-Za-z0-9_]+/)&&Ee.forEach(function(pi,wi){zt=ot+pi.length,it>=ot&&it<=zt&&(q=pi,at.selection.clearSelection(),at.moveCursorTo(y,ot+_e),at.selection.selectTo(y,zt+_e)),ot=zt});for(var ct=this.$toggleWordPairs,Mt,Bt=0;Bt<ct.length;Bt++)for(var jt=ct[Bt],qt=0;qt<=1;qt++){var li=+!qt,ai=q.match(new RegExp("^\\s?_?("+s.escapeRegExp(jt[qt])+")\\s?$","i"));if(ai){var di=q.match(new RegExp("([_]|^|\\s)("+s.escapeRegExp(ai[1])+")($|\\s)","g"));di&&(Mt=q.replace(new RegExp(s.escapeRegExp(jt[qt]),"i"),function(pi){var wi=jt[li];return pi.toUpperCase()==pi?wi=wi.toUpperCase():pi.charAt(0).toUpperCase()==pi.charAt(0)&&(wi=wi.substr(0,0)+jt[li].charAt(0).toUpperCase()+wi.substr(1)),wi}),this.insert(Mt),Mt="")}}},b.prototype.findLinkAt=function(y,M){var q,_e,Ee=this.session.getLine(y),it=Ee.split(/((?:https?|ftp):\/\/[\S]+)/),ot=M;ot<0&&(ot=0);var zt=0,at=0,ct;try{for(var Mt=A(it),Bt=Mt.next();!Bt.done;Bt=Mt.next()){var jt=Bt.value;if(at=zt+jt.length,ot>=zt&&ot<=at&&jt.match(/((?:https?|ftp):\/\/[\S]+)/)){ct=jt.replace(/[\s:.,'";}\]]+$/,"");break}zt=at}}catch(qt){q={error:qt}}finally{try{Bt&&!Bt.done&&(_e=Mt.return)&&_e.call(Mt)}finally{if(q)throw q.error}}return ct},b.prototype.openLink=function(){var y=this.selection.getCursor(),M=this.findLinkAt(y.row,y.column);return M&&window.open(M,"_blank"),M!=null},b.prototype.removeLines=function(){var y=this.$getSelectedRows();this.session.removeFullLines(y.first,y.last),this.clearSelection()},b.prototype.duplicateSelection=function(){var y=this.selection,M=this.session,q=y.getRange(),_e=y.isBackwards();if(q.isEmpty()){var Ee=q.start.row;M.duplicateLines(Ee,Ee)}else{var it=_e?q.start:q.end,ot=M.insert(it,M.getTextRange(q));q.start=it,q.end=ot,y.setSelectionRange(q,_e)}},b.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},b.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},b.prototype.moveText=function(y,M,q){return this.session.moveText(y,M,q)},b.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},b.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},b.prototype.$moveLines=function(y,M){var q,_e,Ee=this.selection;if(!Ee.inMultiSelectMode||this.inVirtualSelectionMode){var it=Ee.toOrientedRange();q=this.$getSelectedRows(it),_e=this.session.$moveLines(q.first,q.last,M?0:y),M&&y==-1&&(_e=0),it.moveBy(_e,0),Ee.fromOrientedRange(it)}else{var ot=Ee.rangeList.ranges;Ee.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var zt=0,at=0,ct=ot.length,Mt=0;Mt<ct;Mt++){var Bt=Mt;ot[Mt].moveBy(zt,0),q=this.$getSelectedRows(ot[Mt]);for(var jt=q.first,qt=q.last;++Mt<ct;){at&&ot[Mt].moveBy(at,0);var li=this.$getSelectedRows(ot[Mt]);if(M&&li.first!=qt)break;if(!M&&li.first>qt+1)break;qt=li.last}for(Mt--,zt=this.session.$moveLines(jt,qt,M?0:y),M&&y==-1&&(Bt=Mt+1);Bt<=Mt;)ot[Bt].moveBy(zt,0),Bt++;M||(zt=0),at+=zt}Ee.fromOrientedRange(Ee.ranges[0]),Ee.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},b.prototype.$getSelectedRows=function(y){return y=(y||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(y.start.row),last:this.session.getRowFoldEnd(y.end.row)}},b.prototype.onCompositionStart=function(y){this.renderer.showComposition(y)},b.prototype.onCompositionUpdate=function(y){this.renderer.setCompositionText(y)},b.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},b.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},b.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},b.prototype.isRowVisible=function(y){return y>=this.getFirstVisibleRow()&&y<=this.getLastVisibleRow()},b.prototype.isRowFullyVisible=function(y){return y>=this.renderer.getFirstFullyVisibleRow()&&y<=this.renderer.getLastFullyVisibleRow()},b.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},b.prototype.$moveByPage=function(y,M){var q=this.renderer,_e=this.renderer.layerConfig,Ee=y*Math.floor(_e.height/_e.lineHeight);M===!0?this.selection.$moveSelection(function(){this.moveCursorBy(Ee,0)}):M===!1&&(this.selection.moveCursorBy(Ee,0),this.selection.clearSelection());var it=q.scrollTop;q.scrollBy(0,Ee*_e.lineHeight),M!=null&&q.scrollCursorIntoView(null,.5),q.animateScrolling(it)},b.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},b.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},b.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},b.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},b.prototype.scrollPageDown=function(){this.$moveByPage(1)},b.prototype.scrollPageUp=function(){this.$moveByPage(-1)},b.prototype.scrollToRow=function(y){this.renderer.scrollToRow(y)},b.prototype.scrollToLine=function(y,M,q,_e){this.renderer.scrollToLine(y,M,q,_e)},b.prototype.centerSelection=function(){var y=this.getSelectionRange(),M={row:Math.floor(y.start.row+(y.end.row-y.start.row)/2),column:Math.floor(y.start.column+(y.end.column-y.start.column)/2)};this.renderer.alignCursor(M,.5)},b.prototype.getCursorPosition=function(){return this.selection.getCursor()},b.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},b.prototype.getSelectionRange=function(){return this.selection.getRange()},b.prototype.selectAll=function(){this.selection.selectAll()},b.prototype.clearSelection=function(){this.selection.clearSelection()},b.prototype.moveCursorTo=function(y,M){this.selection.moveCursorTo(y,M)},b.prototype.moveCursorToPosition=function(y){this.selection.moveCursorToPosition(y)},b.prototype.jumpToMatching=function(y,M){var q=this.getCursorPosition(),_e=new $(this.session,q.row,q.column),Ee=_e.getCurrentToken(),it=0;Ee&&Ee.type.indexOf("tag-name")!==-1&&(Ee=_e.stepBackward());var ot=Ee||_e.stepForward();if(ot){var zt,at=!1,ct={},Mt=q.column-ot.start,Bt,jt={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(ot.value.match(/[{}()\[\]]/g)){for(;Mt<ot.value.length&&!at;Mt++)if(jt[ot.value[Mt]])switch(Bt=jt[ot.value[Mt]]+"."+ot.type.replace("rparen","lparen"),isNaN(ct[Bt])&&(ct[Bt]=0),ot.value[Mt]){case"(":case"[":case"{":ct[Bt]++;break;case")":case"]":case"}":ct[Bt]--,ct[Bt]===-1&&(zt="bracket",at=!0);break}}else ot.type.indexOf("tag-name")!==-1&&(isNaN(ct[ot.value])&&(ct[ot.value]=0),Ee.value==="<"&&it>1?ct[ot.value]++:Ee.value==="</"&&ct[ot.value]--,ct[ot.value]===-1&&(zt="tag",at=!0));at||(Ee=ot,it++,ot=_e.stepForward(),Mt=0)}while(ot&&!at);if(zt){var qt,li;if(zt==="bracket")qt=this.session.getBracketRange(q),qt||(qt=new a(_e.getCurrentTokenRow(),_e.getCurrentTokenColumn()+Mt-1,_e.getCurrentTokenRow(),_e.getCurrentTokenColumn()+Mt-1),li=qt.start,(M||li.row===q.row&&Math.abs(li.column-q.column)<2)&&(qt=this.session.getBracketRange(li)));else if(zt==="tag"){if(!ot||ot.type.indexOf("tag-name")===-1)return;if(qt=new a(_e.getCurrentTokenRow(),_e.getCurrentTokenColumn()-2,_e.getCurrentTokenRow(),_e.getCurrentTokenColumn()-2),qt.compare(q.row,q.column)===0){var ai=this.session.getMatchingTags(q);ai&&(ai.openTag.contains(q.row,q.column)?(qt=ai.closeTag,li=qt.start):(qt=ai.openTag,ai.closeTag.start.row===q.row&&ai.closeTag.start.column===q.column?li=qt.end:li=qt.start))}li=li||qt.start}li=qt&&qt.cursor||li,li&&(y?qt&&M?this.selection.setRange(qt):qt&&qt.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(li.row,li.column):this.selection.moveTo(li.row,li.column))}}},b.prototype.gotoLine=function(y,M,q){this.selection.clearSelection(),this.session.unfold({row:y-1,column:M||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(y-1,M||0),this.isRowFullyVisible(y-1)||this.scrollToLine(y-1,!0,q)},b.prototype.navigateTo=function(y,M){this.selection.moveTo(y,M)},b.prototype.navigateUp=function(y){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var M=this.selection.anchor.getPosition();return this.moveCursorToPosition(M)}this.selection.clearSelection(),this.selection.moveCursorBy(-y||-1,0)},b.prototype.navigateDown=function(y){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var M=this.selection.anchor.getPosition();return this.moveCursorToPosition(M)}this.selection.clearSelection(),this.selection.moveCursorBy(y||1,0)},b.prototype.navigateLeft=function(y){if(this.selection.isEmpty())for(y=y||1;y--;)this.selection.moveCursorLeft();else{var M=this.getSelectionRange().start;this.moveCursorToPosition(M)}this.clearSelection()},b.prototype.navigateRight=function(y){if(this.selection.isEmpty())for(y=y||1;y--;)this.selection.moveCursorRight();else{var M=this.getSelectionRange().end;this.moveCursorToPosition(M)}this.clearSelection()},b.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},b.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},b.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},b.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},b.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},b.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},b.prototype.replace=function(y,M){M&&this.$search.set(M);var q=this.$search.find(this.session),_e=0;return q&&(this.$tryReplace(q,y)&&(_e=1),this.selection.setSelectionRange(q),this.renderer.scrollSelectionIntoView(q.start,q.end)),_e},b.prototype.replaceAll=function(y,M){M&&this.$search.set(M);var q=this.$search.findAll(this.session),_e=0;if(!q.length)return _e;var Ee=this.getSelectionRange();this.selection.moveTo(0,0);for(var it=q.length-1;it>=0;--it)this.$tryReplace(q[it],y)&&_e++;return this.selection.setSelectionRange(Ee),_e},b.prototype.$tryReplace=function(y,M){var q=this.session.getTextRange(y);return M=this.$search.replace(q,M),M!==null?(y.end=this.session.replace(y,M),y):null},b.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},b.prototype.find=function(y,M,q){M||(M={}),typeof y=="string"||y instanceof RegExp?M.needle=y:typeof y=="object"&&S.mixin(M,y);var _e=this.selection.getRange();M.needle==null&&(y=this.session.getTextRange(_e)||this.$search.$options.needle,y||(_e=this.session.getWordRange(_e.start.row,_e.start.column),y=this.session.getTextRange(_e)),this.$search.set({needle:y})),this.$search.set(M),M.start||this.$search.set({start:_e});var Ee=this.$search.find(this.session);if(M.preventScroll)return Ee;if(Ee)return this.revealRange(Ee,q),Ee;M.backwards?_e.start=_e.end:_e.end=_e.start,this.selection.setRange(_e)},b.prototype.findNext=function(y,M){this.find({skipCurrent:!0,backwards:!1},y,M)},b.prototype.findPrevious=function(y,M){this.find(y,{skipCurrent:!0,backwards:!0},M)},b.prototype.revealRange=function(y,M){this.session.unfold(y),this.selection.setSelectionRange(y);var q=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(y.start,y.end,.5),M!==!1&&this.renderer.animateScrolling(q)},b.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},b.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},b.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(y){y.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},b.prototype.setAutoScrollEditorIntoView=function(y){if(y){var M,q=this,_e=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var Ee=this.$scrollAnchor;Ee.style.cssText="position:absolute",this.container.insertBefore(Ee,this.container.firstChild);var it=this.on("changeSelection",function(){_e=!0}),ot=this.renderer.on("beforeRender",function(){_e&&(M=q.renderer.container.getBoundingClientRect())}),zt=this.renderer.on("afterRender",function(){if(_e&&M&&(q.isFocused()||q.searchBox&&q.searchBox.isFocused())){var at=q.renderer,ct=at.$cursorLayer.$pixelPos,Mt=at.layerConfig,Bt=ct.top-Mt.offset;ct.top>=0&&Bt+M.top<0?_e=!0:ct.top<Mt.height&&ct.top+M.top+Mt.lineHeight>window.innerHeight?_e=!1:_e=null,_e!=null&&(Ee.style.top=Bt+"px",Ee.style.left=ct.left+"px",Ee.style.height=Mt.lineHeight+"px",Ee.scrollIntoView(_e)),_e=M=null}});this.setAutoScrollEditorIntoView=function(at){at||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",it),this.renderer.off("afterRender",zt),this.renderer.off("beforeRender",ot))}}},b.prototype.$resetCursorStyle=function(){var y=this.$cursorStyle||"ace",M=this.renderer.$cursorLayer;M&&(M.setSmoothBlinking(/smooth/.test(y)),M.isBlinking=!this.$readOnly&&y!="wide",_.setCssClass(M.element,"ace_slim-cursors",/slim/.test(y)))},b.prototype.prompt=function(y,M,q){var _e=this;x.loadModule("ace/ext/prompt",function(Ee){Ee.prompt(_e,y,M,q)})},b}();I.$uid=0,I.prototype.curOp=null,I.prototype.prevOp={},I.prototype.$mergeableCommands=["backspace","del","insertstring"],I.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],S.implement(I.prototype,p),x.defineOptions(I.prototype,"editor",{selectionStyle:{set:function(b){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:b})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(b){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(b){var y=this;this.textInput.setReadOnly(b),this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(q){var _e=!1;if(q&&q.type=="keydown"){if(_e=q&&q.key&&q.key.length==1&&!q.ctrlKey&&!q.metaKey,!_e)return}else q&&q.type!=="exec"&&(_e=!0);if(_e){y.hoverTooltip||(y.hoverTooltip=new De);var Ee=_.createElement("div");Ee.textContent=W("editor.tooltip.disable-editing","Editing is disabled"),y.hoverTooltip.isOpen||y.hoverTooltip.showForRange(y,y.getSelectionRange(),Ee)}else y.hoverTooltip&&y.hoverTooltip.isOpen&&y.hoverTooltip.hide()});var M=this.textInput.getElement();b?(L.addListener(M,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(L.removeListener(M,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))},initialValue:!1},copyWithEmptySelection:{set:function(b){this.textInput.setCopyWithEmptySelection(b)},initialValue:!1},cursorStyle:{set:function(b){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(b){this.setAutoScrollEditorIntoView(b)}},keyboardHandler:{set:function(b){this.setKeyboardHandler(b)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(b){this.session.setValue(b)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(b){this.setSession(b)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(b){this.renderer.$gutterLayer.setShowLineNumbers(b),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),b&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(b){this.$showLineNumbers&&b?E.attach(this):E.detach(this)}},placeholder:{set:function(b){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var y=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(y&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),_.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!y&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),_.addCssClass(this.container,"ace_hasPlaceholder");var M=_.createElement("div");M.className="ace_placeholder",M.textContent=this.$placeholder||"",this.renderer.placeholderNode=M,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!y&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(b){var y={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(_e){_e.blur(),_e.renderer.scroller.focus()},readOnly:!0},M=function(_e){if(_e.target==this.renderer.scroller&&_e.keyCode===U.enter){_e.preventDefault();var Ee=this.getCursorPosition().row;this.isRowVisible(Ee)||this.scrollToLine(Ee,!0,!0),this.focus()}},q;b?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(u.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",W("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",W("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",M.bind(this)),this.commands.addCommand(y),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",W("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",W("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),q||(q=new C(this)),q.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",M.bind(this)),this.commands.removeCommand(y),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),q&&q.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(b){this.$textInputAriaLabel=b},initialValue:""},enableMobileMenu:{set:function(b){this.$enableMobileMenu=b},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(b,y){return(Math.abs(b.selection.lead.row-y)||y+1+(y<9?"·":""))+""},getWidth:function(b,y,M){return Math.max(y.toString().length,(M.lastRow+1).toString().length,2)*M.characterWidth},update:function(b,y){y.renderer.$loop.schedule(y.renderer.CHANGE_GUTTER)},attach:function(b){b.renderer.$gutterLayer.$renderer=this,b.on("changeSelection",this.update),this.update(null,b)},detach:function(b){b.renderer.$gutterLayer.$renderer==this&&(b.renderer.$gutterLayer.$renderer=null),b.off("changeSelection",this.update),this.update(null,b)}};g.Editor=I}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(f,g,J){var A=f("../lib/dom"),S=function(){function _(s,u){this.element=s,this.canvasHeight=u||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return _.prototype.moveContainer=function(s){A.translate(this.element,0,-(s.firstRowScreen*s.lineHeight%this.canvasHeight)-s.offset*this.$offsetCoefficient)},_.prototype.pageChanged=function(s,u){return Math.floor(s.firstRowScreen*s.lineHeight/this.canvasHeight)!==Math.floor(u.firstRowScreen*u.lineHeight/this.canvasHeight)},_.prototype.computeLineTop=function(s,u,i){var o=u.firstRowScreen*u.lineHeight,r=Math.floor(o/this.canvasHeight),t=i.documentToScreenRow(s,0)*u.lineHeight;return t-r*this.canvasHeight},_.prototype.computeLineHeight=function(s,u,i){return u.lineHeight*i.getRowLineCount(s)},_.prototype.getLength=function(){return this.cells.length},_.prototype.get=function(s){return this.cells[s]},_.prototype.shift=function(){this.$cacheCell(this.cells.shift())},_.prototype.pop=function(){this.$cacheCell(this.cells.pop())},_.prototype.push=function(s){if(Array.isArray(s)){this.cells.push.apply(this.cells,s);for(var u=A.createFragment(this.element),i=0;i<s.length;i++)u.appendChild(s[i].element);this.element.appendChild(u)}else this.cells.push(s),this.element.appendChild(s.element)},_.prototype.unshift=function(s){if(Array.isArray(s)){this.cells.unshift.apply(this.cells,s);for(var u=A.createFragment(this.element),i=0;i<s.length;i++)u.appendChild(s[i].element);this.element.firstChild?this.element.insertBefore(u,this.element.firstChild):this.element.appendChild(u)}else this.cells.unshift(s),this.element.insertAdjacentElement("afterbegin",s.element)},_.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},_.prototype.$cacheCell=function(s){s&&(s.element.remove(),this.cellCache.push(s))},_.prototype.createCell=function(s,u,i,o){var r=this.cellCache.pop();if(!r){var t=A.createElement("div");o&&o(t),this.element.appendChild(t),r={element:t,text:"",row:s}}return r.row=s,r},_}();g.Lines=S}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(f,g,J){var A=f("../lib/dom"),S=f("../lib/oop"),_=f("../lib/lang"),s=f("../lib/event_emitter").EventEmitter,u=f("./lines").Lines,i=f("../config").nls,o=function(){function t(e){this.element=A.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.$lines=new u(this.element),this.$lines.$offsetCoefficient=1}return t.prototype.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},t.prototype.addGutterDecoration=function(e,n){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,n)},t.prototype.removeGutterDecoration=function(e,n){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,n)},t.prototype.setAnnotations=function(e){this.$annotations=[];for(var n=0;n<e.length;n++){var a=e[n],p=a.row,m=this.$annotations[p];m||(m=this.$annotations[p]={text:[],type:[],displayText:[]});var k=a.text,x=a.text,$=a.type;k=k?_.escapeHTML(k):a.html||"",x=x||a.html||"",m.text.indexOf(k)===-1&&(m.text.push(k),m.type.push($),m.displayText.push(x));var C=a.className;C?m.className=C:$==="error"?m.className=" ace_error":$==="security"&&!/\bace_error\b/.test(m.className)?m.className=" ace_security":$==="warning"&&!/\bace_(error|security)\b/.test(m.className)?m.className=" ace_warning":$==="info"&&!m.className?m.className=" ace_info":$==="hint"&&!m.className&&(m.className=" ace_hint")}},t.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var n=e.start.row,a=e.end.row-n;if(a!==0)if(e.action=="remove")this.$annotations.splice(n,a+1,null);else{var p=new Array(a+1);p.unshift(n,1),this.$annotations.splice.apply(this.$annotations,p)}}},t.prototype.update=function(e){this.config=e;var n=this.session,a=e.firstRow,p=Math.min(e.lastRow+e.gutterOffset,n.getLength()-1);this.oldLastRow=p,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var m=n.getNextFoldLine(a),k=m?m.start.row:1/0,x=null,$=-1,C=a;;){if(C>k&&(C=m.end.row+1,m=n.getNextFoldLine(C,m),k=m?m.start.row:1/0),C>p){for(;this.$lines.getLength()>$+1;)this.$lines.pop();break}x=this.$lines.get(++$),x?x.row=C:(x=this.$lines.createCell(C,e,this.session,r),this.$lines.push(x)),this.$renderCell(x,e,m,C),C++}this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$updateGutterWidth=function(e){var n=this.session,a=n.gutterRenderer||this.$renderer,p=n.$firstLineNumber,m=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||n.$useWrapMode)&&(m=n.getLength()+p-1);var k=a?a.getWidth(n,m,e):m.toString().length*e.characterWidth,x=this.$padding||this.$computePadding();k+=x.left+x.right,k!==this.gutterWidth&&!isNaN(k)&&(this.gutterWidth=k,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",k))},t.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},t.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!(this.$cursorCell&&this.$cursorCell.row==e)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var n=this.$lines.cells;this.$cursorCell=null;for(var a=0;a<n.length;a++){var p=n[a];if(p.row>=this.$cursorRow){if(p.row>this.$cursorRow){var m=this.session.getFoldLine(this.$cursorRow);if(a>0&&m&&m.start.row==n[a-1].row)p=n[a-1];else break}p.element.className="ace_gutter-active-line "+p.element.className,this.$cursorCell=p;break}}}}},t.prototype.scrollLines=function(e){var n=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(n,e))return this.update(e);this.$lines.moveContainer(e);var a=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),p=this.oldLastRow;if(this.oldLastRow=a,!n||p<e.firstRow)return this.update(e);if(a<n.firstRow)return this.update(e);if(n.firstRow<e.firstRow)for(var m=this.session.getFoldedRowCount(n.firstRow,e.firstRow-1);m>0;m--)this.$lines.shift();if(p>a)for(var m=this.session.getFoldedRowCount(a+1,p);m>0;m--)this.$lines.pop();e.firstRow<n.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,n.firstRow-1)),a>p&&this.$lines.push(this.$renderLines(e,p+1,a)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$renderLines=function(e,n,a){for(var p=[],m=n,k=this.session.getNextFoldLine(m),x=k?k.start.row:1/0;m>x&&(m=k.end.row+1,k=this.session.getNextFoldLine(m,k),x=k?k.start.row:1/0),!(m>a);){var $=this.$lines.createCell(m,e,this.session,r);this.$renderCell($,e,k,m),p.push($),m++}return p},t.prototype.$renderCell=function(e,n,a,p){var m=e.element,k=this.session,x=m.childNodes[0],$=m.childNodes[1],C=m.childNodes[2],W=C.firstChild,ye=k.$firstLineNumber,U=k.$breakpoints,L=k.$decorations,De=k.gutterRenderer||this.$renderer,I=this.$showFoldWidgets&&k.foldWidgets,E=a?a.start.row:Number.MAX_VALUE,b=n.lineHeight+"px",y=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",M=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",q=(De?De.getText(k,p):p+ye).toString();if(this.$highlightGutterLine&&(p==this.$cursorRow||a&&p<this.$cursorRow&&p>=E&&this.$cursorRow<=a.end.row)&&(y+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),U[p]&&(y+=U[p]),L[p]&&(y+=L[p]),this.$annotations[p]&&p!==E&&(y+=this.$annotations[p].className),I){var _e=I[p];_e==null&&(_e=I[p]=k.getFoldWidget(p))}if(_e){var Ee="ace_fold-widget ace_"+_e,it=_e=="start"&&p==E&&p<a.end.row;if(it){Ee+=" ace_closed";for(var ot="",zt=!1,at=p+1;at<=a.end.row;at++)if(this.$annotations[at]){if(this.$annotations[at].className===" ace_error"){zt=!0,ot=" ace_error_fold";break}this.$annotations[at].className===" ace_security"?(zt=!0,ot=" ace_security_fold"):this.$annotations[at].className===" ace_warning"&&ot!==" ace_security_fold"&&(zt=!0,ot=" ace_warning_fold")}y+=ot}else Ee+=" ace_open";$.className!=Ee&&($.className=Ee),A.setStyle($.style,"height",b),A.setStyle($.style,"display","inline-block"),$.setAttribute("role","button"),$.setAttribute("tabindex","-1");var ct=k.getFoldWidgetRange(p);ct?$.setAttribute("aria-label",i("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[ct.start.row+1,ct.end.row+1])):a?$.setAttribute("aria-label",i("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[a.start.row+1,a.end.row+1])):$.setAttribute("aria-label",i("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[p+1])),it?($.setAttribute("aria-expanded","false"),$.setAttribute("title",i("gutter.code-folding.closed.title","Unfold code"))):($.setAttribute("aria-expanded","true"),$.setAttribute("title",i("gutter.code-folding.open.title","Fold code")))}else $&&(A.setStyle($.style,"display","none"),$.setAttribute("tabindex","0"),$.removeAttribute("role"),$.removeAttribute("aria-label"));if(zt&&this.$showFoldedAnnotations){C.className="ace_gutter_annotation",W.className=M,W.className+=ot,A.setStyle(W.style,"height",b),A.setStyle(C.style,"display","block"),A.setStyle(C.style,"height",b);var Mt;switch(ot){case" ace_error_fold":Mt=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[q]);break;case" ace_security_fold":Mt=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[q]);break;case" ace_warning_fold":Mt=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[q]);break}C.setAttribute("aria-label",Mt),C.setAttribute("tabindex","-1"),C.setAttribute("role","button")}else if(this.$annotations[p]){C.className="ace_gutter_annotation",W.className=M,this.$useSvgGutterIcons?W.className+=this.$annotations[p].className:m.classList.add(this.$annotations[p].className.replace(" ","")),A.setStyle(W.style,"height",b),A.setStyle(C.style,"display","block"),A.setStyle(C.style,"height",b);var Mt;switch(this.$annotations[p].className){case" ace_error":Mt=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[q]);break;case" ace_security":Mt=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[q]);break;case" ace_warning":Mt=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[q]);break;case" ace_info":Mt=i("gutter.annotation.aria-label.info","Info, read annotations row $0",[q]);break;case" ace_hint":Mt=i("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[q]);break}C.setAttribute("aria-label",Mt),C.setAttribute("tabindex","-1"),C.setAttribute("role","button")}else A.setStyle(C.style,"display","none"),C.removeAttribute("aria-label"),C.removeAttribute("role"),C.setAttribute("tabindex","0");return q!==x.data&&(x.data=q),m.className!=y&&(m.className=y),A.setStyle(e.element.style,"height",this.$lines.computeLineHeight(p,n,k)+"px"),A.setStyle(e.element.style,"top",this.$lines.computeLineTop(p,n,k)+"px"),e.text=q,C.style.display==="none"&&$.style.display==="none"?e.element.setAttribute("aria-hidden",!0):e.element.setAttribute("aria-hidden",!1),e},t.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},t.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},t.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},t.prototype.setShowFoldWidgets=function(e){e?A.addCssClass(this.element,"ace_folding-enabled"):A.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},t.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},t.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=A.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},t.prototype.getRegion=function(e){var n=this.$padding||this.$computePadding(),a=this.element.getBoundingClientRect();if(e.x<n.left+a.left)return"markers";if(this.$showFoldWidgets&&e.x>a.right-n.right)return"foldWidgets"},t}();o.prototype.$fixedWidth=!1,o.prototype.$highlightGutterLine=!0,o.prototype.$renderer="",o.prototype.$showLineNumbers=!0,o.prototype.$showFoldWidgets=!0,S.implement(o.prototype,s);function r(t){var e=document.createTextNode("");t.appendChild(e);var n=A.createElement("span");t.appendChild(n);var a=A.createElement("span");t.appendChild(a);var p=A.createElement("span");return a.appendChild(p),t}g.Gutter=o}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(f,g,J){var A=f("../range").Range,S=f("../lib/dom"),_=function(){function u(i){this.element=S.createElement("div"),this.element.className="ace_layer ace_marker-layer",i.appendChild(this.element)}return u.prototype.setPadding=function(i){this.$padding=i},u.prototype.setSession=function(i){this.session=i},u.prototype.setMarkers=function(i){this.markers=i},u.prototype.elt=function(i,o){var r=this.i!=-1&&this.element.childNodes[this.i];r?this.i++:(r=document.createElement("div"),this.element.appendChild(r),this.i=-1),r.style.cssText=o,r.className=i},u.prototype.update=function(i){if(i){this.config=i,this.i=0;var o;for(var r in this.markers){var t=this.markers[r];if(!t.range){t.update(o,this,this.session,i);continue}var e=t.range.clipRows(i.firstRow,i.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),t.renderer){var n=this.$getTop(e.start.row,i),a=this.$padding+e.start.column*i.characterWidth;t.renderer(o,e,a,n,i)}else t.type=="fullLine"?this.drawFullLineMarker(o,e,t.clazz,i):t.type=="screenLine"?this.drawScreenLineMarker(o,e,t.clazz,i):e.isMultiLine()?t.type=="text"?this.drawTextMarker(o,e,t.clazz,i):this.drawMultiLineMarker(o,e,t.clazz,i):this.drawSingleLineMarker(o,e,t.clazz+" ace_start ace_br15",i)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},u.prototype.$getTop=function(i,o){return(i-o.firstRowScreen)*o.lineHeight},u.prototype.drawTextMarker=function(i,o,r,t,e){for(var n=this.session,a=o.start.row,p=o.end.row,m=a,k=0,x=0,$=n.getScreenLastRowColumn(m),C=new A(m,o.start.column,m,x);m<=p;m++)C.start.row=C.end.row=m,C.start.column=m==a?o.start.column:n.getRowWrapIndent(m),C.end.column=$,k=x,x=$,$=m+1<p?n.getScreenLastRowColumn(m+1):m==p?0:o.end.column,this.drawSingleLineMarker(i,C,r+(m==a?" ace_start":"")+" ace_br"+s(m==a||m==a+1&&o.start.column,k<x,x>$,m==p),t,m==p?0:1,e)},u.prototype.drawMultiLineMarker=function(i,o,r,t,e){var n=this.$padding,a=t.lineHeight,p=this.$getTop(o.start.row,t),m=n+o.start.column*t.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(o.start.row)){var k=o.clone();k.end.row=k.start.row,k.end.column=this.session.getLine(k.start.row).length,this.drawBidiSingleLineMarker(i,k,r+" ace_br1 ace_start",t,null,e)}else this.elt(r+" ace_br1 ace_start","height:"+a+"px;right:"+n+"px;top:"+p+"px;left:"+m+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(o.end.row)){var k=o.clone();k.start.row=k.end.row,k.start.column=0,this.drawBidiSingleLineMarker(i,k,r+" ace_br12",t,null,e)}else{p=this.$getTop(o.end.row,t);var x=o.end.column*t.characterWidth;this.elt(r+" ace_br12","height:"+a+"px;width:"+x+"px;top:"+p+"px;left:"+n+"px;"+(e||""))}if(a=(o.end.row-o.start.row-1)*t.lineHeight,!(a<=0)){p=this.$getTop(o.start.row+1,t);var $=(o.start.column?1:0)|(o.end.column?0:8);this.elt(r+($?" ace_br"+$:""),"height:"+a+"px;right:"+n+"px;top:"+p+"px;left:"+n+"px;"+(e||""))}},u.prototype.drawSingleLineMarker=function(i,o,r,t,e,n){if(this.session.$bidiHandler.isBidiRow(o.start.row))return this.drawBidiSingleLineMarker(i,o,r,t,e,n);var a=t.lineHeight,p=(o.end.column+(e||0)-o.start.column)*t.characterWidth,m=this.$getTop(o.start.row,t),k=this.$padding+o.start.column*t.characterWidth;this.elt(r,"height:"+a+"px;width:"+p+"px;top:"+m+"px;left:"+k+"px;"+(n||""))},u.prototype.drawBidiSingleLineMarker=function(i,o,r,t,e,n){var a=t.lineHeight,p=this.$getTop(o.start.row,t),m=this.$padding,k=this.session.$bidiHandler.getSelections(o.start.column,o.end.column);k.forEach(function(x){this.elt(r,"height:"+a+"px;width:"+(x.width+(e||0))+"px;top:"+p+"px;left:"+(m+x.left)+"px;"+(n||""))},this)},u.prototype.drawFullLineMarker=function(i,o,r,t,e){var n=this.$getTop(o.start.row,t),a=t.lineHeight;o.start.row!=o.end.row&&(a+=this.$getTop(o.end.row,t)-n),this.elt(r,"height:"+a+"px;top:"+n+"px;left:0;right:0;"+(e||""))},u.prototype.drawScreenLineMarker=function(i,o,r,t,e){var n=this.$getTop(o.start.row,t),a=t.lineHeight;this.elt(r,"height:"+a+"px;top:"+n+"px;left:0;right:0;"+(e||""))},u}();_.prototype.$padding=0;function s(u,i,o,r){return(u?1:0)|(i?2:0)|(o?4:0)|(r?8:0)}g.Marker=_}),ace.define("ace/layer/text_util",["require","exports","module"],function(f,g,J){var A=new Set(["text","rparen","lparen"]);g.isTextToken=function(S){return A.has(S)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(f,g,J){var A=f("../lib/oop"),S=f("../lib/dom"),_=f("../lib/lang"),s=f("./lines").Lines,u=f("../lib/event_emitter").EventEmitter,i=f("../config").nls,o=f("./text_util").isTextToken,r=function(){function t(e){this.dom=S,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new s(this.element)}return t.prototype.$updateEolChar=function(){var e=this.session.doc,n=e.getNewLineCharacter()==`
|
218
|
+
`&&e.getNewLineMode()!="windows",a=n?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=a)return this.EOL_CHAR=a,!0},t.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},t.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},t.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},t.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",(function(n){this._signal("changeCharacterSize",n)}).bind(this)),this.$pollSizeChanges()},t.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},t.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},t.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},t.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},t.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},t.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},t.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var n=this.$tabStrings=[0],a=1;a<e+1;a++)if(this.showTabs){var p=this.dom.createElement("span");p.className="ace_invisible ace_invisible_tab",p.textContent=_.stringRepeat(this.TAB_CHAR,a),n.push(p)}else n.push(this.dom.createTextNode(_.stringRepeat(" ",a),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var m="ace_indent-guide",k=this.showSpaces?" ace_invisible ace_invisible_space":"",x=this.showSpaces?_.stringRepeat(this.SPACE_CHAR,this.tabSize):_.stringRepeat(" ",this.tabSize),$=this.showTabs?" ace_invisible ace_invisible_tab":"",C=this.showTabs?_.stringRepeat(this.TAB_CHAR,this.tabSize):x,p=this.dom.createElement("span");p.className=m+k,p.textContent=x,this.$tabStrings[" "]=p;var p=this.dom.createElement("span");p.className=m+$,p.textContent=C,this.$tabStrings[" "]=p}},t.prototype.updateLines=function(e,n,a){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var p=Math.max(n,e.firstRow),m=Math.min(a,e.lastRow),k=this.element.childNodes,x=0,C=e.firstRow;C<p;C++){var W=this.session.getFoldLine(C);if(W)if(W.containsRow(p)){p=W.start.row;break}else C=W.end.row;x++}for(var $=!1,C=p,W=this.session.getNextFoldLine(C),ye=W?W.start.row:1/0;C>ye&&(C=W.end.row+1,W=this.session.getNextFoldLine(C,W),ye=W?W.start.row:1/0),!(C>m);){var U=k[x++];if(U){this.dom.removeChildren(U),this.$renderLine(U,C,C==ye?W:!1),$&&(U.style.top=this.$lines.computeLineTop(C,e,this.session)+"px");var L=e.lineHeight*this.session.getRowLength(C)+"px";U.style.height!=L&&($=!0,U.style.height=L)}C++}if($)for(;x<this.$lines.cells.length;){var De=this.$lines.cells[x++];De.element.style.top=this.$lines.computeLineTop(De.row,e,this.session)+"px"}},t.prototype.scrollLines=function(e){var n=this.config;if(this.config=e,this.$lines.pageChanged(n,e))return this.update(e);this.$lines.moveContainer(e);var a=e.lastRow,p=n?n.lastRow:-1;if(!n||p<e.firstRow)return this.update(e);if(a<n.firstRow)return this.update(e);if(!n||n.lastRow<e.firstRow)return this.update(e);if(e.lastRow<n.firstRow)return this.update(e);if(n.firstRow<e.firstRow)for(var m=this.session.getFoldedRowCount(n.firstRow,e.firstRow-1);m>0;m--)this.$lines.shift();if(n.lastRow>e.lastRow)for(var m=this.session.getFoldedRowCount(e.lastRow+1,n.lastRow);m>0;m--)this.$lines.pop();e.firstRow<n.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,n.firstRow-1)),e.lastRow>n.lastRow&&this.$lines.push(this.$renderLinesFragment(e,n.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},t.prototype.$renderLinesFragment=function(e,n,a){for(var p=[],m=n,k=this.session.getNextFoldLine(m),x=k?k.start.row:1/0;m>x&&(m=k.end.row+1,k=this.session.getNextFoldLine(m,k),x=k?k.start.row:1/0),!(m>a);){var $=this.$lines.createCell(m,e,this.session),C=$.element;this.dom.removeChildren(C),S.setStyle(C.style,"height",this.$lines.computeLineHeight(m,e,this.session)+"px"),S.setStyle(C.style,"top",this.$lines.computeLineTop(m,e,this.session)+"px"),this.$renderLine(C,m,m==x?k:!1),this.$useLineGroups()?C.className="ace_line_group":C.className="ace_line",p.push($),m++}return p},t.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var n=e.firstRow,a=e.lastRow,p=this.$lines;p.getLength();)p.pop();p.push(this.$renderLinesFragment(e,n,a))},t.prototype.$renderToken=function(e,n,a,p){for(var m=this,k=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,x=this.dom.createFragment(this.element),$,C=0;$=k.exec(p);){var W=$[1],ye=$[2],U=$[3],L=$[4],De=$[5];if(!(!m.showSpaces&&ye)){var I=C!=$.index?p.slice(C,$.index):"";if(C=$.index+$[0].length,I&&x.appendChild(this.dom.createTextNode(I,this.element)),W){var E=m.session.getScreenTabSize(n+$.index);x.appendChild(m.$tabStrings[E].cloneNode(!0)),n+=E-1}else if(ye)if(m.showSpaces){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space",b.textContent=_.stringRepeat(m.SPACE_CHAR,ye.length),x.appendChild(b)}else x.appendChild(this.dom.createTextNode(ye,this.element));else if(U){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space ace_invalid",b.textContent=_.stringRepeat(m.SPACE_CHAR,U.length),x.appendChild(b)}else if(L){n+=1;var b=this.dom.createElement("span");b.style.width=m.config.characterWidth*2+"px",b.className=m.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",b.textContent=m.showSpaces?m.SPACE_CHAR:L,x.appendChild(b)}else if(De){n+=1;var b=this.dom.createElement("span");b.style.width=m.config.characterWidth*2+"px",b.className="ace_cjk",b.textContent=De,x.appendChild(b)}}}if(x.appendChild(this.dom.createTextNode(C?p.slice(C):p,this.element)),o(a.type))e.appendChild(x);else{var y="ace_"+a.type.replace(/\./g," ace_"),b=this.dom.createElement("span");a.type=="fold"&&(b.style.width=a.value.length*this.config.characterWidth+"px",b.setAttribute("title",i("inline-fold.closed.title","Unfold code"))),b.className=y,b.appendChild(x),e.appendChild(b)}return n+p.length},t.prototype.renderIndentGuide=function(e,n,a){var p=n.search(this.$indentGuideRe);if(p<=0||p>=a)return n;if(n[0]==" "){p-=p%this.tabSize;for(var m=p/this.tabSize,k=0;k<m;k++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),n.substr(p)}else if(n[0]==" "){for(var k=0;k<p;k++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),n.substr(p)}return this.$highlightIndentGuide(),n},t.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var e=this.session.doc.$lines;if(e){var n=this.session.selection.getCursor(),a=/^\s*/.exec(this.session.doc.getLine(n.row))[0].length,p=Math.floor(a/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:p,start:n.row};var m=this.session.$bracketHighlight;if(m){for(var k=this.session.$bracketHighlight.ranges,x=0;x<k.length;x++)if(n.row!==k[x].start.row){this.$highlightIndentGuideMarker.end=k[x].start.row+1,n.row>k[x].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[n.row]!==""&&n.column===e[n.row].length){this.$highlightIndentGuideMarker.dir=1;for(var x=n.row+1;x<e.length;x++){var $=e[x],C=/^\s*/.exec($)[0].length;if($!==""&&(this.$highlightIndentGuideMarker.end=x,C<=a))break}}this.$renderHighlightIndentGuide()}}},t.prototype.$clearActiveIndentGuide=function(){for(var e=this.element.querySelectorAll(".ace_indent-guide-active"),n=0;n<e.length;n++)e[n].classList.remove("ace_indent-guide-active")},t.prototype.$setIndentGuideActive=function(e,n){var a=this.session.doc.getLine(e.row);if(a!==""){var p=e.element;if(e.element.classList&&e.element.classList.contains("ace_line_group"))if(e.element.childNodes.length>0)p=e.element.childNodes[0];else return;var m=p.childNodes;if(m){var k=m[n-1];k&&k.classList&&k.classList.contains("ace_indent-guide")&&k.classList.add("ace_indent-guide-active")}}},t.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var n=this.$highlightIndentGuideMarker.indentLevel;if(n!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var a=0;a<e.length;a++){var p=e[a];if(this.$highlightIndentGuideMarker.end&&p.row>=this.$highlightIndentGuideMarker.start+1){if(p.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(p,n)}}else for(var a=e.length-1;a>=0;a--){var p=e[a];if(this.$highlightIndentGuideMarker.end&&p.row<this.$highlightIndentGuideMarker.start){if(p.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(p,n)}}}},t.prototype.$createLineElement=function(e){var n=this.dom.createElement("div");return n.className="ace_line",n.style.height=this.config.lineHeight+"px",n},t.prototype.$renderWrappedLine=function(e,n,a){var p=0,m=0,k=a[0],x=0,$=this.$createLineElement();e.appendChild($);for(var C=0;C<n.length;C++){var W=n[C],ye=W.value;if(C==0&&this.displayIndentGuides){if(p=ye.length,ye=this.renderIndentGuide($,ye,k),!ye)continue;p-=ye.length}if(p+ye.length<k)x=this.$renderToken($,x,W,ye),p+=ye.length;else{for(;p+ye.length>=k;)x=this.$renderToken($,x,W,ye.substring(0,k-p)),ye=ye.substring(k-p),p=k,$=this.$createLineElement(),e.appendChild($),$.appendChild(this.dom.createTextNode(_.stringRepeat(" ",a.indent),this.element)),m++,x=0,k=a[m]||Number.MAX_VALUE;ye.length!=0&&(p+=ye.length,x=this.$renderToken($,x,W,ye))}}a[a.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage($,x,null,"",!0)},t.prototype.$renderSimpleLine=function(e,n){for(var a=0,p=0;p<n.length;p++){var m=n[p],k=m.value;if(!(p==0&&this.displayIndentGuides&&(k=this.renderIndentGuide(e,k),!k))){if(a+k.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,a,m,k);a=this.$renderToken(e,a,m,k)}}},t.prototype.$renderOverflowMessage=function(e,n,a,p,m){a&&this.$renderToken(e,n,a,p.slice(0,this.MAX_LINE_LENGTH-n));var k=this.dom.createElement("span");k.className="ace_inline_button ace_keyword ace_toggle_wrap",k.textContent=m?"<hide>":"<click to see more...>",e.appendChild(k)},t.prototype.$renderLine=function(e,n,a){if(!a&&a!=!1&&(a=this.session.getFoldLine(n)),a)var p=this.$getFoldLineTokens(n,a);else var p=this.session.getTokens(n);var m=e;if(p.length){var k=this.session.getRowSplitData(n);if(k&&k.length){this.$renderWrappedLine(e,p,k);var m=e.lastChild}else{var m=e;this.$useLineGroups()&&(m=this.$createLineElement(),e.appendChild(m)),this.$renderSimpleLine(m,p)}}else this.$useLineGroups()&&(m=this.$createLineElement(),e.appendChild(m));if(this.showEOL&&m){a&&(n=a.end.row);var x=this.dom.createElement("span");x.className="ace_invisible ace_invisible_eol",x.textContent=n==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,m.appendChild(x)}},t.prototype.$getFoldLineTokens=function(e,n){var a=this.session,p=[];function m(x,$,C){for(var W=0,ye=0;ye+x[W].value.length<$;)if(ye+=x[W].value.length,W++,W==x.length)return;if(ye!=$){var U=x[W].value.substring($-ye);U.length>C-$&&(U=U.substring(0,C-$)),p.push({type:x[W].type,value:U}),ye=$+U.length,W+=1}for(;ye<C&&W<x.length;){var U=x[W].value;U.length+ye>C?p.push({type:x[W].type,value:U.substring(0,C-ye)}):p.push(x[W]),ye+=U.length,W+=1}}var k=a.getTokens(e);return n.walk(function(x,$,C,W,ye){x!=null?p.push({type:"fold",value:x}):(ye&&(k=a.getTokens($)),k.length&&m(k,W,C))},n.end.row,this.session.getLine(n.end.row).length),p},t.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},t}();r.prototype.EOF_CHAR="¶",r.prototype.EOL_CHAR_LF="¬",r.prototype.EOL_CHAR_CRLF="¤",r.prototype.EOL_CHAR=r.prototype.EOL_CHAR_LF,r.prototype.TAB_CHAR="—",r.prototype.SPACE_CHAR="·",r.prototype.$padding=0,r.prototype.MAX_LINE_LENGTH=1e4,r.prototype.showInvisibles=!1,r.prototype.showSpaces=!1,r.prototype.showTabs=!1,r.prototype.showEOL=!1,r.prototype.displayIndentGuides=!0,r.prototype.$highlightIndentGuides=!0,r.prototype.$tabStrings=[],r.prototype.destroy={},r.prototype.onChangeTabSize=r.prototype.$computeTabString,A.implement(r.prototype,u),g.Text=r}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(f,g,J){var A=f("../lib/dom"),S=function(){function _(s){this.element=A.createElement("div"),this.element.className="ace_layer ace_cursor-layer",s.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),A.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return _.prototype.$updateOpacity=function(s){for(var u=this.cursors,i=u.length;i--;)A.setStyle(u[i].style,"opacity",s?"":"0")},_.prototype.$startCssAnimation=function(){for(var s=this.cursors,u=s.length;u--;)s[u].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&A.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},_.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,A.removeCssClass(this.element,"ace_animate-blinking")},_.prototype.setPadding=function(s){this.$padding=s},_.prototype.setSession=function(s){this.session=s},_.prototype.setBlinking=function(s){s!=this.isBlinking&&(this.isBlinking=s,this.restartTimer())},_.prototype.setBlinkInterval=function(s){s!=this.blinkInterval&&(this.blinkInterval=s,this.restartTimer())},_.prototype.setSmoothBlinking=function(s){s!=this.smoothBlinking&&(this.smoothBlinking=s,A.setCssClass(this.element,"ace_smooth-blinking",s),this.$updateCursors(!0),this.restartTimer())},_.prototype.addCursor=function(){var s=A.createElement("div");return s.className="ace_cursor",this.element.appendChild(s),this.cursors.push(s),s},_.prototype.removeCursor=function(){if(this.cursors.length>1){var s=this.cursors.pop();return s.parentNode.removeChild(s),s}},_.prototype.hideCursor=function(){this.isVisible=!1,A.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},_.prototype.showCursor=function(){this.isVisible=!0,A.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},_.prototype.restartTimer=function(){var s=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,A.removeCssClass(this.element,"ace_smooth-blinking")),s(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&A.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),A.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var u=(function(){this.timeoutId=setTimeout(function(){s(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){s(!0),u()},this.blinkInterval),u()}},_.prototype.getPixelPosition=function(s,u){if(!this.config||!this.session)return{left:0,top:0};s||(s=this.session.selection.getCursor());var i=this.session.documentToScreenPosition(s),o=this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,s.row)?this.session.$bidiHandler.getPosLeft(i.column):i.column*this.config.characterWidth),r=(i.row-(u?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:o,top:r}},_.prototype.isCursorInView=function(s,u){return s.top>=0&&s.top<u.maxHeight},_.prototype.update=function(s){this.config=s;var u=this.session.$selectionMarkers,i=0,o=0;(u===void 0||u.length===0)&&(u=[{cursor:null}]);for(var i=0,r=u.length;i<r;i++){var t=this.getPixelPosition(u[i].cursor,!0);if(!((t.top>s.height+s.offset||t.top<0)&&i>1)){var e=this.cursors[o++]||this.addCursor(),n=e.style;this.drawCursor?this.drawCursor(e,t,s,u[i],this.session):this.isCursorInView(t,s)?(A.setStyle(n,"display","block"),A.translate(e,t.left,t.top),A.setStyle(n,"width",Math.round(s.characterWidth)+"px"),A.setStyle(n,"height",s.lineHeight+"px")):A.setStyle(n,"display","none")}}for(;this.cursors.length>o;)this.removeCursor();var a=this.session.getOverwrite();this.$setOverwrite(a),this.$pixelPos=t,this.restartTimer()},_.prototype.$setOverwrite=function(s){s!=this.overwrite&&(this.overwrite=s,s?A.addCssClass(this.element,"ace_overwrite-cursors"):A.removeCssClass(this.element,"ace_overwrite-cursors"))},_.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},_}();S.prototype.$padding=0,S.prototype.drawCursor=null,g.Cursor=S}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(f,g,J){var A=this&&this.__extends||function(){var e=function(n,a){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,m){p.__proto__=m}||function(p,m){for(var k in m)Object.prototype.hasOwnProperty.call(m,k)&&(p[k]=m[k])},e(n,a)};return function(n,a){if(typeof a!="function"&&a!==null)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");e(n,a);function p(){this.constructor=n}n.prototype=a===null?Object.create(a):(p.prototype=a.prototype,new p)}}(),S=f("./lib/oop"),_=f("./lib/dom"),s=f("./lib/event"),u=f("./lib/event_emitter").EventEmitter,i=32768,o=function(){function e(n,a){this.element=_.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+a,this.inner=_.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),n.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)}return e.prototype.setVisible=function(n){this.element.style.display=n?"":"none",this.isVisible=n,this.coeff=1},e}();S.implement(o.prototype,u);var r=function(e){A(n,e);function n(a,p){var m=e.call(this,a,"-v")||this;return m.scrollTop=0,m.scrollHeight=0,p.$scrollbarWidth=m.width=_.scrollbarWidth(a.ownerDocument),m.inner.style.width=m.element.style.width=(m.width||15)+5+"px",m.$minWidth=0,m}return n.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var a=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-a)/(this.coeff-a)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},n.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},n.prototype.setHeight=function(a){this.element.style.height=a+"px"},n.prototype.setScrollHeight=function(a){this.scrollHeight=a,a>i?(this.coeff=i/a,a=i):this.coeff!=1&&(this.coeff=1),this.inner.style.height=a+"px"},n.prototype.setScrollTop=function(a){this.scrollTop!=a&&(this.skipEvent=!0,this.scrollTop=a,this.element.scrollTop=a*this.coeff)},n}(o);r.prototype.setInnerHeight=r.prototype.setScrollHeight;var t=function(e){A(n,e);function n(a,p){var m=e.call(this,a,"-h")||this;return m.scrollLeft=0,m.height=p.$scrollbarWidth,m.inner.style.height=m.element.style.height=(m.height||15)+5+"px",m}return n.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},n.prototype.getHeight=function(){return this.isVisible?this.height:0},n.prototype.setWidth=function(a){this.element.style.width=a+"px"},n.prototype.setInnerWidth=function(a){this.inner.style.width=a+"px"},n.prototype.setScrollWidth=function(a){this.inner.style.width=a+"px"},n.prototype.setScrollLeft=function(a){this.scrollLeft!=a&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=a)},n}(o);g.ScrollBar=r,g.ScrollBarV=r,g.ScrollBarH=t,g.VScrollBar=r,g.HScrollBar=t}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(f,g,J){var A=this&&this.__extends||function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,p){a.__proto__=p}||function(a,p){for(var m in p)Object.prototype.hasOwnProperty.call(p,m)&&(a[m]=p[m])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function a(){this.constructor=e}e.prototype=n===null?Object.create(n):(a.prototype=n.prototype,new a)}}(),S=f("./lib/oop"),_=f("./lib/dom"),s=f("./lib/event"),u=f("./lib/event_emitter").EventEmitter;_.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
|
219
|
+
position: absolute;
|
220
|
+
background: rgba(128, 128, 128, 0.6);
|
221
|
+
-moz-box-sizing: border-box;
|
222
|
+
box-sizing: border-box;
|
223
|
+
border: 1px solid #bbb;
|
224
|
+
border-radius: 2px;
|
225
|
+
z-index: 8;
|
226
|
+
}
|
227
|
+
.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
|
228
|
+
position: absolute;
|
229
|
+
z-index: 6;
|
230
|
+
background: none;
|
231
|
+
overflow: hidden!important;
|
232
|
+
}
|
233
|
+
.ace_editor>.ace_sb-v {
|
234
|
+
z-index: 6;
|
235
|
+
right: 0;
|
236
|
+
top: 0;
|
237
|
+
width: 12px;
|
238
|
+
}
|
239
|
+
.ace_editor>.ace_sb-v div {
|
240
|
+
z-index: 8;
|
241
|
+
right: 0;
|
242
|
+
width: 100%;
|
243
|
+
}
|
244
|
+
.ace_editor>.ace_sb-h {
|
245
|
+
bottom: 0;
|
246
|
+
left: 0;
|
247
|
+
height: 12px;
|
248
|
+
}
|
249
|
+
.ace_editor>.ace_sb-h div {
|
250
|
+
bottom: 0;
|
251
|
+
height: 100%;
|
252
|
+
}
|
253
|
+
.ace_editor>.ace_sb_grabbed {
|
254
|
+
z-index: 8;
|
255
|
+
background: #000;
|
256
|
+
}`,"ace_scrollbar.css",!1);var i=function(){function t(e,n){this.element=_.createElement("div"),this.element.className="ace_sb"+n,this.inner=_.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return t.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},t}();S.implement(i.prototype,u);var o=function(t){A(e,t);function e(n,a){var p=t.call(this,n,"-v")||this;return p.scrollTop=0,p.scrollHeight=0,p.parent=n,p.width=p.VScrollWidth,p.renderer=a,p.inner.style.width=p.element.style.width=(p.width||15)+"px",p.$minWidth=0,p}return e.prototype.onMouseDown=function(n,a){if(n==="mousedown"&&!(s.getButton(a)!==0||a.detail===2)){if(a.target===this.inner){var p=this,m=a.clientY,k=function(L){m=L.clientY},x=function(){clearInterval(ye)},$=a.clientY,C=this.thumbTop,W=function(){if(m!==void 0){var L=p.scrollTopFromThumbTop(C+m-$);L!==p.scrollTop&&p._emit("scroll",{data:L})}};s.capture(this.inner,k,x);var ye=setInterval(W,20);return s.preventDefault(a)}var U=a.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(U)}),s.preventDefault(a)}},e.prototype.getHeight=function(){return this.height},e.prototype.scrollTopFromThumbTop=function(n){var a=n*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return a=a>>0,a<0?a=0:a>this.pageHeight-this.viewHeight&&(a=this.pageHeight-this.viewHeight),a},e.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},e.prototype.setHeight=function(n){this.height=Math.max(0,n),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},e.prototype.setScrollHeight=function(n,a){this.pageHeight===n&&!a||(this.pageHeight=n,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},e.prototype.setScrollTop=function(n){this.scrollTop=n,n<0&&(n=0),this.thumbTop=n*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},e}(i);o.prototype.setInnerHeight=o.prototype.setScrollHeight;var r=function(t){A(e,t);function e(n,a){var p=t.call(this,n,"-h")||this;return p.scrollLeft=0,p.scrollWidth=0,p.height=p.HScrollHeight,p.inner.style.height=p.element.style.height=(p.height||12)+"px",p.renderer=a,p}return e.prototype.onMouseDown=function(n,a){if(n==="mousedown"&&!(s.getButton(a)!==0||a.detail===2)){if(a.target===this.inner){var p=this,m=a.clientX,k=function(L){m=L.clientX},x=function(){clearInterval(ye)},$=a.clientX,C=this.thumbLeft,W=function(){if(m!==void 0){var L=p.scrollLeftFromThumbLeft(C+m-$);L!==p.scrollLeft&&p._emit("scroll",{data:L})}};s.capture(this.inner,k,x);var ye=setInterval(W,20);return s.preventDefault(a)}var U=a.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(U)}),s.preventDefault(a)}},e.prototype.getHeight=function(){return this.isVisible?this.height:0},e.prototype.scrollLeftFromThumbLeft=function(n){var a=n*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return a=a>>0,a<0?a=0:a>this.pageWidth-this.viewWidth&&(a=this.pageWidth-this.viewWidth),a},e.prototype.setWidth=function(n){this.width=Math.max(0,n),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},e.prototype.setScrollWidth=function(n,a){this.pageWidth===n&&!a||(this.pageWidth=n,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},e.prototype.setScrollLeft=function(n){this.scrollLeft=n,n<0&&(n=0),this.thumbLeft=n*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},e}(i);r.prototype.setInnerWidth=r.prototype.setScrollWidth,g.ScrollBar=o,g.ScrollBarV=o,g.ScrollBarH=r,g.VScrollBar=o,g.HScrollBar=r}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(f,g,J){var A=f("./lib/event"),S=function(){function _(s,u){this.onRender=s,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=u||window;var i=this;this._flush=function(o){i.pending=!1;var r=i.changes;if(r&&(A.blockIdle(100),i.changes=0,i.onRender(r)),i.changes){if(i.$recursionLimit--<0)return;i.schedule()}else i.$recursionLimit=2}}return _.prototype.schedule=function(s){this.changes=this.changes|s,this.changes&&!this.pending&&(A.nextFrame(this._flush),this.pending=!0)},_.prototype.clear=function(s){var u=this.changes;return this.changes=0,u},_}();g.RenderLoop=S}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(f,g,J){var A=f("../lib/oop"),S=f("../lib/dom"),_=f("../lib/lang"),s=f("../lib/event"),u=f("../lib/useragent"),i=f("../lib/event_emitter").EventEmitter,o=512,r=typeof ResizeObserver=="function",t=200,e=function(){function n(a){this.el=S.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=S.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=S.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),a.appendChild(this.el),this.$measureNode.textContent=_.stringRepeat("X",o),this.$characterSize={width:0,height:0},r?this.$addObserver():this.checkForSizeChanges()}return n.prototype.$setMeasureNodeStyles=function(a,p){a.width=a.height="auto",a.left=a.top="0px",a.visibility="hidden",a.position="absolute",a.whiteSpace="pre",u.isIE<8?a["font-family"]="inherit":a.font="inherit",a.overflow=p?"hidden":"visible"},n.prototype.checkForSizeChanges=function(a){if(a===void 0&&(a=this.$measureSizes()),a&&(this.$characterSize.width!==a.width||this.$characterSize.height!==a.height)){this.$measureNode.style.fontWeight="bold";var p=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=a,this.charSizes=Object.create(null),this.allowBoldFonts=p&&p.width===a.width&&p.height===a.height,this._emit("changeCharacterSize",{data:a})}},n.prototype.$addObserver=function(){var a=this;this.$observer=new window.ResizeObserver(function(p){a.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},n.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var a=this;return this.$pollSizeChangesTimer=s.onIdle(function p(){a.checkForSizeChanges(),s.onIdle(p,500)},500)},n.prototype.setPolling=function(a){a?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},n.prototype.$measureSizes=function(a){var p={height:(a||this.$measureNode).clientHeight,width:(a||this.$measureNode).clientWidth/o};return p.width===0||p.height===0?null:p},n.prototype.$measureCharWidth=function(a){this.$main.textContent=_.stringRepeat(a,o);var p=this.$main.getBoundingClientRect();return p.width/o},n.prototype.getCharacterWidth=function(a){var p=this.charSizes[a];return p===void 0&&(p=this.charSizes[a]=this.$measureCharWidth(a)/this.$characterSize.width),p},n.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},n.prototype.$getZoom=function(a){return!a||!a.parentElement?1:(Number(window.getComputedStyle(a).zoom)||1)*this.$getZoom(a.parentElement)},n.prototype.$initTransformMeasureNodes=function(){var a=function(p,m){return["div",{style:"position: absolute;top:"+p+"px;left:"+m+"px;"}]};this.els=S.buildDom([a(0,0),a(t,0),a(0,t),a(t,t)],this.el)},n.prototype.transformCoordinates=function(a,p){if(a){var m=this.$getZoom(this.el);a=C(1/m,a)}function k(it,ot,zt){var at=it[1]*ot[0]-it[0]*ot[1];return[(-ot[1]*zt[0]+ot[0]*zt[1])/at,(+it[1]*zt[0]-it[0]*zt[1])/at]}function x(it,ot){return[it[0]-ot[0],it[1]-ot[1]]}function $(it,ot){return[it[0]+ot[0],it[1]+ot[1]]}function C(it,ot){return[it*ot[0],it*ot[1]]}this.els||this.$initTransformMeasureNodes();function W(it){var ot=it.getBoundingClientRect();return[ot.left,ot.top]}var ye=W(this.els[0]),U=W(this.els[1]),L=W(this.els[2]),De=W(this.els[3]),I=k(x(De,U),x(De,L),x($(U,L),$(De,ye))),E=C(1+I[0],x(U,ye)),b=C(1+I[1],x(L,ye));if(p){var y=p,M=I[0]*y[0]/t+I[1]*y[1]/t+1,q=$(C(y[0],E),C(y[1],b));return $(C(1/M/t,q),ye)}var _e=x(a,ye),Ee=k(x(E,C(I[0],_e)),x(b,C(I[1],_e)),_e);return C(t,Ee)},n}();e.prototype.$characterSize={width:0,height:0},A.implement(e.prototype,i),g.FontMetrics=e}),ace.define("ace/css/editor-css",["require","exports","module"],function(f,g,J){J.exports=`
|
257
|
+
.ace_br1 {border-top-left-radius : 3px;}
|
258
|
+
.ace_br2 {border-top-right-radius : 3px;}
|
259
|
+
.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
|
260
|
+
.ace_br4 {border-bottom-right-radius: 3px;}
|
261
|
+
.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
|
262
|
+
.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
|
263
|
+
.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
|
264
|
+
.ace_br8 {border-bottom-left-radius : 3px;}
|
265
|
+
.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
|
266
|
+
.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
|
267
|
+
.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
|
268
|
+
.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
269
|
+
.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
270
|
+
.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
271
|
+
.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
272
|
+
|
273
|
+
|
274
|
+
.ace_editor {
|
275
|
+
position: relative;
|
276
|
+
overflow: hidden;
|
277
|
+
padding: 0;
|
278
|
+
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
|
279
|
+
direction: ltr;
|
280
|
+
text-align: left;
|
281
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
282
|
+
forced-color-adjust: none;
|
283
|
+
}
|
284
|
+
|
285
|
+
.ace_scroller {
|
286
|
+
position: absolute;
|
287
|
+
overflow: hidden;
|
288
|
+
top: 0;
|
289
|
+
bottom: 0;
|
290
|
+
background-color: inherit;
|
291
|
+
-ms-user-select: none;
|
292
|
+
-moz-user-select: none;
|
293
|
+
-webkit-user-select: none;
|
294
|
+
user-select: none;
|
295
|
+
cursor: text;
|
296
|
+
}
|
297
|
+
|
298
|
+
.ace_content {
|
299
|
+
position: absolute;
|
300
|
+
box-sizing: border-box;
|
301
|
+
min-width: 100%;
|
302
|
+
contain: style size layout;
|
303
|
+
font-variant-ligatures: no-common-ligatures;
|
304
|
+
}
|
305
|
+
.ace_invisible {
|
306
|
+
font-variant-ligatures: none;
|
307
|
+
}
|
308
|
+
|
309
|
+
.ace_keyboard-focus:focus {
|
310
|
+
box-shadow: inset 0 0 0 2px #5E9ED6;
|
311
|
+
outline: none;
|
312
|
+
}
|
313
|
+
|
314
|
+
.ace_dragging .ace_scroller:before{
|
315
|
+
position: absolute;
|
316
|
+
top: 0;
|
317
|
+
left: 0;
|
318
|
+
right: 0;
|
319
|
+
bottom: 0;
|
320
|
+
content: '';
|
321
|
+
background: rgba(250, 250, 250, 0.01);
|
322
|
+
z-index: 1000;
|
323
|
+
}
|
324
|
+
.ace_dragging.ace_dark .ace_scroller:before{
|
325
|
+
background: rgba(0, 0, 0, 0.01);
|
326
|
+
}
|
327
|
+
|
328
|
+
.ace_gutter {
|
329
|
+
position: absolute;
|
330
|
+
overflow : hidden;
|
331
|
+
width: auto;
|
332
|
+
top: 0;
|
333
|
+
bottom: 0;
|
334
|
+
left: 0;
|
335
|
+
cursor: default;
|
336
|
+
z-index: 4;
|
337
|
+
-ms-user-select: none;
|
338
|
+
-moz-user-select: none;
|
339
|
+
-webkit-user-select: none;
|
340
|
+
user-select: none;
|
341
|
+
contain: style size layout;
|
342
|
+
}
|
343
|
+
|
344
|
+
.ace_gutter-active-line {
|
345
|
+
position: absolute;
|
346
|
+
left: 0;
|
347
|
+
right: 0;
|
348
|
+
}
|
349
|
+
|
350
|
+
.ace_scroller.ace_scroll-left:after {
|
351
|
+
content: "";
|
352
|
+
position: absolute;
|
353
|
+
top: 0;
|
354
|
+
right: 0;
|
355
|
+
bottom: 0;
|
356
|
+
left: 0;
|
357
|
+
box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
|
358
|
+
pointer-events: none;
|
359
|
+
}
|
360
|
+
|
361
|
+
.ace_gutter-cell, .ace_gutter-cell_svg-icons {
|
362
|
+
position: absolute;
|
363
|
+
top: 0;
|
364
|
+
left: 0;
|
365
|
+
right: 0;
|
366
|
+
padding-left: 19px;
|
367
|
+
padding-right: 6px;
|
368
|
+
background-repeat: no-repeat;
|
369
|
+
}
|
370
|
+
|
371
|
+
.ace_gutter-cell_svg-icons .ace_gutter_annotation {
|
372
|
+
margin-left: -14px;
|
373
|
+
float: left;
|
374
|
+
}
|
375
|
+
|
376
|
+
.ace_gutter-cell .ace_gutter_annotation {
|
377
|
+
margin-left: -19px;
|
378
|
+
float: left;
|
379
|
+
}
|
380
|
+
|
381
|
+
.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {
|
382
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");
|
383
|
+
background-repeat: no-repeat;
|
384
|
+
background-position: 2px center;
|
385
|
+
}
|
386
|
+
|
387
|
+
.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
|
388
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");
|
389
|
+
background-repeat: no-repeat;
|
390
|
+
background-position: 2px center;
|
391
|
+
}
|
392
|
+
|
393
|
+
.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
|
394
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
|
395
|
+
background-repeat: no-repeat;
|
396
|
+
background-position: 2px center;
|
397
|
+
}
|
398
|
+
|
399
|
+
.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {
|
400
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
|
401
|
+
}
|
402
|
+
|
403
|
+
.ace_icon_svg.ace_error {
|
404
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
|
405
|
+
background-color: crimson;
|
406
|
+
}
|
407
|
+
.ace_icon_svg.ace_security {
|
408
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
|
409
|
+
background-color: crimson;
|
410
|
+
}
|
411
|
+
.ace_icon_svg.ace_warning {
|
412
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
|
413
|
+
background-color: darkorange;
|
414
|
+
}
|
415
|
+
.ace_icon_svg.ace_info {
|
416
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
|
417
|
+
background-color: royalblue;
|
418
|
+
}
|
419
|
+
.ace_icon_svg.ace_hint {
|
420
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
|
421
|
+
background-color: silver;
|
422
|
+
}
|
423
|
+
|
424
|
+
.ace_icon_svg.ace_error_fold {
|
425
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
426
|
+
background-color: crimson;
|
427
|
+
}
|
428
|
+
.ace_icon_svg.ace_security_fold {
|
429
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
430
|
+
background-color: crimson;
|
431
|
+
}
|
432
|
+
.ace_icon_svg.ace_warning_fold {
|
433
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
|
434
|
+
background-color: darkorange;
|
435
|
+
}
|
436
|
+
|
437
|
+
.ace_scrollbar {
|
438
|
+
contain: strict;
|
439
|
+
position: absolute;
|
440
|
+
right: 0;
|
441
|
+
bottom: 0;
|
442
|
+
z-index: 6;
|
443
|
+
}
|
444
|
+
|
445
|
+
.ace_scrollbar-inner {
|
446
|
+
position: absolute;
|
447
|
+
cursor: text;
|
448
|
+
left: 0;
|
449
|
+
top: 0;
|
450
|
+
}
|
451
|
+
|
452
|
+
.ace_scrollbar-v{
|
453
|
+
overflow-x: hidden;
|
454
|
+
overflow-y: scroll;
|
455
|
+
top: 0;
|
456
|
+
}
|
457
|
+
|
458
|
+
.ace_scrollbar-h {
|
459
|
+
overflow-x: scroll;
|
460
|
+
overflow-y: hidden;
|
461
|
+
left: 0;
|
462
|
+
}
|
463
|
+
|
464
|
+
.ace_print-margin {
|
465
|
+
position: absolute;
|
466
|
+
height: 100%;
|
467
|
+
}
|
468
|
+
|
469
|
+
.ace_text-input {
|
470
|
+
position: absolute;
|
471
|
+
z-index: 0;
|
472
|
+
width: 0.5em;
|
473
|
+
height: 1em;
|
474
|
+
opacity: 0;
|
475
|
+
background: transparent;
|
476
|
+
-moz-appearance: none;
|
477
|
+
appearance: none;
|
478
|
+
border: none;
|
479
|
+
resize: none;
|
480
|
+
outline: none;
|
481
|
+
overflow: hidden;
|
482
|
+
font: inherit;
|
483
|
+
padding: 0 1px;
|
484
|
+
margin: 0 -1px;
|
485
|
+
contain: strict;
|
486
|
+
-ms-user-select: text;
|
487
|
+
-moz-user-select: text;
|
488
|
+
-webkit-user-select: text;
|
489
|
+
user-select: text;
|
490
|
+
/*with \`pre-line\` chrome inserts instead of space*/
|
491
|
+
white-space: pre!important;
|
492
|
+
}
|
493
|
+
.ace_text-input.ace_composition {
|
494
|
+
background: transparent;
|
495
|
+
color: inherit;
|
496
|
+
z-index: 1000;
|
497
|
+
opacity: 1;
|
498
|
+
}
|
499
|
+
.ace_composition_placeholder { color: transparent }
|
500
|
+
.ace_composition_marker {
|
501
|
+
border-bottom: 1px solid;
|
502
|
+
position: absolute;
|
503
|
+
border-radius: 0;
|
504
|
+
margin-top: 1px;
|
505
|
+
}
|
506
|
+
|
507
|
+
[ace_nocontext=true] {
|
508
|
+
transform: none!important;
|
509
|
+
filter: none!important;
|
510
|
+
clip-path: none!important;
|
511
|
+
mask : none!important;
|
512
|
+
contain: none!important;
|
513
|
+
perspective: none!important;
|
514
|
+
mix-blend-mode: initial!important;
|
515
|
+
z-index: auto;
|
516
|
+
}
|
517
|
+
|
518
|
+
.ace_layer {
|
519
|
+
z-index: 1;
|
520
|
+
position: absolute;
|
521
|
+
overflow: hidden;
|
522
|
+
/* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
|
523
|
+
word-wrap: normal;
|
524
|
+
white-space: pre;
|
525
|
+
height: 100%;
|
526
|
+
width: 100%;
|
527
|
+
box-sizing: border-box;
|
528
|
+
/* setting pointer-events: auto; on node under the mouse, which changes
|
529
|
+
during scroll, will break mouse wheel scrolling in Safari */
|
530
|
+
pointer-events: none;
|
531
|
+
}
|
532
|
+
|
533
|
+
.ace_gutter-layer {
|
534
|
+
position: relative;
|
535
|
+
width: auto;
|
536
|
+
text-align: right;
|
537
|
+
pointer-events: auto;
|
538
|
+
height: 1000000px;
|
539
|
+
contain: style size layout;
|
540
|
+
}
|
541
|
+
|
542
|
+
.ace_text-layer {
|
543
|
+
font: inherit !important;
|
544
|
+
position: absolute;
|
545
|
+
height: 1000000px;
|
546
|
+
width: 1000000px;
|
547
|
+
contain: style size layout;
|
548
|
+
}
|
549
|
+
|
550
|
+
.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
|
551
|
+
contain: style size layout;
|
552
|
+
position: absolute;
|
553
|
+
top: 0;
|
554
|
+
left: 0;
|
555
|
+
right: 0;
|
556
|
+
}
|
557
|
+
|
558
|
+
.ace_hidpi .ace_text-layer,
|
559
|
+
.ace_hidpi .ace_gutter-layer,
|
560
|
+
.ace_hidpi .ace_content,
|
561
|
+
.ace_hidpi .ace_gutter {
|
562
|
+
contain: strict;
|
563
|
+
}
|
564
|
+
.ace_hidpi .ace_text-layer > .ace_line,
|
565
|
+
.ace_hidpi .ace_text-layer > .ace_line_group {
|
566
|
+
contain: strict;
|
567
|
+
}
|
568
|
+
|
569
|
+
.ace_cjk {
|
570
|
+
display: inline-block;
|
571
|
+
text-align: center;
|
572
|
+
}
|
573
|
+
|
574
|
+
.ace_cursor-layer {
|
575
|
+
z-index: 4;
|
576
|
+
}
|
577
|
+
|
578
|
+
.ace_cursor {
|
579
|
+
z-index: 4;
|
580
|
+
position: absolute;
|
581
|
+
box-sizing: border-box;
|
582
|
+
border-left: 2px solid;
|
583
|
+
/* workaround for smooth cursor repaintng whole screen in chrome */
|
584
|
+
transform: translatez(0);
|
585
|
+
}
|
586
|
+
|
587
|
+
.ace_multiselect .ace_cursor {
|
588
|
+
border-left-width: 1px;
|
589
|
+
}
|
590
|
+
|
591
|
+
.ace_slim-cursors .ace_cursor {
|
592
|
+
border-left-width: 1px;
|
593
|
+
}
|
594
|
+
|
595
|
+
.ace_overwrite-cursors .ace_cursor {
|
596
|
+
border-left-width: 0;
|
597
|
+
border-bottom: 1px solid;
|
598
|
+
}
|
599
|
+
|
600
|
+
.ace_hidden-cursors .ace_cursor {
|
601
|
+
opacity: 0.2;
|
602
|
+
}
|
603
|
+
|
604
|
+
.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
|
605
|
+
opacity: 0;
|
606
|
+
}
|
607
|
+
|
608
|
+
.ace_smooth-blinking .ace_cursor {
|
609
|
+
transition: opacity 0.18s;
|
610
|
+
}
|
611
|
+
|
612
|
+
.ace_animate-blinking .ace_cursor {
|
613
|
+
animation-duration: 1000ms;
|
614
|
+
animation-timing-function: step-end;
|
615
|
+
animation-name: blink-ace-animate;
|
616
|
+
animation-iteration-count: infinite;
|
617
|
+
}
|
618
|
+
|
619
|
+
.ace_animate-blinking.ace_smooth-blinking .ace_cursor {
|
620
|
+
animation-duration: 1000ms;
|
621
|
+
animation-timing-function: ease-in-out;
|
622
|
+
animation-name: blink-ace-animate-smooth;
|
623
|
+
}
|
624
|
+
|
625
|
+
@keyframes blink-ace-animate {
|
626
|
+
from, to { opacity: 1; }
|
627
|
+
60% { opacity: 0; }
|
628
|
+
}
|
629
|
+
|
630
|
+
@keyframes blink-ace-animate-smooth {
|
631
|
+
from, to { opacity: 1; }
|
632
|
+
45% { opacity: 1; }
|
633
|
+
60% { opacity: 0; }
|
634
|
+
85% { opacity: 0; }
|
635
|
+
}
|
636
|
+
|
637
|
+
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
|
638
|
+
position: absolute;
|
639
|
+
z-index: 3;
|
640
|
+
}
|
641
|
+
|
642
|
+
.ace_marker-layer .ace_selection {
|
643
|
+
position: absolute;
|
644
|
+
z-index: 5;
|
645
|
+
}
|
646
|
+
|
647
|
+
.ace_marker-layer .ace_bracket {
|
648
|
+
position: absolute;
|
649
|
+
z-index: 6;
|
650
|
+
}
|
651
|
+
|
652
|
+
.ace_marker-layer .ace_error_bracket {
|
653
|
+
position: absolute;
|
654
|
+
border-bottom: 1px solid #DE5555;
|
655
|
+
border-radius: 0;
|
656
|
+
}
|
657
|
+
|
658
|
+
.ace_marker-layer .ace_active-line {
|
659
|
+
position: absolute;
|
660
|
+
z-index: 2;
|
661
|
+
}
|
662
|
+
|
663
|
+
.ace_marker-layer .ace_selected-word {
|
664
|
+
position: absolute;
|
665
|
+
z-index: 4;
|
666
|
+
box-sizing: border-box;
|
667
|
+
}
|
668
|
+
|
669
|
+
.ace_line .ace_fold {
|
670
|
+
box-sizing: border-box;
|
671
|
+
|
672
|
+
display: inline-block;
|
673
|
+
height: 11px;
|
674
|
+
margin-top: -2px;
|
675
|
+
vertical-align: middle;
|
676
|
+
|
677
|
+
background-image:
|
678
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
679
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
|
680
|
+
background-repeat: no-repeat, repeat-x;
|
681
|
+
background-position: center center, top left;
|
682
|
+
color: transparent;
|
683
|
+
|
684
|
+
border: 1px solid black;
|
685
|
+
border-radius: 2px;
|
686
|
+
|
687
|
+
cursor: pointer;
|
688
|
+
pointer-events: auto;
|
689
|
+
}
|
690
|
+
|
691
|
+
.ace_dark .ace_fold {
|
692
|
+
}
|
693
|
+
|
694
|
+
.ace_fold:hover{
|
695
|
+
background-image:
|
696
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
697
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
|
698
|
+
}
|
699
|
+
|
700
|
+
.ace_tooltip {
|
701
|
+
background-color: #f5f5f5;
|
702
|
+
border: 1px solid gray;
|
703
|
+
border-radius: 1px;
|
704
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
705
|
+
color: black;
|
706
|
+
padding: 3px 4px;
|
707
|
+
position: fixed;
|
708
|
+
z-index: 999999;
|
709
|
+
box-sizing: border-box;
|
710
|
+
cursor: default;
|
711
|
+
white-space: pre-wrap;
|
712
|
+
word-wrap: break-word;
|
713
|
+
line-height: normal;
|
714
|
+
font-style: normal;
|
715
|
+
font-weight: normal;
|
716
|
+
letter-spacing: normal;
|
717
|
+
pointer-events: none;
|
718
|
+
overflow: auto;
|
719
|
+
max-width: min(33em, 66vw);
|
720
|
+
overscroll-behavior: contain;
|
721
|
+
}
|
722
|
+
.ace_tooltip pre {
|
723
|
+
white-space: pre-wrap;
|
724
|
+
}
|
725
|
+
|
726
|
+
.ace_tooltip.ace_dark {
|
727
|
+
background-color: #636363;
|
728
|
+
color: #fff;
|
729
|
+
}
|
730
|
+
|
731
|
+
.ace_tooltip:focus {
|
732
|
+
outline: 1px solid #5E9ED6;
|
733
|
+
}
|
734
|
+
|
735
|
+
.ace_icon {
|
736
|
+
display: inline-block;
|
737
|
+
width: 18px;
|
738
|
+
vertical-align: top;
|
739
|
+
}
|
740
|
+
|
741
|
+
.ace_icon_svg {
|
742
|
+
display: inline-block;
|
743
|
+
width: 12px;
|
744
|
+
vertical-align: top;
|
745
|
+
-webkit-mask-repeat: no-repeat;
|
746
|
+
-webkit-mask-size: 12px;
|
747
|
+
-webkit-mask-position: center;
|
748
|
+
}
|
749
|
+
|
750
|
+
.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
|
751
|
+
padding-right: 13px;
|
752
|
+
}
|
753
|
+
|
754
|
+
.ace_fold-widget {
|
755
|
+
box-sizing: border-box;
|
756
|
+
|
757
|
+
margin: 0 -12px 0 1px;
|
758
|
+
display: none;
|
759
|
+
width: 11px;
|
760
|
+
vertical-align: top;
|
761
|
+
|
762
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
|
763
|
+
background-repeat: no-repeat;
|
764
|
+
background-position: center;
|
765
|
+
|
766
|
+
border-radius: 3px;
|
767
|
+
|
768
|
+
border: 1px solid transparent;
|
769
|
+
cursor: pointer;
|
770
|
+
}
|
771
|
+
|
772
|
+
.ace_folding-enabled .ace_fold-widget {
|
773
|
+
display: inline-block;
|
774
|
+
}
|
775
|
+
|
776
|
+
.ace_fold-widget.ace_end {
|
777
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
|
778
|
+
}
|
779
|
+
|
780
|
+
.ace_fold-widget.ace_closed {
|
781
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
|
782
|
+
}
|
783
|
+
|
784
|
+
.ace_fold-widget:hover {
|
785
|
+
border: 1px solid rgba(0, 0, 0, 0.3);
|
786
|
+
background-color: rgba(255, 255, 255, 0.2);
|
787
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
788
|
+
}
|
789
|
+
|
790
|
+
.ace_fold-widget:active {
|
791
|
+
border: 1px solid rgba(0, 0, 0, 0.4);
|
792
|
+
background-color: rgba(0, 0, 0, 0.05);
|
793
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
794
|
+
}
|
795
|
+
/**
|
796
|
+
* Dark version for fold widgets
|
797
|
+
*/
|
798
|
+
.ace_dark .ace_fold-widget {
|
799
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
|
800
|
+
}
|
801
|
+
.ace_dark .ace_fold-widget.ace_end {
|
802
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
|
803
|
+
}
|
804
|
+
.ace_dark .ace_fold-widget.ace_closed {
|
805
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
|
806
|
+
}
|
807
|
+
.ace_dark .ace_fold-widget:hover {
|
808
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
809
|
+
background-color: rgba(255, 255, 255, 0.1);
|
810
|
+
}
|
811
|
+
.ace_dark .ace_fold-widget:active {
|
812
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
813
|
+
}
|
814
|
+
|
815
|
+
.ace_inline_button {
|
816
|
+
border: 1px solid lightgray;
|
817
|
+
display: inline-block;
|
818
|
+
margin: -1px 8px;
|
819
|
+
padding: 0 5px;
|
820
|
+
pointer-events: auto;
|
821
|
+
cursor: pointer;
|
822
|
+
}
|
823
|
+
.ace_inline_button:hover {
|
824
|
+
border-color: gray;
|
825
|
+
background: rgba(200,200,200,0.2);
|
826
|
+
display: inline-block;
|
827
|
+
pointer-events: auto;
|
828
|
+
}
|
829
|
+
|
830
|
+
.ace_fold-widget.ace_invalid {
|
831
|
+
background-color: #FFB4B4;
|
832
|
+
border-color: #DE5555;
|
833
|
+
}
|
834
|
+
|
835
|
+
.ace_fade-fold-widgets .ace_fold-widget {
|
836
|
+
transition: opacity 0.4s ease 0.05s;
|
837
|
+
opacity: 0;
|
838
|
+
}
|
839
|
+
|
840
|
+
.ace_fade-fold-widgets:hover .ace_fold-widget {
|
841
|
+
transition: opacity 0.05s ease 0.05s;
|
842
|
+
opacity:1;
|
843
|
+
}
|
844
|
+
|
845
|
+
.ace_underline {
|
846
|
+
text-decoration: underline;
|
847
|
+
}
|
848
|
+
|
849
|
+
.ace_bold {
|
850
|
+
font-weight: bold;
|
851
|
+
}
|
852
|
+
|
853
|
+
.ace_nobold .ace_bold {
|
854
|
+
font-weight: normal;
|
855
|
+
}
|
856
|
+
|
857
|
+
.ace_italic {
|
858
|
+
font-style: italic;
|
859
|
+
}
|
860
|
+
|
861
|
+
|
862
|
+
.ace_error-marker {
|
863
|
+
background-color: rgba(255, 0, 0,0.2);
|
864
|
+
position: absolute;
|
865
|
+
z-index: 9;
|
866
|
+
}
|
867
|
+
|
868
|
+
.ace_highlight-marker {
|
869
|
+
background-color: rgba(255, 255, 0,0.2);
|
870
|
+
position: absolute;
|
871
|
+
z-index: 8;
|
872
|
+
}
|
873
|
+
|
874
|
+
.ace_mobile-menu {
|
875
|
+
position: absolute;
|
876
|
+
line-height: 1.5;
|
877
|
+
border-radius: 4px;
|
878
|
+
-ms-user-select: none;
|
879
|
+
-moz-user-select: none;
|
880
|
+
-webkit-user-select: none;
|
881
|
+
user-select: none;
|
882
|
+
background: white;
|
883
|
+
box-shadow: 1px 3px 2px grey;
|
884
|
+
border: 1px solid #dcdcdc;
|
885
|
+
color: black;
|
886
|
+
}
|
887
|
+
.ace_dark > .ace_mobile-menu {
|
888
|
+
background: #333;
|
889
|
+
color: #ccc;
|
890
|
+
box-shadow: 1px 3px 2px grey;
|
891
|
+
border: 1px solid #444;
|
892
|
+
|
893
|
+
}
|
894
|
+
.ace_mobile-button {
|
895
|
+
padding: 2px;
|
896
|
+
cursor: pointer;
|
897
|
+
overflow: hidden;
|
898
|
+
}
|
899
|
+
.ace_mobile-button:hover {
|
900
|
+
background-color: #eee;
|
901
|
+
opacity:1;
|
902
|
+
}
|
903
|
+
.ace_mobile-button:active {
|
904
|
+
background-color: #ddd;
|
905
|
+
}
|
906
|
+
|
907
|
+
.ace_placeholder {
|
908
|
+
position: relative;
|
909
|
+
font-family: arial;
|
910
|
+
transform: scale(0.9);
|
911
|
+
transform-origin: left;
|
912
|
+
white-space: pre;
|
913
|
+
opacity: 0.7;
|
914
|
+
margin: 0 10px;
|
915
|
+
z-index: 1;
|
916
|
+
}
|
917
|
+
|
918
|
+
.ace_ghost_text {
|
919
|
+
opacity: 0.5;
|
920
|
+
font-style: italic;
|
921
|
+
}
|
922
|
+
|
923
|
+
.ace_ghost_text_container > div {
|
924
|
+
white-space: pre;
|
925
|
+
}
|
926
|
+
|
927
|
+
.ghost_text_line_wrapped::after {
|
928
|
+
content: "↩";
|
929
|
+
position: absolute;
|
930
|
+
}
|
931
|
+
|
932
|
+
.ace_lineWidgetContainer.ace_ghost_text {
|
933
|
+
margin: 0px 4px
|
934
|
+
}
|
935
|
+
|
936
|
+
.ace_screenreader-only {
|
937
|
+
position:absolute;
|
938
|
+
left:-10000px;
|
939
|
+
top:auto;
|
940
|
+
width:1px;
|
941
|
+
height:1px;
|
942
|
+
overflow:hidden;
|
943
|
+
}
|
944
|
+
|
945
|
+
.ace_hidden_token {
|
946
|
+
display: none;
|
947
|
+
}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(f,g,J){var A=f("../lib/dom"),S=f("../lib/oop"),_=f("../lib/event_emitter").EventEmitter,s=function(){function u(i,o){this.canvas=A.createElement("canvas"),this.renderer=o,this.pixelRatio=1,this.maxHeight=o.layerConfig.maxHeight,this.lineHeight=o.layerConfig.lineHeight,this.canvasHeight=i.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=i.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},i.element.appendChild(this.canvas)}return u.prototype.$updateDecorators=function(i){var o=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;if(i){this.maxHeight=i.maxHeight,this.lineHeight=i.lineHeight,this.canvasHeight=i.height;var r=(i.lastRow+1)*this.lineHeight;r<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight}var t=this.canvas.getContext("2d");function e(De,I){return De.priority<I.priority?-1:De.priority>I.priority?1:0}var n=this.renderer.session.$annotations;if(t.clearRect(0,0,this.canvas.width,this.canvas.height),n){var a={info:1,warning:2,error:3};n.forEach(function(De){De.priority=a[De.type]||null}),n=n.sort(e);for(var p=this.renderer.session.$foldData,m=0;m<n.length;m++){var k=n[m].row,x=this.compensateFoldRows(k,p),$=Math.round((k-x)*this.lineHeight*this.heightRatio),C=Math.round((k-x)*this.lineHeight*this.heightRatio),W=Math.round(((k-x)*this.lineHeight+this.lineHeight)*this.heightRatio),ye=W-C;if(ye<this.minDecorationHeight){var U=(C+W)/2|0;U<this.halfMinDecorationHeight?U=this.halfMinDecorationHeight:U+this.halfMinDecorationHeight>this.canvasHeight&&(U=this.canvasHeight-this.halfMinDecorationHeight),C=Math.round(U-this.halfMinDecorationHeight),W=Math.round(U+this.halfMinDecorationHeight)}t.fillStyle=o[n[m].type]||null,t.fillRect(0,$,this.canvasWidth,W-C)}}var L=this.renderer.session.selection.getCursor();if(L){var x=this.compensateFoldRows(L.row,p),$=Math.round((L.row-x)*this.lineHeight*this.heightRatio);t.fillStyle="rgba(0, 0, 0, 0.5)",t.fillRect(0,$,this.canvasWidth,2)}},u.prototype.compensateFoldRows=function(i,o){var r=0;if(o&&o.length>0)for(var t=0;t<o.length;t++)i>o[t].start.row&&i<o[t].end.row?r+=i-o[t].start.row:i>=o[t].end.row&&(r+=o[t].end.row-o[t].start.row);return r},u}();S.implement(s.prototype,_),g.Decorator=s}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(f,g,J){var A=f("./lib/oop"),S=f("./lib/dom"),_=f("./lib/lang"),s=f("./config"),u=f("./layer/gutter").Gutter,i=f("./layer/marker").Marker,o=f("./layer/text").Text,r=f("./layer/cursor").Cursor,t=f("./scrollbar").HScrollBar,e=f("./scrollbar").VScrollBar,n=f("./scrollbar_custom").HScrollBar,a=f("./scrollbar_custom").VScrollBar,p=f("./renderloop").RenderLoop,m=f("./layer/font_metrics").FontMetrics,k=f("./lib/event_emitter").EventEmitter,x=f("./css/editor-css"),$=f("./layer/decorators").Decorator,C=f("./lib/useragent"),W=f("./layer/text_util").isTextToken;S.importCssString(x,"ace_editor.css",!1);var ye=function(){function U(L,De){var I=this;this.container=L||S.createElement("div"),S.addCssClass(this.container,"ace_editor"),S.HI_DPI&&S.addCssClass(this.container,"ace_hidpi"),this.setTheme(De),s.get("useStrictCSP")==null&&s.set("useStrictCSP",!1),this.$gutter=S.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=S.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=S.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new i(this.content);var E=this.$textLayer=new o(this.content);this.canvas=E.element,this.$markerFront=new i(this.content),this.$cursorLayer=new r(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.on("scroll",function(b){I.$scrollAnimation||I.session.setScrollTop(b.data-I.scrollMargin.top)}),this.scrollBarH.on("scroll",function(b){I.$scrollAnimation||I.session.setScrollLeft(b.data-I.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new m(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(b){I.updateCharacterSize(),I.onResize(!0,I.gutterWidth,I.$size.width,I.$size.height),I._signal("changeCharacterSize",b)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!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,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!C.isIOS,this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),s.resetOptions(this),s._signal("renderer",this)}return U.prototype.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(),S.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},U.prototype.setSession=function(L){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=L,L&&this.scrollMargin.top&&L.getScrollTop()<=0&&L.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(L),this.$markerBack.setSession(L),this.$markerFront.setSession(L),this.$gutterLayer.setSession(L),this.$textLayer.setSession(L),L&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},U.prototype.updateLines=function(L,De,I){if(De===void 0&&(De=1/0),this.$changedLines?(this.$changedLines.firstRow>L&&(this.$changedLines.firstRow=L),this.$changedLines.lastRow<De&&(this.$changedLines.lastRow=De)):this.$changedLines={firstRow:L,lastRow:De},this.$changedLines.lastRow<this.layerConfig.firstRow)if(I)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},U.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},U.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},U.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},U.prototype.updateFull=function(L){L?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},U.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},U.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},U.prototype.onResize=function(L,De,I,E){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=L?1:0;var b=this.container;E||(E=b.clientHeight||b.scrollHeight),!E&&this.$maxLines&&this.lineHeight>1&&(!b.style.height||b.style.height=="0px")&&(b.style.height="1px",E=b.clientHeight||b.scrollHeight),I||(I=b.clientWidth||b.scrollWidth);var y=this.$updateCachedSize(L,De,I,E);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!I&&!E)return this.resizing=0;L&&(this.$gutterLayer.$padding=null),L?this.$renderChanges(y|this.$changes,!0):this.$loop.schedule(y|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},U.prototype.$updateCachedSize=function(L,De,I,E){E-=this.$extraHeight||0;var b=0,y=this.$size,M={width:y.width,height:y.height,scrollerHeight:y.scrollerHeight,scrollerWidth:y.scrollerWidth};if(E&&(L||y.height!=E)&&(y.height=E,b|=this.CHANGE_SIZE,y.scrollerHeight=y.height,this.$horizScroll&&(y.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(y.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",b=b|this.CHANGE_SCROLL),I&&(L||y.width!=I)){b|=this.CHANGE_SIZE,y.width=I,De==null&&(De=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=De,S.setStyle(this.scrollBarH.element.style,"left",De+"px"),S.setStyle(this.scroller.style,"left",De+this.margin.left+"px"),y.scrollerWidth=Math.max(0,I-De-this.scrollBarV.getWidth()-this.margin.h),S.setStyle(this.$gutter.style,"left",this.margin.left+"px");var q=this.scrollBarV.getWidth()+"px";S.setStyle(this.scrollBarH.element.style,"right",q),S.setStyle(this.scroller.style,"right",q),S.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(y.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||L)&&(b|=this.CHANGE_FULL)}return y.$dirty=!I||!E,b&&this._signal("resize",M),b},U.prototype.onGutterResize=function(L){var De=this.$showGutter?L:0;De!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,De,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},U.prototype.adjustWrapLimit=function(){var L=this.$size.scrollerWidth-this.$padding*2,De=Math.floor(L/this.characterWidth);return this.session.adjustWrapLimit(De,this.$showPrintMargin&&this.$printMarginColumn)},U.prototype.setAnimatedScroll=function(L){this.setOption("animatedScroll",L)},U.prototype.getAnimatedScroll=function(){return this.$animatedScroll},U.prototype.setShowInvisibles=function(L){this.setOption("showInvisibles",L),this.session.$bidiHandler.setShowInvisibles(L)},U.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},U.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},U.prototype.setDisplayIndentGuides=function(L){this.setOption("displayIndentGuides",L)},U.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},U.prototype.setHighlightIndentGuides=function(L){this.setOption("highlightIndentGuides",L)},U.prototype.setShowPrintMargin=function(L){this.setOption("showPrintMargin",L)},U.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},U.prototype.setPrintMarginColumn=function(L){this.setOption("printMarginColumn",L)},U.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},U.prototype.getShowGutter=function(){return this.getOption("showGutter")},U.prototype.setShowGutter=function(L){return this.setOption("showGutter",L)},U.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},U.prototype.setFadeFoldWidgets=function(L){this.setOption("fadeFoldWidgets",L)},U.prototype.setHighlightGutterLine=function(L){this.setOption("highlightGutterLine",L)},U.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},U.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var L=S.createElement("div");L.className="ace_layer ace_print-margin-layer",this.$printMarginEl=S.createElement("div"),this.$printMarginEl.className="ace_print-margin",L.appendChild(this.$printMarginEl),this.content.insertBefore(L,this.content.firstChild)}var De=this.$printMarginEl.style;De.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",De.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},U.prototype.getContainerElement=function(){return this.container},U.prototype.getMouseEventTarget=function(){return this.scroller},U.prototype.getTextAreaContainer=function(){return this.container},U.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var L=this.textarea.style,De=this.$composition;if(!this.$keepTextAreaAtCursor&&!De){S.translate(this.textarea,-100,0);return}var I=this.$cursorLayer.$pixelPos;if(I){De&&De.markerRange&&(I=this.$cursorLayer.getPixelPosition(De.markerRange.start,!0));var E=this.layerConfig,b=I.top,y=I.left;b-=E.offset;var M=De&&De.useTextareaForIME||C.isMobile?this.lineHeight:1;if(b<0||b>E.height-M){S.translate(this.textarea,0,0);return}var q=1,_e=this.$size.height-M;if(!De)b+=this.lineHeight;else if(De.useTextareaForIME){var Ee=this.textarea.value;q=this.characterWidth*this.session.$getStringScreenWidth(Ee)[0]}else b+=this.lineHeight+2;y-=this.scrollLeft,y>this.$size.scrollerWidth-q&&(y=this.$size.scrollerWidth-q),y+=this.gutterWidth+this.margin.left,S.setStyle(L,"height",M+"px"),S.setStyle(L,"width",q+"px"),S.translate(this.textarea,Math.min(y,this.$size.scrollerWidth-q),Math.min(b,_e))}}},U.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},U.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},U.prototype.getLastFullyVisibleRow=function(){var L=this.layerConfig,De=L.lastRow,I=this.session.documentToScreenRow(De,0)*L.lineHeight;return I-this.session.getScrollTop()>L.height-L.lineHeight?De-1:De},U.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},U.prototype.setPadding=function(L){this.$padding=L,this.$textLayer.setPadding(L),this.$cursorLayer.setPadding(L),this.$markerFront.setPadding(L),this.$markerBack.setPadding(L),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},U.prototype.setScrollMargin=function(L,De,I,E){var b=this.scrollMargin;b.top=L|0,b.bottom=De|0,b.right=E|0,b.left=I|0,b.v=b.top+b.bottom,b.h=b.left+b.right,b.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-b.top),this.updateFull()},U.prototype.setMargin=function(L,De,I,E){var b=this.margin;b.top=L|0,b.bottom=De|0,b.right=E|0,b.left=I|0,b.v=b.top+b.bottom,b.h=b.left+b.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},U.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},U.prototype.setHScrollBarAlwaysVisible=function(L){this.setOption("hScrollBarAlwaysVisible",L)},U.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},U.prototype.setVScrollBarAlwaysVisible=function(L){this.setOption("vScrollBarAlwaysVisible",L)},U.prototype.$updateScrollBarV=function(){var L=this.layerConfig.maxHeight,De=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(L-=(De-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>L-De&&(L=this.scrollTop+De,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(L+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},U.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},U.prototype.freeze=function(){this.$frozen=!0},U.prototype.unfreeze=function(){this.$frozen=!1},U.prototype.$renderChanges=function(L,De){if(this.$changes&&(L|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!L&&!De){this.$changes|=L;return}if(this.$size.$dirty)return this.$changes|=L,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",L),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var I=this.layerConfig;if(L&this.CHANGE_FULL||L&this.CHANGE_SIZE||L&this.CHANGE_TEXT||L&this.CHANGE_LINES||L&this.CHANGE_SCROLL||L&this.CHANGE_H_SCROLL){if(L|=this.$computeLayerConfig()|this.$loop.clear(),I.firstRow!=this.layerConfig.firstRow&&I.firstRowScreen==this.layerConfig.firstRowScreen){var E=this.scrollTop+(I.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;E>0&&(this.scrollTop=E,L=L|this.CHANGE_SCROLL,L|=this.$computeLayerConfig()|this.$loop.clear())}I=this.layerConfig,this.$updateScrollBarV(),L&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),S.translate(this.content,-this.scrollLeft,-I.offset);var b=I.width+2*this.$padding+"px",y=I.minHeight+"px";S.setStyle(this.content.style,"width",b),S.setStyle(this.content.style,"height",y)}if(L&this.CHANGE_H_SCROLL&&(S.translate(this.content,-this.scrollLeft,-I.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),L&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(I),this.$showGutter&&this.$gutterLayer.update(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I),this.$markerBack.update(I),this.$markerFront.update(I),this.$cursorLayer.update(I),this.$moveTextAreaToCursor(),this._signal("afterRender",L);return}if(L&this.CHANGE_SCROLL){this.$changedLines=null,L&this.CHANGE_TEXT||L&this.CHANGE_LINES?this.$textLayer.update(I):this.$textLayer.scrollLines(I),this.$showGutter&&(L&this.CHANGE_GUTTER||L&this.CHANGE_LINES?this.$gutterLayer.update(I):this.$gutterLayer.scrollLines(I)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I),this.$markerBack.update(I),this.$markerFront.update(I),this.$cursorLayer.update(I),this.$moveTextAreaToCursor(),this._signal("afterRender",L);return}L&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(I),this.$showGutter&&this.$gutterLayer.update(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I)):L&this.CHANGE_LINES?((this.$updateLines()||L&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I)):L&this.CHANGE_TEXT||L&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I)):L&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I)),L&this.CHANGE_CURSOR&&(this.$cursorLayer.update(I),this.$moveTextAreaToCursor()),L&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(I),L&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(I),this._signal("afterRender",L)},U.prototype.$autosize=function(){var L=this.session.getScreenLength()*this.lineHeight,De=this.$maxLines*this.lineHeight,I=Math.min(De,Math.max((this.$minLines||1)*this.lineHeight,L))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(I+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&I>this.$maxPixelHeight&&(I=this.$maxPixelHeight);var E=I<=2*this.lineHeight,b=!E&&L>De;if(I!=this.desiredHeight||this.$size.height!=this.desiredHeight||b!=this.$vScroll){b!=this.$vScroll&&(this.$vScroll=b,this.scrollBarV.setVisible(b));var y=this.container.clientWidth;this.container.style.height=I+"px",this.$updateCachedSize(!0,this.$gutterWidth,y,I),this.desiredHeight=I,this._signal("autosize")}},U.prototype.$computeLayerConfig=function(){var L=this.session,De=this.$size,I=De.height<=2*this.lineHeight,E=this.session.getScreenLength(),b=E*this.lineHeight,y=this.$getLongestLine(),M=!I&&(this.$hScrollBarAlwaysVisible||De.scrollerWidth-y-2*this.$padding<0),q=this.$horizScroll!==M;q&&(this.$horizScroll=M,this.scrollBarH.setVisible(M));var _e=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),I=De.height<=2*this.lineHeight);var Ee=De.scrollerHeight+this.lineHeight,it=!this.$maxLines&&this.$scrollPastEnd?(De.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;b+=it;var ot=this.scrollMargin;this.session.setScrollTop(Math.max(-ot.top,Math.min(this.scrollTop,b-De.scrollerHeight+ot.bottom))),this.session.setScrollLeft(Math.max(-ot.left,Math.min(this.scrollLeft,y+2*this.$padding-De.scrollerWidth+ot.right)));var zt=!I&&(this.$vScrollBarAlwaysVisible||De.scrollerHeight-b+it<0||this.scrollTop>ot.top),at=_e!==zt;at&&(this.$vScroll=zt,this.scrollBarV.setVisible(zt));var ct=this.scrollTop%this.lineHeight,Mt=Math.ceil(Ee/this.lineHeight)-1,Bt=Math.max(0,Math.round((this.scrollTop-ct)/this.lineHeight)),jt=Bt+Mt,qt,li,ai=this.lineHeight;Bt=L.screenToDocumentRow(Bt,0);var di=L.getFoldLine(Bt);di&&(Bt=di.start.row),qt=L.documentToScreenRow(Bt,0),li=L.getRowLength(Bt)*ai,jt=Math.min(L.screenToDocumentRow(jt,0),L.getLength()-1),Ee=De.scrollerHeight+L.getRowLength(jt)*ai+li,ct=this.scrollTop-qt*ai;var pi=0;return(this.layerConfig.width!=y||q)&&(pi=this.CHANGE_H_SCROLL),(q||at)&&(pi|=this.$updateCachedSize(!0,this.gutterWidth,De.width,De.height),this._signal("scrollbarVisibilityChanged"),at&&(y=this.$getLongestLine())),this.layerConfig={width:y,padding:this.$padding,firstRow:Bt,firstRowScreen:qt,lastRow:jt,lineHeight:ai,characterWidth:this.characterWidth,minHeight:Ee,maxHeight:b,offset:ct,gutterOffset:ai?Math.max(0,Math.ceil((ct+De.height-De.scrollerHeight)/ai)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(y-this.$padding),pi},U.prototype.$updateLines=function(){if(this.$changedLines){var L=this.$changedLines.firstRow,De=this.$changedLines.lastRow;this.$changedLines=null;var I=this.layerConfig;if(!(L>I.lastRow+1)&&!(De<I.firstRow)){if(De===1/0){this.$showGutter&&this.$gutterLayer.update(I),this.$textLayer.update(I);return}return this.$textLayer.updateLines(I,L,De),!0}}},U.prototype.$getLongestLine=function(){var L=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(L+=1),this.$textLayer&&L>this.$textLayer.MAX_LINE_LENGTH&&(L=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(L*this.characterWidth))},U.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},U.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},U.prototype.addGutterDecoration=function(L,De){this.$gutterLayer.addGutterDecoration(L,De)},U.prototype.removeGutterDecoration=function(L,De){this.$gutterLayer.removeGutterDecoration(L,De)},U.prototype.updateBreakpoints=function(L){this._rows=L,this.$loop.schedule(this.CHANGE_GUTTER)},U.prototype.setAnnotations=function(L){this.$gutterLayer.setAnnotations(L),this.$loop.schedule(this.CHANGE_GUTTER)},U.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},U.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},U.prototype.showCursor=function(){this.$cursorLayer.showCursor()},U.prototype.scrollSelectionIntoView=function(L,De,I){this.scrollCursorIntoView(L,I),this.scrollCursorIntoView(De,I)},U.prototype.scrollCursorIntoView=function(L,De,I){if(this.$size.scrollerHeight!==0){var E=this.$cursorLayer.getPixelPosition(L),b=E.left,y=E.top,M=I&&I.top||0,q=I&&I.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var _e=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;_e+M>y?(De&&_e+M>y+this.lineHeight&&(y-=De*this.$size.scrollerHeight),y===0&&(y=-this.scrollMargin.top),this.session.setScrollTop(y)):_e+this.$size.scrollerHeight-q<y+this.lineHeight&&(De&&_e+this.$size.scrollerHeight-q<y-this.lineHeight&&(y+=De*this.$size.scrollerHeight),this.session.setScrollTop(y+this.lineHeight+q-this.$size.scrollerHeight));var Ee=this.scrollLeft,it=2*this.layerConfig.characterWidth;b-it<Ee?(b-=it,b<this.$padding+it&&(b=-this.scrollMargin.left),this.session.setScrollLeft(b)):(b+=it,Ee+this.$size.scrollerWidth<b+this.characterWidth?this.session.setScrollLeft(Math.round(b+this.characterWidth-this.$size.scrollerWidth)):Ee<=this.$padding&&b-Ee<this.characterWidth&&this.session.setScrollLeft(0))}},U.prototype.getScrollTop=function(){return this.session.getScrollTop()},U.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},U.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},U.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},U.prototype.scrollToRow=function(L){this.session.setScrollTop(L*this.lineHeight)},U.prototype.alignCursor=function(L,De){typeof L=="number"&&(L={row:L,column:0});var I=this.$cursorLayer.getPixelPosition(L),E=this.$size.scrollerHeight-this.lineHeight,b=I.top-E*(De||0);return this.session.setScrollTop(b),b},U.prototype.$calcSteps=function(L,De){var I=0,E=this.STEPS,b=[],y=function(M,q,_e){return _e*(Math.pow(M-1,3)+1)+q};for(I=0;I<E;++I)b.push(y(I/this.STEPS,L,De-L));return b},U.prototype.scrollToLine=function(L,De,I,E){var b=this.$cursorLayer.getPixelPosition({row:L,column:0}),y=b.top;De&&(y-=this.$size.scrollerHeight/2);var M=this.scrollTop;this.session.setScrollTop(y),I!==!1&&this.animateScrolling(M,E)},U.prototype.animateScrolling=function(L,De){var I=this.scrollTop;if(!this.$animatedScroll)return;var E=this;if(L==I)return;if(this.$scrollAnimation){var b=this.$scrollAnimation.steps;if(b.length&&(L=b[0],L==I))return}var y=E.$calcSteps(L,I);this.$scrollAnimation={from:L,to:I,steps:y},clearInterval(this.$timer),E.session.setScrollTop(y.shift()),E.session.$scrollTop=I;function M(){E.$timer=clearInterval(E.$timer),E.$scrollAnimation=null,E.$stopAnimation=!1,De&&De()}this.$timer=setInterval(function(){if(E.$stopAnimation){M();return}if(!E.session)return clearInterval(E.$timer);y.length?(E.session.setScrollTop(y.shift()),E.session.$scrollTop=I):I!=null?(E.session.$scrollTop=-1,E.session.setScrollTop(I),I=null):M()},10)},U.prototype.scrollToY=function(L){this.scrollTop!==L&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=L)},U.prototype.scrollToX=function(L){this.scrollLeft!==L&&(this.scrollLeft=L),this.$loop.schedule(this.CHANGE_H_SCROLL)},U.prototype.scrollTo=function(L,De){this.session.setScrollTop(De),this.session.setScrollLeft(L)},U.prototype.scrollBy=function(L,De){De&&this.session.setScrollTop(this.session.getScrollTop()+De),L&&this.session.setScrollLeft(this.session.getScrollLeft()+L)},U.prototype.isScrollableBy=function(L,De){if(De<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||De>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||L<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||L>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},U.prototype.pixelToScreenCoordinates=function(L,De){var I;if(this.$hasCssTransforms){I={top:0,left:0};var E=this.$fontMetrics.transformCoordinates([L,De]);L=E[1]-this.gutterWidth-this.margin.left,De=E[0]}else I=this.scroller.getBoundingClientRect();var b=L+this.scrollLeft-I.left-this.$padding,y=b/this.characterWidth,M=Math.floor((De+this.scrollTop-I.top)/this.lineHeight),q=this.$blockCursor?Math.floor(y):Math.round(y);return{row:M,column:q,side:y-q>0?1:-1,offsetX:b}},U.prototype.screenToTextCoordinates=function(L,De){var I;if(this.$hasCssTransforms){I={top:0,left:0};var E=this.$fontMetrics.transformCoordinates([L,De]);L=E[1]-this.gutterWidth-this.margin.left,De=E[0]}else I=this.scroller.getBoundingClientRect();var b=L+this.scrollLeft-I.left-this.$padding,y=b/this.characterWidth,M=this.$blockCursor?Math.floor(y):Math.round(y),q=Math.floor((De+this.scrollTop-I.top)/this.lineHeight);return this.session.screenToDocumentPosition(q,Math.max(M,0),b)},U.prototype.textToScreenCoordinates=function(L,De){var I=this.scroller.getBoundingClientRect(),E=this.session.documentToScreenPosition(L,De),b=this.$padding+(this.session.$bidiHandler.isBidiRow(E.row,L)?this.session.$bidiHandler.getPosLeft(E.column):Math.round(E.column*this.characterWidth)),y=E.row*this.lineHeight;return{pageX:I.left+b-this.scrollLeft,pageY:I.top+y-this.scrollTop}},U.prototype.visualizeFocus=function(){S.addCssClass(this.container,"ace_focus")},U.prototype.visualizeBlur=function(){S.removeCssClass(this.container,"ace_focus")},U.prototype.showComposition=function(L){this.$composition=L,L.cssText||(L.cssText=this.textarea.style.cssText),L.useTextareaForIME==null&&(L.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(S.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):L.markerId=this.session.addMarker(L.markerRange,"ace_composition_marker","text")},U.prototype.setCompositionText=function(L){var De=this.session.selection.cursor;this.addToken(L,"composition_placeholder",De.row,De.column),this.$moveTextAreaToCursor()},U.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),S.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var L=this.session.selection.cursor;this.removeExtraToken(L.row,L.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},U.prototype.setGhostText=function(L,De){var I=this.session.selection.cursor,E=De||{row:I.row,column:I.column};this.removeGhostText();var b=this.$calculateWrappedTextChunks(L,E);this.addToken(b[0].text,"ghost_text",E.row,E.column),this.$ghostText={text:L,position:{row:E.row,column:E.column}};var y=S.createElement("div");if(b.length>1){var M=this.hideTokensAfterPosition(E.row,E.column),q;b.slice(1).forEach(function(at){var ct=S.createElement("div"),Mt=S.createElement("span");Mt.className="ace_ghost_text",at.wrapped&&(ct.className="ghost_text_line_wrapped"),at.text.length===0&&(at.text=" "),Mt.appendChild(S.createTextNode(at.text)),ct.appendChild(Mt),y.appendChild(ct),q=ct}),M.forEach(function(at){var ct=S.createElement("span");W(at.type)||(ct.className="ace_"+at.type.replace(/\./g," ace_")),ct.appendChild(S.createTextNode(at.value)),q.appendChild(ct)}),this.$ghostTextWidget={el:y,row:E.row,column:E.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var _e=this.$cursorLayer.getPixelPosition(E,!0),Ee=this.container,it=Ee.getBoundingClientRect().height,ot=b.length*this.lineHeight,zt=ot<it-_e.top;if(zt)return;ot<it?this.scrollBy(0,(b.length-1)*this.lineHeight):this.scrollToRow(E.row)}},U.prototype.$calculateWrappedTextChunks=function(L,De){var I=this.$size.scrollerWidth-this.$padding*2,E=Math.floor(I/this.characterWidth)-2;E=E<=0?60:E;for(var b=L.split(/\r?\n/),y=[],M=0;M<b.length;M++){var q=this.session.$getDisplayTokens(b[M],De.column),_e=this.session.$computeWrapSplits(q,E,this.session.$tabSize);if(_e.length>0){var Ee=0;_e.push(b[M].length);for(var it=0;it<_e.length;it++){var ot=b[M].slice(Ee,_e[it]);y.push({text:ot,wrapped:!0}),Ee=_e[it]}}else y.push({text:b[M],wrapped:!1})}return y},U.prototype.removeGhostText=function(){if(this.$ghostText){var L=this.$ghostText.position;this.removeExtraToken(L.row,L.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},U.prototype.addToken=function(L,De,I,E){var b=this.session;b.bgTokenizer.lines[I]=null;var y={type:De,value:L},M=b.getTokens(I);if(E==null||!M.length)M.push(y);else for(var q=0,_e=0;_e<M.length;_e++){var Ee=M[_e];if(q+=Ee.value.length,E<=q){var it=Ee.value.length-(q-E),ot=Ee.value.slice(0,it),zt=Ee.value.slice(it);M.splice(_e,1,{type:Ee.type,value:ot},y,{type:Ee.type,value:zt});break}}this.updateLines(I,I)},U.prototype.hideTokensAfterPosition=function(L,De){for(var I=this.session.getTokens(L),E=0,b=!1,y=[],M=0;M<I.length;M++){var q=I[M];if(E+=q.value.length,q.type!=="ghost_text"){if(b){y.push({type:q.type,value:q.value}),q.type="hidden_token";continue}E===De&&(b=!0)}}return this.updateLines(L,L),y},U.prototype.removeExtraToken=function(L,De){this.session.bgTokenizer.lines[L]=null,this.updateLines(L,L)},U.prototype.setTheme=function(L,De){var I=this;if(this.$themeId=L,I._dispatchEvent("themeChange",{theme:L}),!L||typeof L=="string"){var E=L||this.$options.theme.initialValue;s.loadModule(["theme",E],b)}else b(L);function b(y){if(I.$themeId!=L)return De&&De();if(!y||!y.cssClass)throw new Error("couldn't load module "+L+" or it didn't call define");y.$id&&(I.$themeId=y.$id),S.importCssString(y.cssText,y.cssClass,I.container),I.theme&&S.removeCssClass(I.container,I.theme.cssClass);var M="padding"in y?y.padding:"padding"in(I.theme||{})?4:I.$padding;I.$padding&&M!=I.$padding&&I.setPadding(M),I.$theme=y.cssClass,I.theme=y,S.addCssClass(I.container,y.cssClass),S.setCssClass(I.container,"ace_dark",y.isDark),I.$size&&(I.$size.width=0,I.$updateSizeAsync()),I._dispatchEvent("themeLoaded",{theme:y}),De&&De(),C.isSafari&&I.scroller&&(I.scroller.style.background="red",I.scroller.style.background="")}},U.prototype.getTheme=function(){return this.$themeId},U.prototype.setStyle=function(L,De){S.setCssClass(this.container,L,De!==!1)},U.prototype.unsetStyle=function(L){S.removeCssClass(this.container,L)},U.prototype.setCursorStyle=function(L){S.setStyle(this.scroller.style,"cursor",L)},U.prototype.setMouseCursor=function(L){S.setStyle(this.scroller.style,"cursor",L)},U.prototype.attachToShadowRoot=function(){S.importCssString(x,"ace_editor.css",this.container)},U.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},U.prototype.$updateCustomScrollbar=function(L){var De=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,L===!0?(this.scrollBarV=new a(this.container,this),this.scrollBarH=new n(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(I){De.$scrollAnimation||De.session.setScrollTop(I.data-De.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(I){De.$scrollAnimation||De.session.setScrollLeft(I.data-De.scrollMargin.left)}),this.$scrollDecorator=new $(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.addEventListener("scroll",function(I){De.$scrollAnimation||De.session.setScrollTop(I.data-De.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(I){De.$scrollAnimation||De.session.setScrollLeft(I.data-De.scrollMargin.left)}))},U.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var L=this;this.$resizeTimer=_.delayedCall(function(){L.destroyed||L.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(De){var I=De[0].contentRect.width,E=De[0].contentRect.height;Math.abs(L.$size.width-I)>1||Math.abs(L.$size.height-E)>1?L.$resizeTimer.delay():L.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},U}();ye.prototype.CHANGE_CURSOR=1,ye.prototype.CHANGE_MARKER=2,ye.prototype.CHANGE_GUTTER=4,ye.prototype.CHANGE_SCROLL=8,ye.prototype.CHANGE_LINES=16,ye.prototype.CHANGE_TEXT=32,ye.prototype.CHANGE_SIZE=64,ye.prototype.CHANGE_MARKER_BACK=128,ye.prototype.CHANGE_MARKER_FRONT=256,ye.prototype.CHANGE_FULL=512,ye.prototype.CHANGE_H_SCROLL=1024,ye.prototype.$changes=0,ye.prototype.$padding=null,ye.prototype.$frozen=!1,ye.prototype.STEPS=8,A.implement(ye.prototype,k),s.defineOptions(ye.prototype,"renderer",{useResizeObserver:{set:function(U){!U&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):U&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(U){this.$textLayer.setShowInvisibles(U)&&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(U){typeof U=="number"&&(this.$printMarginColumn=U),this.$showPrintMargin=!!U,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(U){this.$gutter.style.display=U?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(U){this.$gutterLayer.$useSvgGutterIcons=U},initialValue:!1},showFoldedAnnotations:{set:function(U){this.$gutterLayer.$showFoldedAnnotations=U},initialValue:!1},fadeFoldWidgets:{set:function(U){S.setCssClass(this.$gutter,"ace_fade-fold-widgets",U)},initialValue:!1},showFoldWidgets:{set:function(U){this.$gutterLayer.setShowFoldWidgets(U),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(U){this.$textLayer.setDisplayIndentGuides(U)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(U){this.$textLayer.setHighlightIndentGuides(U)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(U){this.$gutterLayer.setHighlightGutterLine(U),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(U){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(U){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(U){typeof U=="number"&&(U=U+"px"),this.container.style.fontSize=U,this.updateFontSize()},initialValue:12},fontFamily:{set:function(U){this.container.style.fontFamily=U,this.updateFontSize()}},maxLines:{set:function(U){this.updateFull()}},minLines:{set:function(U){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(U){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(U){U=+U||0,this.$scrollPastEnd!=U&&(this.$scrollPastEnd=U,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(U){this.$gutterLayer.$fixedWidth=!!U,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(U){this.$updateCustomScrollbar(U)},initialValue:!1},theme:{set:function(U){this.setTheme(U)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!C.isMobile&&!C.isIE}}),g.VirtualRenderer=ye}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(f,g,J){var A=f("../lib/oop"),S=f("../lib/net"),_=f("../lib/event_emitter").EventEmitter,s=f("../config");function u(t){var e="importScripts('"+S.qualifyURL(t)+"');";try{return new Blob([e],{type:"application/javascript"})}catch{var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,a=new n;return a.append(e),a.getBlob("application/javascript")}}function i(t){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(s.get("loadWorkerFromBlob")){var e=u(t),n=window.URL||window.webkitURL,a=n.createObjectURL(e);return new Worker(a)}return new Worker(t)}var o=function(t){t.postMessage||(t=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=t,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){A.implement(this,_),this.$createWorkerFromOldConfig=function(t,e,n,a,p){if(f.nameToUrl&&!f.toUrl&&(f.toUrl=f.nameToUrl),s.get("packaged")||!f.toUrl)a=a||s.moduleUrl(e,"worker");else{var m=this.$normalizePath;a=a||m(f.toUrl("ace/worker/worker.js",null,"_"));var k={};t.forEach(function(x){k[x]=m(f.toUrl(x,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=i(a),p&&this.send("importScripts",p),this.$worker.postMessage({init:!0,tlns:k,module:e,classname:n}),this.$worker},this.onMessage=function(t){var e=t.data;switch(e.type){case"event":this._signal(e.name,{data:e.data});break;case"call":var n=this.callbacks[e.id];n&&(n(e.data),delete this.callbacks[e.id]);break;case"error":this.reportError(e.data);break;case"log":window.console&&console.log&&console.log.apply(console,e.data);break}},this.reportError=function(t){window.console&&console.error&&console.error(t)},this.$normalizePath=function(t){return S.qualifyURL(t)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(t){t.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(t,e){this.$worker.postMessage({command:t,args:e})},this.call=function(t,e,n){if(n){var a=this.callbackId++;this.callbacks[a]=n,e.push(a)}this.send(t,e)},this.emit=function(t,e){try{e.data&&e.data.err&&(e.data.err={message:e.data.err.message,stack:e.data.err.stack,code:e.data.err.code}),this.$worker&&this.$worker.postMessage({event:t,data:{data:e.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(t){this.$doc&&this.terminate(),this.$doc=t,this.call("setValue",[t.getValue()]),t.on("change",this.changeListener,!0)},this.changeListener=function(t){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),t.action=="insert"?this.deltaQueue.push(t.start,t.lines):this.deltaQueue.push(t.start,t.end)},this.$sendDeltaQueue=function(){var t=this.deltaQueue;t&&(this.deltaQueue=null,t.length>50&&t.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:t}))}}).call(o.prototype);var r=function(t,e,n){var a=null,p=!1,m=Object.create(_),k=[],x=new o({messageBuffer:k,terminate:function(){},postMessage:function(C){k.push(C),a&&(p?setTimeout($):$())}});x.setEmitSync=function(C){p=C};var $=function(){var C=k.shift();C.command?a[C.command].apply(a,C.args):C.event&&m._signal(C.event,C.data)};return m.postMessage=function(C){x.onMessage({data:C})},m.callback=function(C,W){this.postMessage({type:"call",id:W,data:C})},m.emit=function(C,W){this.postMessage({type:"event",name:C,data:W})},s.loadModule(["worker",e],function(C){for(a=new C[n](m);k.length;)$()}),x};g.UIWorkerClient=r,g.WorkerClient=o,g.createWorker=i}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(f,g,J){var A=f("./range").Range,S=f("./lib/event_emitter").EventEmitter,_=f("./lib/oop"),s=function(){function u(i,o,r,t,e,n){var a=this;this.length=o,this.session=i,this.doc=i.getDocument(),this.mainClass=e,this.othersClass=n,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=t,this.$onCursorChange=function(){setTimeout(function(){a.onCursorChange()})},this.$pos=r;var p=i.getUndoManager().$undoStack||i.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=p.length,this.setup(),i.selection.on("changeCursor",this.$onCursorChange)}return u.prototype.setup=function(){var i=this,o=this.doc,r=this.session;this.selectionBefore=r.selection.toJSON(),r.selection.inMultiSelectMode&&r.selection.toSingleRange(),this.pos=o.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=r.addMarker(new A(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var n=o.createAnchor(e.row,e.column);n.$insertRight=!0,n.detach(),i.others.push(n)}),r.setUndoSelect(!1)},u.prototype.showOtherMarkers=function(){if(!this.othersActive){var i=this.session,o=this;this.othersActive=!0,this.others.forEach(function(r){r.markerId=i.addMarker(new A(r.row,r.column,r.row,r.column+o.length),o.othersClass,null,!1)})}},u.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var i=0;i<this.others.length;i++)this.session.removeMarker(this.others[i].markerId)}},u.prototype.onUpdate=function(i){if(this.$updating)return this.updateAnchors(i);var o=i;if(o.start.row===o.end.row&&o.start.row===this.pos.row){this.$updating=!0;var r=i.action==="insert"?o.end.column-o.start.column:o.start.column-o.end.column,t=o.start.column>=this.pos.column&&o.start.column<=this.pos.column+this.length+1,e=o.start.column-this.pos.column;if(this.updateAnchors(i),t&&(this.length+=r),t&&!this.session.$fromUndo){if(i.action==="insert")for(var n=this.others.length-1;n>=0;n--){var a=this.others[n],p={row:a.row,column:a.column+e};this.doc.insertMergedLines(p,i.lines)}else if(i.action==="remove")for(var n=this.others.length-1;n>=0;n--){var a=this.others[n],p={row:a.row,column:a.column+e};this.doc.remove(new A(p.row,p.column,p.row,p.column-r))}}this.$updating=!1,this.updateMarkers()}},u.prototype.updateAnchors=function(i){this.pos.onChange(i);for(var o=this.others.length;o--;)this.others[o].onChange(i);this.updateMarkers()},u.prototype.updateMarkers=function(){if(!this.$updating){var i=this,o=this.session,r=function(e,n){o.removeMarker(e.markerId),e.markerId=o.addMarker(new A(e.row,e.column,e.row,e.column+i.length),n,null,!1)};r(this.pos,this.mainClass);for(var t=this.others.length;t--;)r(this.others[t],this.othersClass)}},u.prototype.onCursorChange=function(i){if(!(this.$updating||!this.session)){var o=this.session.selection.getCursor();o.row===this.pos.row&&o.column>=this.pos.column&&o.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",i)):(this.hideOtherMarkers(),this._emit("cursorLeave",i))}},u.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},u.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var i=this.session.getUndoManager(),o=(i.$undoStack||i.$undostack).length-this.$undoStackDepth,r=0;r<o;r++)i.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},u}();_.implement(s.prototype,S),g.PlaceHolder=s}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(f,g,J){var A=f("../lib/event"),S=f("../lib/useragent");function _(u,i){return u.row==i.row&&u.column==i.column}function s(u){var i=u.domEvent,o=i.altKey,r=i.shiftKey,t=i.ctrlKey,e=u.getAccelKey(),n=u.getButton();if(t&&S.isMac&&(n=i.button),u.editor.inMultiSelectMode&&n==2){u.editor.textInput.onContextMenu(u.domEvent);return}if(!t&&!o&&!e){n===0&&u.editor.inMultiSelectMode&&u.editor.exitMultiSelectMode();return}if(n===0){var a=u.editor,p=a.selection,m=a.inMultiSelectMode,k=u.getDocumentPosition(),x=p.getCursor(),$=u.inSelection()||p.isEmpty()&&_(k,x),C=u.x,W=u.y,ye=function(ot){C=ot.clientX,W=ot.clientY},U=a.session,L=a.renderer.pixelToScreenCoordinates(C,W),De=L,I;if(a.$mouseHandler.$enableJumpToDef)t&&o||e&&o?I=r?"block":"add":o&&a.$blockSelectEnabled&&(I="block");else if(e&&!o){if(I="add",!m&&r)return}else o&&a.$blockSelectEnabled&&(I="block");if(I&&S.isMac&&i.ctrlKey&&a.$mouseHandler.cancelContextMenu(),I=="add"){if(!m&&$)return;if(!m){var E=p.toOrientedRange();a.addSelectionMarker(E)}var b=p.rangeList.rangeAtPoint(k);a.inVirtualSelectionMode=!0,r&&(b=null,E=p.ranges[0]||E,a.removeSelectionMarker(E)),a.once("mouseup",function(){var ot=p.toOrientedRange();b&&ot.isEmpty()&&_(b.cursor,ot.cursor)?p.substractPoint(ot.cursor):(r?p.substractPoint(E.cursor):E&&(a.removeSelectionMarker(E),p.addRange(E)),p.addRange(ot)),a.inVirtualSelectionMode=!1})}else if(I=="block"){u.stop(),a.inVirtualSelectionMode=!0;var y,M=[],q=function(){var ot=a.renderer.pixelToScreenCoordinates(C,W),zt=U.screenToDocumentPosition(ot.row,ot.column,ot.offsetX);_(De,ot)&&_(zt,p.lead)||(De=ot,a.selection.moveToPosition(zt),a.renderer.scrollCursorIntoView(),a.removeSelectionMarkers(M),M=p.rectangularRangeBlock(De,L),a.$mouseHandler.$clickSelection&&M.length==1&&M[0].isEmpty()&&(M[0]=a.$mouseHandler.$clickSelection.clone()),M.forEach(a.addSelectionMarker,a),a.updateSelectionMarkers())};m&&!e?p.toSingleRange():!m&&e&&(y=p.toOrientedRange(),a.addSelectionMarker(y)),r?L=U.documentToScreenPosition(p.lead):p.moveToPosition(k),De={row:-1,column:-1};var _e=function(ot){q(),clearInterval(it),a.removeSelectionMarkers(M),M.length||(M=[p.toOrientedRange()]),y&&(a.removeSelectionMarker(y),p.toSingleRange(y));for(var zt=0;zt<M.length;zt++)p.addRange(M[zt]);a.inVirtualSelectionMode=!1,a.$mouseHandler.$clickSelection=null},Ee=q;A.capture(a.container,ye,_e);var it=setInterval(function(){Ee()},20);return u.preventDefault()}}}g.onMouseDown=s}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(f,g,J){g.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(S){S.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(S){S.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(S){S.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(S){S.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(S){S.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(S){S.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(S){S.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(S){S.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(S){S.multiSelect.rangeCount>1?S.multiSelect.joinSelections():S.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(S){S.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(S){S.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(S){S.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],g.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(S){S.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(S){return S&&S.inMultiSelectMode}}];var A=f("../keyboard/hash_handler").HashHandler;g.keyboardHandler=new A(g.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(f,g,J){var A=f("./range_list").RangeList,S=f("./range").Range,_=f("./selection").Selection,s=f("./mouse/multi_select_handler").onMouseDown,u=f("./lib/event"),i=f("./lib/lang"),o=f("./commands/multi_select_commands");g.commands=o.defaultCommands.concat(o.multiSelectCommands);var r=f("./search").Search,t=new r;function e(x,$,C){return t.$options.wrap=!0,t.$options.needle=$,t.$options.backwards=C==-1,t.find(x)}var n=f("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(n.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(x,$){if(x){if(!this.inMultiSelectMode&&this.rangeCount===0){var C=this.toOrientedRange();if(this.rangeList.add(C),this.rangeList.add(x),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),$||this.fromOrientedRange(x);this.rangeList.removeAll(),this.rangeList.add(C),this.$onAddRange(C)}x.cursor||(x.cursor=x.end);var W=this.rangeList.add(x);return this.$onAddRange(x),W.length&&this.$onRemoveRange(W),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),$||this.fromOrientedRange(x)}},this.toSingleRange=function(x){x=x||this.ranges[0];var $=this.rangeList.removeAll();$.length&&this.$onRemoveRange($),x&&this.fromOrientedRange(x)},this.substractPoint=function(x){var $=this.rangeList.substractPoint(x);if($)return this.$onRemoveRange($),$[0]},this.mergeOverlappingRanges=function(){var x=this.rangeList.merge();x.length&&this.$onRemoveRange(x)},this.$onAddRange=function(x){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(x),this._signal("addRange",{range:x})},this.$onRemoveRange=function(x){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var $=this.rangeList.ranges.pop();x.push($),this.rangeCount=0}for(var C=x.length;C--;){var W=this.ranges.indexOf(x[C]);this.ranges.splice(W,1)}this._signal("removeRange",{ranges:x}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),$=$||this.ranges[0],$&&!$.isEqual(this.getRange())&&this.fromOrientedRange($)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new A,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var x=this.ranges.length?this.ranges:[this.getRange()],$=[],C=0;C<x.length;C++){var W=x[C],ye=W.start.row,U=W.end.row;if(ye===U)$.push(W.clone());else{for($.push(new S(ye,W.start.column,ye,this.session.getLine(ye).length));++ye<U;)$.push(this.getLineRange(ye,!0));$.push(new S(U,0,U,W.end.column))}C==0&&!this.isBackwards()&&($=$.reverse())}this.toSingleRange();for(var C=$.length;C--;)this.addRange($[C])},this.joinSelections=function(){var x=this.rangeList.ranges,$=x[x.length-1],C=S.fromPoints(x[0].start,$.end);this.toSingleRange(),this.setSelectionRange(C,$.cursor==$.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var x=this.rangeList.ranges,$=x[x.length-1],C=S.fromPoints(x[0].start,$.end);this.toSingleRange(),this.setSelectionRange(C,$.cursor==$.start)}else{var W=this.session.documentToScreenPosition(this.cursor),ye=this.session.documentToScreenPosition(this.anchor),U=this.rectangularRangeBlock(W,ye);U.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(x,$,C){var W=[],ye=x.column<$.column;if(ye)var U=x.column,L=$.column,De=x.offsetX,I=$.offsetX;else var U=$.column,L=x.column,De=$.offsetX,I=x.offsetX;var E=x.row<$.row;if(E)var b=x.row,y=$.row;else var b=$.row,y=x.row;U<0&&(U=0),b<0&&(b=0),b==y&&(C=!0);for(var M,q=b;q<=y;q++){var _e=S.fromPoints(this.session.screenToDocumentPosition(q,U,De),this.session.screenToDocumentPosition(q,L,I));if(_e.isEmpty()){if(M&&p(_e.end,M))break;M=_e.end}_e.cursor=ye?_e.start:_e.end,W.push(_e)}if(E&&W.reverse(),!C){for(var Ee=W.length-1;W[Ee].isEmpty()&&Ee>0;)Ee--;if(Ee>0)for(var it=0;W[it].isEmpty();)it++;for(var ot=Ee;ot>=it;ot--)W[ot].isEmpty()&&W.splice(ot,1)}return W}}).call(_.prototype);var a=f("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(x){x.cursor||(x.cursor=x.end);var $=this.getSelectionStyle();return x.marker=this.session.addMarker(x,"ace_selection",$),this.session.$selectionMarkers.push(x),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,x},this.removeSelectionMarker=function(x){if(x.marker){this.session.removeMarker(x.marker);var $=this.session.$selectionMarkers.indexOf(x);$!=-1&&this.session.$selectionMarkers.splice($,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(x){for(var $=this.session.$selectionMarkers,C=x.length;C--;){var W=x[C];if(W.marker){this.session.removeMarker(W.marker);var ye=$.indexOf(W);ye!=-1&&$.splice(ye,1)}}this.session.selectionMarkerCount=$.length},this.$onAddRange=function(x){this.addSelectionMarker(x.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(x){this.removeSelectionMarkers(x.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(x){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(o.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(x){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(o.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(x){var $=x.command,C=x.editor;if(C.multiSelect){if($.multiSelectAction)$.multiSelectAction=="forEach"?W=C.forEachSelection($,x.args):$.multiSelectAction=="forEachLine"?W=C.forEachSelection($,x.args,!0):$.multiSelectAction=="single"?(C.exitMultiSelectMode(),W=$.exec(C,x.args||{})):W=$.multiSelectAction(C,x.args||{});else{var W=$.exec(C,x.args||{});C.multiSelect.addRange(C.multiSelect.toOrientedRange()),C.multiSelect.mergeOverlappingRanges()}return W}},this.forEachSelection=function(x,$,C){if(!this.inVirtualSelectionMode){var W=C&&C.keepOrder,ye=C==!0||C&&C.$byLines,U=this.session,L=this.selection,De=L.rangeList,I=(W?L:De).ranges,E;if(!I.length)return x.exec?x.exec(this,$||{}):x(this,$||{});var b=L._eventRegistry;L._eventRegistry={};var y=new _(U);this.inVirtualSelectionMode=!0;for(var M=I.length;M--;){if(ye)for(;M>0&&I[M].start.row==I[M-1].end.row;)M--;y.fromOrientedRange(I[M]),y.index=M,this.selection=U.selection=y;var q=x.exec?x.exec(this,$||{}):x(this,$||{});!E&&q!==void 0&&(E=q),y.toOrientedRange(I[M])}y.detach(),this.selection=U.selection=L,this.inVirtualSelectionMode=!1,L._eventRegistry=b,L.mergeOverlappingRanges(),L.ranges[0]&&L.fromOrientedRange(L.ranges[0]);var _e=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),_e&&_e.from==_e.to&&this.renderer.animateScrolling(_e.from),E}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var x="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var $=this.multiSelect.rangeList.ranges,C=[],W=0;W<$.length;W++)C.push(this.session.getTextRange($[W]));var ye=this.session.getDocument().getNewLineCharacter();x=C.join(ye),x.length==(C.length-1)*ye.length&&(x="")}else this.selection.isEmpty()||(x=this.session.getTextRange(this.getSelectionRange()));return x},this.$checkMultiselectChange=function(x,$){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var C=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&$==this.multiSelect.anchor)return;var W=$==this.multiSelect.anchor?C.cursor==C.start?C.end:C.start:C.cursor;W.row!=$.row||this.session.$clipPositionToDocument(W.row,W.column).column!=$.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(x,$,C){if($=$||{},$.needle=x||$.needle,$.needle==null){var W=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();$.needle=this.session.getTextRange(W)}this.$search.set($);var ye=this.$search.findAll(this.session);if(!ye.length)return 0;var U=this.multiSelect;C||U.toSingleRange(ye[0]);for(var L=ye.length;L--;)U.addRange(ye[L],!0);return W&&U.rangeList.rangeAtPoint(W.start)&&U.addRange(W,!0),ye.length},this.selectMoreLines=function(x,$){var C=this.selection.toOrientedRange(),W=C.cursor==C.end,ye=this.session.documentToScreenPosition(C.cursor);this.selection.$desiredColumn&&(ye.column=this.selection.$desiredColumn);var U=this.session.screenToDocumentPosition(ye.row+x,ye.column);if(C.isEmpty())var De=U;else var L=this.session.documentToScreenPosition(W?C.end:C.start),De=this.session.screenToDocumentPosition(L.row+x,L.column);if(W){var I=S.fromPoints(U,De);I.cursor=I.start}else{var I=S.fromPoints(De,U);I.cursor=I.end}if(I.desiredColumn=ye.column,!this.selection.inMultiSelectMode)this.selection.addRange(C);else if($)var E=C.cursor;this.selection.addRange(I),E&&this.selection.substractPoint(E)},this.transposeSelections=function(x){for(var $=this.session,C=$.multiSelect,W=C.ranges,ye=W.length;ye--;){var U=W[ye];if(U.isEmpty()){var L=$.getWordRange(U.start.row,U.start.column);U.start.row=L.start.row,U.start.column=L.start.column,U.end.row=L.end.row,U.end.column=L.end.column}}C.mergeOverlappingRanges();for(var De=[],ye=W.length;ye--;){var U=W[ye];De.unshift($.getTextRange(U))}x<0?De.unshift(De.pop()):De.push(De.shift());for(var ye=W.length;ye--;){var U=W[ye],I=U.clone();$.replace(U,De[ye]),U.start.row=I.start.row,U.start.column=I.start.column}C.fromOrientedRange(C.ranges[0])},this.selectMore=function(x,$,C){var W=this.session,ye=W.multiSelect,U=ye.toOrientedRange();if(!(U.isEmpty()&&(U=W.getWordRange(U.start.row,U.start.column),U.cursor=x==-1?U.start:U.end,this.multiSelect.addRange(U),C))){var L=W.getTextRange(U),De=e(W,L,x);De&&(De.cursor=x==-1?De.start:De.end,this.session.unfold(De),this.multiSelect.addRange(De),this.renderer.scrollCursorIntoView(null,.5)),$&&this.multiSelect.substractPoint(U.cursor)}},this.alignCursors=function(){var x=this.session,$=x.multiSelect,C=$.ranges,W=-1,ye=C.filter(function(Ee){if(Ee.cursor.row==W)return!0;W=Ee.cursor.row});if(!C.length||ye.length==C.length-1){var U=this.selection.getRange(),L=U.start.row,De=U.end.row,I=L==De;if(I){var E=this.session.getLength(),b;do b=this.session.getLine(De);while(/[=:]/.test(b)&&++De<E);do b=this.session.getLine(L);while(/[=:]/.test(b)&&--L>0);L<0&&(L=0),De>=E&&(De=E-1)}var y=this.session.removeFullLines(L,De);y=this.$reAlignText(y,I),this.session.insert({row:L,column:0},y.join(`
|
948
|
+
`)+`
|
949
|
+
`),I||(U.start.column=0,U.end.column=y[y.length-1].length),this.selection.setRange(U)}else{ye.forEach(function(Ee){$.substractPoint(Ee.cursor)});var M=0,q=1/0,_e=C.map(function(Ee){var it=Ee.cursor,ot=x.getLine(it.row),zt=ot.substr(it.column).search(/\S/g);return zt==-1&&(zt=0),it.column>M&&(M=it.column),zt<q&&(q=zt),zt});C.forEach(function(Ee,it){var ot=Ee.cursor,zt=M-ot.column,at=_e[it]-q;zt>at?x.insert(ot,i.stringRepeat(" ",zt-at)):x.remove(new S(ot.row,ot.column,ot.row,ot.column-zt+at)),Ee.start.column=Ee.end.column=M,Ee.start.row=Ee.end.row=ot.row,Ee.cursor=Ee.end}),$.fromOrientedRange(C[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(x,$){var C=!0,W=!0,ye,U,L;return x.map(function(y){var M=y.match(/(\s*)(.*?)(\s*)([=:].*)/);return M?ye==null?(ye=M[1].length,U=M[2].length,L=M[3].length,M):(ye+U+L!=M[1].length+M[2].length+M[3].length&&(W=!1),ye!=M[1].length&&(C=!1),ye>M[1].length&&(ye=M[1].length),U<M[2].length&&(U=M[2].length),L>M[3].length&&(L=M[3].length),M):[y]}).map($?I:C?W?E:I:b);function De(y){return i.stringRepeat(" ",y)}function I(y){return y[2]?De(ye)+y[2]+De(U-y[2].length+L)+y[4].replace(/^([=:])\s+/,"$1 "):y[0]}function E(y){return y[2]?De(ye+U-y[2].length)+y[2]+De(L)+y[4].replace(/^([=:])\s+/,"$1 "):y[0]}function b(y){return y[2]?De(ye)+y[2]+De(L)+y[4].replace(/^([=:])\s+/,"$1 "):y[0]}}}).call(a.prototype);function p(x,$){return x.row==$.row&&x.column==$.column}g.onSessionChange=function(x){var $=x.session;$&&!$.multiSelect&&($.$selectionMarkers=[],$.selection.$initRangeList(),$.multiSelect=$.selection),this.multiSelect=$&&$.multiSelect;var C=x.oldSession;C&&(C.multiSelect.off("addRange",this.$onAddRange),C.multiSelect.off("removeRange",this.$onRemoveRange),C.multiSelect.off("multiSelect",this.$onMultiSelect),C.multiSelect.off("singleSelect",this.$onSingleSelect),C.multiSelect.lead.off("change",this.$checkMultiselectChange),C.multiSelect.anchor.off("change",this.$checkMultiselectChange)),$&&($.multiSelect.on("addRange",this.$onAddRange),$.multiSelect.on("removeRange",this.$onRemoveRange),$.multiSelect.on("multiSelect",this.$onMultiSelect),$.multiSelect.on("singleSelect",this.$onSingleSelect),$.multiSelect.lead.on("change",this.$checkMultiselectChange),$.multiSelect.anchor.on("change",this.$checkMultiselectChange)),$&&this.inMultiSelectMode!=$.selection.inMultiSelectMode&&($.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function m(x){x.$multiselectOnSessionChange||(x.$onAddRange=x.$onAddRange.bind(x),x.$onRemoveRange=x.$onRemoveRange.bind(x),x.$onMultiSelect=x.$onMultiSelect.bind(x),x.$onSingleSelect=x.$onSingleSelect.bind(x),x.$multiselectOnSessionChange=g.onSessionChange.bind(x),x.$checkMultiselectChange=x.$checkMultiselectChange.bind(x),x.$multiselectOnSessionChange(x),x.on("changeSession",x.$multiselectOnSessionChange),x.on("mousedown",s),x.commands.addCommands(o.defaultCommands),k(x))}function k(x){if(!x.textInput)return;var $=x.textInput.getElement(),C=!1;u.addListener($,"keydown",function(ye){var U=ye.keyCode==18&&!(ye.ctrlKey||ye.shiftKey||ye.metaKey);x.$blockSelectEnabled&&U?C||(x.renderer.setMouseCursor("crosshair"),C=!0):C&&W()},x),u.addListener($,"keyup",W,x),u.addListener($,"blur",W,x);function W(ye){C&&(x.renderer.setMouseCursor(""),C=!1)}}g.MultiSelect=m,f("./config").defineOptions(a.prototype,"editor",{enableMultiselect:{set:function(x){m(this),x?this.on("mousedown",s):this.off("mousedown",s)},value:!0},enableBlockSelect:{set:function(x){this.$blockSelectEnabled=x},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(f,g,J){var A=f("../../range").Range,S=g.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(_,s,u){var i=_.getLine(u);return this.foldingStartMarker.test(i)?"start":s=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(i)?"end":""},this.getFoldWidgetRange=function(_,s,u){return null},this.indentationBlock=function(_,s,u){var i=/\S/,o=_.getLine(s),r=o.search(i);if(r!=-1){for(var t=u||o.length,e=_.getLength(),n=s,a=s;++s<e;){var p=_.getLine(s).search(i);if(p!=-1){if(p<=r){var m=_.getTokenAt(s,0);if(!m||m.type!=="string")break}a=s}}if(a>n){var k=_.getLine(a).length;return new A(n,t,a,k)}}},this.openingBracketBlock=function(_,s,u,i,o){var r={row:u,column:i+1},t=_.$findClosingBracket(s,r,o);if(t){var e=_.foldWidgets[t.row];return e==null&&(e=_.getFoldWidget(t.row)),e=="start"&&t.row>r.row&&(t.row--,t.column=_.getLine(t.row).length),A.fromPoints(r,t)}},this.closingBracketBlock=function(_,s,u,i,o){var r={row:u,column:i},t=_.$findOpeningBracket(s,r);if(t)return t.column++,r.column--,A.fromPoints(t,r)}}).call(S.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(f,g,J){var A=f("../lib/dom"),S=f("../range").Range,_=f("../config").nls;function s(i,o,r){for(var t=0,e=i.length-1;t<=e;){var n=t+e>>1,a=r(o,i[n]);if(a>0)t=n+1;else if(a<0)e=n-1;else return n}return-(t+1)}function u(i,o,r){var t=i.getAnnotations().sort(S.comparePoints);if(t.length){var e=s(t,{row:o,column:-1},S.comparePoints);e<0&&(e=-e-1),e>=t.length?e=r>0?0:t.length-1:e===0&&r<0&&(e=t.length-1);var n=t[e];if(!(!n||!r)){if(n.row===o){do n=t[e+=r];while(n&&n.row===o);if(!n)return t.slice()}var a=[];o=n.row;do a[r<0?"unshift":"push"](n),n=t[e+=r];while(n&&n.row==o);return a.length&&a}}}g.showErrorMarker=function(i,o){var r=i.session,t=i.getCursorPosition(),e=t.row,n=r.widgetManager.getWidgetsAtRow(e).filter(function(ye){return ye.type=="errorMarker"})[0];n?n.destroy():e-=o;var a=u(r,e,o),p;if(a){var m=a[0];t.column=(m.pos&&typeof m.column!="number"?m.pos.sc:m.column)||0,t.row=m.row,p=i.renderer.$gutterLayer.$annotations[t.row]}else{if(n)return;p={displayText:[_("error-marker.good-state","Looks good!")],className:"ace_ok"}}i.session.unfold(t.row),i.selection.moveToPosition(t);var k={row:t.row,fixedWidth:!0,coverGutter:!0,el:A.createElement("div"),type:"errorMarker"},x=k.el.appendChild(A.createElement("div")),$=k.el.appendChild(A.createElement("div"));$.className="error_widget_arrow "+p.className;var C=i.renderer.$cursorLayer.getPixelPosition(t).left;$.style.left=C+i.renderer.gutterWidth-5+"px",k.el.className="error_widget_wrapper",x.className="error_widget "+p.className,p.displayText.forEach(function(ye,U){x.appendChild(A.createTextNode(ye)),U<p.displayText.length-1&&x.appendChild(A.createElement("br"))}),x.appendChild(A.createElement("div"));var W=function(ye,U,L){if(U===0&&(L==="esc"||L==="return"))return k.destroy(),{command:"null"}};k.destroy=function(){i.$mouseHandler.isMousePressed||(i.keyBinding.removeKeyboardHandler(W),r.widgetManager.removeLineWidget(k),i.off("changeSelection",k.destroy),i.off("changeSession",k.destroy),i.off("mouseup",k.destroy),i.off("change",k.destroy))},i.keyBinding.addKeyboardHandler(W),i.on("changeSelection",k.destroy),i.on("changeSession",k.destroy),i.on("mouseup",k.destroy),i.on("change",k.destroy),i.session.widgetManager.addLineWidget(k),k.el.onmousedown=i.focus.bind(i),i.renderer.scrollCursorIntoView(null,.5,{bottom:k.el.offsetHeight})},A.importCssString(`
|
950
|
+
.error_widget_wrapper {
|
951
|
+
background: inherit;
|
952
|
+
color: inherit;
|
953
|
+
border:none
|
954
|
+
}
|
955
|
+
.error_widget {
|
956
|
+
border-top: solid 2px;
|
957
|
+
border-bottom: solid 2px;
|
958
|
+
margin: 5px 0;
|
959
|
+
padding: 10px 40px;
|
960
|
+
white-space: pre-wrap;
|
961
|
+
}
|
962
|
+
.error_widget.ace_error, .error_widget_arrow.ace_error{
|
963
|
+
border-color: #ff5a5a
|
964
|
+
}
|
965
|
+
.error_widget.ace_warning, .error_widget_arrow.ace_warning{
|
966
|
+
border-color: #F1D817
|
967
|
+
}
|
968
|
+
.error_widget.ace_info, .error_widget_arrow.ace_info{
|
969
|
+
border-color: #5a5a5a
|
970
|
+
}
|
971
|
+
.error_widget.ace_ok, .error_widget_arrow.ace_ok{
|
972
|
+
border-color: #5aaa5a
|
973
|
+
}
|
974
|
+
.error_widget_arrow {
|
975
|
+
position: absolute;
|
976
|
+
border: solid 5px;
|
977
|
+
border-top-color: transparent!important;
|
978
|
+
border-right-color: transparent!important;
|
979
|
+
border-left-color: transparent!important;
|
980
|
+
top: -5px;
|
981
|
+
}
|
982
|
+
`,"error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(f,g,J){f("./loader_build")(g);var A=f("./lib/dom"),S=f("./range").Range,_=f("./editor").Editor,s=f("./edit_session").EditSession,u=f("./undomanager").UndoManager,i=f("./virtual_renderer").VirtualRenderer;f("./worker/worker_client"),f("./keyboard/hash_handler"),f("./placeholder"),f("./multi_select"),f("./mode/folding/fold_mode"),f("./theme/textmate"),f("./ext/error_marker"),g.config=f("./config"),g.edit=function(r,t){if(typeof r=="string"){var e=r;if(r=document.getElementById(e),!r)throw new Error("ace.edit can't find div #"+e)}if(r&&r.env&&r.env.editor instanceof _)return r.env.editor;var n="";if(r&&/input|textarea/i.test(r.tagName)){var a=r;n=a.value,r=A.createElement("pre"),a.parentNode.replaceChild(r,a)}else r&&(n=r.textContent,r.innerHTML="");var p=g.createEditSession(n),m=new _(new i(r),p,t),k={document:p,editor:m,onResize:m.resize.bind(m,null)};return a&&(k.textarea=a),m.on("destroy",function(){k.editor.container.env=null}),m.container.env=m.env=k,m},g.createEditSession=function(r,t){var e=new s(r,t);return e.setUndoManager(new u),e},g.Range=S,g.Editor=_,g.EditSession=s,g.UndoManager=u,g.VirtualRenderer=i;var o=g.config.version;g.version=o}),function(){ace.require(["ace/ace"],function(f){f&&(f.config.init(!0),f.define=ace.define);var g=function(){return this}();!g&&typeof window<"u"&&(g=window),!g&&typeof self<"u"&&(g=self),g.ace||(g.ace=f);for(var J in f)f.hasOwnProperty(J)&&(g.ace[J]=f[J]);g.ace.default=g.ace,c&&(c.exports=g.ace)})}()}(ace$1)),ace$1.exports}var aceExports=requireAce(),modeRuby={exports:{}},hasRequiredModeRuby;function requireModeRuby(){return hasRequiredModeRuby||(hasRequiredModeRuby=1,function(c,h){ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(f,g,J){var A=f("../lib/oop"),S=f("./text_highlight_rules").TextHighlightRules,_=g.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"};g.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},g.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},g.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"};var s=g.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},u=g.constantNumericBinary={token:"constant.numeric",regex:/\b(0[bB][01](?:[01]|_(?=[01]))*)\b/},i=g.constantNumericDecimal={token:"constant.numeric",regex:/\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/},o=g.constantNumericOctal={token:"constant.numeric",regex:/\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/},r=g.constantNumericRational={token:"constant.numeric",regex:/\b([\d]+(?:[./][\d]+)?ri?)\b/},t=g.constantNumericComplex={token:"constant.numeric",regex:/\b([\d]i)\b/},e=g.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"},n=g.instanceVariable={token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},a=function(){var p="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many|p|warn|refine|using|module_function|extend|alias_method|private_class_method|remove_method|undef_method",m="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend",k="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION",x="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",$=this.$keywords=this.createKeywordMapper({keyword:m,"constant.language":k,"variable.language":x,"support.function":p,"invalid.deprecated":"debugger"},"identifier"),C=`\\\\(?:n(?:[1-7][0-7]{0,2}|0)|[nsrtvfbae'"\\\\]|c(?:\\\\M-)?.|M-(?:\\\\C-|\\\\c)?.|C-(?:\\\\M-)?.|[0-7]{3}|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u{[\\da-fA-F]{1,6}(?:\\s[\\da-fA-F]{1,6})*})`,W={"(":")","[":"]","{":"}","<":">","^":"^","|":"|","%":"%"};this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment.multiline",regex:"^=begin(?=$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:/[/](?=.*\/)/,next:"regex"},[{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(")/,push:[{token:"constant.language.escape",regex:C},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:C},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(')/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/%[qwx]([(\[<{^|%])/,onMatch:function(ye,U,L){L.length&&(L=[]);var De=ye[ye.length-1];return L.unshift(De,U),this.next="qStateWithoutInterpolation",this.token}},{token:"string.start",regex:/%[QWX]?([(\[<{^|%])/,onMatch:function(ye,U,L){L.length&&(L=[]);var De=ye[ye.length-1];return L.unshift(De,U),this.next="qStateWithInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[si]([(\[<{^|%])/,onMatch:function(ye,U,L){L.length&&(L=[]);var De=ye[ye.length-1];return L.unshift(De,U),this.next="sStateWithoutInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[SI]([(\[<{^|%])/,onMatch:function(ye,U,L){L.length&&(L=[]);var De=ye[ye.length-1];return L.unshift(De,U),this.next="sStateWithInterpolation",this.token}},{token:"string.regexp",regex:/%[r]([(\[<{^|%])/,onMatch:function(ye,U,L){L.length&&(L=[]);var De=ye[ye.length-1];return L.unshift(De,U),this.next="rState",this.token}}],{token:"punctuation",regex:"::"},n,{token:"variable.global",regex:"[$][a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]*"},{token:["punctuation.operator","support.function"],regex:/(\.)([a-zA-Z_\d]+)(?=\()/},{token:["punctuation.operator","identifier"],regex:/(\.)([a-zA-Z_][a-zA-Z_\d]*)/},{token:"string.character",regex:"\\B\\?(?:"+C+"|\\S)"},{token:"punctuation.operator",regex:/\?(?=.+:)/},r,t,_,s,e,u,i,o,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:$,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(ye,U,L){var De=ye[2]=="-"||ye[2]=="~"?"indentedHeredoc":"heredoc",I=ye.split(this.splitRegex);return L.push(De,I[3]),[{type:"constant",value:I[1]},{type:"string",value:I[2]},{type:"support.class",value:I[3]},{type:"string",value:I[4]}]},regex:"(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(ye,U,L){return ye===L[1]?(L.shift(),L.shift(),this.next=L[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(ye,U,L){return ye===L[1]?(L.shift(),L.shift(),this.next=L[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(ye,U){return U[0]==="heredoc"||U[0]==="indentedHeredoc"?U[0]:ye}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]",onMatch:function(ye,U,L){return this.next="",ye=="}"&&L.length>1&&L[1]!="start"&&(L.shift(),this.next=L.shift()),this.token}},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:/[?:,;.]/}],comment:[{token:"comment.multiline",regex:"^=end(?=$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}],qStateWithInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(ye,U,L){return L.length&&ye===L[0]?(L.unshift(ye,U),this.token):"string"}},{token:"constant.language.escape",regex:C},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(ye,U,L){return L.length&&ye===W[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],qStateWithoutInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(ye,U,L){return L.length&&ye===L[0]?(L.unshift(ye,U),this.token):"string"}},{token:"constant.language.escape",regex:/\\['\\]/},{token:"constant.language.escape",regex:/\\./},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(ye,U,L){return L.length&&ye===W[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],sStateWithoutInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(ye,U,L){return L.length&&ye===L[0]?(L.unshift(ye,U),this.token):"constant.other.symbol.ruby"}},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(ye,U,L){return L.length&&ye===W[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],sStateWithInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(ye,U,L){return L.length&&ye===L[0]?(L.unshift(ye,U),this.token):"constant.other.symbol.ruby"}},{token:"constant.language.escape",regex:C},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(ye,U,L){return L.length&&ye===W[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],rState:[{token:"string.regexp",regex:/[(\[<{]/,onMatch:function(ye,U,L){return L.length&&ye===L[0]?(L.unshift(ye,U),this.token):"constant.language.escape"}},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.regexp",regex:/\//},{token:"string.regexp",regex:/[)\]>}^|%][imxouesn]*/,onMatch:function(ye,U,L){return L.length&&ye[0]===W[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","constant.language.escape")}},{include:"regex"},{defaultToken:"string.regexp"}],regex:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"constant.language.escape",regex:/\\[AGbBzZ]/},{token:"constant.language.escape",regex:/\\g<[a-zA-Z0-9]*>/},{token:["constant.language.escape","regexp.keyword","constant.language.escape"],regex:/(\\p{\^?)(Alnum|Alpha|Blank|Cntrl|Digit|Graph|Lower|Print|Punct|Space|Upper|XDigit|Word|ASCII|Any|Assigned|Arabic|Armenian|Balinese|Bengali|Bopomofo|Braille|Buginese|Buhid|Canadian_Aboriginal|Carian|Cham|Cherokee|Common|Coptic|Cuneiform|Cypriot|Cyrillic|Deseret|Devanagari|Ethiopic|Georgian|Glagolitic|Gothic|Greek|Gujarati|Gurmukhi|Han|Hangul|Hanunoo|Hebrew|Hiragana|Inherited|Kannada|Katakana|Kayah_Li|Kharoshthi|Khmer|Lao|Latin|Lepcha|Limbu|Linear_B|Lycian|Lydian|Malayalam|Mongolian|Myanmar|New_Tai_Lue|Nko|Ogham|Ol_Chiki|Old_Italic|Old_Persian|Oriya|Osmanya|Phags_Pa|Phoenician|Rejang|Runic|Saurashtra|Shavian|Sinhala|Sundanese|Syloti_Nagri|Syriac|Tagalog|Tagbanwa|Tai_Le|Tamil|Telugu|Thaana|Thai|Tibetan|Tifinagh|Ugaritic|Vai|Yi|Ll|Lm|Lt|Lu|Lo|Mn|Mc|Me|Nd|Nl|Pc|Pd|Ps|Pe|Pi|Pf|Po|No|Sm|Sc|Sk|So|Zs|Zl|Zp|Cc|Cf|Cn|Co|Cs|N|L|M|P|S|Z|C)(})/},{token:["constant.language.escape","invalid","constant.language.escape"],regex:/(\\p{\^?)([^/]*)(})/},{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:/[/][imxouesn]*/,next:"start"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?(?:[:=!>]|<'?[a-zA-Z]*'?>|<[=!])|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"regexp.keyword",regex:/\[\[:(?:alnum|alpha|blank|cntrl|digit|graph|lower|print|punct|space|upper|xdigit|word|ascii):\]\]/},{token:"constant.language.escape",regex:/\[\^?/,push:"regex_character_class"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:/&?&?\[\^?/,push:"regex_character_class"},{token:"constant.language.escape",regex:"]",next:"pop"},{token:"constant.language.escape",regex:"-"},{defaultToken:"string.regexp.characterclass"}]},this.normalizeRules()};A.inherits(a,S),g.RubyHighlightRules=a}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(f,g,J){var A=f("../range").Range,S=function(){};(function(){this.checkOutdent=function(_,s){return/^\s+$/.test(_)?/^\s*\}/.test(s):!1},this.autoOutdent=function(_,s){var u=_.getLine(s),i=u.match(/^(\s*\})/);if(!i)return 0;var o=i[1].length,r=_.findMatchingBracket({row:s,column:o});if(!r||r.row==s)return 0;var t=this.$getIndent(_.getLine(r.row));_.replace(new A(s,0,s,o-1),t)},this.$getIndent=function(_){return _.match(/^\s*/)[0]}}).call(S.prototype),g.MatchingBraceOutdent=S}),ace.define("ace/mode/folding/ruby",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(f,g,J){var A=f("../../lib/oop"),S=f("./fold_mode").FoldMode,_=f("../../range").Range,s=f("../../token_iterator").TokenIterator,u=g.FoldMode=function(){};A.inherits(u,S),(function(){this.indentKeywords={class:1,def:1,module:1,do:1,unless:1,if:1,while:1,for:1,until:1,begin:1,else:0,elsif:0,rescue:0,ensure:0,when:0,end:-1,case:1,"=begin":1,"=end":-1},this.foldingStartMarker=/(?:\s|^)(def|do|while|class|unless|module|if|for|until|begin|else|elsif|case|rescue|ensure|when)\b|({\s*$)|(=begin)/,this.foldingStopMarker=/(=end(?=$|\s.*$))|(^\s*})|\b(end)\b/,this.getFoldWidget=function(i,o,r){var t=i.getLine(r),e=this.foldingStartMarker.test(t),n=this.foldingStopMarker.test(t);if(e&&!n){var a=t.match(this.foldingStartMarker);if(a[1]){if((a[1]=="if"||a[1]=="else"||a[1]=="while"||a[1]=="until"||a[1]=="unless")&&(a[1]=="else"&&/^\s*else\s*$/.test(t)===!1||/^\s*(?:if|else|while|until|unless)\s*/.test(t)===!1)||a[1]=="when"&&/\sthen\s/.test(t)===!0)return;if(i.getTokenAt(r,a.index+2).type==="keyword")return"start"}else if(!a[3]||i.getTokenAt(r,a.index+1).type==="comment.multiline")return"start"}if(o!="markbeginend"||!n||e&&n)return"";var a=t.match(this.foldingStopMarker);if(a[3]==="end"){if(i.getTokenAt(r,a.index+1).type==="keyword")return"end"}else if(!a[1]||i.getTokenAt(r,a.index+1).type==="comment.multiline")return"end"},this.getFoldWidgetRange=function(i,o,r){var t=i.doc.getLine(r),e=this.foldingStartMarker.exec(t);if(e)return e[1]||e[3]?this.rubyBlock(i,r,e.index+2):this.openingBracketBlock(i,"{",r,e.index);var e=this.foldingStopMarker.exec(t);if(e)return e[3]==="end"&&i.getTokenAt(r,e.index+1).type==="keyword"?this.rubyBlock(i,r,e.index+1):e[1]==="=end"&&i.getTokenAt(r,e.index+1).type==="comment.multiline"?this.rubyBlock(i,r,e.index+1):this.closingBracketBlock(i,"}",r,e.index+e[0].length)},this.rubyBlock=function(i,I,r,t){var e=new s(i,I,r),n=e.getCurrentToken();if(!(!n||n.type!="keyword"&&n.type!="comment.multiline")){var a=n.value,p=i.getLine(I);switch(n.value){case"if":case"unless":case"while":case"until":var m=new RegExp("^\\s*"+n.value);if(!m.test(p))return;var k=this.indentKeywords[a];break;case"when":if(/\sthen\s/.test(p))return;case"elsif":case"rescue":case"ensure":var k=1;break;case"else":var m=new RegExp("^\\s*"+n.value+"\\s*$");if(!m.test(p))return;var k=1;break;default:var k=this.indentKeywords[a]}var x=[a];if(k){var $=k===-1?i.getLine(I-1).length:i.getLine(I).length,C=I,W=[];if(W.push(e.getCurrentTokenRange()),e.step=k===-1?e.stepBackward:e.stepForward,n.type=="comment.multiline"){for(;n=e.step();)if(n.type==="comment.multiline"){if(k==1){if($=6,n.value=="=end")break}else if(n.value=="=begin")break}}else for(;n=e.step();){var ye=!1;if(n.type==="keyword"){var U=k*this.indentKeywords[n.value];switch(p=i.getLine(e.getCurrentTokenRow()),n.value){case"do":for(var L=e.$tokenIndex-1;L>=0;L--){var De=e.$rowTokens[L];if(De&&(De.value=="while"||De.value=="until"||De.value=="for")){U=0;break}}break;case"else":var m=new RegExp("^\\s*"+n.value+"\\s*$");(!m.test(p)||a=="case")&&(U=0,ye=!0);break;case"if":case"unless":case"while":case"until":var m=new RegExp("^\\s*"+n.value);m.test(p)||(U=0,ye=!0);break;case"when":(/\sthen\s/.test(p)||a=="case")&&(U=0,ye=!0)}if(U>0)x.unshift(n.value);else if(U<=0&&ye===!1){if(x.shift(),!x.length&&((a=="while"||a=="until"||a=="for")&&n.value!="do"||n.value=="do"&&k==-1&&U!=0||n.value!="do"))break;U===0&&x.unshift(n.value)}}}if(!n)return null;if(t)return W.push(e.getCurrentTokenRange()),W;var I=e.getCurrentTokenRow();if(k===-1){if(n.type==="comment.multiline")var E=6;else var E=i.getLine(I).length;return new _(I,E,C-1,$)}return new _(C,$,I-1,i.getLine(I-1).length)}}}}).call(u.prototype)}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/ruby"],function(f,g,J){var A=f("../lib/oop"),S=f("./text").Mode,_=f("./ruby_highlight_rules").RubyHighlightRules,s=f("./matching_brace_outdent").MatchingBraceOutdent,u=f("../range").Range,i=f("./folding/ruby").FoldMode,o=function(){this.HighlightRules=_,this.$outdent=new s,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new i,this.indentKeywords=this.foldingRules.indentKeywords};A.inherits(o,S),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(r,t,e){var n=this.$getIndent(t),a=this.getTokenizer().getLineTokens(t,r),p=a.tokens;if(p.length&&p[p.length-1].type=="comment")return n;if(r=="start"){var m=t.match(/^.*[\{\(\[]\s*$/),k=t.match(/^\s*(class|def|module)\s.*$/),x=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),$=t.match(/^\s*(if|else|when|elsif|unless|while|for|begin|rescue|ensure)\s*/);(m||k||x||$)&&(n+=e)}return n},this.checkOutdent=function(r,t,e){return/^\s+(end|else|rescue|ensure)$/.test(t+e)||this.$outdent.checkOutdent(t,e)},this.autoOutdent=function(r,t,e){var n=t.getLine(e);if(/}/.test(n))return this.$outdent.autoOutdent(t,e);var a=this.$getIndent(n),p=t.getLine(e-1),m=this.$getIndent(p),k=t.getTabString();m.length<=a.length&&a.slice(-k.length)==k&&t.remove(new u(e,a.length-k.length,e,a.length))},this.getMatching=function(r,t,e){if(t==null){var n=r.selection.lead;e=n.column,t=n.row}var a=r.getTokenAt(t,e);if(a&&a.value in this.indentKeywords)return this.foldingRules.rubyBlock(r,t,e,!0)},this.$id="ace/mode/ruby",this.snippetFileId="ace/snippets/ruby"}).call(o.prototype),g.Mode=o}),function(){ace.require(["ace/mode/ruby"],function(f){c&&(c.exports=f)})}()}(modeRuby)),modeRuby.exports}requireModeRuby();var themeTwilight={exports:{}},hasRequiredThemeTwilight;function requireThemeTwilight(){return hasRequiredThemeTwilight||(hasRequiredThemeTwilight=1,function(c,h){ace.define("ace/theme/twilight-css",["require","exports","module"],function(f,g,J){J.exports=`.ace-twilight .ace_gutter {
|
983
|
+
background: #232323;
|
984
|
+
color: #E2E2E2
|
985
|
+
}
|
986
|
+
|
987
|
+
.ace-twilight .ace_print-margin {
|
988
|
+
width: 1px;
|
989
|
+
background: #232323
|
990
|
+
}
|
991
|
+
|
992
|
+
.ace-twilight {
|
993
|
+
background-color: #141414;
|
994
|
+
color: #F8F8F8
|
995
|
+
}
|
996
|
+
|
997
|
+
.ace-twilight .ace_cursor {
|
998
|
+
color: #A7A7A7
|
999
|
+
}
|
1000
|
+
|
1001
|
+
.ace-twilight .ace_marker-layer .ace_selection {
|
1002
|
+
background: rgba(221, 240, 255, 0.20)
|
1003
|
+
}
|
1004
|
+
|
1005
|
+
.ace-twilight.ace_multiselect .ace_selection.ace_start {
|
1006
|
+
box-shadow: 0 0 3px 0px #141414;
|
1007
|
+
}
|
1008
|
+
|
1009
|
+
.ace-twilight .ace_marker-layer .ace_step {
|
1010
|
+
background: rgb(102, 82, 0)
|
1011
|
+
}
|
1012
|
+
|
1013
|
+
.ace-twilight .ace_marker-layer .ace_bracket {
|
1014
|
+
margin: -1px 0 0 -1px;
|
1015
|
+
border: 1px solid rgba(255, 255, 255, 0.25)
|
1016
|
+
}
|
1017
|
+
|
1018
|
+
.ace-twilight .ace_marker-layer .ace_active-line {
|
1019
|
+
background: rgba(255, 255, 255, 0.031)
|
1020
|
+
}
|
1021
|
+
|
1022
|
+
.ace-twilight .ace_gutter-active-line {
|
1023
|
+
background-color: rgba(255, 255, 255, 0.031)
|
1024
|
+
}
|
1025
|
+
|
1026
|
+
.ace-twilight .ace_marker-layer .ace_selected-word {
|
1027
|
+
border: 1px solid rgba(221, 240, 255, 0.20)
|
1028
|
+
}
|
1029
|
+
|
1030
|
+
.ace-twilight .ace_invisible {
|
1031
|
+
color: rgba(255, 255, 255, 0.25)
|
1032
|
+
}
|
1033
|
+
|
1034
|
+
.ace-twilight .ace_keyword,
|
1035
|
+
.ace-twilight .ace_meta {
|
1036
|
+
color: #CDA869
|
1037
|
+
}
|
1038
|
+
|
1039
|
+
.ace-twilight .ace_constant,
|
1040
|
+
.ace-twilight .ace_constant.ace_character,
|
1041
|
+
.ace-twilight .ace_constant.ace_character.ace_escape,
|
1042
|
+
.ace-twilight .ace_constant.ace_other,
|
1043
|
+
.ace-twilight .ace_heading,
|
1044
|
+
.ace-twilight .ace_markup.ace_heading,
|
1045
|
+
.ace-twilight .ace_support.ace_constant {
|
1046
|
+
color: #CF6A4C
|
1047
|
+
}
|
1048
|
+
|
1049
|
+
.ace-twilight .ace_invalid.ace_illegal {
|
1050
|
+
color: #F8F8F8;
|
1051
|
+
background-color: rgba(86, 45, 86, 0.75)
|
1052
|
+
}
|
1053
|
+
|
1054
|
+
.ace-twilight .ace_invalid.ace_deprecated {
|
1055
|
+
text-decoration: underline;
|
1056
|
+
font-style: italic;
|
1057
|
+
color: #D2A8A1
|
1058
|
+
}
|
1059
|
+
|
1060
|
+
.ace-twilight .ace_support {
|
1061
|
+
color: #9B859D
|
1062
|
+
}
|
1063
|
+
|
1064
|
+
.ace-twilight .ace_fold {
|
1065
|
+
background-color: #AC885B;
|
1066
|
+
border-color: #F8F8F8
|
1067
|
+
}
|
1068
|
+
|
1069
|
+
.ace-twilight .ace_support.ace_function {
|
1070
|
+
color: #DAD085
|
1071
|
+
}
|
1072
|
+
|
1073
|
+
.ace-twilight .ace_list,
|
1074
|
+
.ace-twilight .ace_markup.ace_list,
|
1075
|
+
.ace-twilight .ace_storage {
|
1076
|
+
color: #F9EE98
|
1077
|
+
}
|
1078
|
+
|
1079
|
+
.ace-twilight .ace_entity.ace_name.ace_function,
|
1080
|
+
.ace-twilight .ace_meta.ace_tag {
|
1081
|
+
color: #AC885B
|
1082
|
+
}
|
1083
|
+
|
1084
|
+
.ace-twilight .ace_string {
|
1085
|
+
color: #8F9D6A
|
1086
|
+
}
|
1087
|
+
|
1088
|
+
.ace-twilight .ace_string.ace_regexp {
|
1089
|
+
color: #E9C062
|
1090
|
+
}
|
1091
|
+
|
1092
|
+
.ace-twilight .ace_comment {
|
1093
|
+
font-style: italic;
|
1094
|
+
color: #5F5A60
|
1095
|
+
}
|
1096
|
+
|
1097
|
+
.ace-twilight .ace_variable {
|
1098
|
+
color: #7587A6
|
1099
|
+
}
|
1100
|
+
|
1101
|
+
.ace-twilight .ace_xml-pe {
|
1102
|
+
color: #494949
|
1103
|
+
}
|
1104
|
+
|
1105
|
+
.ace-twilight .ace_indent-guide {
|
1106
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y
|
1107
|
+
}
|
1108
|
+
|
1109
|
+
.ace-twilight .ace_indent-guide-active {
|
1110
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;
|
1111
|
+
}
|
1112
|
+
`}),ace.define("ace/theme/twilight",["require","exports","module","ace/theme/twilight-css","ace/lib/dom"],function(f,g,J){g.isDark=!0,g.cssClass="ace-twilight",g.cssText=f("./twilight-css");var A=f("../lib/dom");A.importCssString(g.cssText,g.cssClass,!1)}),function(){ace.require(["ace/theme/twilight"],function(f){c&&(c.exports=f)})}()}(themeTwilight)),themeTwilight.exports}requireThemeTwilight();var Kt=Object.defineProperty,Xt=(c,h,f)=>h in c?Kt(c,h,{enumerable:!0,configurable:!0,writable:!0,value:f}):c[h]=f,v=(c,h,f)=>Xt(c,typeof h!="symbol"?h+"":h,f);function pt(c,h){return function(){return c.apply(h,arguments)}}const{toString:Gt}=Object.prototype,{getPrototypeOf:$e}=Object,de=(c=>h=>{const f=Gt.call(h);return c[f]||(c[f]=f.slice(8,-1).toLowerCase())})(Object.create(null)),j=c=>(c=c.toLowerCase(),h=>de(h)===c),fe=c=>h=>typeof h===c,{isArray:K}=Array,Y=fe("undefined");function Zt(c){return c!==null&&!Y(c)&&c.constructor!==null&&!Y(c.constructor)&&N(c.constructor.isBuffer)&&c.constructor.isBuffer(c)}const mt=j("ArrayBuffer");function Qt(c){let h;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?h=ArrayBuffer.isView(c):h=c&&c.buffer&&mt(c.buffer),h}const Yt=fe("string"),N=fe("function"),gt=fe("number"),pe=c=>c!==null&&typeof c=="object",en=c=>c===!0||c===!1,ce=c=>{if(de(c)!=="object")return!1;const h=$e(c);return(h===null||h===Object.prototype||Object.getPrototypeOf(h)===null)&&!(Symbol.toStringTag in c)&&!(Symbol.iterator in c)},tn=j("Date"),nn=j("File"),sn=j("Blob"),rn=j("FileList"),on=c=>pe(c)&&N(c.pipe),cn=c=>{let h;return c&&(typeof FormData=="function"&&c instanceof FormData||N(c.append)&&((h=de(c))==="formdata"||h==="object"&&N(c.toString)&&c.toString()==="[object FormData]"))},an=j("URLSearchParams"),[ln,un,hn,dn]=["ReadableStream","Request","Response","Headers"].map(j),fn=c=>c.trim?c.trim():c.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ee(c,h,{allOwnKeys:f=!1}={}){if(c===null||typeof c>"u")return;let g,J;if(typeof c!="object"&&(c=[c]),K(c))for(g=0,J=c.length;g<J;g++)h.call(null,c[g],g,c);else{const A=f?Object.getOwnPropertyNames(c):Object.keys(c),S=A.length;let _;for(g=0;g<S;g++)_=A[g],h.call(null,c[_],_,c)}}function bt(c,h){h=h.toLowerCase();const f=Object.keys(c);let g=f.length,J;for(;g-- >0;)if(J=f[g],h===J.toLowerCase())return J;return null}const H=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,wt=c=>!Y(c)&&c!==H;function Oe(){const{caseless:c}=wt(this)&&this||{},h={},f=(g,J)=>{const A=c&&bt(h,J)||J;ce(h[A])&&ce(g)?h[A]=Oe(h[A],g):ce(g)?h[A]=Oe({},g):K(g)?h[A]=g.slice():h[A]=g};for(let g=0,J=arguments.length;g<J;g++)arguments[g]&&ee(arguments[g],f);return h}const pn=(c,h,f,{allOwnKeys:g}={})=>(ee(h,(J,A)=>{f&&N(J)?c[A]=pt(J,f):c[A]=J},{allOwnKeys:g}),c),mn=c=>(c.charCodeAt(0)===65279&&(c=c.slice(1)),c),gn=(c,h,f,g)=>{c.prototype=Object.create(h.prototype,g),c.prototype.constructor=c,Object.defineProperty(c,"super",{value:h.prototype}),f&&Object.assign(c.prototype,f)},bn=(c,h,f,g)=>{let J,A,S;const _={};if(h=h||{},c==null)return h;do{for(J=Object.getOwnPropertyNames(c),A=J.length;A-- >0;)S=J[A],(!g||g(S,c,h))&&!_[S]&&(h[S]=c[S],_[S]=!0);c=f!==!1&&$e(c)}while(c&&(!f||f(c,h))&&c!==Object.prototype);return h},wn=(c,h,f)=>{c=String(c),(f===void 0||f>c.length)&&(f=c.length),f-=h.length;const g=c.indexOf(h,f);return g!==-1&&g===f},yn=c=>{if(!c)return null;if(K(c))return c;let h=c.length;if(!gt(h))return null;const f=new Array(h);for(;h-- >0;)f[h]=c[h];return f},_n=(c=>h=>c&&h instanceof c)(typeof Uint8Array<"u"&&$e(Uint8Array)),En=(c,h)=>{const f=(c&&c[Symbol.iterator]).call(c);let g;for(;(g=f.next())&&!g.done;){const J=g.value;h.call(c,J[0],J[1])}},Sn=(c,h)=>{let f;const g=[];for(;(f=c.exec(h))!==null;)g.push(f);return g},xn=j("HTMLFormElement"),Rn=c=>c.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(h,f,g){return f.toUpperCase()+g}),Ve=(({hasOwnProperty:c})=>(h,f)=>c.call(h,f))(Object.prototype),An=j("RegExp"),yt=(c,h)=>{const f=Object.getOwnPropertyDescriptors(c),g={};ee(f,(J,A)=>{let S;(S=h(J,A,c))!==!1&&(g[A]=S||J)}),Object.defineProperties(c,g)},On=c=>{yt(c,(h,f)=>{if(N(c)&&["arguments","caller","callee"].indexOf(f)!==-1)return!1;const g=c[f];if(N(g)){if(h.enumerable=!1,"writable"in h){h.writable=!1;return}h.set||(h.set=()=>{throw Error("Can not rewrite read-only method '"+f+"'")})}})},Cn=(c,h)=>{const f={},g=J=>{J.forEach(A=>{f[A]=!0})};return K(c)?g(c):g(String(c).split(h)),f},Tn=()=>{},kn=(c,h)=>c!=null&&Number.isFinite(c=+c)?c:h;function Nn(c){return!!(c&&N(c.append)&&c[Symbol.toStringTag]==="FormData"&&c[Symbol.iterator])}const Pn=c=>{const h=new Array(10),f=(g,J)=>{if(pe(g)){if(h.indexOf(g)>=0)return;if(!("toJSON"in g)){h[J]=g;const A=K(g)?[]:{};return ee(g,(S,_)=>{const s=f(S,J+1);!Y(s)&&(A[_]=s)}),h[J]=void 0,A}}return g};return f(c,0)},In=j("AsyncFunction"),Ln=c=>c&&(pe(c)||N(c))&&N(c.then)&&N(c.catch),_t=((c,h)=>c?setImmediate:h?((f,g)=>(H.addEventListener("message",({source:J,data:A})=>{J===H&&A===f&&g.length&&g.shift()()},!1),J=>{g.push(J),H.postMessage(f,"*")}))(`axios@${Math.random()}`,[]):f=>setTimeout(f))(typeof setImmediate=="function",N(H.postMessage)),vn=typeof queueMicrotask<"u"?queueMicrotask.bind(H):typeof process<"u"&&process.nextTick||_t,l={isArray:K,isArrayBuffer:mt,isBuffer:Zt,isFormData:cn,isArrayBufferView:Qt,isString:Yt,isNumber:gt,isBoolean:en,isObject:pe,isPlainObject:ce,isReadableStream:ln,isRequest:un,isResponse:hn,isHeaders:dn,isUndefined:Y,isDate:tn,isFile:nn,isBlob:sn,isRegExp:An,isFunction:N,isStream:on,isURLSearchParams:an,isTypedArray:_n,isFileList:rn,forEach:ee,merge:Oe,extend:pn,trim:fn,stripBOM:mn,inherits:gn,toFlatObject:bn,kindOf:de,kindOfTest:j,endsWith:wn,toArray:yn,forEachEntry:En,matchAll:Sn,isHTMLForm:xn,hasOwnProperty:Ve,hasOwnProp:Ve,reduceDescriptors:yt,freezeMethods:On,toObjectSet:Cn,toCamelCase:Rn,noop:Tn,toFiniteNumber:kn,findKey:bt,global:H,isContextDefined:wt,isSpecCompliantForm:Nn,toJSONObject:Pn,isAsyncFn:In,isThenable:Ln,setImmediate:_t,asap:vn};function w(c,h,f,g,J){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=c,this.name="AxiosError",h&&(this.code=h),f&&(this.config=f),g&&(this.request=g),J&&(this.response=J,this.status=J.status?J.status:null)}l.inherits(w,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:l.toJSONObject(this.config),code:this.code,status:this.status}}});const Et=w.prototype,St={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(c=>{St[c]={value:c}}),Object.defineProperties(w,St),Object.defineProperty(Et,"isAxiosError",{value:!0}),w.from=(c,h,f,g,J,A)=>{const S=Object.create(Et);return l.toFlatObject(c,S,function(_){return _!==Error.prototype},_=>_!=="isAxiosError"),w.call(S,c.message,h,f,g,J),S.cause=c,S.name=c.name,A&&Object.assign(S,A),S};const $n=null;function Ce(c){return l.isPlainObject(c)||l.isArray(c)}function xt(c){return l.endsWith(c,"[]")?c.slice(0,-2):c}function Je(c,h,f){return c?c.concat(h).map(function(g,J){return g=xt(g),!f&&J?"["+g+"]":g}).join(f?".":""):h}function jn(c){return l.isArray(c)&&!c.some(Ce)}const Fn=l.toFlatObject(l,{},null,function(c){return/^is[A-Z]/.test(c)});function me(c,h,f){if(!l.isObject(c))throw new TypeError("target must be an object");h=h||new FormData,f=l.toFlatObject(f,{metaTokens:!0,dots:!1,indexes:!1},!1,function(t,e){return!l.isUndefined(e[t])});const g=f.metaTokens,J=f.visitor||u,A=f.dots,S=f.indexes,_=(f.Blob||typeof Blob<"u"&&Blob)&&l.isSpecCompliantForm(h);if(!l.isFunction(J))throw new TypeError("visitor must be a function");function s(t){if(t===null)return"";if(l.isDate(t))return t.toISOString();if(!_&&l.isBlob(t))throw new w("Blob is not supported. Use a Buffer instead.");return l.isArrayBuffer(t)||l.isTypedArray(t)?_&&typeof Blob=="function"?new Blob([t]):Buffer.from(t):t}function u(t,e,n){let a=t;if(t&&!n&&typeof t=="object"){if(l.endsWith(e,"{}"))e=g?e:e.slice(0,-2),t=JSON.stringify(t);else if(l.isArray(t)&&jn(t)||(l.isFileList(t)||l.endsWith(e,"[]"))&&(a=l.toArray(t)))return e=xt(e),a.forEach(function(p,m){!(l.isUndefined(p)||p===null)&&h.append(S===!0?Je([e],m,A):S===null?e:e+"[]",s(p))}),!1}return Ce(t)?!0:(h.append(Je(n,e,A),s(t)),!1)}const i=[],o=Object.assign(Fn,{defaultVisitor:u,convertValue:s,isVisitable:Ce});function r(t,e){if(!l.isUndefined(t)){if(i.indexOf(t)!==-1)throw Error("Circular reference detected in "+e.join("."));i.push(t),l.forEach(t,function(n,a){(!(l.isUndefined(n)||n===null)&&J.call(h,n,l.isString(a)?a.trim():a,e,o))===!0&&r(n,e?e.concat(a):[a])}),i.pop()}}if(!l.isObject(c))throw new TypeError("data must be an object");return r(c),h}function We(c){const h={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(c).replace(/[!'()~]|%20|%00/g,function(f){return h[f]})}function je(c,h){this._pairs=[],c&&me(c,this,h)}const Rt=je.prototype;Rt.append=function(c,h){this._pairs.push([c,h])},Rt.toString=function(c){const h=c?function(f){return c.call(this,f,We)}:We;return this._pairs.map(function(f){return h(f[0])+"="+h(f[1])},"").join("&")};function Un(c){return encodeURIComponent(c).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function At(c,h,f){if(!h)return c;const g=f&&f.encode||Un;l.isFunction(f)&&(f={serialize:f});const J=f&&f.serialize;let A;if(J?A=J(h,f):A=l.isURLSearchParams(h)?h.toString():new je(h,f).toString(g),A){const S=c.indexOf("#");S!==-1&&(c=c.slice(0,S)),c+=(c.indexOf("?")===-1?"?":"&")+A}return c}class Ke{constructor(){this.handlers=[]}use(h,f,g){return this.handlers.push({fulfilled:h,rejected:f,synchronous:g?g.synchronous:!1,runWhen:g?g.runWhen:null}),this.handlers.length-1}eject(h){this.handlers[h]&&(this.handlers[h]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(h){l.forEach(this.handlers,function(f){f!==null&&h(f)})}}const Ot={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Dn=typeof URLSearchParams<"u"?URLSearchParams:je,qn=typeof FormData<"u"?FormData:null,Bn=typeof Blob<"u"?Blob:null,Mn={isBrowser:!0,classes:{URLSearchParams:Dn,FormData:qn,Blob:Bn},protocols:["http","https","file","blob","url","data"]},Fe=typeof window<"u"&&typeof document<"u",Te=typeof navigator=="object"&&navigator||void 0,Hn=Fe&&(!Te||["ReactNative","NativeScript","NS"].indexOf(Te.product)<0),zn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Vn=Fe&&window.location.href||"http://localhost",Jn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Fe,hasStandardBrowserEnv:Hn,hasStandardBrowserWebWorkerEnv:zn,navigator:Te,origin:Vn},Symbol.toStringTag,{value:"Module"})),O={...Jn,...Mn};function Wn(c,h){return me(c,new O.classes.URLSearchParams,Object.assign({visitor:function(f,g,J,A){return O.isNode&&l.isBuffer(f)?(this.append(g,f.toString("base64")),!1):A.defaultVisitor.apply(this,arguments)}},h))}function Kn(c){return l.matchAll(/\w+|\[(\w*)]/g,c).map(h=>h[0]==="[]"?"":h[1]||h[0])}function Xn(c){const h={},f=Object.keys(c);let g;const J=f.length;let A;for(g=0;g<J;g++)A=f[g],h[A]=c[A];return h}function Ct(c){function h(f,g,J,A){let S=f[A++];if(S==="__proto__")return!0;const _=Number.isFinite(+S),s=A>=f.length;return S=!S&&l.isArray(J)?J.length:S,s?(l.hasOwnProp(J,S)?J[S]=[J[S],g]:J[S]=g,!_):((!J[S]||!l.isObject(J[S]))&&(J[S]=[]),h(f,g,J[S],A)&&l.isArray(J[S])&&(J[S]=Xn(J[S])),!_)}if(l.isFormData(c)&&l.isFunction(c.entries)){const f={};return l.forEachEntry(c,(g,J)=>{h(Kn(g),J,f,0)}),f}return null}function Gn(c,h,f){if(l.isString(c))try{return(h||JSON.parse)(c),l.trim(c)}catch(g){if(g.name!=="SyntaxError")throw g}return(f||JSON.stringify)(c)}const te={transitional:Ot,adapter:["xhr","http","fetch"],transformRequest:[function(c,h){const f=h.getContentType()||"",g=f.indexOf("application/json")>-1,J=l.isObject(c);if(J&&l.isHTMLForm(c)&&(c=new FormData(c)),l.isFormData(c))return g?JSON.stringify(Ct(c)):c;if(l.isArrayBuffer(c)||l.isBuffer(c)||l.isStream(c)||l.isFile(c)||l.isBlob(c)||l.isReadableStream(c))return c;if(l.isArrayBufferView(c))return c.buffer;if(l.isURLSearchParams(c))return h.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),c.toString();let A;if(J){if(f.indexOf("application/x-www-form-urlencoded")>-1)return Wn(c,this.formSerializer).toString();if((A=l.isFileList(c))||f.indexOf("multipart/form-data")>-1){const S=this.env&&this.env.FormData;return me(A?{"files[]":c}:c,S&&new S,this.formSerializer)}}return J||g?(h.setContentType("application/json",!1),Gn(c)):c}],transformResponse:[function(c){const h=this.transitional||te.transitional,f=h&&h.forcedJSONParsing,g=this.responseType==="json";if(l.isResponse(c)||l.isReadableStream(c))return c;if(c&&l.isString(c)&&(f&&!this.responseType||g)){const J=!(h&&h.silentJSONParsing)&&g;try{return JSON.parse(c)}catch(A){if(J)throw A.name==="SyntaxError"?w.from(A,w.ERR_BAD_RESPONSE,this,null,this.response):A}}return c}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:O.classes.FormData,Blob:O.classes.Blob},validateStatus:function(c){return c>=200&&c<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};l.forEach(["delete","get","head","post","put","patch"],c=>{te.headers[c]={}});const Zn=l.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Qn=c=>{const h={};let f,g,J;return c&&c.split(`
|
1113
|
+
`).forEach(function(A){J=A.indexOf(":"),f=A.substring(0,J).trim().toLowerCase(),g=A.substring(J+1).trim(),!(!f||h[f]&&Zn[f])&&(f==="set-cookie"?h[f]?h[f].push(g):h[f]=[g]:h[f]=h[f]?h[f]+", "+g:g)}),h},Xe=Symbol("internals");function Z(c){return c&&String(c).trim().toLowerCase()}function ae(c){return c===!1||c==null?c:l.isArray(c)?c.map(ae):String(c)}function Yn(c){const h=Object.create(null),f=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let g;for(;g=f.exec(c);)h[g[1]]=g[2];return h}const es=c=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(c.trim());function Se(c,h,f,g,J){if(l.isFunction(g))return g.call(this,h,f);if(J&&(h=f),!!l.isString(h)){if(l.isString(g))return h.indexOf(g)!==-1;if(l.isRegExp(g))return g.test(h)}}function ts(c){return c.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(h,f,g)=>f.toUpperCase()+g)}function ns(c,h){const f=l.toCamelCase(" "+h);["get","set","has"].forEach(g=>{Object.defineProperty(c,g+f,{value:function(J,A,S){return this[g].call(this,h,J,A,S)},configurable:!0})})}let T=class{constructor(c){c&&this.set(c)}set(c,h,f){const g=this;function J(S,_,s){const u=Z(_);if(!u)throw new Error("header name must be a non-empty string");const i=l.findKey(g,u);(!i||g[i]===void 0||s===!0||s===void 0&&g[i]!==!1)&&(g[i||_]=ae(S))}const A=(S,_)=>l.forEach(S,(s,u)=>J(s,u,_));if(l.isPlainObject(c)||c instanceof this.constructor)A(c,h);else if(l.isString(c)&&(c=c.trim())&&!es(c))A(Qn(c),h);else if(l.isHeaders(c))for(const[S,_]of c.entries())J(_,S,f);else c!=null&&J(h,c,f);return this}get(c,h){if(c=Z(c),c){const f=l.findKey(this,c);if(f){const g=this[f];if(!h)return g;if(h===!0)return Yn(g);if(l.isFunction(h))return h.call(this,g,f);if(l.isRegExp(h))return h.exec(g);throw new TypeError("parser must be boolean|regexp|function")}}}has(c,h){if(c=Z(c),c){const f=l.findKey(this,c);return!!(f&&this[f]!==void 0&&(!h||Se(this,this[f],f,h)))}return!1}delete(c,h){const f=this;let g=!1;function J(A){if(A=Z(A),A){const S=l.findKey(f,A);S&&(!h||Se(f,f[S],S,h))&&(delete f[S],g=!0)}}return l.isArray(c)?c.forEach(J):J(c),g}clear(c){const h=Object.keys(this);let f=h.length,g=!1;for(;f--;){const J=h[f];(!c||Se(this,this[J],J,c,!0))&&(delete this[J],g=!0)}return g}normalize(c){const h=this,f={};return l.forEach(this,(g,J)=>{const A=l.findKey(f,J);if(A){h[A]=ae(g),delete h[J];return}const S=c?ts(J):String(J).trim();S!==J&&delete h[J],h[S]=ae(g),f[S]=!0}),this}concat(...c){return this.constructor.concat(this,...c)}toJSON(c){const h=Object.create(null);return l.forEach(this,(f,g)=>{f!=null&&f!==!1&&(h[g]=c&&l.isArray(f)?f.join(", "):f)}),h}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([c,h])=>c+": "+h).join(`
|
1114
|
+
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(c){return c instanceof this?c:new this(c)}static concat(c,...h){const f=new this(c);return h.forEach(g=>f.set(g)),f}static accessor(c){const h=(this[Xe]=this[Xe]={accessors:{}}).accessors,f=this.prototype;function g(J){const A=Z(J);h[A]||(ns(f,J),h[A]=!0)}return l.isArray(c)?c.forEach(g):g(c),this}};T.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),l.reduceDescriptors(T.prototype,({value:c},h)=>{let f=h[0].toUpperCase()+h.slice(1);return{get:()=>c,set(g){this[f]=g}}}),l.freezeMethods(T);function xe(c,h){const f=this||te,g=h||f,J=T.from(g.headers);let A=g.data;return l.forEach(c,function(S){A=S.call(f,A,J.normalize(),h?h.status:void 0)}),J.normalize(),A}function Tt(c){return!!(c&&c.__CANCEL__)}function X(c,h,f){w.call(this,c??"canceled",w.ERR_CANCELED,h,f),this.name="CanceledError"}l.inherits(X,w,{__CANCEL__:!0});function kt(c,h,f){const g=f.config.validateStatus;!f.status||!g||g(f.status)?c(f):h(new w("Request failed with status code "+f.status,[w.ERR_BAD_REQUEST,w.ERR_BAD_RESPONSE][Math.floor(f.status/100)-4],f.config,f.request,f))}function ss(c){const h=/^([-+\w]{1,25})(:?\/\/|:)/.exec(c);return h&&h[1]||""}function rs(c,h){c=c||10;const f=new Array(c),g=new Array(c);let J=0,A=0,S;return h=h!==void 0?h:1e3,function(_){const s=Date.now(),u=g[A];S||(S=s),f[J]=_,g[J]=s;let i=A,o=0;for(;i!==J;)o+=f[i++],i=i%c;if(J=(J+1)%c,J===A&&(A=(A+1)%c),s-S<h)return;const r=u&&s-u;return r?Math.round(o*1e3/r):void 0}}function is(c,h){let f=0,g=1e3/h,J,A;const S=(_,s=Date.now())=>{f=s,J=null,A&&(clearTimeout(A),A=null),c.apply(null,_)};return[(..._)=>{const s=Date.now(),u=s-f;u>=g?S(_,s):(J=_,A||(A=setTimeout(()=>{A=null,S(J)},g-u)))},()=>J&&S(J)]}const ue=(c,h,f=3)=>{let g=0;const J=rs(50,250);return is(A=>{const S=A.loaded,_=A.lengthComputable?A.total:void 0,s=S-g,u=J(s),i=S<=_;g=S;const o={loaded:S,total:_,progress:_?S/_:void 0,bytes:s,rate:u||void 0,estimated:u&&_&&i?(_-S)/u:void 0,event:A,lengthComputable:_!=null,[h?"download":"upload"]:!0};c(o)},f)},Ge=(c,h)=>{const f=c!=null;return[g=>h[0]({lengthComputable:f,total:c,loaded:g}),h[1]]},Ze=c=>(...h)=>l.asap(()=>c(...h)),os=O.hasStandardBrowserEnv?((c,h)=>f=>(f=new URL(f,O.origin),c.protocol===f.protocol&&c.host===f.host&&(h||c.port===f.port)))(new URL(O.origin),O.navigator&&/(msie|trident)/i.test(O.navigator.userAgent)):()=>!0,cs=O.hasStandardBrowserEnv?{write(c,h,f,g,J,A){const S=[c+"="+encodeURIComponent(h)];l.isNumber(f)&&S.push("expires="+new Date(f).toGMTString()),l.isString(g)&&S.push("path="+g),l.isString(J)&&S.push("domain="+J),A===!0&&S.push("secure"),document.cookie=S.join("; ")},read(c){const h=document.cookie.match(new RegExp("(^|;\\s*)("+c+")=([^;]*)"));return h?decodeURIComponent(h[3]):null},remove(c){this.write(c,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function as(c){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(c)}function ls(c,h){return h?c.replace(/\/?\/$/,"")+"/"+h.replace(/^\/+/,""):c}function Nt(c,h,f){let g=!as(h);return c&&(g||f==!1)?ls(c,h):h}const Qe=c=>c instanceof T?{...c}:c;function V(c,h){h=h||{};const f={};function g(u,i,o,r){return l.isPlainObject(u)&&l.isPlainObject(i)?l.merge.call({caseless:r},u,i):l.isPlainObject(i)?l.merge({},i):l.isArray(i)?i.slice():i}function J(u,i,o,r){if(l.isUndefined(i)){if(!l.isUndefined(u))return g(void 0,u,o,r)}else return g(u,i,o,r)}function A(u,i){if(!l.isUndefined(i))return g(void 0,i)}function S(u,i){if(l.isUndefined(i)){if(!l.isUndefined(u))return g(void 0,u)}else return g(void 0,i)}function _(u,i,o){if(o in h)return g(u,i);if(o in c)return g(void 0,u)}const s={url:A,method:A,data:A,baseURL:S,transformRequest:S,transformResponse:S,paramsSerializer:S,timeout:S,timeoutMessage:S,withCredentials:S,withXSRFToken:S,adapter:S,responseType:S,xsrfCookieName:S,xsrfHeaderName:S,onUploadProgress:S,onDownloadProgress:S,decompress:S,maxContentLength:S,maxBodyLength:S,beforeRedirect:S,transport:S,httpAgent:S,httpsAgent:S,cancelToken:S,socketPath:S,responseEncoding:S,validateStatus:_,headers:(u,i,o)=>J(Qe(u),Qe(i),o,!0)};return l.forEach(Object.keys(Object.assign({},c,h)),function(u){const i=s[u]||J,o=i(c[u],h[u],u);l.isUndefined(o)&&i!==_||(f[u]=o)}),f}const Pt=c=>{const h=V({},c);let{data:f,withXSRFToken:g,xsrfHeaderName:J,xsrfCookieName:A,headers:S,auth:_}=h;h.headers=S=T.from(S),h.url=At(Nt(h.baseURL,h.url,h.allowAbsoluteUrls),c.params,c.paramsSerializer),_&&S.set("Authorization","Basic "+btoa((_.username||"")+":"+(_.password?unescape(encodeURIComponent(_.password)):"")));let s;if(l.isFormData(f)){if(O.hasStandardBrowserEnv||O.hasStandardBrowserWebWorkerEnv)S.setContentType(void 0);else if((s=S.getContentType())!==!1){const[u,...i]=s?s.split(";").map(o=>o.trim()).filter(Boolean):[];S.setContentType([u||"multipart/form-data",...i].join("; "))}}if(O.hasStandardBrowserEnv&&(g&&l.isFunction(g)&&(g=g(h)),g||g!==!1&&os(h.url))){const u=J&&A&&cs.read(A);u&&S.set(J,u)}return h},us=typeof XMLHttpRequest<"u",hs=us&&function(c){return new Promise(function(h,f){const g=Pt(c);let J=g.data;const A=T.from(g.headers).normalize();let{responseType:S,onUploadProgress:_,onDownloadProgress:s}=g,u,i,o,r,t;function e(){r&&r(),t&&t(),g.cancelToken&&g.cancelToken.unsubscribe(u),g.signal&&g.signal.removeEventListener("abort",u)}let n=new XMLHttpRequest;n.open(g.method.toUpperCase(),g.url,!0),n.timeout=g.timeout;function a(){if(!n)return;const m=T.from("getAllResponseHeaders"in n&&n.getAllResponseHeaders()),k={data:!S||S==="text"||S==="json"?n.responseText:n.response,status:n.status,statusText:n.statusText,headers:m,config:c,request:n};kt(function(x){h(x),e()},function(x){f(x),e()},k),n=null}"onloadend"in n?n.onloadend=a:n.onreadystatechange=function(){!n||n.readyState!==4||n.status===0&&!(n.responseURL&&n.responseURL.indexOf("file:")===0)||setTimeout(a)},n.onabort=function(){n&&(f(new w("Request aborted",w.ECONNABORTED,c,n)),n=null)},n.onerror=function(){f(new w("Network Error",w.ERR_NETWORK,c,n)),n=null},n.ontimeout=function(){let m=g.timeout?"timeout of "+g.timeout+"ms exceeded":"timeout exceeded";const k=g.transitional||Ot;g.timeoutErrorMessage&&(m=g.timeoutErrorMessage),f(new w(m,k.clarifyTimeoutError?w.ETIMEDOUT:w.ECONNABORTED,c,n)),n=null},J===void 0&&A.setContentType(null),"setRequestHeader"in n&&l.forEach(A.toJSON(),function(m,k){n.setRequestHeader(k,m)}),l.isUndefined(g.withCredentials)||(n.withCredentials=!!g.withCredentials),S&&S!=="json"&&(n.responseType=g.responseType),s&&([o,t]=ue(s,!0),n.addEventListener("progress",o)),_&&n.upload&&([i,r]=ue(_),n.upload.addEventListener("progress",i),n.upload.addEventListener("loadend",r)),(g.cancelToken||g.signal)&&(u=m=>{n&&(f(!m||m.type?new X(null,c,n):m),n.abort(),n=null)},g.cancelToken&&g.cancelToken.subscribe(u),g.signal&&(g.signal.aborted?u():g.signal.addEventListener("abort",u)));const p=ss(g.url);if(p&&O.protocols.indexOf(p)===-1){f(new w("Unsupported protocol "+p+":",w.ERR_BAD_REQUEST,c));return}n.send(J||null)})},ds=(c,h)=>{const{length:f}=c=c?c.filter(Boolean):[];if(h||f){let g=new AbortController,J;const A=function(u){if(!J){J=!0,_();const i=u instanceof Error?u:this.reason;g.abort(i instanceof w?i:new X(i instanceof Error?i.message:i))}};let S=h&&setTimeout(()=>{S=null,A(new w(`timeout ${h} of ms exceeded`,w.ETIMEDOUT))},h);const _=()=>{c&&(S&&clearTimeout(S),S=null,c.forEach(u=>{u.unsubscribe?u.unsubscribe(A):u.removeEventListener("abort",A)}),c=null)};c.forEach(u=>u.addEventListener("abort",A));const{signal:s}=g;return s.unsubscribe=()=>l.asap(_),s}},fs=function*(c,h){let f=c.byteLength;if(f<h){yield c;return}let g=0,J;for(;g<f;)J=g+h,yield c.slice(g,J),g=J},ps=async function*(c,h){for await(const f of ms(c))yield*fs(f,h)},ms=async function*(c){if(c[Symbol.asyncIterator]){yield*c;return}const h=c.getReader();try{for(;;){const{done:f,value:g}=await h.read();if(f)break;yield g}}finally{await h.cancel()}},Ye=(c,h,f,g)=>{const J=ps(c,h);let A=0,S,_=s=>{S||(S=!0,g&&g(s))};return new ReadableStream({async pull(s){try{const{done:u,value:i}=await J.next();if(u){_(),s.close();return}let o=i.byteLength;if(f){let r=A+=o;f(r)}s.enqueue(new Uint8Array(i))}catch(u){throw _(u),u}},cancel(s){return _(s),J.return()}},{highWaterMark:2})},ge=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",It=ge&&typeof ReadableStream=="function",gs=ge&&(typeof TextEncoder=="function"?(c=>h=>c.encode(h))(new TextEncoder):async c=>new Uint8Array(await new Response(c).arrayBuffer())),Lt=(c,...h)=>{try{return!!c(...h)}catch{return!1}},bs=It&&Lt(()=>{let c=!1;const h=new Request(O.origin,{body:new ReadableStream,method:"POST",get duplex(){return c=!0,"half"}}).headers.has("Content-Type");return c&&!h}),et=64*1024,ke=It&&Lt(()=>l.isReadableStream(new Response("").body)),he={stream:ke&&(c=>c.body)};ge&&(c=>{["text","arrayBuffer","blob","formData","stream"].forEach(h=>{!he[h]&&(he[h]=l.isFunction(c[h])?f=>f[h]():(f,g)=>{throw new w(`Response type '${h}' is not supported`,w.ERR_NOT_SUPPORT,g)})})})(new Response);const ws=async c=>{if(c==null)return 0;if(l.isBlob(c))return c.size;if(l.isSpecCompliantForm(c))return(await new Request(O.origin,{method:"POST",body:c}).arrayBuffer()).byteLength;if(l.isArrayBufferView(c)||l.isArrayBuffer(c))return c.byteLength;if(l.isURLSearchParams(c)&&(c=c+""),l.isString(c))return(await gs(c)).byteLength},ys=async(c,h)=>l.toFiniteNumber(c.getContentLength())??ws(h),_s=ge&&(async c=>{let{url:h,method:f,data:g,signal:J,cancelToken:A,timeout:S,onDownloadProgress:_,onUploadProgress:s,responseType:u,headers:i,withCredentials:o="same-origin",fetchOptions:r}=Pt(c);u=u?(u+"").toLowerCase():"text";let t=ds([J,A&&A.toAbortSignal()],S),e;const n=t&&t.unsubscribe&&(()=>{t.unsubscribe()});let a;try{if(s&&bs&&f!=="get"&&f!=="head"&&(a=await ys(i,g))!==0){let $=new Request(h,{method:"POST",body:g,duplex:"half"}),C;if(l.isFormData(g)&&(C=$.headers.get("content-type"))&&i.setContentType(C),$.body){const[W,ye]=Ge(a,ue(Ze(s)));g=Ye($.body,et,W,ye)}}l.isString(o)||(o=o?"include":"omit");const p="credentials"in Request.prototype;e=new Request(h,{...r,signal:t,method:f.toUpperCase(),headers:i.normalize().toJSON(),body:g,duplex:"half",credentials:p?o:void 0});let m=await fetch(e);const k=ke&&(u==="stream"||u==="response");if(ke&&(_||k&&n)){const $={};["status","statusText","headers"].forEach(U=>{$[U]=m[U]});const C=l.toFiniteNumber(m.headers.get("content-length")),[W,ye]=_&&Ge(C,ue(Ze(_),!0))||[];m=new Response(Ye(m.body,et,W,()=>{ye&&ye(),n&&n()}),$)}u=u||"text";let x=await he[l.findKey(he,u)||"text"](m,c);return!k&&n&&n(),await new Promise(($,C)=>{kt($,C,{data:x,headers:T.from(m.headers),status:m.status,statusText:m.statusText,config:c,request:e})})}catch(p){throw n&&n(),p&&p.name==="TypeError"&&/fetch/i.test(p.message)?Object.assign(new w("Network Error",w.ERR_NETWORK,c,e),{cause:p.cause||p}):w.from(p,p&&p.code,c,e)}}),Ne={http:$n,xhr:hs,fetch:_s};l.forEach(Ne,(c,h)=>{if(c){try{Object.defineProperty(c,"name",{value:h})}catch{}Object.defineProperty(c,"adapterName",{value:h})}});const tt=c=>`- ${c}`,Es=c=>l.isFunction(c)||c===null||c===!1,vt={getAdapter:c=>{c=l.isArray(c)?c:[c];const{length:h}=c;let f,g;const J={};for(let A=0;A<h;A++){f=c[A];let S;if(g=f,!Es(f)&&(g=Ne[(S=String(f)).toLowerCase()],g===void 0))throw new w(`Unknown adapter '${S}'`);if(g)break;J[S||"#"+A]=g}if(!g){const A=Object.entries(J).map(([_,s])=>`adapter ${_} `+(s===!1?"is not supported by the environment":"is not available in the build"));let S=h?A.length>1?`since :
|
1115
|
+
`+A.map(tt).join(`
|
1116
|
+
`):" "+tt(A[0]):"as no adapter specified";throw new w("There is no suitable adapter to dispatch the request "+S,"ERR_NOT_SUPPORT")}return g},adapters:Ne};function Re(c){if(c.cancelToken&&c.cancelToken.throwIfRequested(),c.signal&&c.signal.aborted)throw new X(null,c)}function nt(c){return Re(c),c.headers=T.from(c.headers),c.data=xe.call(c,c.transformRequest),["post","put","patch"].indexOf(c.method)!==-1&&c.headers.setContentType("application/x-www-form-urlencoded",!1),vt.getAdapter(c.adapter||te.adapter)(c).then(function(h){return Re(c),h.data=xe.call(c,c.transformResponse,h),h.headers=T.from(h.headers),h},function(h){return Tt(h)||(Re(c),h&&h.response&&(h.response.data=xe.call(c,c.transformResponse,h.response),h.response.headers=T.from(h.response.headers))),Promise.reject(h)})}const $t="1.8.4",be={};["object","boolean","number","function","string","symbol"].forEach((c,h)=>{be[c]=function(f){return typeof f===c||"a"+(h<1?"n ":" ")+c}});const st={};be.transitional=function(c,h,f){function g(J,A){return"[Axios v"+$t+"] Transitional option '"+J+"'"+A+(f?". "+f:"")}return(J,A,S)=>{if(c===!1)throw new w(g(A," has been removed"+(h?" in "+h:"")),w.ERR_DEPRECATED);return h&&!st[A]&&(st[A]=!0,console.warn(g(A," has been deprecated since v"+h+" and will be removed in the near future"))),c?c(J,A,S):!0}},be.spelling=function(c){return(h,f)=>(console.warn(`${f} is likely a misspelling of ${c}`),!0)};function Ss(c,h,f){if(typeof c!="object")throw new w("options must be an object",w.ERR_BAD_OPTION_VALUE);const g=Object.keys(c);let J=g.length;for(;J-- >0;){const A=g[J],S=h[A];if(S){const _=c[A],s=_===void 0||S(_,A,c);if(s!==!0)throw new w("option "+A+" must be "+s,w.ERR_BAD_OPTION_VALUE);continue}if(f!==!0)throw new w("Unknown option "+A,w.ERR_BAD_OPTION)}}const le={assertOptions:Ss,validators:be},F=le.validators;let z=class{constructor(c){this.defaults=c,this.interceptors={request:new Ke,response:new Ke}}async request(c,h){try{return await this._request(c,h)}catch(f){if(f instanceof Error){let g={};Error.captureStackTrace?Error.captureStackTrace(g):g=new Error;const J=g.stack?g.stack.replace(/^.+\n/,""):"";try{f.stack?J&&!String(f.stack).endsWith(J.replace(/^.+\n.+\n/,""))&&(f.stack+=`
|
1117
|
+
`+J):f.stack=J}catch{}}throw f}}_request(c,h){typeof c=="string"?(h=h||{},h.url=c):h=c||{},h=V(this.defaults,h);const{transitional:f,paramsSerializer:g,headers:J}=h;f!==void 0&&le.assertOptions(f,{silentJSONParsing:F.transitional(F.boolean),forcedJSONParsing:F.transitional(F.boolean),clarifyTimeoutError:F.transitional(F.boolean)},!1),g!=null&&(l.isFunction(g)?h.paramsSerializer={serialize:g}:le.assertOptions(g,{encode:F.function,serialize:F.function},!0)),h.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?h.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:h.allowAbsoluteUrls=!0),le.assertOptions(h,{baseUrl:F.spelling("baseURL"),withXsrfToken:F.spelling("withXSRFToken")},!0),h.method=(h.method||this.defaults.method||"get").toLowerCase();let A=J&&l.merge(J.common,J[h.method]);J&&l.forEach(["delete","get","head","post","put","patch","common"],t=>{delete J[t]}),h.headers=T.concat(A,J);const S=[];let _=!0;this.interceptors.request.forEach(function(t){typeof t.runWhen=="function"&&t.runWhen(h)===!1||(_=_&&t.synchronous,S.unshift(t.fulfilled,t.rejected))});const s=[];this.interceptors.response.forEach(function(t){s.push(t.fulfilled,t.rejected)});let u,i=0,o;if(!_){const t=[nt.bind(this),void 0];for(t.unshift.apply(t,S),t.push.apply(t,s),o=t.length,u=Promise.resolve(h);i<o;)u=u.then(t[i++],t[i++]);return u}o=S.length;let r=h;for(i=0;i<o;){const t=S[i++],e=S[i++];try{r=t(r)}catch(n){e.call(this,n);break}}try{u=nt.call(this,r)}catch(t){return Promise.reject(t)}for(i=0,o=s.length;i<o;)u=u.then(s[i++],s[i++]);return u}getUri(c){c=V(this.defaults,c);const h=Nt(c.baseURL,c.url,c.allowAbsoluteUrls);return At(h,c.params,c.paramsSerializer)}};l.forEach(["delete","get","head","options"],function(c){z.prototype[c]=function(h,f){return this.request(V(f||{},{method:c,url:h,data:(f||{}).data}))}}),l.forEach(["post","put","patch"],function(c){function h(f){return function(g,J,A){return this.request(V(A||{},{method:c,headers:f?{"Content-Type":"multipart/form-data"}:{},url:g,data:J}))}}z.prototype[c]=h(),z.prototype[c+"Form"]=h(!0)});let xs=class Oi{constructor(h){if(typeof h!="function")throw new TypeError("executor must be a function.");let f;this.promise=new Promise(function(J){f=J});const g=this;this.promise.then(J=>{if(!g._listeners)return;let A=g._listeners.length;for(;A-- >0;)g._listeners[A](J);g._listeners=null}),this.promise.then=J=>{let A;const S=new Promise(_=>{g.subscribe(_),A=_}).then(J);return S.cancel=function(){g.unsubscribe(A)},S},h(function(J,A,S){g.reason||(g.reason=new X(J,A,S),f(g.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(h){if(this.reason){h(this.reason);return}this._listeners?this._listeners.push(h):this._listeners=[h]}unsubscribe(h){if(!this._listeners)return;const f=this._listeners.indexOf(h);f!==-1&&this._listeners.splice(f,1)}toAbortSignal(){const h=new AbortController,f=g=>{h.abort(g)};return this.subscribe(f),h.signal.unsubscribe=()=>this.unsubscribe(f),h.signal}static source(){let h;return{token:new Oi(function(f){h=f}),cancel:h}}};function Rs(c){return function(h){return c.apply(null,h)}}function As(c){return l.isObject(c)&&c.isAxiosError===!0}const Pe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Pe).forEach(([c,h])=>{Pe[h]=c});function Ft(c){const h=new z(c),f=pt(z.prototype.request,h);return l.extend(f,z.prototype,h,{allOwnKeys:!0}),l.extend(f,h,null,{allOwnKeys:!0}),f.create=function(g){return Ft(V(c,g))},f}const R=Ft(te);R.Axios=z,R.CanceledError=X,R.CancelToken=xs,R.isCancel=Tt,R.VERSION=$t,R.toFormData=me,R.AxiosError=w,R.Cancel=R.CanceledError,R.all=function(c){return Promise.all(c)},R.spread=Rs,R.isAxiosError=As,R.mergeConfig=V,R.AxiosHeaders=T,R.formToJSON=c=>Ct(l.isHTMLForm(c)?new FormData(c):c),R.getAdapter=vt.getAdapter,R.HttpStatusCode=Pe,R.default=R;const{Axios:zr,AxiosError:Vr,CanceledError:Jr,isCancel:Wr,CancelToken:Kr,VERSION:Xr,all:Gr,Cancel:Zr,isAxiosError:Qr,spread:Yr,toFormData:ei,AxiosHeaders:ti,HttpStatusCode:ni,formToJSON:si,getAdapter:ri,mergeConfig:ii}=R,Ue=R.create({baseURL:location.origin,timeout:6e4,params:{}});Ue.interceptors.response.use(c=>c,c=>{var h,f,g,J,A,S,_,s,u,i,o;if(c.response){if(c.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(e){e&&OpenC3Auth.setTokens()}),c.response.config.headers["Ignore-Errors"]&&c.response.config.headers["Ignore-Errors"].includes(c.response.status.toString()))return Promise.reject(c);let r=`HTTP ${c.response.status} - `;(h=c.response)!=null&&h.statusText&&(r+=`${c.response.statusText} `),(g=(f=c.response)==null?void 0:f.config)!=null&&g.data&&(r+=`${c.response.config.data} `),(A=(J=c.response)==null?void 0:J.data)!=null&&A.message?r+=`${c.response.data.message}`:(_=(S=c.response)==null?void 0:S.data)!=null&&_.exception?r+=`${c.response.data.exception}`:(i=(u=(s=c.response)==null?void 0:s.data)==null?void 0:u.error)!=null&&i.message?(c.response.data.error.class&&(r+=`${c.response.data.error.class} `),r+=`${c.response.data.error.message}`):r+=`${(o=c.response)==null?void 0:o.data}`;const{$cosmosNotify:t}=window;throw t&&t.serious({title:"Network error",body:r}),c}else throw c});const re=async function(c,h,{data:f,params:g={},headers:J,noAuth:A=!1,noScope:S=!1,onUploadProgress:_=!1}={}){if(!A){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}J.Authorization=localStorage.openc3Token}return J.manual=!0,!S&&!g.scope&&(g.scope=window.openc3Scope),Ue({method:c,url:h,data:f,params:g,headers:J,onUploadProgress:_})},Ie={Accept:"application/json"},rt={...Ie,"Content-Type":"application/json"},oi={get:function(c,{params:h,headers:f=Ie,noScope:g,noAuth:J,onUploadProgress:A}={}){return re("get",c,{params:h,headers:f,noScope:g,noAuth:J,onUploadProgress:A})},put:function(c,{data:h,params:f,headers:g=rt,noScope:J,noAuth:A,onUploadProgress:S}={}){return re("put",c,{data:h,params:f,headers:g,noScope:J,noAuth:A,onUploadProgress:S})},post:function(c,{data:h,params:f,headers:g=rt,noScope:J,noAuth:A,onUploadProgress:S}={}){return re("post",c,{data:h,params:f,headers:g,noScope:J,noAuth:A,onUploadProgress:S})},delete:function(c,{params:h,headers:f=Ie,noScope:g,noAuth:J,onUploadProgress:A}={}){return re("delete",c,{params:h,headers:f,noScope:g,noAuth:J,onUploadProgress:A})}};let we=()=>({emit(c,...h){for(let f=this.events[c]||[],g=0,J=f.length;g<J;g++)f[g](...h)},events:{},on(c,h){var f;return((f=this.events)[c]||(f[c]=[])).push(h),()=>{var g;this.events[c]=(g=this.events[c])==null?void 0:g.filter(J=>h!==J)}}});class ne extends Error{constructor(h,f){h instanceof Error?(super(h.message),this.cause=h):super(h),this.reason=f,this.name="ReasonError"}}function Ut(c){return c?`{${Object.keys(c).sort().filter(h=>c[h]!==void 0).map(h=>{let f=JSON.stringify(c[h]);return`${JSON.stringify(h)}:${f}`}).join(",")}}`:""}class Ts{constructor(h){this.channel=h,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",h=>{if(h.type==="info"){this._state||(this._state=this.stateFromInfo(h));return}this._state&&(h.type==="join"?this._state[h.id]=h.info:h.type==="leave"&&delete this._state[h.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(h=>h()),this.listeners.length=0}async join(h,f){if(!this._info)return this._info={id:h,info:f},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let h=await this.channel.perform("$presence:leave");return delete this._info,h}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let h=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(h),this._state}finally{delete this._promise}}stateFromInfo(h){return h.records.reduce((f,{id:g,info:J})=>(f[g]=J,f),{})}}const B=Symbol("state");class Dt{constructor(h={}){this.emitter=we(),this.params=Object.freeze(h),this.presence=new Ts(this),this.initialConnect=!0,this[B]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=Ut({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[B]}attached(h){if(this.receiver){if(this.receiver!==h)throw Error("Already connected to a different receiver");return!1}return this.receiver=h,!0}connecting(){this[B]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[B]="connected";let h=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:h})):this.emit("connect",{reconnect:!0,restored:h})}restored(){if(this.state==="connected")throw Error("Already connected");this[B]="connected";let h=!0,f=!0;this.initialConnect=!1,this.emit("connect",{reconnect:f,restored:h})}disconnected(h){this.state==="disconnected"||this.state==="closed"||(this[B]="disconnected",this.presence.reset(),this.emit("disconnect",h))}closed(h){this.state!=="closed"&&(this[B]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",h))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(h,f){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,h,f)}async send(h){return this.perform(void 0,h)}async whisper(h){try{await this.perform("$whisper",h)}catch(f){let g=this.receiver?this.receiver.logger:null;g&&g.warn("whisper failed: ",f)}}receive(h,f){this.emit("message",h,f)}on(h,f){return this.emitter.on(h,f)}once(h,f){let g=this.emitter.on(h,(...J)=>{g(),f(...J)});return g}emit(h,...f){return this.emitter.emit(h,...f)}ensureSubscribed(){return this.state==="connected"?Promise.resolve():this.state==="closed"?Promise.reject(Error("Channel is unsubscribed")):this.pendingSubscribe()}pendingSubscribe(){return this._pendingSubscribe?this._pendingSubscribe:(this._pendingSubscribe=new Promise((h,f)=>{let g=[()=>delete this._pendingSubscribe];g.push(this.on("connect",()=>{g.forEach(J=>J()),h()})),g.push(this.on("close",J=>{g.forEach(A=>A()),f(J||new ne("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class qe extends Dt{constructor(h,f){super(f),this.channelId=h}set channelId(h){this._channelId=h}get channelId(){return this._channelId}}v(qe,"identifier","__ghost__");const Fs="$pubsub";class Le extends Dt{async perform(h,f){if(h.startsWith("$"))return super.perform(h,f);throw Error("not implemented")}}v(Le,"identifier",Fs);function Be(c){return rr.test(c)}const rr=/^-?[0-9]+$/;function Vt(c){return ir.test(c)}const ir=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function Jt(c,h){const f=Number.parseFloat(c),g=String(f),J=lt(c),A=lt(g);return!!(J===A||(h==null?void 0:h.approx)===!0&&!Be(c)&&A.length>=14&&J.startsWith(A.substring(0,14)))}let Q=function(c){return c.underflow="underflow",c.overflow="overflow",c.truncate_integer="truncate_integer",c.truncate_float="truncate_float",c}({});function or(c){if(Jt(c,{approx:!1}))return;if(Be(c))return Q.truncate_integer;const h=Number.parseFloat(c);return Number.isFinite(h)?h===0?Q.underflow:Q.truncate_float:Q.overflow}function lt(c){return c.replace(cr,"").replace(lr,"").replace(ur,"").replace(ar,"")}const cr=/[eE][+-]?\d+$/,ar=/^-?(0*)?/,lr=/\./,ur=/0+$/;class hr{constructor(h){if(v(this,"isLosslessNumber",!0),!Vt(h))throw new Error(`Invalid number (value: "${h}")`);this.value=h}valueOf(){const h=or(this.value);if(h===void 0||h===Q.truncate_float)return Number.parseFloat(this.value);if(Be(this.value))return BigInt(this.value);throw new Error(`Cannot safely convert to number: the value '${this.value}' would ${h} and become ${Number.parseFloat(this.value)}`)}toString(){return this.value}}function dr(c){return c&&typeof c=="object"&&c.isLosslessNumber===!0||!1}function fr(c){return new hr(c)}function pr(c,h){return Me({"":c},"",c,h)}function Me(c,h,f,g){return Array.isArray(f)?g.call(c,h,gr(f,g)):f&&typeof f=="object"&&!dr(f)?g.call(c,h,mr(f,g)):g.call(c,h,f)}function mr(c,h){for(const f of Object.keys(c)){const g=Me(c,f,c[f],h);g!==void 0?c[f]=g:delete c[f]}return c}function gr(c,h){for(let f=0;f<c.length;f++)c[f]=Me(c,String(f),c[f],h);return c}function br(c,h){let f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fr,g=0;const J=_();return e(J),a(),h?pr(J,h):J;function A(){if(c.charCodeAt(g)===xr){g++,u();const b={};let y=!0;for(;g<c.length&&c.charCodeAt(g)!==ht;){y?y=!1:(r(),u());const M=g,q=i();if(q===void 0){k();return}u(),t();const _e=_();if(_e===void 0){U();return}Object.prototype.hasOwnProperty.call(b,q)&&!ve(_e,b[q])&&x(q,M+1),b[q]=_e}return c.charCodeAt(g)!==ht&&$(),g++,b}}function S(){if(c.charCodeAt(g)===Rr){g++,u();const b=[];let y=!0;for(;g<c.length&&c.charCodeAt(g)!==dt;){y?y=!1:r();const M=_();n(M),b.push(M)}return c.charCodeAt(g)!==dt&&C(),g++,b}}function _(){u();const b=i()??o()??A()??S()??s("true",!0)??s("false",!1)??s("null",null);return u(),b}function s(b,y){if(c.slice(g,g+b.length)===b)return g+=b.length,y}function u(){for(;wr(c.charCodeAt(g));)g++}function i(){if(c.charCodeAt(g)===Ae){g++;let b="";for(;g<c.length&&c.charCodeAt(g)!==Ae;){if(c.charCodeAt(g)===Sr){const y=c[g+1],M=Er[y];M!==void 0?(b+=M,g++):y==="u"?ie(c.charCodeAt(g+2))&&ie(c.charCodeAt(g+3))&&ie(c.charCodeAt(g+4))&&ie(c.charCodeAt(g+5))?(b+=String.fromCharCode(Number.parseInt(c.slice(g+2,g+6),16)),g+=5):L(g):ye(g)}else _r(c.charCodeAt(g))?b+=c[g]:W(c[g]);g++}return m(),g++,b}}function o(){const b=g;if(c.charCodeAt(g)===ft&&(g++,p(b)),c.charCodeAt(g)===He)g++;else if(yr(c.charCodeAt(g)))for(g++;oe(c.charCodeAt(g));)g++;if(c.charCodeAt(g)===Ir)for(g++,p(b);oe(c.charCodeAt(g));)g++;if(c.charCodeAt(g)===Fr||c.charCodeAt(g)===jr)for(g++,(c.charCodeAt(g)===ft||c.charCodeAt(g)===kr)&&g++,p(b);oe(c.charCodeAt(g));)g++;if(g>b)return f(c.slice(b,g))}function r(){if(c.charCodeAt(g)!==Pr)throw new SyntaxError(`Comma ',' expected after value ${E()}`);g++}function t(){if(c.charCodeAt(g)!==Lr)throw new SyntaxError(`Colon ':' expected after property name ${E()}`);g++}function e(b){if(b===void 0)throw new SyntaxError(`JSON value expected ${E()}`)}function n(b){if(b===void 0)throw new SyntaxError(`Array item expected ${E()}`)}function a(){if(g<c.length)throw new SyntaxError(`Expected end of input ${E()}`)}function p(b){if(!oe(c.charCodeAt(g))){const y=c.slice(b,g);throw new SyntaxError(`Invalid number '${y}', expecting a digit ${E()}`)}}function m(){if(c.charCodeAt(g)!==Ae)throw new SyntaxError(`End of string '"' expected ${E()}`)}function k(){throw new SyntaxError(`Quoted object key expected ${E()}`)}function x(b,y){throw new SyntaxError(`Duplicate key '${b}' encountered at position ${y}`)}function $(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${E()}`)}function C(){throw new SyntaxError(`Array item or end of array ']' expected ${E()}`)}function W(b){throw new SyntaxError(`Invalid character '${b}' ${De()}`)}function ye(b){const y=c.slice(b,b+2);throw new SyntaxError(`Invalid escape character '${y}' ${De()}`)}function U(){throw new SyntaxError(`Object value expected after ':' ${De()}`)}function L(b){const y=c.slice(b,b+6);throw new SyntaxError(`Invalid unicode character '${y}' ${De()}`)}function De(){return`at position ${g}`}function I(){return g<c.length?`but got '${c[g]}'`:"but reached end of input"}function E(){return`${I()} ${De()}`}}function wr(c){return c===Ar||c===Or||c===Cr||c===Tr}function ie(c){return c>=He&&c<=ze||c>=vr&&c<=Ur||c>=$r&&c<=Dr}function oe(c){return c>=He&&c<=ze}function yr(c){return c>=Nr&&c<=ze}function _r(c){return c>=32&&c<=1114111}function ve(c,h){return c===h?!0:Array.isArray(c)&&Array.isArray(h)?c.length===h.length&&c.every((f,g)=>ve(f,h[g])):ut(c)&&ut(h)?[...new Set([...Object.keys(c),...Object.keys(h)])].every(f=>ve(c[f],h[f])):!1}function ut(c){return typeof c=="object"&&c!==null}const Er={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
1118
|
+
`,r:"\r",t:" "},Sr=92,xr=123,ht=125,Rr=91,dt=93,Ar=32,Or=10,Cr=9,Tr=13,Ae=34,kr=43,ft=45,He=48,Nr=49,ze=57,Pr=44,Ir=46,Lr=58,vr=65,$r=97,jr=69,Fr=101,Ur=70,Dr=102;function Wt(c,h,f,g){return J(c);function J(s,u){if(Array.isArray(g)){const i=g.find(o=>o.test(s));if(i){const o=i.stringify(s);if(typeof o!="string"||!Vt(o))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${o})`);return o}}if(typeof s=="boolean"||typeof s=="number"||typeof s=="string"||s===null||s instanceof Date||s instanceof Boolean||s instanceof Number||s instanceof String)return JSON.stringify(s);if(s!=null&&s.isLosslessNumber||typeof s=="bigint")return s.toString();if(Array.isArray(s))return A(s);if(s&&typeof s=="object")return S(s)}function A(s,u){if(s.length===0)return"[]";let i="[";for(let o=0;o<s.length;o++){const r=s[o];typeof r<"u"&&typeof r!="function"?i+=J(r):i+="null",o<s.length-1&&(i+=",")}return i+="]",i}function S(s,u){if(typeof s.toJSON=="function")return Wt(s.toJSON(),h,f,void 0);const i=Array.isArray(h)?h.map(String):Object.keys(s);if(i.length===0)return"{}";let o=!0,r="{";for(const t of i){const e=s[t];if(_(t,e)){o?o=!1:r+=",";const n=JSON.stringify(t);r+=`${n}:`,r+=J(e)}}return r+="}",r}function _(s,u){return typeof u<"u"&&typeof u!="function"&&typeof u!="symbol"}}function qr(c){return Jt(c)?parseFloat(c):BigInt(c)}class hi{constructor(){v(this,"id",1)}async exec(h,f,g={},J={},A=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return g.scope=window.openc3Scope,J.manual=!0,(await Ue.post("/openc3-api/api",{jsonrpc:"2.0",method:h,params:f,id:this.id,keyword_params:g},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...J},timeout:A,transformRequest:[(S,_)=>Wt(S)],transformResponse:[S=>br(S,void 0,qr)]})).data.result}catch(S){let _=new Error;throw S.response?(_.name=S.response.data.error.data.class,_.message=S.response.data.error.data.message,_.object=S.response.data.error):S.request?(_.name="Request error",_.message="Request error, no response received"):_.name="Unknown error",_}}decode_openc3_type(h){if(h!==null&&typeof h=="object"&&h.json_class=="Float"&&h.raw){if(h.raw=="NaN")return NaN;if(h.raw=="Infinity")return 1/0;if(h.raw=="-Infinity")return-1/0}return null}encode_openc3_type(h){return Number.isNaN(h)?{json_class:"Float",raw:"NaN"}:h==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:h==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(h=>{h&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(h){return this.exec("set_offline_access",[h])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(h,f){return this.exec("map_target_to_interface",[h,f])}connect_interface(h,...f){return f.length>0?this.exec("connect_interface",[h,...f]):this.exec("connect_interface",[h])}disconnect_interface(h){return this.exec("disconnect_interface",[h])}interface_cmd(h,f,...g){return this.exec("interface_cmd",[h,f,...g])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(h){return this.exec("connect_router",[h])}disconnect_router(h){return this.exec("disconnect_router",[h])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(h){return this.exec("get_tlm_cnts",[h])}get_item(h,f,g){return this.exec("get_item",[h,f,g])}get_param(h,f,g){return this.exec("get_param",[h,f,g])}get_parameter(h,f,g){return this.exec("get_param",[h,f,g])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(h){return this.exec("set_limits_set",[h])}get_target(h){return this.exec("get_target",[h])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(h,f){return this.exec("get_tlm",[h,f])}get_telemetry(h,f){return this.exec("get_tlm",[h,f])}get_all_tlm(h){return this.exec("get_all_tlm",[h])}get_all_telemetry(h){return this.exec("get_all_tlm",[h])}get_all_tlm_names(h,f=!1){return this.exec("get_all_tlm_names",[h],{hidden:f})}get_all_telemetry_names(h){return this.exec("get_all_tlm_names",[h])}get_all_tlm_item_names(h){return this.exec("get_all_tlm_item_names",[h])}async get_tlm_packet(h,f,g,J=30){const A=await this.exec("get_tlm_packet",[h,f],{type:g,stale_time:J});if(A!=null){let S=A.length,_=null;for(let s=0;s<S;s++)_=this.decode_openc3_type(A[s][1]),_!==null&&(A[s][1]=_)}return A}get_packet_derived_items(h,f){return this.exec("get_packet_derived_items",[h,f])}get_tlm_buffer(h,f){return this.exec("get_tlm_buffer",[h,f])}async get_tlm_values(h,f=30,g=null){let J={stale_time:f};g!==null&&(J.cache_timeout=g);const A=await this.exec("get_tlm_values",[h],J,{},1e4);let S=A[0].length,_=null;for(let s=0;s<S;s++)_=this.decode_openc3_type(A[0][s]),_!==null&&(A[0][s]=_);return A}get_limits(h,f,g){return this.exec("get_limits",[h,f,g])}async tlm(h,f,g,J="CONVERTED"){let A=null;if(f===void 0)A=await this.exec("tlm",[h]);else if(g===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(f))A=await this.exec("tlm",[h],{type:f});else{let _=new Error;throw _.name="TypeError",_.message=`Invalid data type ${f}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,_}else A=await this.exec("tlm",[h,f,g],{type:J});let S=this.decode_openc3_type(A);return S!==null&&(A=S),A}async inject_tlm(h,f,g=null,J="CONVERTED"){await this.exec("inject_tlm",[h,f,g],{type:J})}set_tlm(h,f,g,J){return this.exec("set_tlm",[h,f,g],{type:J})}override_tlm(h,f,g,J){return this.exec("override_tlm",[h,f,g],{type:J})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(h,f,g,J){return this.exec("normalize_tlm",[h,f,g],{type:J})}get_all_cmds(h){return this.exec("get_all_cmds",[h])}get_all_commands(h){return this.exec("get_all_cmds",[h])}get_all_cmd_names(h,f=!1){return this.exec("get_all_cmd_names",[h],{hidden:f})}get_all_command_names(h){return this.exec("get_all_cmd_names",[h])}get_cmd(h,f){return this.exec("get_cmd",[h,f])}get_command(h,f){return this.exec("get_cmd",[h,f])}get_cmd_cnts(h){return this.exec("get_cmd_cnts",[h])}get_cmd_value(h,f,g,J="CONVERTED"){return this.exec("get_cmd_value",[h,f,g,J])}get_cmd_buffer(h,f){return this.exec("get_cmd_buffer",[h,f])}_cmd(h,f,g,J,A){let S=null;for(let _ in J)Object.prototype.hasOwnProperty.call(J,_)&&(S=this.encode_openc3_type(J[_]),S!==null&&(J[_]=S));return this.exec(h,[f,g,J],{},A)}get_cmd_hazardous(h,f,g,J={}){return f===void 0?this.exec("get_cmd_hazardous",h,{},J):this._cmd("get_cmd_hazardous",h,f,g,J)}cmd(h,f,g,J={}){return f===void 0?this.exec("cmd",h,{},J):this._cmd("cmd",h,f,g,J)}cmd_no_range_check(h,f,g,J={}){return f===void 0?this.exec("cmd_no_range_check",h,{},J):this._cmd("cmd_no_range_check",h,f,g,J)}cmd_raw(h,f,g,J={}){return f===void 0?this.exec("cmd_raw",h,{},J):this._cmd("cmd_raw",h,f,g,J)}cmd_raw_no_range_check(h,f,g,J={}){return f===void 0?this.exec("cmd_raw_no_range_check",h,{},J):this._cmd("cmd_raw_no_range_check",h,f,g,J)}cmd_no_hazardous_check(h,f,g,J={}){return f===void 0?this.exec("cmd_no_hazardous_check",h,{},J):this._cmd("cmd_no_hazardous_check",h,f,g,J)}cmd_no_checks(h,f,g,J={}){return f===void 0?this.exec("cmd_no_checks",h,{},J):this._cmd("cmd_no_checks",h,f,g,J)}cmd_raw_no_hazardous_check(h,f,g,J={}){return f===void 0?this.exec("cmd_raw_no_hazardous_check",h,{},J):this._cmd("cmd_raw_no_hazardous_check",h,f,g,J)}cmd_raw_no_checks(h,f,g,J={}){return f===void 0?this.exec("cmd_raw_no_checks",h,{},J):this._cmd("cmd_raw_no_checks",h,f,g,J)}build_cmd(h,f,g){return f===void 0?this.exec("build_cmd",h):this._cmd("build_cmd",h,f,g)}build_command(h,f,g){return f===void 0?this.exec("build_cmd",h):this._cmd("build_cmd",h,f,g)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(h,f){return this.exec("send_raw",[h,f])}list_configs(h){return this.exec("list_configs",[h])}load_config(h,f){return this.exec("load_config",[h,f])}save_config(h,f,g){return this.exec("save_config",[h,f,g])}delete_config(h,f){return this.exec("delete_config",[h,f])}enable_limits(h,f,g){return this.exec("enable_limits",[h,f,g])}disable_limits(h,f,g){return this.exec("disable_limits",[h,f,g])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(h){return this.exec("get_overall_limits_state",[h])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(h){return this.exec("get_setting",[h])}get_settings(h){return this.exec("get_settings",h)}set_setting(h,f){return this.exec("set_setting",[h,f])}update_news(){return this.exec("update_news",[])}save_setting(h,f){return this.exec("set_setting",[h,f])}get_metrics(){return this.exec("get_metrics",[])}async hashString(h){if(window.isSecureContext){const f=new TextEncoder().encode(h),g=await crypto.subtle.digest("SHA-256",f),J=new Uint8Array(g);return Array.from(J).map(A=>A.toString(16).padStart(2,"0")).join("")}}}const Utilities={methods:{isFloat(c){return!!(/^\s*[-+]?\d*\.\d+\s*$/.test(c)||/^\s*[-+]?(\d+((\.\d+)?)|(\.\d+))[eE][-+]?\d+\s*$/.test(c))},isInt(c){return!!(/^\s*[-+]?\d+\s*$/.test(c)||/^\s*0[xX][\dabcdefABCDEF]+\s*$/.test(c))},isArray(c){return!!/^\s*\[.*\]\s*$/.test(c)},removeQuotes(c){if(c.length<2)return c;let h=c.charAt(0);if(h!=='"'&&h!=="'")return c;let f=c.charAt(c.length-1);return h!==f?c:c.slice(1,-1)},convertToString(c){let h=0,f="";if(Object.prototype.toString.call(c).slice(8,-1)==="Array"){let g=c.length;for(f="[ ",h=0;h<g;h++)Object.prototype.toString.call(c[h]).slice(8,-1)==="String"?f+='"'+c[h]+'"':f+=c[h],h!==g-1&&(f+=", ");f+=" ]"}else if(Object.prototype.toString.call(c).slice(8,-1)==="Object")if(c.json_class==="String"&&c.raw)for(f="0x",h=0;h<c.raw.length;h++){let g=c.raw[h].toString(16).toUpperCase();g.length<2&&(g="0"+g),f+=g}else c.json_class==="Float"&&c.raw&&(f=c.raw);else f=String(c);return f}}},_sfc_main$1={mixins:[Utilities],props:{modelValue:{type:[String,Number],default:void 0},states:{type:Object,default:()=>null},statesInHex:{type:Boolean,default:!1}},computed:{textFieldValue(){return this.convertToString(this.modelValue)},stateValue(){return this.statesInHex?"0x"+this.modelValue.toString(16):this.modelValue},selectValue(){return this.modelValue===""?null:this.modelValue},stateOptions(){return this.states?Object.keys(this.states).map(c=>({label:c,...this.states[c]})):null},hazardous(){var c,h;return((h=(c=Object.entries(this.states).find(([f,g])=>g.value===this.modelValue))==null?void 0:c.at(1))==null?void 0:h.hazardous)!==void 0},stateClass(){return this.hazardous?"hazardous mr-4":"mr-4"}},methods:{handleChange(c){this.$emit("update:modelValue",c)}}},_hoisted_1$1={key:1,class:"d-flex align-center"};function _sfc_render$1(c,h,f,g,J,A){const S=resolveComponent("v-text-field"),_=resolveComponent("v-select");return openBlock(),createElementBlock("div",null,[f.states?(openBlock(),createElementBlock("div",_hoisted_1$1,[createVNode(_,{items:A.stateOptions,"model-value":A.selectValue,"onUpdate:modelValue":A.handleChange,"item-title":"label",class:normalizeClass(A.stateClass),"hide-details":"",density:"compact",variant:"outlined",placeholder:"Select...","min-width":"120px","data-test":"cmd-param-select"},null,8,["items","model-value","onUpdate:modelValue","class"]),createVNode(S,{"model-value":A.stateValue,disabled:"","hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value"},null,8,["model-value"])])):(openBlock(),createBlock(S,{key:0,"model-value":A.textFieldValue,"onUpdate:modelValue":A.handleChange,"hide-details":"",density:"compact",variant:"filled","data-test":"cmd-param-value"},null,8,["model-value","onUpdate:modelValue"]))])}const CommandParameterEditor=_export_sfc(_sfc_main$1,[["render",_sfc_render$1],["__scopeId","data-v-b19a55d5"]]),_sfc_main={mixins:[Utilities],components:{DetailsDialog:P,CriticalCmdDialog:N$1,TargetPacketItemChooser:ke$2,CommandParameterEditor,TopBar:Z$1,Openc3Screen:Oe$1},data(){return{title:"Command Sender",search:"",headers:[{title:"Name",value:"parameter_name"},{title:"Value or State",value:"val"},{title:"Units",value:"units"},{title:"Range",value:"range"},{title:"Description",value:"description"}],editor:null,targetName:"",commandName:"",commandDescription:"",paramList:"",lastTargetName:"",lastCommandName:"",lastParamList:"",ignoreRangeChecks:!1,statesInHex:!1,showIgnoredParams:!1,cmdRaw:!1,ignoredParams:[],rows:[],interfaces:[],selectedInterface:"",rawCmdFile:null,status:"",history:"",hazardousCommand:"",displaySendHazardous:!1,displayErrorDialog:!1,displaySendRaw:!1,displayCriticalCmd:!1,criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,sendDisabled:!1,api:null,viewDetails:!1,contextMenuShown:!1,parameterName:"",reservedItemNames:[],x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}}],keywords:[],screenTarget:null,screenName:null,screenDefinition:null,screenCount:0}},computed:{menus:function(){return[{label:"Mode",items:[{label:"Ignore Range Checks",checkbox:!0,checked:this.ignoreRangeChecks,command:()=>{this.ignoreRangeChecks=!this.ignoreRangeChecks}},{label:"Display State Values in Hex",checkbox:!0,checked:this.statesInHex,command:()=>{this.statesInHex=!this.statesInHex}},{label:"Show Ignored Parameters",checkbox:!0,checked:this.showIgnoredParams,command:()=>{this.showIgnoredParams=!this.showIgnoredParams,this.updateCmdParams()}},{label:"Disable Parameter Conversions",checkbox:!0,checked:this.cmdRaw,command:()=>{this.cmdRaw=!this.cmdRaw.checked}}]}]}},created(){oi.get("/openc3-api/autocomplete/reserved-item-names").then(c=>{this.reservedItemNames=c.data}),this.api=new hi,this.$route.params.target&&this.$route.params.packet&&this.commandChanged({targetName:this.$route.params.target.toUpperCase(),packetName:this.$route.params.packet.toUpperCase()}),oi.get("/openc3-api/autocomplete/keywords/screen").then(c=>{this.keywords=c.data})},mounted(){this.editor=aceExports.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight"),this.editor.session.setMode("ace/mode/ruby"),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.setHighlightActiveLine(!1),this.editor.setValue(localStorage.command_sender__history),this.history=this.editor.getValue().trim(),this.editor.clearSelection(),this.editor.focus(),this.editor.setAutoScrollEditorIntoView(!0),this.editor.setOption("maxLines",30),this.editor.setOption("minLines",1),this.editor.container.addEventListener("keydown",c=>{if(c.key==="Enter"){c.preventDefault();let h=this.editor.session.getLine(this.editor.getCursorPosition().row);if(h==="")return;let f=h.indexOf('"'),g=h.lastIndexOf('"');h=h.substr(f+1,g-f-1),this.sendCmd(h)}})},beforeUnmount(){this.editor.destroy(),this.editor.container.remove()},methods:{showContextMenu(c,h){c.preventDefault(),this.parameterName=h.item.parameter_name,this.contextMenuShown=!1,this.x=c.clientX,this.y=c.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})},convertToValue(param){if(param.val!==void 0&¶m.states&&!this.cmdRaw)return Object.keys(param.states).find(c=>param.states[c].value===param.val);if(typeof param.val!="string")return param.val;let str=param.val,quotesRemoved=this.removeQuotes(str);if(str===quotesRemoved){let upcaseStr=str.toUpperCase();if((param.type==="STRING"||param.type==="BLOCK")&&upcaseStr.startsWith("0X")){let c=upcaseStr.slice(2);c.length%2!==0&&(c="0"+c);let h={json_class:"String",raw:[]};for(let f=0;f<c.length;f+=2){let g=c.charAt(f)+c.charAt(f+1);h.raw.push(parseInt(g,16))}return h}else return upcaseStr==="INFINITY"?1/0:upcaseStr==="-INFINITY"?-1/0:upcaseStr==="NAN"?NaN:this.isFloat(str)?parseFloat(str):this.isInt(str)?Number.isSafeInteger(Number(str))?parseInt(str):BigInt(str):this.isArray(str)?eval(str):str}else return quotesRemoved},commandChanged(c){(this.targetName!==c.targetName||this.commandName!==c.packetName)&&(this.targetName=c.targetName,this.commandName=c.packetName,this.sendDisabled===!1&&this.updateCmdParams(),this.$router.replace({name:"CommandSender",params:{target:this.targetName,packet:this.commandName}}).catch(h=>{}))},updateCmdParams(){this.sendDisabled=!0,this.ignoredParams=[],this.rows=[],this.api.get_target(this.targetName).then(c=>(this.ignoredParams=c.ignored_parameters,this.api.get_cmd(this.targetName,this.commandName)),c=>{this.displayError("getting ignored parameters",c),this.sendDisabled=!1}).then(c=>{if(c.items.forEach(h=>{if(!this.reservedItemNames.includes(h.name)&&(!this.ignoredParams.includes(h.name)||this.showIgnoredParams)){let f=h.default;!h.states&&h.data_type==="STRING"&&typeof h.default=="string"&&(f=`'${f}'`),h.required&&(f=""),h.format_string&&(f=sprintf(h.format_string,h.default));let g="N/A";h.minimum!=null&&h.maximum!=null&&(h.data_type==="FLOAT"&&(h.minimum<-1e6&&Number.isSafeInteger(h.minimum)&&(h.minimum=h.minimum.toExponential(3)),h.maximum>1e6&&Number.isSafeInteger(h.maximum)&&(h.maximum=h.maximum.toExponential(3))),g=`${h.minimum}..${h.maximum}`),this.rows.push({parameter_name:h.name,val:f,states:h.states,description:h.description,range:g,units:h.units,type:h.data_type})}}),c.screen)this.loadScreen(c.screen[0],c.screen[1]).then(h=>{this.screenTarget=c.screen[0],this.screenName=c.screen[1],this.screenDefinition=h.data,this.screenCount+=1});else{if(c.related_items){this.screenTarget="LOCAL",this.screenName="CMDSENDER";let h=`SCREEN AUTO AUTO 1.0
|
1119
|
+
`;for(const f of c.related_items)h+=`LABELVALUE '${f[0]}' '${f[1]}' '${f[2]}' WITH_UNITS 20
|
1120
|
+
`;this.screenDefinition=h}else this.screenTarget=null,this.screenName=null,this.screenDefinition=null;this.screenCount+=1}this.commandDescription=c.description,this.sendDisabled=!1,this.status=""},c=>{this.displayError("getting command parameters",c),this.sendDisabled=!1})},createParamList(){let c={};for(const h of this.rows)c[h.parameter_name]=this.convertToValue(h);return c},buildCmd(){this.sendCmd(this.targetName,this.commandName,this.createParamList())},sendCmd(c,h,f){this.lastTargetName=c,this.lastCommandName=h,this.lastParamList=f,this.sendDisabled=!0;let g=!1,J="";this.api.get_cmd_hazardous(c,h,f).then(A=>{if(g=A,g)h===void 0?this.hazardousCommand=c.split(" ").slice(0,2).join(" "):this.hazardousCommand=`${c} ${h}`,this.displaySendHazardous=!0;else{let S;this.cmdRaw?this.ignoreRangeChecks?(J="cmd_raw_no_range_check",S=this.api.cmd_raw_no_range_check(c,h,f,{"Ignore-Errors":"428"})):(J="cmd_raw",S=this.api.cmd_raw(c,h,f,{"Ignore-Errors":"428 500"})):this.ignoreRangeChecks?(J="cmd_no_range_check",S=this.api.cmd_no_range_check(c,h,f,{"Ignore-Errors":"428"})):(J="cmd",S=this.api.cmd(c,h,f,{"Ignore-Errors":"428 500"})),S.then(_=>{this.processCmdResponse(!0,c,h,J,_)},_=>{this.processCmdResponse(!1,c,h,J,_)})}},A=>{this.processCmdResponse(!1,c,h,J,A)})},sendHazardousCmd(){this.displaySendHazardous=!1;let c="",h="";this.cmdRaw?this.ignoreRangeChecks?(h="cmd_raw_no_range_check",c=this.api.cmd_raw_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"})):(h="cmd_raw",c=this.api.cmd_raw_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"})):this.ignoreRangeChecks?(h="cmd_no_range_check",c=this.api.cmd_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"})):(h="cmd",c=this.api.cmd_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"})),c.then(f=>{this.processCmdResponse(!0,this.lastTargetName,this.lastCommandName,h,f)},f=>{this.processCmdResponse(!1,this.lastTargetName,this.lastCommandName,h,f)})},cancelHazardousCmd(){this.displaySendHazardous=!1,this.status="Hazardous command not sent",this.sendDisabled=!1},processCmdResponse(c,h,f,g,J){f===void 0&&([h,f]=h.split(" ").slice(0,2));let A="";if(c){A=`${g}("${J[0]} ${J[1]}`;let S=Object.keys(J[2]);if(S.length>0){A+=" with ";for(let _=0;_<S.length;_++){let s=S[_],u=this.convertToString(J[2][s]);typeof J[2][s]=="string"&&u.charAt(0)!=="'"&&u.charAt(0)!=='"'&&(u=`'${u}'`),A+=s+" "+u,_<S.length-1&&(A+=", ")}}if(A+='")',!this.history.includes(A)){let _=A;this.history.length!==0&&(_+=`
|
1121
|
+
${this.history}`),this.editor.setValue(_),this.editor.moveCursorTo(0,0)}if(A+=" sent.",this.status.includes(A)){let _=this.status.split("sent.");if(_[1].includes("(")){let s=parseInt(_[1].substr(2,_[1].indexOf(")")-2));A=_[0]+"sent. ("+(s+1)+")"}else A+=" (2)"}this.status=A}else{let S="sending "+h+" "+f;this.displayError(S,J,!0)}this.history=this.editor.getValue(),localStorage.command_sender__history=this.editor.getValue(),this.sendDisabled=!1},clearHistory(){this.editor.setValue(""),this.history="",localStorage.removeItem("command_sender__history")},displayError(c,h,f=!1){this.status=`Error ${c} due to ${h.name}`,h.message&&h.message!==""&&(this.status+=": ",this.status+=h.message),this.status.includes("CriticalCmdError")&&(this.status="Critical Command Queued For Approval"),f&&(h.message.includes("CriticalCmdError")?(this.criticalCmdUuid=h.object.data.instance_variables["@uuid"],this.criticalCmdString=h.object.data.instance_variables["@cmd_string"],this.criticalCmdUser=h.object.data.instance_variables["@username"],this.displayCriticalCmd=!0):this.displayErrorDialog=!0)},loadScreen(c,h){return oi.get("/openc3-api/screen/"+c+"/"+h,{headers:{Accept:"text/plain"}})}}},_hoisted_1={style:{padding:"10px"}},_hoisted_2={class:"pa-3"},_hoisted_3={ref:"editor",class:"editor","data-test":"sender-history"},_hoisted_4={class:"mx-1"},_hoisted_5=["textContent"],_hoisted_6={class:"openc3-yellow"},_hoisted_7={class:"mx-1"};function _sfc_render(c,h,f,g,J,A){const S=resolveComponent("top-bar"),_=resolveComponent("target-packet-item-chooser"),s=resolveComponent("v-spacer"),u=resolveComponent("v-text-field"),i=resolveComponent("v-card-title"),o=resolveComponent("command-parameter-editor"),r=resolveComponent("v-data-table"),t=resolveComponent("v-card"),e=resolveComponent("v-col"),n=resolveComponent("v-btn"),a=resolveComponent("v-tooltip"),p=resolveComponent("v-row"),m=resolveComponent("v-card-subtitle"),k=resolveComponent("openc3-screen"),x=resolveComponent("v-list-item-title"),$=resolveComponent("v-list-item"),C=resolveComponent("v-list"),W=resolveComponent("v-menu"),ye=resolveComponent("details-dialog"),U=resolveComponent("critical-cmd-dialog"),L=resolveComponent("v-toolbar"),De=resolveComponent("v-card-text"),I=resolveComponent("v-dialog"),E=resolveComponent("v-card-actions"),b=resolveComponent("v-select");return openBlock(),createElementBlock("div",null,[createVNode(S,{menus:A.menus,title:J.title},null,8,["menus","title"]),createVNode(t,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_1,[createVNode(_,{"initial-target-name":this.$route.params.target,"initial-packet-name":this.$route.params.packet,onOnSet:h[0]||(h[0]=y=>A.commandChanged(y)),onAddItem:h[1]||(h[1]=y=>A.buildCmd(y)),disabled:J.sendDisabled,"button-text":"Send",mode:"cmd"},null,8,["initial-target-name","initial-packet-name","disabled"])]),J.rows.length!==0?(openBlock(),createBlock(t,{key:0},{default:withCtx(()=>[createVNode(i,{class:"d-flex align-center justify-content-space-between"},{default:withCtx(()=>[h[12]||(h[12]=createTextVNode(" Parameters ")),createVNode(s),createVNode(u,{modelValue:J.search,"onUpdate:modelValue":h[2]||(h[2]=y=>J.search=y),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),createVNode(r,{headers:J.headers,items:J.rows,search:J.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact","onContextmenu:row":A.showContextMenu},{"item.val":withCtx(({item:y})=>[createVNode(o,{modelValue:y.val,"onUpdate:modelValue":M=>y.val=M,states:y.states,"states-in-hex":J.statesInHex},null,8,["modelValue","onUpdate:modelValue","states","states-in-hex"])]),_:1},8,["headers","items","search","onContextmenu:row"])]),_:1})):createCommentVNode("",!0),createElementVNode("div",_hoisted_2,"Status: "+toDisplayString(J.status),1)]),_:1}),h[26]||(h[26]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(p,{"no-gutters":""},{default:withCtx(()=>[createVNode(e,{class:"pr-4"},{default:withCtx(()=>[createVNode(t,{class:"pb-2"},{default:withCtx(()=>[createVNode(m,null,{default:withCtx(()=>[createVNode(p,null,{default:withCtx(()=>[createVNode(e,{class:"pt-6"},{default:withCtx(()=>h[13]||(h[13]=[createTextVNode(" Editable Command History: (Pressing Enter on the line re-executes the command) ")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createVNode(a,{location:"top"},{activator:withCtx(({props:y})=>[createElementVNode("div",mergeProps(y,{class:"float-right"}),[createVNode(n,{icon:"mdi-delete",variant:"text","data-test":"clear-history",onClick:A.clearHistory},null,8,["onClick"])],16)]),default:withCtx(()=>[h[14]||(h[14]=createElementVNode("span",null," Clear History ",-1))]),_:1})]),_:1})]),_:1})]),_:1}),createVNode(p,{"no-gutters":"",class:"mt-2 mb-2"},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>[createElementVNode("pre",_hoisted_3,null,512)]),_:1})]),_:1})]),_:1})]),_:1}),J.screenDefinition?(openBlock(),createBlock(e,{key:0,md:"auto"},{default:withCtx(()=>[createVNode(k,{target:J.screenTarget,screen:J.screenName,definition:J.screenDefinition,keywords:J.keywords,count:J.screenCount,showClose:!1},null,8,["target","screen","definition","keywords","count"])]),_:1})):createCommentVNode("",!0)]),_:1}),h[27]||(h[27]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(W,{modelValue:J.contextMenuShown,"onUpdate:modelValue":h[3]||(h[3]=y=>J.contextMenuShown=y),target:[J.x,J.y]},{default:withCtx(()=>[createVNode(C,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(J.contextMenuOptions,(y,M)=>(openBlock(),createBlock($,{key:M,onClick:withModifiers(y.action,["stop"])},{default:withCtx(()=>[createVNode(x,null,{default:withCtx(()=>[createTextVNode(toDisplayString(y.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),createVNode(ye,{"target-name":J.targetName,"packet-name":J.commandName,"item-name":J.parameterName,type:"cmd",modelValue:J.viewDetails,"onUpdate:modelValue":h[4]||(h[4]=y=>J.viewDetails=y)},null,8,["target-name","packet-name","item-name","modelValue"]),createVNode(U,{uuid:J.criticalCmdUuid,cmdString:J.criticalCmdString,cmdUser:J.criticalCmdUser,modelValue:J.displayCriticalCmd,"onUpdate:modelValue":h[5]||(h[5]=y=>J.displayCriticalCmd=y)},null,8,["uuid","cmdString","cmdUser","modelValue"]),createVNode(I,{modelValue:J.displayErrorDialog,"onUpdate:modelValue":h[7]||(h[7]=y=>J.displayErrorDialog=y),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(L,{height:"24"},{default:withCtx(()=>[createVNode(s),h[15]||(h[15]=createElementVNode("span",null," Error ",-1)),createVNode(s)]),_:1}),createVNode(De,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_4,[createVNode(p,{class:"my-2"},{default:withCtx(()=>[createVNode(De,null,{default:withCtx(()=>[createElementVNode("span",{textContent:toDisplayString(J.status)},null,8,_hoisted_5)]),_:1})]),_:1}),createVNode(p,null,{default:withCtx(()=>[createVNode(s),createVNode(n,{onClick:h[6]||(h[6]=y=>J.displayErrorDialog=!1),color:"primary","data-test":"error-dialog-ok"},{default:withCtx(()=>h[16]||(h[16]=[createTextVNode(" Ok ")])),_:1})]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(I,{modelValue:J.displaySendHazardous,"onUpdate:modelValue":h[8]||(h[8]=y=>J.displaySendHazardous=y),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(L,{height:"24"},{default:withCtx(()=>[createVNode(s),h[17]||(h[17]=createElementVNode("span",null," Hazardous Warning ",-1)),createVNode(s)]),_:1}),createVNode(De,{class:"mt-6"},{default:withCtx(()=>[createTextVNode(" Warning: Command "+toDisplayString(J.hazardousCommand)+" is Hazardous. Send? ",1),h[18]||(h[18]=createElementVNode("br",null,null,-1)),createElementVNode("span",_hoisted_6," Description: "+toDisplayString(J.commandDescription),1)]),_:1}),createVNode(E,{class:"px-2"},{default:withCtx(()=>[createVNode(s),createVNode(n,{onClick:A.cancelHazardousCmd,variant:"outlined"},{default:withCtx(()=>h[19]||(h[19]=[createTextVNode(" Cancel ")])),_:1},8,["onClick"]),createVNode(n,{onClick:A.sendHazardousCmd,variant:"flat"},{default:withCtx(()=>h[20]||(h[20]=[createTextVNode(" Send ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(I,{modelValue:J.displaySendRaw,"onUpdate:modelValue":h[11]||(h[11]=y=>J.displaySendRaw=y),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(L,{height:"24"},{default:withCtx(()=>[createVNode(s),h[21]||(h[21]=createElementVNode("span",null," Send Raw ",-1)),createVNode(s)]),_:1}),createVNode(De,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_7,[createVNode(p,{class:"my-2"},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>h[22]||(h[22]=[createTextVNode("Interface:")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createVNode(b,{variant:"solo","hide-details":"",density:"compact",items:J.interfaces,"item-title":"label","item-value":"value",modelValue:J.selectedInterface,"onUpdate:modelValue":h[9]||(h[9]=y=>J.selectedInterface=y)},null,8,["items","modelValue"])]),_:1})]),_:1}),createVNode(p,{"no-gutters":""},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>h[23]||(h[23]=[createTextVNode("Filename:")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createElementVNode("input",{type:"file",onChange:h[10]||(h[10]=y=>c.selectRawCmdFile(y))},null,32)]),_:1})]),_:1}),createVNode(p,null,{default:withCtx(()=>[createVNode(s),createVNode(n,{onClick:c.cancelRawCmd,variant:"outlined","data-test":"raw-cancel"},{default:withCtx(()=>h[24]||(h[24]=[createTextVNode(" Cancel ")])),_:1},8,["onClick"]),createVNode(n,{onClick:c.sendRawCmd,class:"bg-primary","data-test":"raw-ok"},{default:withCtx(()=>h[25]||(h[25]=[createTextVNode(" Ok ")])),_:1},8,["onClick"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const CommandSender=exports("default",_export_sfc(_sfc_main,[["render",_sfc_render],["__scopeId","data-v-b7ab1f82"]]))}}});
|