openc3-cosmos-tool-cmdsender 6.7.0 → 6.8.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-j3ncPuPx-f939b74328291df8a5de.js +2 -0
- data/tools/cmdsender/ArrayplotWidget-DuLaiGa9-4e423aca38f960d26373.js +1 -0
- data/tools/cmdsender/BarColumn-BWJ0Dd4O-4c5640abb9625004d209.js +1 -0
- data/tools/cmdsender/BlockWidget-Bf5Dd6Cr-ef35d651764a1f1ded69.js +2 -0
- data/tools/cmdsender/ButtonWidget-bl_mGFYh-bd3a80c50b3d01aaaff5.js +2 -0
- data/tools/cmdsender/CanvasWidget-boDemgx1-c68ac68b01e5a84f0579.js +1 -0
- data/tools/cmdsender/CanvasdotWidget-BZBbJcER-f8666166dd26f9b4d0c2.js +1 -0
- data/tools/cmdsender/CanvasimageWidget-6ywvT5jd-b960807789b9dcbcc50d.js +1 -0
- data/tools/cmdsender/CanvasimagevalueWidget-DjWrA3gX-4074ee5ef0a41f17fddd.js +1 -0
- data/tools/cmdsender/CanvaslabelWidget-Bq4V2BQh-78092fbf686162916c1c.js +1 -0
- data/tools/cmdsender/CanvaslabelvalueWidget-C8oNcFLi-828de5416d4d6f2f1b68.js +1 -0
- data/tools/cmdsender/CanvaslineWidget-nvbL2GoL-c71cc643a6024963a623.js +1 -0
- data/tools/cmdsender/CanvaslinevalueWidget-ZACQedKx-6223a4707f27190d998d.js +1 -0
- data/tools/cmdsender/CheckbuttonWidget-B82UE8AB-8935020f16d81e86bd39.js +1 -0
- data/tools/cmdsender/ComboboxWidget-4OFiSkI6-f0b1e8f3e0b734cb6ad2.js +1 -0
- data/tools/cmdsender/CommandSender-c37075627710fdc475ce.js +1127 -0
- data/tools/cmdsender/CriticalCmdDialog-FhXDdBn4-5e2871bb9b2ad6ada180.js +1 -0
- data/tools/cmdsender/DateWidget-BmwtdirF-c478451d8a9912180a30.js +1 -0
- data/tools/cmdsender/DynamicWidget-CfMtj7H8-3b839f85b196e9521a5d.js +1 -0
- data/tools/cmdsender/FormatvalueWidget-C8exC3bj-6fc3fa6fb5d3bdeed5f4.js +1 -0
- data/tools/cmdsender/GraphWidget-CvzxZYVx-c753dae2d338f42d662c.js +1 -0
- data/tools/cmdsender/HorizontalWidget-Ck151zVw-5a9b2cfd6856a7e967b5.js +1 -0
- data/tools/cmdsender/HorizontalboxWidget-D3P-cl9V-a538d5bea21494d86a8c.js +1 -0
- data/tools/cmdsender/HorizontallineWidget-BE1TjPU8-60179ab7246a142d636c.js +1 -0
- data/tools/cmdsender/IframeWidget-BgJCgues-8d275c3925dcaef036ce.js +1 -0
- data/tools/cmdsender/ImageLoader-CWn-PLOk-4303aade4f81fd3dfaff.js +1 -0
- data/tools/cmdsender/ImageviewerWidget-BlhFZD2f-2f0d71645905d2247b85.js +1 -0
- data/tools/cmdsender/LabelWidget-Cwosk4x2-e46f4721f9bfa9b4c642.js +1 -0
- data/tools/cmdsender/LabelledWidget-Dl6rAFTQ-326ebac7e9b44c786d55.js +1 -0
- data/tools/cmdsender/LabelprogressbarWidget-MuAKesOz-153e98b717f1bb0940e1.js +1 -0
- data/tools/cmdsender/LabelsparklineWidget-6LA6Ox3d-126f70696b7ab46a0ca2.js +1 -0
- data/tools/cmdsender/LabelvalueWidget-BxAXx-Tf-d87d776b4ee0a755f336.js +1 -0
- data/tools/cmdsender/LabelvaluedescWidget-Dwwlnd1g-f01d9e2309195df7c3d0.js +1 -0
- data/tools/cmdsender/LabelvaluelimitsbarWidget-Dv8Qk8kK-5fd8eb8da41cf4aa3a95.js +1 -0
- data/tools/cmdsender/LabelvaluelimitscolumnWidget-D-_gl6fq-fcc6b42a9b4c29e45e73.js +1 -0
- data/tools/cmdsender/LabelvaluerangebarWidget-B3MKT-3Y-a0b64358b0a0958b27fa.js +1 -0
- data/tools/cmdsender/Layout-Bkb6VP3e-ebc8fdb14d3b2a3b8fbb.js +1 -0
- data/tools/cmdsender/LedWidget-DOuDD8LI-6667a8c3e33737fc95ba.js +1 -0
- data/tools/cmdsender/LimitsbarWidget-D1U6SvVL-296c2641a79d9f3cfdbc.js +1 -0
- data/tools/cmdsender/LimitscolorWidget-iSMGusqt-864314d19d55c8c4b11a.js +1 -0
- data/tools/cmdsender/LimitscolumnWidget-DjxZTt_r-375bbc8160586a53a650.js +1 -0
- data/tools/cmdsender/LinegraphWidget-BHKU6zlT-f5a67e90280ecd56e5ff.js +1 -0
- data/tools/cmdsender/MatrixbycolumnsWidget-BKO-A2QD-c0d993dadda5d555c9d5.js +1 -0
- data/tools/cmdsender/ProgressbarWidget-fbr2qu_N-c63c1c8aad560c8fe9f0.js +1 -0
- data/tools/cmdsender/RadiobuttonWidget-DL08zcQT-9a53a941e6fe248a6a8b.js +1 -0
- data/tools/cmdsender/RadiogroupWidget-DW9Xpj3c-734245b32d66bdcb0e2a.js +1 -0
- data/tools/cmdsender/RangebarWidget-o9q55kjc-b7b0a515ecb909587048.js +1 -0
- data/tools/cmdsender/RollupWidget-BHnjj-DF-d5e7f79088ae2defdd32.js +1 -0
- data/tools/cmdsender/ScrollwindowWidget-D-QVwztC-296dc5d83bd09c2f7e9b.js +1 -0
- data/tools/cmdsender/SignalWidget-CsWuufdx-fcd5aa4329eda73bbc19.js +1 -0
- data/tools/cmdsender/SpacerWidget-Di9-qunj-434c8dec966d53c43547.js +1 -0
- data/tools/cmdsender/SparklineWidget-B6-zhdPW-f70171404709364118de.js +1 -0
- data/tools/cmdsender/TabbookWidget-B1E1_mzA-d5c8d4af992caa015879.js +1 -0
- data/tools/cmdsender/TextboxWidget-CBVEXPw_-4ccfa794fc27e17c41e9.js +1 -0
- data/tools/cmdsender/TextfieldWidget-DZMHrtQa-cdcf0c0cd90b83a89cd4.js +1 -0
- data/tools/cmdsender/TimeWidget-K4MNmJ7J-4ac9a34c4cb89a628f1e.js +1 -0
- data/tools/cmdsender/TitleWidget-8IcwweFE-2d09ac632c6319281e1e.js +1 -0
- data/tools/cmdsender/VWidget-CoIgX3hM-2a96bb926a22082ef66f.js +1 -0
- data/tools/cmdsender/ValueWidget-BvT1ASar-569bf4ee3a869b3a983c.js +1 -0
- data/tools/cmdsender/ValuelimitsbarWidget-C5lBnUmB-a57a4387edcb9e00239f.js +1 -0
- data/tools/cmdsender/ValuelimitscolumnWidget-DHYI0WBL-9bdaf843078c6c366a0a.js +1 -0
- data/tools/cmdsender/ValuerangebarWidget-BSszZhlE-9720c31cb31b04465293.js +1 -0
- data/tools/cmdsender/VerticalWidget-1GhgYrC3-2861b7292deac636c9ce.js +1 -0
- data/tools/cmdsender/VerticalboxWidget-DYHJqEzd-fbaceb71491dd8a6da8e.js +1 -0
- data/tools/cmdsender/Widget-B8t93Oid-343384cb6cc88aad60ee.js +1 -0
- data/tools/cmdsender/main-fa50ec9d093e7c784e06.js +1504 -0
- data/tools/cmdsender/main.js +1 -1
- metadata +68 -70
- data/tools/cmdsender/ArrayWidget-BSG8KEtf-f5716b314ff2285af060.js +0 -2
- data/tools/cmdsender/ArrayplotWidget-WVu76Kqn-5f98ec792c50b2b41ea7.js +0 -1
- data/tools/cmdsender/BarColumn-Cflh9pUz-7788c7f7e0644d46b426.js +0 -1
- data/tools/cmdsender/BlockWidget-B7ryWGCq-02b43aba032193d1be9d.js +0 -2
- data/tools/cmdsender/ButtonWidget-BKih3ix9-767791e4d307daa28807.js +0 -2
- data/tools/cmdsender/CanvasWidget-DT9xMSfb-e62cba70058f0d5ce3d4.js +0 -1
- data/tools/cmdsender/CanvasdotWidget-7H5Hvcn--c5662b01556b06b72db3.js +0 -1
- data/tools/cmdsender/CanvasimageWidget-BbWYx6Gj-e4ca4989e866fb906c42.js +0 -1
- data/tools/cmdsender/CanvasimagevalueWidget-Blvoe2X4-d0390279a8721e54d9b8.js +0 -1
- data/tools/cmdsender/CanvaslabelWidget-BPx_Rm4o-159bd63528310a68b52e.js +0 -1
- data/tools/cmdsender/CanvaslabelvalueWidget-DzdWvL0W-1cc43178183da759ac1a.js +0 -1
- data/tools/cmdsender/CanvaslineWidget-CqskilGk-e39386395cabd69ac8bc.js +0 -1
- data/tools/cmdsender/CanvaslinevalueWidget-C0JIKdvZ-61a79f1b5689d88e3436.js +0 -1
- data/tools/cmdsender/CheckbuttonWidget-C9FbJx2v-9a845bcbe11738910558.js +0 -1
- data/tools/cmdsender/ComboboxWidget-BbNKT0s8-2def332c18c3cc0577cc.js +0 -1
- data/tools/cmdsender/CommandSender-a91f98a0962ad2c89a26.js +0 -1127
- data/tools/cmdsender/CriticalCmdDialog-CF7Sqjdm-e39ce82d0ab50016472c.js +0 -1
- data/tools/cmdsender/DateWidget-CBMsdRUE-e4ae31e0c8185fa9fbb2.js +0 -1
- data/tools/cmdsender/DetailsDialog-DRVahE5z-dc3b18b6ba9850a484fa.js +0 -1
- data/tools/cmdsender/DynamicWidget-CfMtj7H8-be022a3a1d90698a529b.js +0 -1
- data/tools/cmdsender/FormatvalueWidget-BLWsqhIZ-80d226337b9c2de53a50.js +0 -1
- data/tools/cmdsender/Graph-BiU56Qj2-a284b4f678d66753fd0e.js +0 -1
- data/tools/cmdsender/GraphWidget-Ga0AEfrJ-ce6e4b309a849ea0ed4a.js +0 -1
- data/tools/cmdsender/HorizontalWidget-CsVhLwZO-ca3af70b4b19f74cb0a4.js +0 -1
- data/tools/cmdsender/HorizontalboxWidget-xC6PADl3-6ce2636246986d8fa3f7.js +0 -1
- data/tools/cmdsender/HorizontallineWidget-NZIxmRVN-b150487f3cbf2362bf68.js +0 -1
- data/tools/cmdsender/IframeWidget-BgzjSfag-578d3a74d4076814071b.js +0 -1
- data/tools/cmdsender/ImageLoader-DbFVK1Ui-3674872801f063f48641.js +0 -1
- data/tools/cmdsender/ImageviewerWidget-BnT5m-nw-1fdbc768c6e6fd5b5d52.js +0 -1
- data/tools/cmdsender/LabelWidget-DSDYmz6X-c9d416a8dd38f3827bca.js +0 -1
- data/tools/cmdsender/LabelledWidget-DMb-myxs-5d2f9214c23d7414d3b7.js +0 -1
- data/tools/cmdsender/LabelprogressbarWidget-CkjDJBao-8a21fac489ba058aced8.js +0 -1
- data/tools/cmdsender/LabelsparklineWidget-DBYPFz3Y-8c0d3fd6ccfe02a35306.js +0 -1
- data/tools/cmdsender/LabelvalueWidget-DlTkJC4i-9573d23279a9873ce449.js +0 -1
- data/tools/cmdsender/LabelvaluedescWidget-dRqnGZub-ea523e6a2fb9fe5220c8.js +0 -1
- data/tools/cmdsender/LabelvaluelimitsbarWidget-CS4NAPJ1-50d977b2328b9b73f324.js +0 -1
- data/tools/cmdsender/LabelvaluelimitscolumnWidget-D9x4Ppv8-81e9ccfff9071bd1ca4b.js +0 -1
- data/tools/cmdsender/LabelvaluerangebarWidget-Dhyng4-n-cfbbdbdec6021a9f58a9.js +0 -1
- data/tools/cmdsender/Layout-mWR35VAD-337b92b031ded68b4430.js +0 -1
- data/tools/cmdsender/LedWidget-D8cq4pUv-3b791ea261660eb39537.js +0 -1
- data/tools/cmdsender/LimitsbarWidget-VGJnDuVM-27b70ffb9f72106b1c68.js +0 -1
- data/tools/cmdsender/LimitscolorWidget-CG6Pqi12-fa81e3f14bf84fd1ef22.js +0 -1
- data/tools/cmdsender/LimitscolumnWidget-DjovQdiT-43dfa2d1a68e6857de4b.js +0 -1
- data/tools/cmdsender/LinegraphWidget-DSWAhXgZ-5355ceee7f649555d563.js +0 -1
- data/tools/cmdsender/MatrixbycolumnsWidget-C3cuhRxz-511493ebfd33c6c8dc43.js +0 -1
- data/tools/cmdsender/ProgressbarWidget-oCgAEFBO-e07df4b0e9856376caeb.js +0 -1
- data/tools/cmdsender/RadiobuttonWidget-D4Dak3lc-cb94e5415b577181f7f1.js +0 -1
- data/tools/cmdsender/RadiogroupWidget-Dbe9T4fp-6e317ccdf46838243d61.js +0 -1
- data/tools/cmdsender/RangebarWidget-CIVrgqrW-e5fc47c6787081c5dd87.js +0 -1
- data/tools/cmdsender/RollupWidget-CH1-XNLV-9416de4624fc829e9d49.js +0 -1
- data/tools/cmdsender/ScrollwindowWidget-BwFG6Wn8-30cf5fc45c1ffec91b3f.js +0 -1
- data/tools/cmdsender/SignalWidget-Gz2gHrUm-93df5ad57168bfa31ef7.js +0 -1
- data/tools/cmdsender/SpacerWidget-Bg7VDB0k-f8425e8411f97c8e15f3.js +0 -1
- data/tools/cmdsender/SparklineWidget-D_b5rfJv-5491dab446230bed00d1.js +0 -1
- data/tools/cmdsender/TabbookWidget-C30f9B6z-cd3537dbe3554ed082a2.js +0 -1
- data/tools/cmdsender/TextboxWidget-CDqxsgys-ac9798bcb0d3df7d0a21.js +0 -1
- data/tools/cmdsender/TextfieldWidget-CAyjKJs6-dee1670b6cfd1bbec675.js +0 -1
- data/tools/cmdsender/TimeWidget-BQsP0G2X-22a17d8f10074012ee92.js +0 -1
- data/tools/cmdsender/TitleWidget-DXVba53S-8651bb0b0ad064ce1120.js +0 -1
- data/tools/cmdsender/VWidget-CFTCukCL-5072285a7803916e09d9.js +0 -1
- data/tools/cmdsender/ValueWidget-B-TWLPdM-3fa9ad5b0ef2a581360b.js +0 -1
- data/tools/cmdsender/ValuelimitsbarWidget-jsDXdPdC-d813c2d9afd6857d9b7e.js +0 -1
- data/tools/cmdsender/ValuelimitscolumnWidget-I-uwnXM2-e32c5260e3fc93648549.js +0 -1
- data/tools/cmdsender/ValuerangebarWidget-OyhSTScu-a78b35b6ce7837164002.js +0 -1
- data/tools/cmdsender/VerticalWidget-CkFbX1Gq-629e285b12eeeb517730.js +0 -1
- data/tools/cmdsender/VerticalboxWidget-FEQgPM9r-31d7f1754d32d7a2bd40.js +0 -1
- data/tools/cmdsender/Widget-C3-TBgP7-d1e6ca083010a5e1eb6a.js +0 -1
- data/tools/cmdsender/main-120a57eb754380e5c1f0.js +0 -1504
@@ -0,0 +1,1127 @@
|
|
1
|
+
System.register(["./main-fa50ec9d093e7c784e06.js","vue","./CriticalCmdDialog-FhXDdBn4-5e2871bb9b2ad6ada180.js","vue-router","single-spa","vuex","vuetify"],(function(exports,module){"use strict";var d,jA,PA,HA,BA,Ok,xA,_export_sfc,s,Pe$1,resolveComponent,createBlock,openBlock,Teleport,createVNode,withCtx,createElementVNode,toDisplayString,createElementBlock,Fragment,renderList,createTextVNode,mergeProps,createSlots,createCommentVNode,normalizeStyle,withDirectives,vShow,normalizeProps,guardReactiveProps,withModifiers,N;return{setters:[h=>{d=h.d,jA=h.j,PA=h.P,HA=h.H,BA=h.B,Ok=h.O,xA=h.x,_export_sfc=h._,s=h.s,Pe$1=h.a},h=>{resolveComponent=h.resolveComponent,createBlock=h.createBlock,openBlock=h.openBlock,Teleport=h.Teleport,createVNode=h.createVNode,withCtx=h.withCtx,createElementVNode=h.createElementVNode,toDisplayString=h.toDisplayString,createElementBlock=h.createElementBlock,Fragment=h.Fragment,renderList=h.renderList,createTextVNode=h.createTextVNode,mergeProps=h.mergeProps,createSlots=h.createSlots,createCommentVNode=h.createCommentVNode,normalizeStyle=h.normalizeStyle,withDirectives=h.withDirectives,vShow=h.vShow,normalizeProps=h.normalizeProps,guardReactiveProps=h.guardReactiveProps,withModifiers=h.withModifiers},h=>{N=h.N},null,null,null,null],execute:(function(){var __vite_style__=document.createElement("style");__vite_style__.textContent=`.editor[data-v-6abd961f]{margin-left:30px;height:50px;width:95%;position:relative;font-size:16px}
|
2
|
+
/*$vite$:1*/`,document.head.appendChild(__vite_style__);const I="openc3-ace-vim-mode-enabled",M="ace/keyboard/vim",X$1={isVimModeEnabled(){return localStorage.getItem(I)==="true"},setVimMode(h){localStorage.setItem(I,JSON.stringify(!!h))},toggleVimMode(h){this.isVimModeEnabled()?(h.setKeyboardHandler(null),this.setVimMode(!1)):(h.setKeyboardHandler(M),this.setVimMode(!0)),h.focus()},applyVimModeIfEnabled(h,{saveFn:m}={}){this.isVimModeEnabled()?(h.setKeyboardHandler(M),ace.config.loadModule(M,f=>{f.CodeMirror.Vim.defineEx("write","w",g=>{typeof m=="function"?m():g.ace.execCommand("save")})})):h.setKeyboardHandler(null)}},Y$1={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(h){return h.replaceAll(" ","-").toLowerCase()},subMenuClick(h){h.command(h),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},z$1={class:"app-title mr-2"};function J(h,m,f,g,Me,A){const x=resolveComponent("v-col"),_=resolveComponent("v-row"),c=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"),v=resolveComponent("v-checkbox");return openBlock(),createBlock(Teleport,{to:"#openc3-menu"},[createVNode(_,{"no-gutters":""},{default:withCtx(()=>[createVNode(x,{"align-self":"end"},{default:withCtx(()=>[createElementVNode("span",z$1,toDisplayString(f.title),1)]),_:1})]),_:1}),createVNode(_,{dense:"",class:"flex-nowrap"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(f.menus,(E,L)=>(openBlock(),createBlock(e,{ref_for:!0,ref:"topmenu",key:L},{activator:withCtx(({props:S})=>[createVNode(u,mergeProps({ref_for:!0},S,{variant:"outlined",class:"mx-1 menu-button",text:E.label,"data-test":A.formatDT(`${f.title} ${E.label}`)}),{append:withCtx(()=>[createVNode(c,{class:"menu-button-icon"},{default:withCtx(()=>[...m[0]||(m[0]=[createTextVNode(" mdi-menu-down ",-1)])]),_:1})]),_:1},16,["text","data-test"])]),default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(E.items,(S,b)=>(openBlock(),createElementBlock(Fragment,null,[S.divider?(openBlock(),createBlock(i,{key:b+"-divider"})):S.subMenu&&S.subMenu.length>0?(openBlock(),createElementBlock("div",{key:b+"-submenu"},[(openBlock(),createBlock(e,{"open-on-hover":"",location:"right",key:b},{activator:withCtx(({props:oe})=>[(openBlock(),createBlock(r,mergeProps({ref_for:!0},oe,{disabled:S.disabled,key:b}),createSlots({append:withCtx(()=>[createVNode(c,null,{default:withCtx(()=>[...m[1]||(m[1]=[createTextVNode(" mdi-chevron-right ",-1)])]),_:1})]),default:withCtx(()=>[!S.radio&&!S.checkbox?(openBlock(),createBlock(o,{key:0,style:normalizeStyle("cursor: pointer;"+(S.disabled?"opacity: 0.2":""))},{default:withCtx(()=>[createTextVNode(toDisplayString(S.label),1)]),_:2},1032,["style"])):createCommentVNode("",!0)]),_:2},[S.icon?{name:"prepend",fn:withCtx(()=>[createVNode(c,{disabled:S.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(S.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(S.subMenu,(oe,Se)=>(openBlock(),createBlock(r,{key:Se,"prepend-icon":oe.icon,onClick:q=>A.subMenuClick(oe)},{default:withCtx(()=>[createVNode(o,null,{default:withCtx(()=>[createTextVNode(toDisplayString(oe.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):S.radioGroup?(openBlock(),createBlock(p,{"model-value":S.value,"onUpdate:modelValue":S.command,key:b+"-radio-group","hide-details":"",density:"compact",class:"ma-0 pa-0"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(S.choices,(oe,Se)=>(openBlock(),createBlock(r,{key:Se+"-choice"},{default:withCtx(()=>[createVNode(a,{class:"list-action"},{default:withCtx(()=>[createVNode(n,{color:"secondary",label:oe.label,value:oe.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(openBlock(),createBlock(r,{onClick:oe=>S.command(S),disabled:S.disabled,"data-test":A.formatDT(`${f.title} ${E.label} ${S.label}`),key:b+"-list"},createSlots({default:withCtx(()=>[S.checkbox?(openBlock(),createBlock(a,{key:0,class:"list-action"},{default:withCtx(()=>[createVNode(v,{modelValue:S.checked,"onUpdate:modelValue":oe=>S.checked=oe,label:S.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):createCommentVNode("",!0),!S.radio&&!S.checkbox?(openBlock(),createBlock(o,{key:1,style:normalizeStyle("cursor: pointer;"+(S.disabled?"opacity: 0.2":""))},{default:withCtx(()=>[createTextVNode(toDisplayString(S.label),1)]),_:2},1032,["style"])):createCommentVNode("",!0)]),_:2},[S.icon?{name:"prepend",fn:withCtx(()=>[createVNode(c,{icon:S.icon,disabled:S.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(Y$1,[["render",J],["__scopeId","data-v-4d454b93"]]);let Q$1=class{constructor(){PA.get("/openc3-api/autocomplete/data/screen").then(m=>{this.autocompleteData=m.data}),this.api=new HA}async getCompletions(m,f,g,Me,A){let x=f.getLine(g.row).slice(0,g.column).trimStart().split(/ (?![^<]*>)/),_=this.autocompleteData;x.length>1&&(_=_.find(i=>i.caption===x[0]));let c={},u=!0;if(_&&_.params){_.params.length==x.length-1&&(u=!1);let i=_.params[x.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=x[x.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=x[x.length-3],r=x[x.length-2];_=(await this.api.get_tlm(o,r)).items.reduce((t,e)=>(t[e.name]=e.description,t),{})}else _=i;c=Object.keys(_||{}).map(o=>{let r={value:o+(u?" ":""),command:u&&"startAutocomplete"};return typeof _[o]=="string"&&(r.meta=_[o]),r})}else c=_;A(null,c)}};const ee$1={props:{modelValue:Boolean,target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},errors:{type:Array,default:()=>[]}},emits:["cancel","delete","save","update:modelValue"],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 h=new Set,m=[];const f=this.errors.toSorted((g,Me)=>g.lineNumber-Me.lineNumber);for(const g of f){let Me=`At ${g.lineNumber}: (${g.line}) ${g.message}.`;g.usage&&(Me+=` Usage: ${g.usage}`),m.push(Me),h.add(g.message)}return m}return[]},show:{get(){return this.modelValue},set(h){this.$emit("update:modelValue",h)}}},mounted:function(){this.editor=xA.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const h=this.buildScreenMode();this.editor.session.setMode(new h),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 Q$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(h){this.menuX=h.pageX,this.menuY=h.pageY;let m=this.editor.getCursorPosition(),f=this.editor.session.getTokenAt(m.row,m.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 h=xA.require("ace/lib/oop"),m=xA.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()};h.inherits(g,m);let Me=function(){this.HighlightRules=g},A=xA.require("ace/mode/text").Mode;return h.inherits(Me,A),(function(){this.$id="ace/mode/openc3"}).call(Me.prototype),Me},downloadScreen:function(){const h=new Blob([this.editor.getValue()],{type:"text/plain"}),m=document.createElement("a");m.href=URL.createObjectURL(h),m.setAttribute("download",`${this.screen.toLowerCase()}.txt`),m.click()},loadFile:function(){const h=new FileReader;h.readAsText(this.file);const m=this;h.onload=function(){m.editor.setValue(h.result),m.file=null}},deleteScreen:function(){this.$dialog.confirm("Are you sure you want to delete this screen?!",{okText:"Delete",cancelText:"Cancel"}).then(h=>{this.$emit("delete")})}}},te$1=["textContent"];function ne$1(h,m,f,g,Me,A){const x=resolveComponent("v-btn"),_=resolveComponent("v-spacer"),c=resolveComponent("v-toolbar"),u=resolveComponent("v-row"),i=resolveComponent("v-file-input"),o=resolveComponent("v-list-item-title"),r=resolveComponent("v-list-item"),t=resolveComponent("v-divider"),e=resolveComponent("v-list"),n=resolveComponent("v-menu"),a=resolveComponent("v-card-text"),p=resolveComponent("v-card"),v=resolveComponent("v-dialog");return openBlock(),createBlock(v,{modelValue:A.show,"onUpdate:modelValue":m[5]||(m[5]=E=>A.show=E),persistent:"",width:"75vw"},{default:withCtx(()=>[createVNode(p,null,{default:withCtx(()=>[createVNode(c,{height:"24"},{default:withCtx(()=>[createVNode(x,{class:"mx-2",icon:"mdi-delete",variant:"text",density:"compact","data-test":"delete-screen-icon",onClick:A.deleteScreen},null,8,["onClick"]),createVNode(_),createElementVNode("span",null," Edit Screen: "+toDisplayString(f.target)+" "+toDisplayString(f.screen),1),createVNode(_),createVNode(x,{class:"mx-2",icon:"mdi-download",variant:"text",density:"compact","data-test":"download-screen-icon",onClick:A.downloadScreen},null,8,["onClick"])]),_:1}),createVNode(a,{style:{"max-height":"90vh"}},{default:withCtx(()=>[createVNode(u,{class:"mt-3"},{default:withCtx(()=>[...m[6]||(m[6]=[createTextVNode(" Upload a screen file. ",-1)])]),_:1}),createVNode(u,{"no-gutters":"",align:"center"},{default:withCtx(()=>[createVNode(x,{disabled:!Me.file,color:"primary",class:"mr-3","data-test":"edit-screen-load",onClick:A.loadFile},{default:withCtx(()=>[...m[7]||(m[7]=[createTextVNode(" Load ",-1)])]),_:1},8,["disabled","onClick"]),createVNode(i,{modelValue:Me.file,"onUpdate:modelValue":m[0]||(m[0]=E=>Me.file=E),"truncate-length":"15",accept:".txt",label:"Click to select .txt screen file."},null,8,["modelValue"])]),_:1}),createVNode(u,{class:"mb-2"},{default:withCtx(()=>[...m[8]||(m[8]=[createTextVNode(" Edit the screen definition. ",-1)])]),_:1}),createVNode(u,{class:"mb-2"},{default:withCtx(()=>[createElementVNode("pre",{ref:"editor",class:"editor",onContextmenu:m[1]||(m[1]=withModifiers((...E)=>A.showContextMenu&&A.showContextMenu(...E),["prevent"]))},null,544),createVNode(n,{modelValue:Me.contextMenu,"onUpdate:modelValue":m[2]||(m[2]=E=>Me.contextMenu=E),target:[Me.menuX,Me.menuY]},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>[createVNode(r,{link:""},{default:withCtx(()=>[createVNode(o,{onClick:A.openDocumentation},{default:withCtx(()=>[createTextVNode(toDisplayString(Me.docsKeyword)+" documentation ",1)]),_:1},8,["onClick"])]),_:1}),createVNode(t),createVNode(r,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:A.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1}),createVNode(u,{style:{"max-height":"120px","overflow-y":"auto"}},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(A.editErrors,(E,L)=>(openBlock(),createElementBlock("div",{key:L},[createElementVNode("span",{class:"text-red",textContent:toDisplayString(E)},null,8,te$1)]))),128))]),_:1}),createVNode(u,{class:"mt-5"},{default:withCtx(()=>[m[11]||(m[11]=createElementVNode("span",null," Ctrl-space brings up autocomplete. Right click keywords for documentation. ",-1)),createVNode(_),createVNode(x,{class:"mx-2",variant:"outlined","data-test":"edit-screen-cancel",onClick:m[3]||(m[3]=E=>h.$emit("cancel"))},{default:withCtx(()=>[...m[9]||(m[9]=[createTextVNode(" Cancel ",-1)])]),_:1}),createVNode(x,{class:"mx-2",color:"primary","data-test":"edit-screen-save",onClick:m[4]||(m[4]=E=>h.$emit("save",h.editor.getValue()))},{default:withCtx(()=>[...m[10]||(m[10]=[createTextVNode(" Save ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const ie$1=d(ee$1,[["render",ne$1],["__scopeId","data-v-65b25a74"]]),W=20,ye$1={components:{EditScreenDialog:ie$1},mixins:[jA],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},playbackMode:{type:String,default:"realtime"},playbackDateTime:{type:Date,default:null}},emits:["close-screen","delete-screen","drag-screen","edit-screen","float-screen","min-max-screen","unfloat-screen"],data(){return{api:null,backup:"",currentDefinition:this.definition,editDialog:!1,expand:!0,configParser:null,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:[],actualScreenItems:[],screenValues:{},updateCounter:0,updater:null,screenId:Ok.uniqueId("openc3-screen_"),tlmAvailableTimeout:null}},computed:{error:function(){if(this.errorDialog&&this.errors.length>0){let h=new Set,m="";for(const f of this.errors){if(h.has(f.message))continue;let g=`${f.time}: (${f.type}) ${f.message}
|
3
|
+
`;m+=g,h.add(f.message)}return m}return null},computedStyle(){var h;let m={};const f=this.width||((h=this.$refs.bar)==null?void 0:h.clientWidth);return this.floated&&(m.position="absolute",m.top=this.top+"px",m.left=this.left+"px",m.width=f+"px"),m}},watch:{count:{handler(h,m){this.currentDefinition=this.definition,this.rerender()}},playbackDateTime:{handler(h,m){this.playbackMode==="playback"&&h&&this.update()}},playbackMode:{handler(h,m){h==="realtime"?this.updateRefreshInterval():(clearInterval(this.updater),this.updater=null)}}},errorCaptured(h,m,f){return this.errors.length<W&&(h.usage?this.errors.push({type:"usage",message:h.message,usage:h.usage,line:h.line,lineNumber:h.lineNumber,time:new Date().getTime()}):this.errors.push({type:"error",message:h,time:new Date().getTime()})),!1},created(){this.api=new HA,this.configParser=new BA,this.parseDefinition(),this.screenKey=Math.floor(Math.random()*1e6)},mounted(){this.playbackMode==="realtime"&&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),this.tlmAvailableTimeout!=null&&(clearTimeout(this.tlmAvailableTimeout),this.tlmAvailableTimeout=null)},methods:{open(h,m){this.$parent.showScreen(h,m)},close(h,m){this.$parent.closeScreenByName(h,m)},closeAll(){this.$parent.closeAll()},clearErrors:function(){this.errors=[]},updateRefreshInterval:function(){let h=this.pollingPeriod*1e3;this.updater&&clearInterval(this.updater),this.updater=setInterval(()=>{this.update()},h)},parseDefinition:function(){if(this.clearErrors(),this.screenItems=[],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,(h,m,f,g)=>{if(h)switch(h){case"SCREEN":this.configParser.verify_num_parameters(3,4,`${h} <Width or AUTO> <Height or AUTO> <Polling Period>`),this.width=parseInt(m[0]),this.height=parseInt(m[1]),this.pollingPeriod=parseFloat(m[2]);break;case"END":this.configParser.verify_num_parameters(0,0,`${h}`),this.layoutStack.pop(),this.currentLayout=this.layoutStack[this.layoutStack.length-1];break;case"STALE_TIME":this.configParser.verify_num_parameters(1,1,`${h} <Time (s)>`),this.staleTime=parseInt(m[0]);break;case"SUBSETTING":this.configParser.verify_num_parameters(3,null,`${h} <Index> <Widget Type> <Widget Settings...>`),m[1]==="RAW"&&(m[1]="RAW__"+m[2].toLowerCase());case"SETTING":this.configParser.verify_num_parameters(2,null,`${h} <Widget Type> <Widget Settings...>`),m[0]==="RAW"&&(m[0]="RAW__"+m[1].toLowerCase()),(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(m);break;case"GLOBAL_SUBSETTING":this.configParser.verify_num_parameters(3,null,`${h} <Index> <Widget Type> <Widget Settings...>`),m[2]==="RAW"&&(m[2]="RAW__"+m[3].toLowerCase());case"GLOBAL_SETTING":this.configParser.verify_num_parameters(2,null,`${h} <Widget Type> <Widget Settings...>`),m[1]==="RAW"&&(m[1]="RAW__"+m[2].toLowerCase()),this.globalSettings.push(m);break;default:this.processWidget(h,m,f,g);break}}),typeof this.layoutStack[0]>"u"){let h=[],m=[];for(const f of this.dynamicWidgets)h.push(f.name),m.push(f.lineNumber);this.errors.length<W&&this.errors.push({type:"usage",message:`Unknown widget! Are these widgets: ${h.join(",")}?`,lineNumber:m.join(","),time:new Date().getTime()}),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 h=this.$refs.bar.parentElement.parentElement.parentElement.getBoundingClientRect(),m=this.$refs.bar.getBoundingClientRect();this.top=m.top-h.top-5,this.left=m.left-h.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(h){h=h||window.event,h.preventDefault(),this.dragX=h.clientX,this.dragY=h.clientY,document.onmouseup=this.closeDragElement,document.onmousemove=this.elementDrag},elementDrag:function(h){h=h||window.event,h.preventDefault();let m=this.dragX-h.clientX,f=this.dragY-h.clientY;this.dragX=h.clientX,this.dragY=h.clientY,this.top=this.$refs.bar.offsetTop-f,this.left=this.$refs.bar.offsetLeft-m,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(h){this.editDialog=!1,this.currentDefinition=h,this.rerender(),this.$nextTick(function(){PA.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:this.target,screen:this.screen,text:this.currentDefinition}},0)})},deleteScreen:function(){this.editDialog=!1,PA.delete(`/openc3-api/screen/${this.target}/${this.screen}`).then(h=>{this.$emit("delete-screen")})},minMaxTransition:function(){this.expand=!this.expand,this.$emit("min-max-screen")},processWidget:function(h,m,f,g){let Me=null;h==="NAMED_WIDGET"&&(this.configParser.verify_num_parameters(2,null,`${h} <Widget Name> <Widget Type> <Widget Settings... (optional)>`),Me=m[0].toUpperCase(),h=m[1].toUpperCase(),m=m.slice(2,m.length));const A=h.charAt(0).toUpperCase()+h.slice(1).toLowerCase()+"Widget";let x=[];if(x.push(["__SCREEN_ID__",this.screenId]),Me!==null&&x.push(["NAMED_WIDGET",Me]),h==="VERTICAL"||h==="VERTICALBOX"||h==="HORIZONTAL"||h==="HORIZONTALBOX"||h==="MATRIXBYCOLUMNS"||h==="TABBOOK"||h==="TABITEM"||h==="CANVAS"||h==="RADIOGROUP"||h==="SCROLLWINDOW"){const _={type:A,parameters:m,settings:x,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:m,settings:x,screenValues:this.screenValues,screenTimeZone:this.timeZone,line:f,lineNumber:g});else{let _={type:"DynamicWidget",target:this.target,parameters:m,settings:x,screenValues:this.screenValues,screenTimeZone:this.timeZone,name:A,line:f,lineNumber:g};this.currentLayout.widgets.push(_),this.dynamicWidgets.push(_)}},applyGlobalSettings:function(h){h.forEach(m=>{this.globalSettings.forEach(f=>{m.type.toLowerCase()===f[0].toLowerCase()+"widget"&&(m.settings.find(g=>g[0]===f[1])||m.settings.push(f.slice(1)))}),m.widgets&&this.applyGlobalSettings(m.widgets)})},update:function(){let h=this.playbackMode==="playback"?this.playbackDateTime:null;this.actualScreenItems.length!==0&&this.api.get_tlm_values(this.actualScreenItems,this.staleTime,this.cacheTimeout,h).then(m=>{m&&m.length>0&&this.updateValues(m)}).catch(m=>{let f=JSON.stringify(m,null,2);this.errors.find(g=>g.message===f)||this.errors.length<W&&this.errors.push({type:"error",message:f,time:new Date().getTime()})})},updateValues:function(h){if(this.updateCounter+=1,h.length!=this.screenItems.length||h.length!=this.actualScreenItems.length)console.log(`get_tlm_values mismatch: data.length: ${h.length}, screenItems.length: ${this.screenItems.length}, actualScreenItems.length: ${this.actualScreenItems.length}`,JSON.stringify(h),JSON.stringify(this.screenItems),JSON.stringify(this.actualScreenItems));else for(let m=0;m<h.length;m++)h[m].push(this.updateCounter),this.screenValues[this.screenItems[m]]=h[m]},debouncedUpdateTlmAvailable:function(){this.tlmAvailableTimeout!=null&&clearTimeout(this.tlmAvailableTimeout),this.tlmAvailableTimeout=setTimeout(()=>{this.api.get_tlm_available(this.screenItems).then(h=>{if(this.actualScreenItems=h,this.screenItems.length!=h.length)console.log("Error getting tlm available",this.screenItems,this.actualScreenItems);else for(let m=0;m<this.actualScreenItems.length;m++)if(this.actualScreenItems[m]===null){const f=this.screenItems[m].split("__"),g=this.currentDefinition.split(`
|
4
|
+
`),Me=g.findIndex(A=>A.includes(f[0])&&A.includes(f[1])&&A.includes(f[2]))+1;Me>0?this.errors.push({type:"usage",message:`Null for ${f.join(" ")}! Does it exist?`,line:g[Me-1],lineNumber:Me,time:new Date().getTime()}):this.errors.push({type:"error",message:`Null for ${f.join(" ")}! Does it exist?`,time:new Date().getTime()})}}).catch(h=>{console.log("Error getting tlm available",h),this.actualScreenItems=this.screenItems}),this.tlmAvailableTimeout=null},100)},addItem:function(h){this.screenItems.push(h),this.screenValues[h]=[null,null,0],this.debouncedUpdateTlmAvailable()},deleteItem:function(h){let m=this.screenItems.indexOf(h);this.screenItems.splice(m,1),this.debouncedUpdateTlmAvailable()}}},_e$1={ref:"screen",class:"pa-1",style:{position:"relative"}},be$1={key:1,class:"pa-1",style:{position:"relative"}};function xe(h,m,f,g,Me,A){const x=resolveComponent("v-btn"),_=resolveComponent("v-tooltip"),c=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-card-actions"),p=resolveComponent("v-dialog");return openBlock(),createElementBlock("div",{ref:"bar",style:normalizeStyle(A.computedStyle)},[f.inline?createCommentVNode("",!0):(openBlock(),createBlock(t,{key:0,"min-height":Me.height,"min-width":Me.width,style:{cursor:"default"}},{default:withCtx(()=>[createVNode(u,{height:"24"},{default:withCtx(()=>[withDirectives(createVNode(x,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:m[0]||(m[0]=()=>{Me.errorDialog=!0})},null,512),[[vShow,Me.errors.length!==0]]),createVNode(x,{icon:"mdi-pencil",variant:"text",density:"compact","data-test":"edit-screen-icon","aria-label":"Edit Screen",onClick:A.openEdit},null,8,["onClick"]),f.fixFloated?createCommentVNode("",!0):(openBlock(),createBlock(_,{key:0,"open-delay":600,location:"top"},{activator:withCtx(({props:v})=>[createElementVNode("div",normalizeProps(guardReactiveProps(v)),[createVNode(x,{icon:Me.floated?"mdi-balloon":"mdi-view-grid-outline",variant:"text",density:"compact","data-test":"float-screen-icon","aria-label":Me.floated?"Unfloat Screen":"Float Screen",onClick:A.floatScreen},null,8,["icon","aria-label","onClick"])],16)]),default:withCtx(()=>[createElementVNode("span",null,toDisplayString(Me.floated?"Unfloat Screen":"Float Screen"),1)]),_:1})),Me.floated?(openBlock(),createBlock(_,{key:1,"open-delay":600,location:"top"},{activator:withCtx(({props:v})=>[createElementVNode("div",normalizeProps(guardReactiveProps(v)),[createVNode(x,{icon:"mdi-arrow-up",variant:"text",density:"compact","data-test":"up-screen-icon","aria-label":"Move Screen Up",onClick:A.upScreen},null,8,["onClick"])],16)]),default:withCtx(()=>[m[6]||(m[6]=createElementVNode("span",null," Move Screen Up ",-1))]),_:1})):createCommentVNode("",!0),Me.floated&&Me.zIndex>f.minZ?(openBlock(),createBlock(_,{key:2,"open-delay":600,location:"top"},{activator:withCtx(({props:v})=>[createElementVNode("div",normalizeProps(guardReactiveProps(v)),[createVNode(x,{icon:"mdi-arrow-down",variant:"text",density:"compact","data-test":"down-screen-icon","aria-label":"Move Screen Down",onClick:A.downScreen},null,8,["onClick"])],16)]),default:withCtx(()=>[m[7]||(m[7]=createElementVNode("span",null," Move Screen Down ",-1))]),_:1})):createCommentVNode("",!0),createVNode(c),createElementVNode("span",null,toDisplayString(f.target)+" "+toDisplayString(f.screen),1),createVNode(c),Me.expand?(openBlock(),createBlock(x,{key:3,icon:"mdi-window-minimize",variant:"text",density:"compact","data-test":"minimize-screen-icon","aria-label":"Minimize Screen",onClick:A.minMaxTransition},null,8,["onClick"])):(openBlock(),createBlock(x,{key:4,icon:"mdi-window-maximize",variant:"text",density:"compact","data-test":"maximize-screen-icon","aria-label":"Maximize Screen",onClick:A.minMaxTransition},null,8,["onClick"])),f.showClose?(openBlock(),createBlock(x,{key:5,icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-screen-icon","aria-label":"Close Screen",onClick:m[1]||(m[1]=v=>h.$emit("close-screen"))})):createCommentVNode("",!0)]),_:1}),Me.editDialog?createCommentVNode("",!0):(openBlock(),createBlock(r,{key:0},{default:withCtx(()=>[withDirectives(createElementVNode("div",_e$1,[createVNode(i,{style:{"pointer-events":"none"},"model-value":Me.errors.length!==0,opacity:"0.8",absolute:"",attach:"","scroll-strategy":"none"},null,8,["model-value"]),(openBlock(),createBlock(o,{key:Me.screenKey,widgets:Me.layoutStack[0].widgets,"screen-values":Me.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,Me.expand]])]),_:1}))]),_:1},8,["min-height","min-width"])),f.inline?(openBlock(),createElementBlock("div",be$1,[createVNode(i,{style:{"pointer-events":"none"},"model-value":Me.errors.length!==0,opacity:"0.8",absolute:"",attach:"","scroll-strategy":"none"},null,8,["model-value"]),withDirectives(createVNode(x,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:m[2]||(m[2]=()=>{Me.errorDialog=!0})},null,512),[[vShow,Me.errors.length!==0]]),(openBlock(),createBlock(o,{key:Me.screenKey,widgets:Me.layoutStack[0].widgets,"screen-values":Me.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),Me.editDialog?(openBlock(),createBlock(e,{key:2,modelValue:Me.editDialog,"onUpdate:modelValue":m[3]||(m[3]=v=>Me.editDialog=v),target:f.target,screen:f.screen,definition:Me.currentDefinition,keywords:f.keywords,errors:Me.errors,onSave:A.saveEdit,onCancel:A.cancelEdit,onDelete:A.deleteScreen},null,8,["modelValue","target","screen","definition","keywords","errors","onSave","onCancel","onDelete"])):createCommentVNode("",!0),createVNode(p,{modelValue:Me.errorDialog,"onUpdate:modelValue":m[5]||(m[5]=v=>Me.errorDialog=v),width:"60vw"},{default:withCtx(()=>[createVNode(u,{height:"24"},{default:withCtx(()=>[createVNode(c),createElementVNode("span",null," Screen: "+toDisplayString(f.target)+" "+toDisplayString(f.screen)+" Errors ",1),createVNode(c)]),_:1}),createVNode(t,null,{default:withCtx(()=>[createVNode(n,{class:"errors",readonly:"",rows:"13","model-value":A.error},null,8,["model-value"]),createVNode(a,{class:"pb-5"},{default:withCtx(()=>[createVNode(c),createVNode(x,{variant:"outlined",class:"mr-2",onClick:A.clearErrors},{default:withCtx(()=>[...m[8]||(m[8]=[createTextVNode(" Clear Errors ",-1)])]),_:1},8,["onClick"]),createVNode(x,{variant:"flat",class:"mr-2",onClick:m[4]||(m[4]=v=>Me.errorDialog=!1)},{default:withCtx(()=>[...m[9]||(m[9]=[createTextVNode(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],4)}const Ee$1=d(ye$1,[["render",xe],["__scopeId","data-v-95e4a143"]]);var ace$1={exports:{}},hasRequiredAce;function requireAce(){return hasRequiredAce||(hasRequiredAce=1,(function(h,m){(function(){var f="ace",g=(function(){return this})();!g&&typeof window<"u"&&(g=window);var Me=function(i,o,r){if(typeof i!="string"){Me.original?Me.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=o),Me.modules[i]||(Me.payloads[i]=r,Me.modules[i]=null)};Me.modules={},Me.payloads={};var A=function(i,o,r){if(typeof o=="string"){var t=c(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=c(i,o[n]);if(p==null&&x.original)return;e.push(p)}return r&&r.apply(null,e)||!0}},x=function(i,o){var r=A("",i,o);return r==null&&x.original?x.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},c=function(i,o){o=_(i,o);var r=Me.modules[o];if(!r){if(r=Me.payloads[o],typeof r=="function"){var t={},e={id:o,uri:"",exports:t,packaged:!0},n=function(p,v){return A(o,p,v)},a=r(n,t,e);t=a||e.exports,Me.modules[o]=t,delete Me.payloads[o]}r=Me.modules[o]=t||r}return r};function u(i){var o=g;g[i]||(g[i]={}),o=g[i],(!o.define||!o.define.packaged)&&(Me.original=o.define,o.define=Me,o.define.packaged=!0),(!o.require||!o.require.packaged)&&(x.original=o.require,o.require=x,o.require.packaged=!0)}u(f)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(f,g,Me){function A(x,_,c){Object.defineProperty(x,_,{value:c,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||A(String.prototype,"startsWith",function(x,_){return _=_||0,this.lastIndexOf(x,_)===_}),String.prototype.endsWith||A(String.prototype,"endsWith",function(x,_){var c=this;(_===void 0||_>c.length)&&(_=c.length),_-=x.length;var u=c.indexOf(x,_);return u!==-1&&u===_}),String.prototype.repeat||A(String.prototype,"repeat",function(x){for(var _="",c=this;x>0;)x&1&&(_+=c),(x>>=1)&&(c+=c);return _}),String.prototype.includes||A(String.prototype,"includes",function(x,_){return this.indexOf(x,_)!=-1}),Object.assign||(Object.assign=function(x){if(x==null)throw new TypeError("Cannot convert undefined or null to object");for(var _=Object(x),c=1;c<arguments.length;c++){var u=arguments[c];u!=null&&Object.keys(u).forEach(function(i){_[i]=u[i]})}return _}),Object.values||(Object.values=function(x){return Object.keys(x).map(function(_){return x[_]})}),Array.prototype.find||A(Array.prototype,"find",function(x){for(var _=this.length,c=arguments[1],u=0;u<_;u++){var i=this[u];if(x.call(c,i,u,this))return i}}),Array.prototype.findIndex||A(Array.prototype,"findIndex",function(x){for(var _=this.length,c=arguments[1],u=0;u<_;u++){var i=this[u];if(x.call(c,i,u,this))return u}}),Array.prototype.includes||A(Array.prototype,"includes",function(x,_){return this.indexOf(x,_)!=-1}),Array.prototype.fill||A(Array.prototype,"fill",function(x){for(var _=this,c=_.length>>>0,u=arguments[1],i=u>>0,o=i<0?Math.max(c+i,0):Math.min(i,c),r=arguments[2],t=r===void 0?c:r>>0,e=t<0?Math.max(c+t,0):Math.min(t,c);o<e;)_[o]=x,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,Me){f("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(f,g,Me){g.deepCopy=function A(x){if(typeof x!="object"||!x)return x;var _;if(Array.isArray(x)){_=[];for(var c=0;c<x.length;c++)_[c]=A(x[c]);return _}if(Object.prototype.toString.call(x)!=="[object Object]")return x;_={};for(var c in x)_[c]=A(x[c]);return _}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(f,g,Me){g.last=function(_){return _[_.length-1]},g.stringReverse=function(_){return _.split("").reverse().join("")},g.stringRepeat=function(_,c){for(var u="";c>0;)c&1&&(u+=_),(c>>=1)&&(_+=_);return u};var A=/^\s\s*/,x=/\s\s*$/;g.stringTrimLeft=function(_){return _.replace(A,"")},g.stringTrimRight=function(_){return _.replace(x,"")},g.copyObject=function(_){var c={};for(var u in _)c[u]=_[u];return c},g.copyArray=function(_){for(var c=[],u=0,i=_.length;u<i;u++)_[u]&&typeof _[u]=="object"?c[u]=this.copyObject(_[u]):c[u]=_[u];return c},g.deepCopy=f("./deep_copy").deepCopy,g.arrayToMap=function(_){for(var c={},u=0;u<_.length;u++)c[_[u]]=1;return c},g.createMap=function(_){var c=Object.create(null);for(var u in _)c[u]=_[u];return c},g.arrayRemove=function(_,c){for(var u=0;u<=_.length;u++)c===_[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(_,c){var u=[];return _.replace(c,function(i){u.push({offset:arguments[arguments.length-2],length:i.length})}),u},g.deferredCall=function(_){var c=null,u=function(){c=null,_()},i=function(o){return i.cancel(),c=setTimeout(u,o||0),i};return i.schedule=i,i.call=function(){return this.cancel(),_(),i},i.cancel=function(){return clearTimeout(c),c=null,i},i.isPending=function(){return c},i},g.delayedCall=function(_,c){var u=null,i=function(){u=null,_()},o=function(r){u==null&&(u=setTimeout(i,r||c))};return o.delay=function(r){u&&clearTimeout(u),u=setTimeout(i,r||c)},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(_,c,u){return u&&_.codePointAt(c)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(f,g,Me){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:{},x=(/mac|win|linux/i.exec(A.platform)||["other"])[0].toLowerCase(),_=A.userAgent||"",c=A.appName||"";g.isWin=x=="win",g.isMac=x=="mac",g.isLinux=x=="linux",g.isIE=c=="Microsoft Internet Explorer"||c.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,Me){var A=f("./useragent"),x="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=[],v=0;v<t.length;v++){var E=r(t[v],e,n);E&&p.push(E)}return p}var L=document.createElement(t[0]),S=t[1],b=1;S&&typeof S=="object"&&!Array.isArray(S)&&(b=2);for(var v=b;v<t.length;v++)r(t[v],L,n);return b==2&&Object.keys(S).forEach(function(oe){var Se=S[oe];oe==="class"?L.className=Array.isArray(Se)?Se.join(" "):Se:typeof Se=="function"||oe=="value"||oe[0]=="$"?L[oe]=Se:oe==="ref"?n&&(n[Se]=L):oe==="style"?typeof Se=="string"&&(L.style.cssText=Se):Se!=null&&L.setAttribute(oe,Se)}),e&&e.appendChild(L),L},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||x,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 _,c=[];g.useStrictCSP=function(r){_=r,r==!1?u():c||(c=[])};function u(){var r=c;c=null,r&&r.forEach(function(t){i(t[0],t[1])})}function i(r,t,e){if(!(typeof document>"u")){if(c){if(e)u();else if(e===!1)return c.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+=`
|
5
|
+
/*# 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 v=t.offsetWidth;return p===v&&(v=e.clientWidth),a.removeChild(e),p-v},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,Me){/*
|
6
|
+
* based on code from:
|
7
|
+
*
|
8
|
+
* @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
|
9
|
+
* Available via the MIT or new BSD license.
|
10
|
+
* see: http://github.com/jrburke/requirejs for details
|
11
|
+
*/var A=f("./dom");g.get=function(x,_){var c=new XMLHttpRequest;c.open("GET",x,!0),c.onreadystatechange=function(){c.readyState===4&&_(c.responseText)},c.send(null)},g.loadScript=function(x,_){var c=A.getDocumentHead(),u=document.createElement("script");u.src=x,c.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(x){var _=document.createElement("a");return _.href=x,_.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(f,g,Me){g.inherits=function(A,x){A.super_=x,A.prototype=Object.create(x.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}})},g.mixin=function(A,x){for(var _ in x)A[_]=x[_];return A},g.implement=function(A,x){g.mixin(A,x)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(f,g,Me){var A={},x=function(){this.propagationStopped=!0},_=function(){this.defaultPrevented=!0};A._emit=A._dispatchEvent=function(c,u){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var i=this._eventRegistry[c]||[],o=this._defaultHandlers[c];if(!(!i.length&&!o)){(typeof u!="object"||!u)&&(u={}),u.type||(u.type=c),u.stopPropagation||(u.stopPropagation=x),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(c,u){var i=(this._eventRegistry||{})[c];if(i){i=i.slice();for(var o=0;o<i.length;o++)i[o](u,this)}},A.once=function(c,u){var i=this;if(this.on(c,function o(){i.off(c,o),u.apply(null,arguments)}),!u)return new Promise(function(o){u=o})},A.setDefaultHandler=function(c,u){var i=this._defaultHandlers;if(i||(i=this._defaultHandlers={_disabled_:{}}),i[c]){var o=i[c],r=i._disabled_[c];r||(i._disabled_[c]=r=[]),r.push(o);var t=r.indexOf(u);t!=-1&&r.splice(t,1)}i[c]=u},A.removeDefaultHandler=function(c,u){var i=this._defaultHandlers;if(i){var o=i._disabled_[c];if(i[c]==u)o&&this.setDefaultHandler(c,o.pop());else if(o){var r=o.indexOf(u);r!=-1&&o.splice(r,1)}}},A.on=A.addEventListener=function(c,u,i){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[c];return o||(o=this._eventRegistry[c]=[]),o.indexOf(u)==-1&&o[i?"unshift":"push"](u),u},A.off=A.removeListener=A.removeEventListener=function(c,u){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[c];if(i){var o=i.indexOf(u);o!==-1&&i.splice(o,1)}},A.removeAllListeners=function(c){c||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[c]=void 0),this._defaultHandlers&&(this._defaultHandlers[c]=void 0)},g.EventEmitter=A}),ace.define("ace/lib/report_error",["require","exports","module"],function(f,g,Me){g.reportError=function(x,_){var c=new Error(x);c.data=_,typeof console=="object"&&console.error&&console.error(c),setTimeout(function(){throw c})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(f,g,Me){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,Me){"no use strict";var A=f("./oop"),x=f("./event_emitter").EventEmitter,_=f("./report_error").reportError,c=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)||(e=Object.keys(e));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=c,r="dollarSigns"}return e.prototype.defineOptions=function(n,a,p){return n.$options||(this.$defaultOptions[a]=n.$options={}),Object.keys(p).forEach(function(v){var E=p[v];typeof E=="string"&&(E={forwardTo:E}),E.name||(E.name=v),n.$options[E.name]=E,"initialValue"in E&&(n["$"+E.name]=E.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 v=this.$defaultOptions[n]||(this.$defaultOptions[n]={});v[a]&&(v.forwardTo?this.setDefaultValue(v.forwardTo,a,p):v[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 v=o[n]||o[a]||a;return p&&(r==="dollarSigns"&&(v=v.replace(/\$(\$|[\d]+)/g,function(E,L){return L=="$"?"$":p[L]})),r==="curlyBrackets"&&(v=v.replace(/\{([^\}]+)\}/g,function(E,L){return p[L]}))),v},e})();t.prototype.warn=i,t.prototype.reportError=_,A.implement(t.prototype,x),g.AppConfig=t}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(f,g,Me){Me.exports=`.ace-tm .ace_gutter {
|
12
|
+
background: #f0f0f0;
|
13
|
+
color: #333;
|
14
|
+
}
|
15
|
+
|
16
|
+
.ace-tm .ace_print-margin {
|
17
|
+
width: 1px;
|
18
|
+
background: #e8e8e8;
|
19
|
+
}
|
20
|
+
|
21
|
+
.ace-tm .ace_fold {
|
22
|
+
background-color: #6B72E6;
|
23
|
+
}
|
24
|
+
|
25
|
+
.ace-tm {
|
26
|
+
background-color: #FFFFFF;
|
27
|
+
color: black;
|
28
|
+
}
|
29
|
+
|
30
|
+
.ace-tm .ace_cursor {
|
31
|
+
color: black;
|
32
|
+
}
|
33
|
+
|
34
|
+
.ace-tm .ace_invisible {
|
35
|
+
color: rgb(191, 191, 191);
|
36
|
+
}
|
37
|
+
|
38
|
+
.ace-tm .ace_storage,
|
39
|
+
.ace-tm .ace_keyword {
|
40
|
+
color: blue;
|
41
|
+
}
|
42
|
+
|
43
|
+
.ace-tm .ace_constant {
|
44
|
+
color: rgb(197, 6, 11);
|
45
|
+
}
|
46
|
+
|
47
|
+
.ace-tm .ace_constant.ace_buildin {
|
48
|
+
color: rgb(88, 72, 246);
|
49
|
+
}
|
50
|
+
|
51
|
+
.ace-tm .ace_constant.ace_language {
|
52
|
+
color: rgb(88, 92, 246);
|
53
|
+
}
|
54
|
+
|
55
|
+
.ace-tm .ace_constant.ace_library {
|
56
|
+
color: rgb(6, 150, 14);
|
57
|
+
}
|
58
|
+
|
59
|
+
.ace-tm .ace_invalid {
|
60
|
+
background-color: rgba(255, 0, 0, 0.1);
|
61
|
+
color: red;
|
62
|
+
}
|
63
|
+
|
64
|
+
.ace-tm .ace_support.ace_function {
|
65
|
+
color: rgb(60, 76, 114);
|
66
|
+
}
|
67
|
+
|
68
|
+
.ace-tm .ace_support.ace_constant {
|
69
|
+
color: rgb(6, 150, 14);
|
70
|
+
}
|
71
|
+
|
72
|
+
.ace-tm .ace_support.ace_type,
|
73
|
+
.ace-tm .ace_support.ace_class {
|
74
|
+
color: rgb(109, 121, 222);
|
75
|
+
}
|
76
|
+
|
77
|
+
.ace-tm .ace_keyword.ace_operator {
|
78
|
+
color: rgb(104, 118, 135);
|
79
|
+
}
|
80
|
+
|
81
|
+
.ace-tm .ace_string {
|
82
|
+
color: rgb(3, 106, 7);
|
83
|
+
}
|
84
|
+
|
85
|
+
.ace-tm .ace_comment {
|
86
|
+
color: rgb(76, 136, 107);
|
87
|
+
}
|
88
|
+
|
89
|
+
.ace-tm .ace_comment.ace_doc {
|
90
|
+
color: rgb(0, 102, 255);
|
91
|
+
}
|
92
|
+
|
93
|
+
.ace-tm .ace_comment.ace_doc.ace_tag {
|
94
|
+
color: rgb(128, 159, 191);
|
95
|
+
}
|
96
|
+
|
97
|
+
.ace-tm .ace_constant.ace_numeric {
|
98
|
+
color: rgb(0, 0, 205);
|
99
|
+
}
|
100
|
+
|
101
|
+
.ace-tm .ace_variable {
|
102
|
+
color: rgb(49, 132, 149);
|
103
|
+
}
|
104
|
+
|
105
|
+
.ace-tm .ace_xml-pe {
|
106
|
+
color: rgb(104, 104, 91);
|
107
|
+
}
|
108
|
+
|
109
|
+
.ace-tm .ace_entity.ace_name.ace_function {
|
110
|
+
color: #0000A2;
|
111
|
+
}
|
112
|
+
|
113
|
+
|
114
|
+
.ace-tm .ace_heading {
|
115
|
+
color: rgb(12, 7, 255);
|
116
|
+
}
|
117
|
+
|
118
|
+
.ace-tm .ace_list {
|
119
|
+
color:rgb(185, 6, 144);
|
120
|
+
}
|
121
|
+
|
122
|
+
.ace-tm .ace_meta.ace_tag {
|
123
|
+
color:rgb(0, 22, 142);
|
124
|
+
}
|
125
|
+
|
126
|
+
.ace-tm .ace_string.ace_regex {
|
127
|
+
color: rgb(255, 0, 0)
|
128
|
+
}
|
129
|
+
|
130
|
+
.ace-tm .ace_marker-layer .ace_selection {
|
131
|
+
background: rgb(181, 213, 255);
|
132
|
+
}
|
133
|
+
.ace-tm.ace_multiselect .ace_selection.ace_start {
|
134
|
+
box-shadow: 0 0 3px 0px white;
|
135
|
+
}
|
136
|
+
.ace-tm .ace_marker-layer .ace_step {
|
137
|
+
background: rgb(252, 255, 0);
|
138
|
+
}
|
139
|
+
|
140
|
+
.ace-tm .ace_marker-layer .ace_stack {
|
141
|
+
background: rgb(164, 229, 101);
|
142
|
+
}
|
143
|
+
|
144
|
+
.ace-tm .ace_marker-layer .ace_bracket {
|
145
|
+
margin: -1px 0 0 -1px;
|
146
|
+
border: 1px solid rgb(192, 192, 192);
|
147
|
+
}
|
148
|
+
|
149
|
+
.ace-tm .ace_marker-layer .ace_active-line {
|
150
|
+
background: rgba(0, 0, 0, 0.07);
|
151
|
+
}
|
152
|
+
|
153
|
+
.ace-tm .ace_gutter-active-line {
|
154
|
+
background-color : #dcdcdc;
|
155
|
+
}
|
156
|
+
|
157
|
+
.ace-tm .ace_marker-layer .ace_selected-word {
|
158
|
+
background: rgb(250, 250, 255);
|
159
|
+
border: 1px solid rgb(200, 200, 250);
|
160
|
+
}
|
161
|
+
|
162
|
+
.ace-tm .ace_indent-guide {
|
163
|
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
|
164
|
+
}
|
165
|
+
|
166
|
+
.ace-tm .ace_indent-guide-active {
|
167
|
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
|
168
|
+
}
|
169
|
+
`}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(f,g,Me){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,Me){"no use strict";var A=f("./lib/lang"),x=f("./lib/net"),_=f("./lib/dom"),c=f("./lib/app_config").AppConfig;Me.exports=g=new c;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 v=new RegExp("^"+e+"[\\-_]|[\\-_]"+e+"$","g");p=p.replace(v,"")}(!p||p==e)&&n.length>1&&(p=n[n.length-2]);var E=u[e+"Path"];return E==null?E=u.basePath:a=="/"&&(e=a=""),E&&E.slice(-1)!="/"&&(E+="/"),E+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 v=function(E){if(E&&!g.$loading[p])return e&&e(E);if(g.$loading[p]||(g.$loading[p]=[]),g.$loading[p].push(e),!(g.$loading[p].length>1)){var L=function(){i(p,function(S,b){b&&(g.$loaded[p]=b),g._emit("load.module",{name:p,module:b});var oe=g.$loading[p];g.$loading[p]=null,oe.forEach(function(Se){Se&&Se(b)})})};if(!g.get("packaged"))return L();x.loadScript(g.moduleUrl(p,a),L),r()}};if(g.dynamicModules[p])g.dynamicModules[p]().then(function(E){E.default?v(E.default):v(E)});else{try{n=this.$require(p)}catch{}v(n||g.$loaded[p])}},g.$require=function(t){if(typeof Me.require=="function"){var e="require";return Me[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.43.3"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(f,g,Me){f("./lib/fixoldbrowsers");var A=f("./config");A.setLoader(function(u,i){f([u],function(o){i(null,o)})});var x=(function(){return this||typeof window<"u"&&window})();Me.exports=function(u){A.init=_,A.$require=f,u.require=f},_(!0);function _(u){if(!(!x||!x.document)){A.set("packaged",u||f.packaged||Me.packaged||x.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 v=a.attributes,E=0,L=v.length;E<L;E++){var S=v[E];S.name.indexOf("data-ace-")===0&&(i[c(S.name.replace(/^data-ace-/,""))]=S.value)}var b=p.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);b&&(o=b[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 oe in i)typeof i[oe]<"u"&&A.set(oe,i[oe])}}function c(u){return u.replace(/-(.)/g,function(i,o){return o.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(f,g,Me){var A=(function(){function x(_,c,u,i){this.start={row:_,column:c},this.end={row:u,column:i}}return x.prototype.isEqual=function(_){return this.start.row===_.start.row&&this.end.row===_.end.row&&this.start.column===_.start.column&&this.end.column===_.end.column},x.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},x.prototype.contains=function(_,c){return this.compare(_,c)==0},x.prototype.compareRange=function(_){var c,u=_.end,i=_.start;return c=this.compare(u.row,u.column),c==1?(c=this.compare(i.row,i.column),c==1?2:c==0?1:0):c==-1?-2:(c=this.compare(i.row,i.column),c==-1?-1:c==1?42:0)},x.prototype.comparePoint=function(_){return this.compare(_.row,_.column)},x.prototype.containsRange=function(_){return this.comparePoint(_.start)==0&&this.comparePoint(_.end)==0},x.prototype.intersects=function(_){var c=this.compareRange(_);return c==-1||c==0||c==1},x.prototype.isEnd=function(_,c){return this.end.row==_&&this.end.column==c},x.prototype.isStart=function(_,c){return this.start.row==_&&this.start.column==c},x.prototype.setStart=function(_,c){typeof _=="object"?(this.start.column=_.column,this.start.row=_.row):(this.start.row=_,this.start.column=c)},x.prototype.setEnd=function(_,c){typeof _=="object"?(this.end.column=_.column,this.end.row=_.row):(this.end.row=_,this.end.column=c)},x.prototype.inside=function(_,c){return this.compare(_,c)==0?!(this.isEnd(_,c)||this.isStart(_,c)):!1},x.prototype.insideStart=function(_,c){return this.compare(_,c)==0?!this.isEnd(_,c):!1},x.prototype.insideEnd=function(_,c){return this.compare(_,c)==0?!this.isStart(_,c):!1},x.prototype.compare=function(_,c){return!this.isMultiLine()&&_===this.start.row?c<this.start.column?-1:c>this.end.column?1:0:_<this.start.row?-1:_>this.end.row?1:this.start.row===_?c>=this.start.column?0:-1:this.end.row===_?c<=this.end.column?0:1:0},x.prototype.compareStart=function(_,c){return this.start.row==_&&this.start.column==c?-1:this.compare(_,c)},x.prototype.compareEnd=function(_,c){return this.end.row==_&&this.end.column==c?1:this.compare(_,c)},x.prototype.compareInside=function(_,c){return this.end.row==_&&this.end.column==c?1:this.start.row==_&&this.start.column==c?-1:this.compare(_,c)},x.prototype.clipRows=function(_,c){if(this.end.row>c)var u={row:c+1,column:0};else if(this.end.row<_)var u={row:_,column:0};if(this.start.row>c)var i={row:c+1,column:0};else if(this.start.row<_)var i={row:_,column:0};return x.fromPoints(i||this.start,u||this.end)},x.prototype.extend=function(_,c){var u=this.compare(_,c);if(u==0)return this;if(u==-1)var i={row:_,column:c};else var o={row:_,column:c};return x.fromPoints(i||this.start,o||this.end)},x.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},x.prototype.isMultiLine=function(){return this.start.row!==this.end.row},x.prototype.clone=function(){return x.fromPoints(this.start,this.end)},x.prototype.collapseRows=function(){return this.end.column==0?new x(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new x(this.start.row,0,this.end.row,0)},x.prototype.toScreenRange=function(_){var c=_.documentToScreenPosition(this.start),u=_.documentToScreenPosition(this.end);return new x(c.row,c.column,u.row,u.column)},x.prototype.moveBy=function(_,c){this.start.row+=_,this.start.column+=c,this.end.row+=_,this.end.column+=c},x})();A.fromPoints=function(x,_){return new A(x.row,x.column,_.row,_.column)},A.comparePoints=function(x,_){return x.row-_.row||x.column-_.column},g.Range=A}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(f,g,Me){for(var A=f("./oop"),x={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},c=0;c<10;c++)_["Digit"+c]=48+c,_["Numpad"+c]=96+c,x.PRINTABLE_KEYS[48+c]=""+c,x.FUNCTION_KEYS[96+c]="Numpad"+c;for(var c=65;c<91;c++){var u=String.fromCharCode(c+32);_["Key"+u.toUpperCase()]=c,x.PRINTABLE_KEYS[c]=u}for(var c=1;c<13;c++)_["F"+c]=111+c,x.FUNCTION_KEYS[111+c]="F"+c;var i={Shift:16,Control:17,Alt:18,Meta:224};for(var o in i)_[o]=_[o+"Left"]=_[o+"Right"]=i[o];g.$codeToKeyCode=_,x.PRINTABLE_KEYS[173]="-";for(var r in x.FUNCTION_KEYS){var t=x.FUNCTION_KEYS[r].toLowerCase();x[t]=parseInt(r,10)}for(var r in x.PRINTABLE_KEYS){var t=x.PRINTABLE_KEYS[r].toLowerCase();x[t]=parseInt(r,10)}A.mixin(x,x.MODIFIER_KEYS),A.mixin(x,x.PRINTABLE_KEYS),A.mixin(x,x.FUNCTION_KEYS),x.enter=x.return,x.escape=x.esc,x.del=x.delete,(function(){for(var e=["cmd","ctrl","alt","shift"],n=Math.pow(2,e.length);n--;)x.KEY_MODS[n]=e.filter(function(a){return n&x.KEY_MODS[a]}).join("-")+"-"})(),x.KEY_MODS[0]="",x.KEY_MODS[-1]="input-",A.mixin(g,x),g.default=g,g.keyCodeToString=function(e){var n=x[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,Me){var A=f("./keys"),x=f("./useragent"),_=null,c=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(E,L,S){this.elem=E,this.type=L,this.callback=S}r.prototype.destroy=function(){e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var t=g.addListener=function(E,L,S,b){E.addEventListener(L,S,o()),b&&b.$toDestroy.push(new r(E,L,S))},e=g.removeListener=function(E,L,S){E.removeEventListener(L,S,o())};g.stopEvent=function(E){return g.stopPropagation(E),g.preventDefault(E),!1},g.stopPropagation=function(E){E.stopPropagation&&E.stopPropagation()},g.preventDefault=function(E){E.preventDefault&&E.preventDefault()},g.getButton=function(E){return E.type=="dblclick"?0:E.type=="contextmenu"||x.isMac&&E.ctrlKey&&!E.altKey&&!E.shiftKey?2:E.button},g.capture=function(E,L,S){var b=E&&E.ownerDocument||document;function oe(Se){L&&L(Se),S&&S(Se),e(b,"mousemove",L),e(b,"mouseup",oe),e(b,"dragstart",oe)}return t(b,"mousemove",L),t(b,"mouseup",oe),t(b,"dragstart",oe),oe},g.addMouseWheelListener=function(E,L,S){t(E,"wheel",function(b){var oe=.15,Se=b.deltaX||0,q=b.deltaY||0;switch(b.deltaMode){case b.DOM_DELTA_PIXEL:b.wheelX=Se*oe,b.wheelY=q*oe;break;case b.DOM_DELTA_LINE:var U=15;b.wheelX=Se*U,b.wheelY=q*U;break;case b.DOM_DELTA_PAGE:var lt=150;b.wheelX=Se*lt,b.wheelY=q*lt;break}L(b)},S)},g.addMultiMouseDownListener=function(E,L,S,b,oe){var Se=0,q,U,lt,G={2:"dblclick",3:"tripleclick",4:"quadclick"};function P(C){if(g.getButton(C)!==0?Se=0:C.detail>1?(Se++,Se>4&&(Se=1)):Se=1,x.isIE){var w=Math.abs(C.clientX-q)>5||Math.abs(C.clientY-U)>5;(!lt||w)&&(Se=1),lt&&clearTimeout(lt),lt=setTimeout(function(){lt=null},L[Se-1]||600),Se==1&&(q=C.clientX,U=C.clientY)}if(C._clicks=Se,S[b]("mousedown",C),Se>4)Se=0;else if(Se>1)return S[b](G[Se],C)}Array.isArray(E)||(E=[E]),E.forEach(function(C){t(C,"mousedown",P,oe)})};function n(E){return 0|(E.ctrlKey?1:0)|(E.altKey?2:0)|(E.shiftKey?4:0)|(E.metaKey?8:0)}g.getModifierString=function(E){return A.KEY_MODS[n(E)]};function a(E,L,S){var b=n(L);if(!S&&L.code&&(S=A.$codeToKeyCode[L.code]||S),!x.isMac&&_){if(L.getModifierState&&(L.getModifierState("OS")||L.getModifierState("Win"))&&(b|=8),_.altGr)if((3&b)!=3)_.altGr=0;else return;if(S===18||S===17){var oe=L.location;if(S===17&&oe===1)_[S]==1&&(c=L.timeStamp);else if(S===18&&b===3&&oe===2){var Se=L.timeStamp-c;Se<50&&(_.altGr=!0)}}}if(S in A.MODIFIER_KEYS&&(S=-1),!(!b&&S===13&&L.location===3&&(E(L,b,-S),L.defaultPrevented))){if(x.isChromeOS&&b&8){if(E(L,b,S),L.defaultPrevented)return;b&=-9}return!b&&!(S in A.FUNCTION_KEYS)&&!(S in A.PRINTABLE_KEYS)?!1:E(L,b,S)}}g.addCommandKeyListener=function(E,L,S){var b=null;t(E,"keydown",function(oe){_[oe.keyCode]=(_[oe.keyCode]||0)+1;var Se=a(L,oe,oe.keyCode);return b=oe.defaultPrevented,Se},S),t(E,"keypress",function(oe){b&&(oe.ctrlKey||oe.altKey||oe.shiftKey||oe.metaKey)&&(g.stopEvent(oe),b=null)},S),t(E,"keyup",function(oe){_[oe.keyCode]=null},S),_||(p(),t(window,"focus",p))};function p(){_=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!x.isOldIE){var v=1;g.nextTick=function(E,L){L=L||window;var S="zero-timeout-message-"+v++,b=function(oe){oe.data==S&&(g.stopPropagation(oe),e(L,"message",b),E())};t(L,"message",b),L.postMessage(S,"*")}}g.$idleBlocked=!1,g.onIdle=function(E,L){return setTimeout(function S(){g.$idleBlocked?setTimeout(S,100):E()},L)},g.$idleBlockId=null,g.blockIdle=function(E){g.$idleBlockId&&clearTimeout(g.$idleBlockId),g.$idleBlocked=!0,g.$idleBlockId=setTimeout(function(){g.$idleBlocked=!1},E||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(E){setTimeout(E,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(f,g,Me){var A;Me.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,Me){var A=f("../lib/event"),x=f("../config").nls,_=f("../lib/useragent"),c=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,v=p?/\s/:/\n/,E=_.isMobile,L=(function(){function S(b,oe){var Se=this;this.host=oe,this.text=c.createElement("textarea"),this.text.className="ace_text-input",this.text.setAttribute("wrap","off"),this.text.setAttribute("autocomplete","off"),this.text.setAttribute("autocorrect","off"),this.text.setAttribute("autocapitalize","off"),this.text.setAttribute("spellcheck","false"),this.text.style.opacity="0",b.insertBefore(this.text,b.firstChild),this.copied=!1,this.pasted=!1,this.inComposition=!1,this.sendingText=!1,this.tempStyle="",E||(this.text.style.fontSize="1px"),this.commandMode=!1,this.ignoreFocusEvents=!1,this.lastValue="",this.lastSelectionStart=0,this.lastSelectionEnd=0,this.lastRestoreEnd=0,this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,this.numberOfExtraLines=0;try{this.$isFocused=document.activeElement===this.text}catch{}this.cancelComposition=this.cancelComposition.bind(this),this.setAriaOptions({role:"textbox"}),A.addListener(this.text,"blur",function(q){Se.ignoreFocusEvents||(oe.onBlur(q),Se.$isFocused=!1)},oe),A.addListener(this.text,"focus",function(q){if(!Se.ignoreFocusEvents){if(Se.$isFocused=!0,_.isEdge)try{if(!document.hasFocus())return}catch{}oe.onFocus(q),_.isEdge?setTimeout(Se.resetSelection.bind(Se)):Se.resetSelection()}},oe),this.$focusScroll=!1,oe.on("beforeEndOperation",function(){var q=oe.curOp,U=q&&q.command&&q.command.name;if(U!="insertstring"){var lt=U&&(q.docChanged||q.selectionChanged);Se.inComposition&<&&(Se.lastValue=Se.text.value="",Se.onCompositionEnd()),Se.resetSelection()}}),oe.on("changeSelection",this.setAriaLabel.bind(this)),this.resetSelection=p?this.$resetSelectionIOS:this.$resetSelection,this.$isFocused&&oe.onFocus(),this.inputHandler=null,this.afterContextMenu=!1,A.addCommandKeyListener(this.text,function(q,U,lt){if(!Se.inComposition)return oe.onCommandKey(q,U,lt)},oe),A.addListener(this.text,"select",this.onSelect.bind(this),oe),A.addListener(this.text,"input",this.onInput.bind(this),oe),A.addListener(this.text,"cut",this.onCut.bind(this),oe),A.addListener(this.text,"copy",this.onCopy.bind(this),oe),A.addListener(this.text,"paste",this.onPaste.bind(this),oe),(!("oncut"in this.text)||!("oncopy"in this.text)||!("onpaste"in this.text))&&A.addListener(b,"keydown",function(q){if(!(_.isMac&&!q.metaKey||!q.ctrlKey))switch(q.keyCode){case 67:Se.onCopy(q);break;case 86:Se.onPaste(q);break;case 88:Se.onCut(q);break}},oe),this.syncComposition=u.delayedCall(this.onCompositionUpdate.bind(this),50).schedule.bind(null,null),A.addListener(this.text,"compositionstart",this.onCompositionStart.bind(this),oe),A.addListener(this.text,"compositionupdate",this.onCompositionUpdate.bind(this),oe),A.addListener(this.text,"keyup",this.onKeyup.bind(this),oe),A.addListener(this.text,"keydown",this.syncComposition.bind(this),oe),A.addListener(this.text,"compositionend",this.onCompositionEnd.bind(this),oe),this.closeTimeout,A.addListener(this.text,"mouseup",this.$onContextMenu.bind(this),oe),A.addListener(this.text,"mousedown",function(q){q.preventDefault(),Se.onContextMenuClose()},oe),A.addListener(oe.renderer.scroller,"contextmenu",this.$onContextMenu.bind(this),oe),A.addListener(this.text,"contextmenu",this.$onContextMenu.bind(this),oe),p&&this.addIosSelectionHandler(b,oe,this.text)}return S.prototype.addIosSelectionHandler=function(b,oe,Se){var q=this,U=null,lt=!1;Se.addEventListener("keydown",function(P){U&&clearTimeout(U),lt=!0},!0),Se.addEventListener("keyup",function(P){U=setTimeout(function(){lt=!1},100)},!0);var G=function(P){if(document.activeElement===Se&&!(lt||q.inComposition||oe.$mouseHandler.isMousePressed)&&!q.copied){var C=Se.selectionStart,w=Se.selectionEnd,D=null,Re=0;if(C==0?D=n.up:C==1?D=n.home:w>q.lastSelectionEnd&&q.lastValue[w]==`
|
170
|
+
`?D=n.end:C<q.lastSelectionStart&&q.lastValue[C-1]==" "?(D=n.left,Re=a.option):C<q.lastSelectionStart||C==q.lastSelectionStart&&q.lastSelectionEnd!=q.lastSelectionStart&&C==w?D=n.left:w>q.lastSelectionEnd&&q.lastValue.slice(0,w).split(`
|
171
|
+
`).length>2?D=n.down:w>q.lastSelectionEnd&&q.lastValue[w-1]==" "?(D=n.right,Re=a.option):(w>q.lastSelectionEnd||w==q.lastSelectionEnd&&q.lastSelectionEnd!=q.lastSelectionStart&&C==w)&&(D=n.right),C!==w&&(Re|=a.shift),D){var at=oe.onCommandKey({},Re,D);if(!at&&oe.commands){D=n.keyCodeToString(D);var ct=oe.commands.findKeyCommand(Re,D);ct&&oe.execCommand(ct)}q.lastSelectionStart=C,q.lastSelectionEnd=w,q.resetSelection("")}}};document.addEventListener("selectionchange",G),oe.on("destroy",function(){document.removeEventListener("selectionchange",G)})},S.prototype.onContextMenuClose=function(){var b=this;clearTimeout(this.closeTimeout),this.closeTimeout=setTimeout(function(){b.tempStyle&&(b.text.style.cssText=b.tempStyle,b.tempStyle=""),b.host.renderer.$isMousePressed=!1,b.host.renderer.$keepTextAreaAtCursor&&b.host.renderer.$moveTextAreaToCursor()},0)},S.prototype.$onContextMenu=function(b){this.host.textInput.onContextMenu(b),this.onContextMenuClose()},S.prototype.onKeyup=function(b){b.keyCode==27&&this.text.value.length<this.text.selectionStart&&(this.inComposition||(this.lastValue=this.text.value),this.lastSelectionStart=this.lastSelectionEnd=-1,this.resetSelection()),this.syncComposition()},S.prototype.cancelComposition=function(){this.ignoreFocusEvents=!0,this.text.blur(),this.text.focus(),this.ignoreFocusEvents=!1},S.prototype.onCompositionStart=function(b){if(!(this.inComposition||!this.host.onCompositionStart||this.host.$readOnly)&&(this.inComposition={},!this.commandMode)){b.data&&(this.inComposition.useTextareaForIME=!1),setTimeout(this.onCompositionUpdate.bind(this),0),this.host._signal("compositionStart"),this.host.on("mousedown",this.cancelComposition);var oe=this.host.getSelectionRange();oe.end.row=oe.start.row,oe.end.column=oe.start.column,this.inComposition.markerRange=oe,this.inComposition.selectionStart=this.lastSelectionStart,this.host.onCompositionStart(this.inComposition),this.inComposition.useTextareaForIME?(this.lastValue=this.text.value="",this.lastSelectionStart=0,this.lastSelectionEnd=0):(this.text.msGetInputContext&&(this.inComposition.context=this.text.msGetInputContext()),this.text.getInputContext&&(this.inComposition.context=this.text.getInputContext()))}},S.prototype.onCompositionUpdate=function(){if(!(!this.inComposition||!this.host.onCompositionUpdate||this.host.$readOnly)){if(this.commandMode)return this.cancelComposition();if(this.inComposition.useTextareaForIME)this.host.onCompositionUpdate(this.text.value);else{var b=this.text.value;this.sendText(b),this.inComposition.markerRange&&(this.inComposition.context&&(this.inComposition.markerRange.start.column=this.inComposition.selectionStart=this.inComposition.context.compositionStartOffset),this.inComposition.markerRange.end.column=this.inComposition.markerRange.start.column+this.lastSelectionEnd-this.inComposition.selectionStart+this.lastRestoreEnd)}}},S.prototype.onCompositionEnd=function(b){!this.host.onCompositionEnd||this.host.$readOnly||(this.inComposition=!1,this.host.onCompositionEnd(),this.host.off("mousedown",this.cancelComposition),b&&this.onInput())},S.prototype.onCut=function(b){this.doCopy(b,!0)},S.prototype.onCopy=function(b){this.doCopy(b,!1)},S.prototype.onPaste=function(b){var oe=this.handleClipboardData(b);i.pasteCancelled()||(typeof oe=="string"?(oe&&this.host.onPaste(oe,b),_.isIE&&setTimeout(this.resetSelection),A.preventDefault(b)):(this.text.value="",this.pasted=!0))},S.prototype.doCopy=function(b,oe){var Se=this,q=this.host.getCopyText();if(!q)return A.preventDefault(b);this.handleClipboardData(b,q)?(p&&(this.resetSelection(q),this.copied=q,setTimeout(function(){Se.copied=!1},10)),oe?this.host.onCut():this.host.onCopy(),A.preventDefault(b)):(this.copied=!0,this.text.value=q,this.text.select(),setTimeout(function(){Se.copied=!1,Se.resetSelection(),oe?Se.host.onCut():Se.host.onCopy()}))},S.prototype.handleClipboardData=function(b,oe,Se){var q=b.clipboardData||window.clipboardData;if(!(!q||o)){var U=r||Se?"Text":"text/plain";try{return oe?q.setData(U,oe)!==!1:q.getData(U)}catch(lt){if(!Se)return this.handleClipboardData(lt,oe,!0)}}},S.prototype.onInput=function(b){if(this.inComposition)return this.onCompositionUpdate();if(b&&b.inputType){if(b.inputType=="historyUndo")return this.host.execCommand("undo");if(b.inputType=="historyRedo")return this.host.execCommand("redo")}var oe=this.text.value,Se=this.sendText(oe,!0);(oe.length>e+100||v.test(Se)||E&&this.lastSelectionStart<1&&this.lastSelectionStart==this.lastSelectionEnd)&&this.resetSelection()},S.prototype.sendText=function(b,oe){if(this.afterContextMenu&&(this.afterContextMenu=!1),this.pasted)return this.resetSelection(),b&&this.host.onPaste(b),this.pasted=!1,"";for(var Se=this.text.selectionStart,q=this.text.selectionEnd,U=this.lastSelectionStart,lt=this.lastValue.length-this.lastSelectionEnd,G=b,P=b.length-Se,C=b.length-q,w=0;U>0&&this.lastValue[w]==b[w];)w++,U--;for(G=G.slice(w),w=1;lt>0&&this.lastValue.length-w>this.lastSelectionStart-1&&this.lastValue[this.lastValue.length-w]==b[b.length-w];)w++,lt--;P-=w-1,C-=w-1;var D=G.length-w+1;if(D<0&&(U=-D,D=0),G=G.slice(0,D),!oe&&!G&&!P&&!U&&!lt&&!C)return"";this.sendingText=!0;var Re=!1;return _.isAndroid&&G==". "&&(G=" ",Re=!0),G&&!U&&!lt&&!P&&!C||this.commandMode?this.host.onTextInput(G):this.host.onTextInput(G,{extendLeft:U,extendRight:lt,restoreStart:P,restoreEnd:C}),this.sendingText=!1,this.lastValue=b,this.lastSelectionStart=Se,this.lastSelectionEnd=q,this.lastRestoreEnd=C,Re?`
|
172
|
+
`:G},S.prototype.onSelect=function(b){var oe=this;if(!this.inComposition){var Se=function(q){return q.selectionStart===0&&q.selectionEnd>=oe.lastValue.length&&q.value===oe.lastValue&&oe.lastValue&&q.selectionEnd!==oe.lastSelectionEnd};this.copied?this.copied=!1:Se(this.text)?(this.host.selectAll(),this.resetSelection()):E&&this.text.selectionStart!=this.lastSelectionStart&&this.resetSelection()}},S.prototype.$resetSelectionIOS=function(b){if(!(!this.$isFocused||this.copied&&!b||this.sendingText)){b||(b="");var oe=`
|
173
|
+
ab`+b+`cde fg
|
174
|
+
`;oe!=this.text.value&&(this.text.value=this.lastValue=oe);var Se=4,q=4+(b.length||(this.host.selection.isEmpty()?0:1));(this.lastSelectionStart!=Se||this.lastSelectionEnd!=q)&&this.text.setSelectionRange(Se,q),this.lastSelectionStart=Se,this.lastSelectionEnd=q}},S.prototype.$resetSelection=function(){var b=this;if(!(this.inComposition||this.sendingText)&&!(!this.$isFocused&&!this.afterContextMenu)){this.inComposition=!0;var oe=0,Se=0,q="",U=function(ct,ut){for(var Dt=ut,Jt=1;Jt<=ct-b.rowStart&&Jt<2*b.numberOfExtraLines+1;Jt++)Dt+=b.host.session.getLine(ct-Jt).length+1;return Dt};if(this.host.session){var lt=this.host.selection,G=lt.getRange(),P=lt.cursor.row;P===this.rowEnd+1?(this.rowStart=this.rowEnd+1,this.rowEnd=this.rowStart+2*this.numberOfExtraLines):P===this.rowStart-1?(this.rowEnd=this.rowStart-1,this.rowStart=this.rowEnd-2*this.numberOfExtraLines):(P<this.rowStart-1||P>this.rowEnd+1)&&(this.rowStart=P>this.numberOfExtraLines?P-this.numberOfExtraLines:0,this.rowEnd=P>this.numberOfExtraLines?P+this.numberOfExtraLines:2*this.numberOfExtraLines);for(var C=[],w=this.rowStart;w<=this.rowEnd;w++)C.push(this.host.session.getLine(w));if(q=C.join(`
|
175
|
+
`),oe=U(G.start.row,G.start.column),Se=U(G.end.row,G.end.column),G.start.row<this.rowStart){var D=this.host.session.getLine(this.rowStart-1);oe=G.start.row<this.rowStart-1?0:oe,Se+=D.length+1,q=D+`
|
176
|
+
`+q}else if(G.end.row>this.rowEnd){var Re=this.host.session.getLine(this.rowEnd+1);Se=G.end.row>this.rowEnd+1?Re.length:G.end.column,Se+=q.length+1,q=q+`
|
177
|
+
`+Re}else E&&P>0&&(q=`
|
178
|
+
`+q,Se+=1,oe+=1);q.length>e&&(oe<e&&Se<e?q=q.slice(0,e):(q=`
|
179
|
+
`,oe==Se?oe=Se=0:(oe=0,Se=1)));var at=q+`
|
180
|
+
|
181
|
+
`;at!=this.lastValue&&(this.text.value=this.lastValue=at,this.lastSelectionStart=this.lastSelectionEnd=at.length)}if(this.afterContextMenu&&(this.lastSelectionStart=this.text.selectionStart,this.lastSelectionEnd=this.text.selectionEnd),this.lastSelectionEnd!=Se||this.lastSelectionStart!=oe||this.text.selectionEnd!=this.lastSelectionEnd)try{this.text.setSelectionRange(oe,Se),this.lastSelectionStart=oe,this.lastSelectionEnd=Se}catch{}this.inComposition=!1}},S.prototype.setHost=function(b){this.host=b},S.prototype.setNumberOfExtraLines=function(b){if(this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,b<0){this.numberOfExtraLines=0;return}this.numberOfExtraLines=b},S.prototype.setAriaLabel=function(){var b="";if(this.host.$textInputAriaLabel&&(b+="".concat(this.host.$textInputAriaLabel,", ")),this.host.session){var oe=this.host.session.selection.cursor.row;b+=x("text-input.aria-label","Cursor at row $0",[oe+1])}this.text.setAttribute("aria-label",b)},S.prototype.setAriaOptions=function(b){b.activeDescendant?(this.text.setAttribute("aria-haspopup","true"),this.text.setAttribute("aria-autocomplete",b.inline?"both":"list"),this.text.setAttribute("aria-activedescendant",b.activeDescendant)):(this.text.setAttribute("aria-haspopup","false"),this.text.setAttribute("aria-autocomplete","both"),this.text.removeAttribute("aria-activedescendant")),b.role&&this.text.setAttribute("role",b.role),b.setLabel&&(this.text.setAttribute("aria-roledescription",x("text-input.aria-roledescription","editor")),this.setAriaLabel())},S.prototype.focus=function(){var b=this;if(this.setAriaOptions({setLabel:this.host.renderer.enableKeyboardAccessibility}),this.tempStyle||t||this.$focusScroll=="browser")return this.text.focus({preventScroll:!0});var oe=this.text.style.top;this.text.style.position="fixed",this.text.style.top="0px";try{var Se=this.text.getBoundingClientRect().top!=0}catch{return}var q=[];if(Se)for(var U=this.text.parentElement;U&&U.nodeType==1;)q.push(U),U.setAttribute("ace_nocontext","true"),!U.parentElement&&U.getRootNode?U=U.getRootNode().host:U=U.parentElement;this.text.focus({preventScroll:!0}),Se&&q.forEach(function(lt){lt.removeAttribute("ace_nocontext")}),setTimeout(function(){b.text.style.position="",b.text.style.top=="0px"&&(b.text.style.top=oe)},0)},S.prototype.blur=function(){this.text.blur()},S.prototype.isFocused=function(){return this.$isFocused},S.prototype.setInputHandler=function(b){this.inputHandler=b},S.prototype.getInputHandler=function(){return this.inputHandler},S.prototype.getElement=function(){return this.text},S.prototype.setCommandMode=function(b){this.commandMode=b,this.text.readOnly=!1},S.prototype.setReadOnly=function(b){this.commandMode||(this.text.readOnly=b)},S.prototype.setCopyWithEmptySelection=function(b){},S.prototype.onContextMenu=function(b){this.afterContextMenu=!0,this.resetSelection(),this.host._emit("nativecontextmenu",{target:this.host,domEvent:b}),this.moveToMouse(b,!0)},S.prototype.moveToMouse=function(b,oe){var Se=this;this.tempStyle||(this.tempStyle=this.text.style.cssText),this.text.style.cssText=(oe?"z-index:100000;":"")+(_.isIE?"opacity:0.1;":"")+"text-indent: -"+(this.lastSelectionStart+this.lastSelectionEnd)*this.host.renderer.characterWidth*.5+"px;";var q=this.host.container.getBoundingClientRect(),U=c.computedStyle(this.host.container),lt=q.top+(parseInt(U.borderTopWidth)||0),G=q.left+(parseInt(U.borderLeftWidth)||0),P=q.bottom-lt-this.text.clientHeight-2,C=function(w){c.translate(Se.text,w.clientX-G-2,Math.min(w.clientY-lt-2,P))};C(b),b.type=="mousedown"&&(this.host.renderer.$isMousePressed=!0,clearTimeout(this.closeTimeout),_.isWin&&A.capture(this.host.container,C,this.onContextMenuClose.bind(this)))},S.prototype.destroy=function(){this.text.parentElement&&this.text.parentElement.removeChild(this.text)},S})();g.TextInput=L,g.$setUserAgentForTests=function(S,b){E=S,p=b}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(f,g,Me){var A=f("../lib/useragent"),x=0,_=550,c=(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(),v=p.isEmpty();(v||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),v=this.$clickSelection.comparePoint(a.end);if(p==-1&&v<=0)t=this.$clickSelection.end,(a.end.row!=n.row||a.end.column!=n.column)&&(n=a.start);else if(v==1&&p>=0)t=this.$clickSelection.start,(a.start.row!=n.row||a.start.column!=n.column)&&(n=a.end);else if(p==-1&&v==1)n=a.end,t=a.start;else{var E=i(this.$clickSelection,n);n=E.cursor,t=E.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>x||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,v=a?r.wheelY/a:e.vy;a<_&&(p=(p+e.vx)/2,v=(v+e.vy)/2);var E=Math.abs(p/v),L=!1;if(E>=1&&t.renderer.isScrollableBy(r.wheelX*r.speed,0)&&(L=!0),E<=1&&t.renderer.isScrollableBy(0,r.wheelY*r.speed)&&(L=!0),L)e.allowed=n;else if(n-e.allowed<_){var S=Math.abs(p)<=1.5*Math.abs(e.vx)&&Math.abs(v)<=1.5*Math.abs(e.vy);S?(L=!0,e.allowed=n):e.allowed=0}if(e.t=n,e.vx=p,e.vy=v,L)return t.renderer.scrollBy(r.wheelX*r.speed,r.wheelY*r.speed),r.stop()}},o})();c.prototype.selectEnd=c.prototype.selectByLinesEnd,c.prototype.selectAllEnd=c.prototype.selectByLinesEnd,c.prototype.selectByWordsEnd=c.prototype.selectByLinesEnd,g.DefaultHandlers=c;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,Me){g.preventParentScroll=function(x){x.stopPropagation();var _=x.currentTarget,c=_.scrollHeight>_.clientHeight;c||x.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(f,g,Me){var A=this&&this.__extends||(function(){var n=function(a,p){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,E){v.__proto__=E}||function(v,E){for(var L in E)Object.prototype.hasOwnProperty.call(E,L)&&(v[L]=E[L])},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 v(){this.constructor=a}a.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}})(),x=this&&this.__values||function(n){var a=typeof Symbol=="function"&&Symbol.iterator,p=a&&n[a],v=0;if(p)return p.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&v>=n.length&&(n=void 0),{value:n&&n[v++],done:!n}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")},_=f("./lib/dom");f("./lib/event");var c=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){var v=this.getElement(),E=v.offsetParent&&v.offsetParent.getBoundingClientRect();v.style.left=a-(E?E.left:0)+"px",v.style.top=p-(E?E.top:0)+"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,v){a!=null&&this.setText(a),p!=null&&v!=null&&this.setPosition(p,v),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,v,E;this.popups.sort(function(G,P){return P.priority-G.priority});var L=[];try{for(var S=x(this.popups),b=S.next();!b.done;b=S.next()){var oe=b.value,Se=!0;try{for(var q=(v=void 0,x(L)),U=q.next();!U.done;U=q.next()){var lt=U.value;if(this.doPopupsOverlap(lt,oe)){Se=!1;break}}}catch(G){v={error:G}}finally{try{U&&!U.done&&(E=q.return)&&E.call(q)}finally{if(v)throw v.error}}Se?L.push(oe):oe.hide()}}catch(G){a={error:G}}finally{try{b&&!b.done&&(p=S.return)&&p.call(S)}finally{if(a)throw a.error}}},n.prototype.doPopupsOverlap=function(a,p){var v=a.getElement().getBoundingClientRect(),E=p.getElement().getBoundingClientRect();return v.left<E.right&&v.right>E.left&&v.top<E.bottom&&v.bottom>E.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 v=n.call(this,p)||this;v.timeout=void 0,v.lastT=0,v.idleTime=350,v.lastEvent=void 0,v.onMouseOut=v.onMouseOut.bind(v),v.onMouseMove=v.onMouseMove.bind(v),v.waitForHover=v.waitForHover.bind(v),v.hide=v.hide.bind(v);var E=v.getElement();return E.style.whiteSpace="pre-wrap",E.style.pointerEvents="auto",E.addEventListener("mouseout",v.onMouseOut),E.tabIndex=-1,E.addEventListener("blur",(function(){E.contains(document.activeElement)||this.hide()}).bind(v)),E.addEventListener("wheel",u),v}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,v){this.lastEvent=p,this.lastT=Date.now();var E=v.$mouseHandler.isMousePressed;if(this.isOpen){var L=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(L.row,L.column)||E||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||E||(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 v=p.editor,E=p.getDocumentPosition(),L=v.session.getLine(E.row);if(E.column==L.length){var S=v.renderer.pixelToScreenCoordinates(p.clientX,p.clientY),b=v.session.documentToScreenPosition(E.row,E.column);if(b.column!=S.column||b.row!=S.row)return!0}return!1},a.prototype.setDataProvider=function(p){this.$gatherData=p},a.prototype.showForRange=function(p,v,E,L){var S=10;if(!(L&&L!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var b=p.renderer;this.isOpen||(t.addPopup(this),this.$registerCloseEvents(),this.setTheme(b.theme)),this.isOpen=!0,this.addMarker(v,p.session),this.range=c.fromPoints(v.start,v.end);var oe=b.textToScreenCoordinates(v.start.row,v.start.column),Se=b.scroller.getBoundingClientRect();oe.pageX<Se.left&&(oe.pageX=Se.left);var q=this.getElement();q.innerHTML="",q.appendChild(E),q.style.maxHeight="",q.style.display="block";var U=q.clientHeight,lt=q.clientWidth,G=window.innerHeight-oe.pageY-b.lineHeight,P=!0;oe.pageY-U<0&&oe.pageY<G&&(P=!1),q.style.maxHeight=(P?oe.pageY:G)-S+"px",q.style.top=P?"":oe.pageY+b.lineHeight+"px",q.style.bottom=P?window.innerHeight-oe.pageY+"px":"",q.style.left=Math.min(oe.pageX,window.innerWidth-lt-S)+"px"}},a.prototype.addMarker=function(p,v){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=v,this.marker=v&&v.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,Me){var A=this&&this.__extends||(function(){var n=function(a,p){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,E){v.__proto__=E}||function(v,E){for(var L in E)Object.prototype.hasOwnProperty.call(E,L)&&(v[L]=E[L])},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 v(){this.constructor=a}a.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}})(),x=this&&this.__values||function(n){var a=typeof Symbol=="function"&&Symbol.iterator,p=a&&n[a],v=0;if(p)return p.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&v>=n.length&&(n=void 0),{value:n&&n[v++],done:!n}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")},_=f("../lib/dom"),c=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,v=new e(a,!0);n.editor.setDefaultHandler("guttermousedown",function(Se){if(!(!a.isFocused()||Se.getButton()!=0)){var q=p.getRegion(Se);if(q!="foldWidgets"){var U=Se.getDocumentPosition().row,lt=a.session.selection;if(Se.getShiftKey())lt.selectTo(U,0);else{if(Se.domEvent.detail==2)return a.selectAll(),Se.preventDefault();n.$clickSelection=a.selection.getLineRange(U)}return n.setState("selectByLines"),n.captureMouse(Se),Se.preventDefault()}}});var E,L;function S(){var Se=L.getDocumentPosition().row,q=a.session.getLength();if(Se==q){var U=a.renderer.pixelToScreenCoordinates(0,L.y).row,lt=L.$pos;if(U>a.session.documentToScreenRow(lt.row,lt.column))return b()}if(v.showTooltip(Se),!!v.isOpen)if(a.on("mousewheel",b),a.on("changeSession",b),window.addEventListener("keydown",b,!0),n.$tooltipFollowsMouse)oe(L);else{var G=L.getGutterRow(),P=p.$lines.get(G);if(P){var C=P.element.querySelector(".ace_gutter_annotation"),w=C.getBoundingClientRect(),D=v.getElement().style;D.left=w.right-o+"px",D.top=w.bottom-r+"px"}else oe(L)}}function b(Se){Se&&Se.type==="keydown"&&(Se.ctrlKey||Se.metaKey)||Se&&Se.type==="mouseout"&&(!Se.relatedTarget||v.getElement().contains(Se.relatedTarget))||(E&&(E=clearTimeout(E)),v.isOpen&&(v.hideTooltip(),a.off("mousewheel",b),a.off("changeSession",b),window.removeEventListener("keydown",b,!0)))}function oe(Se){v.setPosition(Se.x,Se.y)}n.editor.setDefaultHandler("guttermousemove",function(Se){var q=Se.domEvent.target||Se.domEvent.srcElement;if(_.hasCssClass(q,"ace_fold-widget")||_.hasCssClass(q,"ace_custom-widget"))return b();v.isOpen&&n.$tooltipFollowsMouse&&oe(Se),L=Se,!E&&(E=setTimeout(function(){E=null,L&&!n.isMousePressed&&S()},50))}),c.addListener(a.renderer.$gutter,"mouseout",function(Se){L=null,v.isOpen&&(E=setTimeout(function(){E=null,b(Se)},50))},a)}g.GutterHandler=t;var e=(function(n){A(a,n);function a(p,v){v===void 0&&(v=!1);var E=n.call(this,p.container)||this;E.id="gt"+ ++a.$uid,E.editor=p,E.visibleTooltipRow;var L=E.getElement();return L.setAttribute("role","tooltip"),L.setAttribute("id",E.id),L.style.pointerEvents="auto",v&&(E.onMouseOut=E.onMouseOut.bind(E),L.addEventListener("mouseout",E.onMouseOut)),E}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,v){var E=window.innerWidth||document.documentElement.clientWidth,L=window.innerHeight||document.documentElement.clientHeight,S=this.getWidth(),b=this.getHeight();p+=15,v+=15,p+S>E&&(p-=p+S-E),v+b>L&&(v-=20+b),u.prototype.setPosition.call(this,p,v)},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 v,E=this.editor.renderer.$gutterLayer,L=E.$annotations[p],S;L?S={displayText:Array.from(L.displayText),type:Array.from(L.type)}:S={displayText:[],type:[]};var b=E.session.getFoldLine(p);if(b&&E.$showFoldedAnnotations){for(var oe={error:[],security:[],warning:[],info:[],hint:[]},Se={error:1,security:2,warning:3,info:4,hint:5},q,U=p+1;U<=b.end.row;U++)if(E.$annotations[U])for(var lt=0;lt<E.$annotations[U].text.length;lt++){var G=E.$annotations[U].type[lt];oe[G].push(E.$annotations[U].text[lt]),(!q||Se[G]<Se[q])&&(q=G)}if(["error","security","warning"].includes(q)){var P="".concat(a.annotationsToSummaryString(oe)," in folded code.");S.displayText.push(P),S.type.push(q+"_fold")}}if(S.displayText.length===0)return this.hideTooltip();for(var C={error:[],security:[],warning:[],info:[],hint:[]},w=E.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",U=0;U<S.displayText.length;U++){var D=_.createElement("span"),Re=_.createElement("span");(v=Re.classList).add.apply(v,["ace_".concat(S.type[U]),w]),Re.setAttribute("aria-label","".concat(a.annotationLabels[S.type[U].replace("_fold","")].singular)),Re.setAttribute("role","img"),Re.appendChild(_.createTextNode(" ")),D.appendChild(Re),D.appendChild(_.createTextNode(S.displayText[U])),D.appendChild(_.createElement("br")),C[S.type[U].replace("_fold","")].push(D)}var at=this.getElement();_.removeChildren(at),C.error.forEach(function(ut){return at.appendChild(ut)}),C.security.forEach(function(ut){return at.appendChild(ut)}),C.warning.forEach(function(ut){return at.appendChild(ut)}),C.info.forEach(function(ut){return at.appendChild(ut)}),C.hint.forEach(function(ut){return at.appendChild(ut)}),at.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip"));var ct=this.$findLinkedAnnotationNode(p);ct&&ct.setAttribute("aria-describedby",this.id),this.show(),this.visibleTooltipRow=p,this.editor._signal("showGutterTooltip",this)},a.prototype.$findLinkedAnnotationNode=function(p){var v=this.$findCellByRow(p);if(v){var E=v.element;if(E.childNodes.length>2)return E.childNodes[2]}},a.prototype.$findCellByRow=function(p){return this.editor.renderer.$gutterLayer.$lines.cells.find(function(v){return v.row===p})},a.prototype.hideTooltip=function(){if(this.isOpen){if(this.$element.removeAttribute("aria-live"),this.hide(),this.visibleTooltipRow!=null){var p=this.$findLinkedAnnotationNode(this.visibleTooltipRow);p&&p.removeAttribute("aria-describedby")}this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this)}},a.annotationsToSummaryString=function(p){var v,E,L=[],S=["error","security","warning","info","hint"];try{for(var b=x(S),oe=b.next();!oe.done;oe=b.next()){var Se=oe.value;if(p[Se].length){var q=p[Se].length===1?a.annotationLabels[Se].singular:a.annotationLabels[Se].plural;L.push("".concat(p[Se].length," ").concat(q))}}}catch(U){v={error:U}}finally{try{oe&&!oe.done&&(E=b.return)&&E.call(b)}finally{if(v)throw v.error}}return L.join(", ")},a})(u);e.$uid=0,g.GutterTooltip=e}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(f,g,Me){var A=f("../lib/event"),x=f("../lib/useragent"),_=(function(){function c(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 c.prototype.stopPropagation=function(){A.stopPropagation(this.domEvent),this.propagationStopped=!0},c.prototype.preventDefault=function(){A.preventDefault(this.domEvent),this.defaultPrevented=!0},c.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},c.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},c.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},c.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},c.prototype.getButton=function(){return A.getButton(this.domEvent)},c.prototype.getShiftKey=function(){return this.domEvent.shiftKey},c.prototype.getAccelKey=function(){return x.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},c})();g.MouseEvent=_}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(f,g,Me){var A=f("../lib/dom"),x=f("../lib/event"),_=f("../lib/useragent"),c=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(Wt){t[Wt]=this[Wt]},this),e.on("mousedown",this.onMouseDown.bind(t));var p=e.container,v,E,L,S,b,oe,Se=0,q,U,lt,G,P;this.onDragStart=function(Wt){if(this.cancelDrag||!p.draggable){var zt=this;return setTimeout(function(){zt.startSelect(),zt.captureMouse(Wt)},0),Wt.preventDefault()}b=e.getSelectionRange();var Vt=Wt.dataTransfer;Vt.effectAllowed=e.getReadOnly()?"copy":"copyMove",e.container.appendChild(n),Vt.setDragImage&&Vt.setDragImage(n,0,0),setTimeout(function(){e.container.removeChild(n)}),Vt.clearData(),Vt.setData("Text",e.session.getTextRange()),U=!0,this.setState("drag")},this.onDragEnd=function(Wt){if(p.draggable=!1,U=!1,this.setState(null),!e.getReadOnly()){var zt=Wt.dataTransfer.dropEffect;!q&&zt=="move"&&e.session.remove(e.getSelectionRange()),e.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(Wt){if(!(e.getReadOnly()||!Dt(Wt.dataTransfer)))return E=Wt.clientX,L=Wt.clientY,v||Re(),Se++,Wt.dataTransfer.dropEffect=q=Jt(Wt),x.preventDefault(Wt)},this.onDragOver=function(Wt){if(!(e.getReadOnly()||!Dt(Wt.dataTransfer)))return E=Wt.clientX,L=Wt.clientY,v||(Re(),Se++),ct!==null&&(ct=null),Wt.dataTransfer.dropEffect=q=Jt(Wt),x.preventDefault(Wt)},this.onDragLeave=function(Wt){if(Se--,Se<=0&&v)return at(),q=null,x.preventDefault(Wt)},this.onDrop=function(Wt){if(oe){var zt=Wt.dataTransfer;if(U)switch(q){case"move":b.contains(oe.row,oe.column)?b={start:oe,end:oe}:b=e.moveText(b,oe);break;case"copy":b=e.moveText(b,oe,!0);break}else{var Vt=zt.getData("Text");b={start:oe,end:e.session.insert(oe,Vt)},e.focus(),q=null}return at(),x.preventDefault(Wt)}},x.addListener(p,"dragstart",this.onDragStart.bind(t),e),x.addListener(p,"dragend",this.onDragEnd.bind(t),e),x.addListener(p,"dragenter",this.onDragEnter.bind(t),e),x.addListener(p,"dragover",this.onDragOver.bind(t),e),x.addListener(p,"dragleave",this.onDragLeave.bind(t),e),x.addListener(p,"drop",this.onDrop.bind(t),e);function C(Wt,zt){var Vt=Date.now(),Ht=!zt||Wt.row!=zt.row,ai=!zt||Wt.column!=zt.column;if(!G||Ht||ai)e.moveCursorToPosition(Wt),G=Vt,P={x:E,y:L};else{var li=r(P.x,P.y,E,L);li>i?G=null:Vt-G>=u&&(e.renderer.scrollCursorIntoView(),G=null)}}function w(Wt,zt){var Vt=Date.now(),Ht=e.renderer.layerConfig.lineHeight,ai=e.renderer.layerConfig.characterWidth,li=e.renderer.scroller.getBoundingClientRect(),ui={x:{left:E-li.left,right:li.right-E},y:{top:L-li.top,bottom:li.bottom-L}},hi=Math.min(ui.x.left,ui.x.right),fi=Math.min(ui.y.top,ui.y.bottom),pi={row:Wt.row,column:Wt.column};hi/ai<=2&&(pi.column+=ui.x.left<ui.x.right?-3:2),fi/Ht<=1&&(pi.row+=ui.y.top<ui.y.bottom?-1:1);var mi=Wt.row!=pi.row,vi=Wt.column!=pi.column,gi=!zt||Wt.row!=zt.row;mi||vi&&!gi?lt?Vt-lt>=c&&e.renderer.scrollCursorIntoView(pi):lt=Vt:lt=null}function D(){var Wt=oe;oe=e.renderer.screenToTextCoordinates(E,L),C(oe,Wt),w(oe,Wt)}function Re(){b=e.selection.toOrientedRange(),v=e.session.addMarker(b,"ace_selection",e.getSelectionStyle()),e.clearSelection(),e.isFocused()&&e.renderer.$cursorLayer.setBlinking(!1),clearInterval(S),D(),S=setInterval(D,20),Se=0,x.addListener(document,"mousemove",ut)}function at(){clearInterval(S),e.session.removeMarker(v),v=null,e.selection.fromOrientedRange(b),e.isFocused()&&!U&&e.$resetCursorStyle(),b=null,oe=null,Se=0,lt=null,G=null,x.removeListener(document,"mousemove",ut)}var ct=null;function ut(){ct==null&&(ct=setTimeout(function(){ct!=null&&v&&at()},20))}function Dt(Wt){var zt=Wt.types;return!zt||Array.prototype.some.call(zt,function(Vt){return Vt=="text/plain"||Vt=="Text"})}function Jt(Wt){var zt=["copy","copymove","all","uninitialized"],Vt=["move","copymove","linkmove","all","uninitialized"],Ht=_.isMac?Wt.altKey:Wt.ctrlKey,ai="uninitialized";try{ai=Wt.dataTransfer.effectAllowed.toLowerCase()}catch{}var li="none";return Ht&&zt.indexOf(ai)>=0?li="copy":Vt.indexOf(ai)>=0?li="move":zt.indexOf(ai)>=0&&(li="copy"),li}}(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 v=t.domEvent.target||t.domEvent.srcElement;if("unselectable"in v&&(v.unselectable="on"),e.getDragDelay()){if(_.isWebKit){this.cancelDrag=!0;var E=e.container;E.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,Me){var A=f("./mouse_event").MouseEvent,x=f("../lib/event"),_=f("../lib/dom");g.addTouchListeners=function(c,u){var i="scroll",o,r,t,e,n,a,p=0,v,E=0,L=0,S=0,b,oe;function Se(){var C=window.navigator&&window.navigator.clipboard,w=!1,D=function(){var ct=u.getCopyText(),ut=u.session.getUndoManager().hasUndo();oe.replaceChild(_.buildDom(w?["span",!ct&&Re("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],ct&&Re("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],ct&&Re("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],C&&Re("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],ut&&Re("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],Re("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],Re("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),oe.firstChild)},Re=function(ct){return u.commands.canExecute(ct,u)},at=function(ct){var ut=ct.target.getAttribute("action");if(ut=="more"||!w)return w=!w,D();ut=="paste"?C.readText().then(function(Dt){u.execCommand(ut,Dt)}):ut&&((ut=="cut"||ut=="copy")&&(C?C.writeText(u.getCopyText()):document.execCommand("copy")),u.execCommand(ut)),oe.firstChild.style.display="none",w=!1,ut!="openCommandPalette"&&u.focus()};oe=_.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(ct){i="menu",ct.stopPropagation(),ct.preventDefault(),u.textInput.focus()},ontouchend:function(ct){ct.stopPropagation(),ct.preventDefault(),at(ct)},onclick:at},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],u.container)}function q(){if(!u.getOption("enableMobileMenu")){oe&&U();return}oe||Se();var C=u.selection.cursor,w=u.renderer.textToScreenCoordinates(C.row,C.column),D=u.renderer.textToScreenCoordinates(0,0).pageX,Re=u.renderer.scrollLeft,at=u.container.getBoundingClientRect();oe.style.top=w.pageY-at.top-3+"px",w.pageX-at.left<at.width-70?(oe.style.left="",oe.style.right="10px"):(oe.style.right="",oe.style.left=D+Re-at.left+"px"),oe.style.display="",oe.firstChild.style.display="none",u.on("input",U)}function U(C){oe&&(oe.style.display="none"),u.off("input",U)}function lt(){n=null,clearTimeout(n);var C=u.selection.getRange(),w=C.contains(v.row,v.column);(C.isEmpty()||!w)&&(u.selection.moveToPosition(v),u.selection.selectWord()),i="wait",q()}function G(){n=null,clearTimeout(n),u.selection.moveToPosition(v);var C=E>=2?u.selection.getLineRange(v.row):u.session.getBracketRange(v);C&&!C.isEmpty()?u.selection.setRange(C):u.selection.selectWord(),i="wait"}x.addListener(c,"contextmenu",function(C){if(b){var w=u.textInput.getElement();w.focus()}},u),x.addListener(c,"touchstart",function(C){var w=C.touches;if(n||w.length>1){clearTimeout(n),n=null,t=-1,i="zoom";return}b=u.$mouseHandler.isMousePressed=!0;var D=u.renderer.layerConfig.lineHeight,Re=u.renderer.layerConfig.lineHeight,at=C.timeStamp;e=at;var ct=w[0],ut=ct.clientX,Dt=ct.clientY;Math.abs(o-ut)+Math.abs(r-Dt)>D&&(t=-1),o=C.clientX=ut,r=C.clientY=Dt,L=S=0;var Jt=new A(C,u);if(v=Jt.getDocumentPosition(),at-t<500&&w.length==1&&!p)E++,C.preventDefault(),C.button=0,G();else{E=0;var Wt=u.selection.cursor,zt=u.selection.isEmpty()?Wt:u.selection.anchor,Vt=u.renderer.$cursorLayer.getPixelPosition(Wt,!0),Ht=u.renderer.$cursorLayer.getPixelPosition(zt,!0),ai=u.renderer.scroller.getBoundingClientRect(),li=u.renderer.layerConfig.offset,ui=u.renderer.scrollLeft,hi=function(mi,vi){return mi=mi/Re,vi=vi/D-.75,mi*mi+vi*vi};if(C.clientX<ai.left){i="zoom";return}var fi=hi(C.clientX-ai.left-Vt.left+ui,C.clientY-ai.top-Vt.top+li),pi=hi(C.clientX-ai.left-Ht.left+ui,C.clientY-ai.top-Ht.top+li);fi<3.5&&pi<3.5&&(i=fi>pi?"cursor":"anchor"),pi<3.5?i="anchor":fi<3.5?i="cursor":i="scroll",n=setTimeout(lt,450)}t=at},u),x.addListener(c,"touchend",function(C){b=u.$mouseHandler.isMousePressed=!1,a&&clearInterval(a),i=="zoom"?(i="",p=0):n?(u.selection.moveToPosition(v),p=0,q()):i=="scroll"?(P(),U()):q(),clearTimeout(n),n=null},u),x.addListener(c,"touchmove",function(C){n&&(clearTimeout(n),n=null);var w=C.touches;if(!(w.length>1||i=="zoom")){var D=w[0],Re=o-D.clientX,at=r-D.clientY;if(i=="wait")if(Re*Re+at*at>4)i="cursor";else return C.preventDefault();o=D.clientX,r=D.clientY,C.clientX=D.clientX,C.clientY=D.clientY;var ct=C.timeStamp,ut=ct-e;if(e=ct,i=="scroll"){var Dt=new A(C,u);Dt.speed=1,Dt.wheelX=Re,Dt.wheelY=at,10*Math.abs(Re)<Math.abs(at)&&(Re=0),10*Math.abs(at)<Math.abs(Re)&&(at=0),ut!=0&&(L=Re/ut,S=at/ut),u._emit("mousewheel",Dt),Dt.propagationStopped||(L=S=0)}else{var Jt=new A(C,u),Wt=Jt.getDocumentPosition();i=="cursor"?u.selection.moveCursorToPosition(Wt):i=="anchor"&&u.selection.setSelectionAnchor(Wt.row,Wt.column),u.renderer.scrollCursorIntoView(Wt),C.preventDefault()}}},u);function P(){p+=60,a=setInterval(function(){p--<=0&&(clearInterval(a),a=null),Math.abs(L)<.01&&(L=0),Math.abs(S)<.01&&(S=0),p<20&&(L=.9*L),p<20&&(S=.9*S);var C=u.session.getScrollTop();u.renderer.scrollBy(10*L,10*S),C==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,Me){var A=f("../lib/event"),x=f("../lib/useragent"),_=f("./default_handlers").DefaultHandlers,c=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 c(this),new i(this);var p=function(L){var S=!document.hasFocus||!document.hasFocus()||!n.isFocused()&&document.activeElement==(n.textInput&&n.textInput.getElement());S&&window.focus(),n.focus(),setTimeout(function(){n.isFocused()||n.focus()})},v=n.renderer.getMouseEventTarget();A.addListener(v,"click",this.onMouseEvent.bind(this,"click"),n),A.addListener(v,"mousemove",this.onMouseMove.bind(this,"mousemove"),n),A.addMultiMouseDownListener([v,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 E=n.renderer.$gutter;A.addListener(E,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),n),A.addListener(E,"click",this.onMouseEvent.bind(this,"gutterclick"),n),A.addListener(E,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),n),A.addListener(E,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),n),A.addListener(v,"mousedown",p,n),A.addListener(E,"mousedown",p,n),x.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(L){if(!(a.state||a.$dragDelay||!a.$dragEnabled)){var S=n.renderer.screenToTextCoordinates(L.x,L.y),b=n.session.selection.getRange(),oe=n.renderer;!b.isEmpty()&&b.insideStart(S.row,S.column)?oe.setCursorStyle("default"):oe.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,v=this.editor.renderer;v.$isMousePressed=!0;var E=this,L=!0,S=function(U){if(U){if(x.isWebKit&&!U.which&&E.releaseMouse)return E.releaseMouse();E.x=U.clientX,E.y=U.clientY,a&&a(U),E.mouseEvent=new u(U,E.editor),E.$mouseMoved=!0}},b=function(U){p.off("beforeEndOperation",q),L=!1,p.session&&oe(),E[E.state+"End"]&&E[E.state+"End"](U),E.state="",E.isMousePressed=v.$isMousePressed=!1,v.$keepTextAreaAtCursor&&v.$moveTextAreaToCursor(),E.$onCaptureMouseMove=E.releaseMouse=null,U&&E.onMouseEvent("mouseup",U),p.endOperation()},oe=function(){E[E.state]&&E[E.state](),E.$mouseMoved=!1},Se=function(){L&&(oe(),A.nextFrame(Se))};if(x.isOldIE&&n.domEvent.type=="dblclick")return setTimeout(function(){b(n)});var q=function(U){E.releaseMouse&&p.curOp.command.name&&p.curOp.selectionChanged&&(E[E.state+"End"]&&E[E.state+"End"](),E.state="",E.releaseMouse())};p.on("beforeEndOperation",q),p.startOperation({command:{name:"mouse"}}),E.$onCaptureMouseMove=S,E.releaseMouse=A.capture(this.editor.container,S,b),Se()},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:x.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,Me){var A=f("../lib/dom"),x=(function(){function _(c){c.on("click",function(u){var i=u.getDocumentPosition(),o=c.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()),c.renderer.scrollCursorIntoView())}),c.on("gutterclick",function(u){var i=c.renderer.$gutterLayer.getRegion(u);if(i=="foldWidgets"){var o=u.getDocumentPosition().row,r=c.session;r.foldWidgets&&r.foldWidgets[o]&&c.session.onFoldWidgetClick(o,u),c.isFocused()||c.focus(),u.stop()}}),c.on("gutterdblclick",function(u){var i=c.renderer.$gutterLayer.getRegion(u);if(i=="foldWidgets"){var o=u.getDocumentPosition().row,r=c.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),c.renderer.scrollCursorIntoView({row:e.start.row,column:0}))}u.stop()}})}return _})();g.FoldHandler=x}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(f,g,Me){var A=f("../lib/keys"),x=f("../lib/event"),_=(function(){function c(u){this.$editor=u,this.$data={editor:u},this.$handlers=[],this.setDefaultHandler(u.commands)}return c.prototype.setDefaultHandler=function(u){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=u,this.addKeyboardHandler(u,0)},c.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)}},c.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)}},c.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)},c.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},c.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(" ")},c.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&&x.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},c.prototype.onCommandKey=function(u,i,o){var r=A.keyCodeToString(o);return this.$callKeyboardHandlers(i,r,o,u)},c.prototype.onTextInput=function(u){return this.$callKeyboardHandlers(-1,u)},c})();g.KeyBinding=_}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(f,g,Me){var A=0,x=0,_=!1,c=!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,v=4,E=5,L=6,S=7,b=8,oe=9,Se=10,q=11,U=12,lt=13,G=14,P=15,C=16,w=17,D=18,Re=[D,D,D,D,D,D,D,D,D,L,E,L,b,E,D,D,D,D,D,D,D,D,D,D,D,D,D,D,E,E,E,L,b,v,v,q,q,q,v,v,v,v,v,Se,oe,Se,oe,oe,a,a,a,a,a,a,a,a,a,a,oe,v,v,v,v,v,v,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,v,v,v,v,v,v,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,v,v,v,v,D,D,D,D,D,D,E,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,oe,v,q,q,q,q,v,v,v,v,e,v,v,D,v,v,q,q,a,a,v,e,v,v,v,a,e,v,v,v,v,v],at=[b,b,b,b,b,b,b,b,b,b,b,D,D,D,e,n,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,b,E,lt,G,P,C,w,oe,q,q,q,q,q,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,oe,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,b];function ct(Wt,zt,Vt,Ht){var ai=A?o:i,li=null,ui=null,hi=null,fi=0,pi=null,mi=null,vi=-1,gi=null,yi=null,bi=[];if(!Ht)for(gi=0,Ht=[];gi<Vt;gi++)Ht[gi]=Jt(Wt[gi]);for(x=A,_=!1,c=!1,u=!1,yi=0;yi<Vt;yi++){if(li=fi,bi[yi]=ui=Dt(Wt,Ht,bi,yi),fi=ai[li][ui],pi=fi&240,fi&=15,zt[yi]=hi=ai[fi][5],pi>0)if(pi==16){for(gi=vi;gi<yi;gi++)zt[gi]=1;vi=-1}else vi=-1;if(mi=ai[fi][6],mi)vi==-1&&(vi=yi);else if(vi>-1){for(gi=vi;gi<yi;gi++)zt[gi]=hi;vi=-1}Ht[yi]==E&&(zt[yi]=0),x|=hi}if(u){for(gi=0;gi<Vt;gi++)if(Ht[gi]==L){zt[gi]=A;for(var wi=gi-1;wi>=0&&Ht[wi]==b;wi--)zt[wi]=A}}}function ut(Wt,zt,Vt){if(!(x<Wt)){if(Wt==1&&A==t&&!c){Vt.reverse();return}for(var Ht=Vt.length,ai=0,li,ui,hi,fi;ai<Ht;){if(zt[ai]>=Wt){for(li=ai+1;li<Ht&&zt[li]>=Wt;)li++;for(ui=ai,hi=li-1;ui<hi;ui++,hi--)fi=Vt[ui],Vt[ui]=Vt[hi],Vt[hi]=fi;ai=li}ai++}}}function Dt(Wt,zt,Vt,Ht){var ai=zt[Ht],li,ui,hi,fi;switch(ai){case e:case n:_=!1;case v:case p:return ai;case a:return _?p:a;case S:return _=!0,n;case b:return v;case oe:return Ht<1||Ht+1>=zt.length||(li=Vt[Ht-1])!=a&&li!=p||(ui=zt[Ht+1])!=a&&ui!=p?v:(_&&(ui=p),ui==li?ui:v);case Se:return li=Ht>0?Vt[Ht-1]:E,li==a&&Ht+1<zt.length&&zt[Ht+1]==a?a:v;case q:if(Ht>0&&Vt[Ht-1]==a)return a;if(_)return v;for(fi=Ht+1,hi=zt.length;fi<hi&&zt[fi]==q;)fi++;return fi<hi&&zt[fi]==a?a:v;case U:for(hi=zt.length,fi=Ht+1;fi<hi&&zt[fi]==U;)fi++;if(fi<hi){var pi=Wt[Ht],mi=pi>=1425&&pi<=2303||pi==64286;if(li=zt[fi],mi&&(li==n||li==S))return n}return Ht<1||(li=zt[Ht-1])==E?v:Vt[Ht-1];case E:return _=!1,c=!0,A;case L:return u=!0,v;case lt:case G:case C:case w:case P:_=!1;case D:return v}}function Jt(Wt){var zt=Wt.charCodeAt(0),Vt=zt>>8;return Vt==0?zt>191?e:Re[zt]:Vt==5?/[\u0591-\u05f4]/.test(Wt)?n:e:Vt==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(Wt)?U:/[\u0660-\u0669\u066b-\u066c]/.test(Wt)?p:zt==1642?q:/[\u06f0-\u06f9]/.test(Wt)?a:S:Vt==32&&zt<=8287?at[zt&255]:Vt==254&&zt>=65136?S:v}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(Wt,zt,Vt){if(Wt.length<2)return{};var Ht=Wt.split(""),ai=new Array(Ht.length),li=new Array(Ht.length),ui=[];A=Vt?t:r,ct(Ht,ui,Ht.length,zt);for(var hi=0;hi<ai.length;ai[hi]=hi,hi++);ut(2,ui,ai),ut(1,ui,ai);for(var hi=0;hi<ai.length-1;hi++)zt[hi]===p?ui[hi]=g.AN:ui[hi]===n&&(zt[hi]>S&&zt[hi]<lt||zt[hi]===v||zt[hi]===D)?ui[hi]=g.ON_R:hi>0&&Ht[hi-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(Ht[hi])&&(ui[hi-1]=ui[hi]=g.R_H,hi++);Ht[Ht.length-1]===g.DOT&&(ui[Ht.length-1]=g.B),Ht[0]===""&&(ui[0]=g.RLE);for(var hi=0;hi<ai.length;hi++)li[hi]=ui[ai[hi]];return{logicalFromVisual:ai,bidiLevels:li}},g.hasBidiCharacters=function(Wt,zt){for(var Vt=!1,Ht=0;Ht<Wt.length;Ht++)zt[Ht]=Jt(Wt.charAt(Ht)),!Vt&&(zt[Ht]==n||zt[Ht]==S||zt[Ht]==p)&&(Vt=!0);return Vt},g.getVisualFromLogicalIdx=function(Wt,zt){for(var Vt=0;Vt<zt.logicalFromVisual.length;Vt++)if(zt.logicalFromVisual[Vt]==Wt)return Vt;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(f,g,Me){var A=f("./lib/bidiutil"),x=f("./lib/lang"),_=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,c=(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(`
|
182
|
+
`))&&(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(v,E){return v===" "||n.isFullWidth(v.charCodeAt(0))?(p=v===" "?n.getScreenTabSize(E+a):2,a+=p-1,x.stringRepeat(A.DOT,p)):v}),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,v=Math.max(i,o)-this.wrapIndent,E=!1,L=!1,S=0;this.wrapIndent&&(a+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var b,oe=0;oe<t.length;oe++)b=r.logicalFromVisual[oe],e=t[oe],E=b>=p&&b<v,E&&!L?S=a:!E&&L&&n.push({left:S,width:a-S}),a+=this.charWidths[e],L=E;if(E&&oe===t.length&&n.push({left:S,width:a-S}),this.isRtlDir)for(var Se=0;Se<n.length;Se++)n[Se].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=c}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(f,g,Me){var A=f("./lib/oop"),x=f("./lib/lang"),_=f("./lib/event_emitter").EventEmitter,c=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?c.fromPoints(r,r):this.isBackwards()?c.fromPoints(r,o):c.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=!c.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 c(t,0,e,this.session.getLine(e).length):new c(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=x.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=x.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 c.fromPoints(r,t)}catch{return c.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=c.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,Me){var A=f("./lib/report_error").reportError,x=2e3,_=(function(){function c(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 v=o[p];if(v.defaultToken&&(e.defaultToken=v.defaultToken),v.caseInsensitive&&n.indexOf("i")===-1&&(n+="i"),v.unicode&&n.indexOf("u")===-1&&(n+="u"),v.regex!=null){v.regex instanceof RegExp&&(v.regex=v.regex.toString().slice(1,-1));var E=v.regex,L=new RegExp("(?:("+E+")|(.))").exec("a").length-2;Array.isArray(v.token)?v.token.length==1||L==1?v.token=v.token[0]:L-1!=v.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:v,groupCount:L-1}),v.token=v.token[0]):(v.tokenArray=v.token,v.token=null,v.onMatch=this.$arrayTokens):typeof v.token=="function"&&!v.onMatch&&(L>1?v.onMatch=this.$applyToken:v.onMatch=v.token),L>1&&(/\\\d/.test(v.regex)?E=v.regex.replace(/\\([0-9]+)/g,function(S,b){return"\\"+(parseInt(b,10)+t+1)}):(L=1,E=this.removeCapturingGroups(v.regex)),!v.splitRegex&&typeof v.token!="string"&&a.push(v)),e[t]=p,t+=L,r.push(E),v.onMatch||(v.onMatch=null)}}r.length||(e[0]=0,r.push("$")),a.forEach(function(S){S.splitRegex=this.createSplitterRegexp(S.regex,n)},this),this.regExps[i]=new RegExp("("+r.join(")|(")+")|($)",n)}}return c.prototype.$setMaxTokenCount=function(u){x=u|0},c.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},c.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},c.prototype.removeCapturingGroups=function(u){var i=u.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(o,r){return r?"(?:":o});return i},c.prototype.createSplitterRegexp=function(u,i){if(u.indexOf("(?=")!=-1){var o=0,r=!1,t={};u.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,n,a,p,v,E){return r?r=v!="]":v?r=!0:p?(o==t.stack&&(t.end=E+1,t.stack=-1),o--):a&&(o++,a.length!=1&&(t.stack=o,t.start=E)),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",""))},c.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=[],v=0,E=0,L={type:null,value:""};a=n.exec(u);){var S=e.defaultToken,b=null,oe=a[0],Se=n.lastIndex;if(Se-oe.length>v){var q=u.substring(v,Se-oe.length);L.type==S?L.value+=q:(L.type&&p.push(L),L={type:S,value:q})}for(var U=0;U<a.length-2;U++)if(a[U+1]!==void 0){b=t[e[U]],b.onMatch?S=b.onMatch(oe,r,o,u):S=b.token,b.next&&(typeof b.next=="string"?r=b.next:r=b.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],v=Se,n=this.regExps[r],n.lastIndex=Se),b.consumeLineEnd&&(v=Se);break}if(oe){if(typeof S=="string")(!b||b.merge!==!1)&&L.type===S?L.value+=oe:(L.type&&p.push(L),L={type:S,value:oe});else if(S){L.type&&p.push(L),L={type:null,value:""};for(var U=0;U<S.length;U++)p.push(S[U])}}if(v==u.length)break;if(v=Se,E++>x){for(E>2*u.length&&this.reportError("infinite loop with in ace tokenizer",{startState:i,line:u});v<u.length;)L.type&&p.push(L),L={value:u.substring(v,v+=500),type:"overflow"};r="start",o=[];break}}return L.type&&p.push(L),o.length>1&&o[0]!==r&&o.unshift("#tmp",r),{tokens:p,state:o.length?o:r}},c})();_.prototype.reportError=A,g.Tokenizer=_}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(f,g,Me){var A=f("../lib/deep_copy").deepCopy,x;x=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},c=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 v=n.stateName;v||(v=n.token,typeof v!="string"&&(v=v[0]||""),i[v]&&(v+=u++)),i[v]=p,n.next=v,o(v)}else p=="pop"&&(n.next=c);if(n.push&&(n.nextState=n.next||n.push,n.next=_,delete n.push),n.rules)for(var E in n.rules)i[E]?i[E].push&&i[E].push.apply(i[E],n.rules[E]):i[E]=n.rules[E];var L=typeof n=="string"?n:n.include;if(L&&(L==="$self"&&(L="start"),Array.isArray(L)?a=L.map(function(b){return i[b]}):a=i[L]),a){var S=[e,1].concat(a);n.noEscape&&(S=S.filter(function(b){return!b.next})),t.splice.apply(t,S),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 v=a[p];this.$keywordList.push(v),o&&(v=v.toLowerCase()),t[v]=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(x.prototype),g.TextHighlightRules=x}),ace.define("ace/mode/behaviour",["require","exports","module"],function(f,g,Me){var A;A=function(){this.$behaviours={}},(function(){this.add=function(x,_,c){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[x]:this.$behaviours[x]={}}this.$behaviours[x][_]=c},this.addBehaviours=function(x){for(var _ in x)for(var c in x[_])this.add(_,c,x[_][c])},this.remove=function(x){this.$behaviours&&this.$behaviours[x]&&delete this.$behaviours[x]},this.inherit=function(x,_){if(typeof x=="function")var c=new x().getBehaviours(_);else var c=x.getBehaviours(_);this.addBehaviours(c)},this.getBehaviours=function(x){if(x){for(var _={},c=0;c<x.length;c++)this.$behaviours[x[c]]&&(_[x[c]]=this.$behaviours[x[c]]);return _}else return this.$behaviours}}).call(A.prototype),g.Behaviour=A}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(f,g,Me){var A=f("./range").Range,x=(function(){function _(c,u,i){this.$session=c,this.$row=u,this.$rowTokens=c.getTokens(u);var o=c.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 c;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,c||(c=this.$session.getLength()),this.$row>=c)return this.$row=c-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 c=this.$rowTokens,u=this.$tokenIndex,i=c[u].start;if(i!==void 0)return i;for(i=0;u>0;)u-=1,i+=c[u].value.length;return i},_.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},_.prototype.getCurrentTokenRange=function(){var c=this.$rowTokens[this.$tokenIndex],u=this.getCurrentTokenColumn();return new A(this.$row,u,this.$row,u+c.value.length)},_})();g.TokenIterator=x}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(f,g,Me){var A=f("../../lib/oop"),x=f("../behaviour").Behaviour,_=f("../../token_iterator").TokenIterator,c=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 v=-1;if(p.multiSelect&&(v=p.selection.index,r.rangeCount!=p.multiSelect.rangeCount&&(r={rangeCount:p.multiSelect.rangeCount})),r[v])return o=r[v];o=r[v]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},n=function(p,v,E,L){var S=p.end.row-p.start.row;return{text:E+v+L,selection:[0,p.start.column+1,S,p.end.column+(S?0:1)]}},a;a=function(p){p=p||{},this.add("braces","insertion",function(v,E,L,S,b){var oe=L.getCursorPosition(),Se=S.doc.getLine(oe.row);if(b=="{"){e(L);var q=L.getSelectionRange(),U=S.doc.getTextRange(q),lt=S.getTokenAt(oe.row,oe.column);if(U!==""&&U!=="{"&&L.getWrapBehavioursEnabled())return n(q,U,"{","}");if(lt&&/(?:string)\.quasi|\.xml/.test(lt.type)){var G=[/tag\-(?:open|name)/,/attribute\-name/];return G.some(function(ct){return ct.test(lt.type)})||/(string)\.quasi/.test(lt.type)&<.value[oe.column-lt.start-1]!=="$"?void 0:(a.recordAutoInsert(L,S,"}"),{text:"{}",selection:[1,1]})}else if(a.isSaneInsertion(L,S))return/[\]\}\)]/.test(Se[oe.column])||L.inMultiSelectMode||p.braces?(a.recordAutoInsert(L,S,"}"),{text:"{}",selection:[1,1]}):(a.recordMaybeInsert(L,S,"{"),{text:"{",selection:[1,1]})}else if(b=="}"){e(L);var P=Se.substring(oe.column,oe.column+1);if(P=="}"){var C=S.$findOpeningBracket("}",{column:oe.column+1,row:oe.row});if(C!==null&&a.isAutoInsertedClosing(oe,Se,b))return a.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(b==`
|
183
|
+
`||b==`\r
|
184
|
+
`){e(L);var w="";a.isMaybeInsertedClosing(oe,Se)&&(w=c.stringRepeat("}",o.maybeInsertedBrackets),a.clearMaybeInsertedClosing());var P=Se.substring(oe.column,oe.column+1);if(P==="}"){var D=S.findMatchingBracket({row:oe.row,column:oe.column+1},"}");if(!D)return null;var Re=this.$getIndent(S.getLine(D.row))}else if(w)var Re=this.$getIndent(Se);else{a.clearMaybeInsertedClosing();return}var at=Re+S.getTabString();return{text:`
|
185
|
+
`+at+`
|
186
|
+
`+Re+w,selection:[1,at.length,1,at.length]}}else a.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(v,E,L,S,b){var oe=S.doc.getTextRange(b);if(!b.isMultiLine()&&oe=="{"){e(L);var Se=S.doc.getLine(b.start.row),q=Se.substring(b.end.column,b.end.column+1);if(q=="}")return b.end.column++,b;o.maybeInsertedBrackets--}}),this.add("parens","insertion",function(v,E,L,S,b){if(b=="("){e(L);var oe=L.getSelectionRange(),Se=S.doc.getTextRange(oe);if(Se!==""&&L.getWrapBehavioursEnabled())return n(oe,Se,"(",")");if(a.isSaneInsertion(L,S))return a.recordAutoInsert(L,S,")"),{text:"()",selection:[1,1]}}else if(b==")"){e(L);var q=L.getCursorPosition(),U=S.doc.getLine(q.row),lt=U.substring(q.column,q.column+1);if(lt==")"){var G=S.$findOpeningBracket(")",{column:q.column+1,row:q.row});if(G!==null&&a.isAutoInsertedClosing(q,U,b))return a.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(v,E,L,S,b){var oe=S.doc.getTextRange(b);if(!b.isMultiLine()&&oe=="("){e(L);var Se=S.doc.getLine(b.start.row),q=Se.substring(b.start.column+1,b.start.column+2);if(q==")")return b.end.column++,b}}),this.add("brackets","insertion",function(v,E,L,S,b){if(b=="["){e(L);var oe=L.getSelectionRange(),Se=S.doc.getTextRange(oe);if(Se!==""&&L.getWrapBehavioursEnabled())return n(oe,Se,"[","]");if(a.isSaneInsertion(L,S))return a.recordAutoInsert(L,S,"]"),{text:"[]",selection:[1,1]}}else if(b=="]"){e(L);var q=L.getCursorPosition(),U=S.doc.getLine(q.row),lt=U.substring(q.column,q.column+1);if(lt=="]"){var G=S.$findOpeningBracket("]",{column:q.column+1,row:q.row});if(G!==null&&a.isAutoInsertedClosing(q,U,b))return a.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(v,E,L,S,b){var oe=S.doc.getTextRange(b);if(!b.isMultiLine()&&oe=="["){e(L);var Se=S.doc.getLine(b.start.row),q=Se.substring(b.start.column+1,b.start.column+2);if(q=="]")return b.end.column++,b}}),this.add("string_dquotes","insertion",function(v,E,L,S,b){var oe=S.$mode.$quotes||t;if(b.length==1&&oe[b]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(b)!=-1)return;e(L);var Se=b,q=L.getSelectionRange(),U=S.doc.getTextRange(q);if(U!==""&&(U.length!=1||!oe[U])&&L.getWrapBehavioursEnabled())return n(q,U,Se,Se);if(!U){var lt=L.getCursorPosition(),G=S.doc.getLine(lt.row),P=G.substring(lt.column-1,lt.column),C=G.substring(lt.column,lt.column+1),w=S.getTokenAt(lt.row,lt.column),D=S.getTokenAt(lt.row,lt.column+1);if(P=="\\"&&w&&/escape/.test(w.type))return null;var Re=w&&/string|escape/.test(w.type),at=!D||/string|escape/.test(D.type),ct;if(C==Se)ct=Re!==at,ct&&/string\.end/.test(D.type)&&(ct=!1);else{if(Re&&!at||Re&&at)return null;var ut=S.$mode.tokenRe;ut.lastIndex=0;var Dt=ut.test(P);ut.lastIndex=0;var Jt=ut.test(C),Wt=S.$mode.$pairQuotesAfter,zt=Wt&&Wt[Se]&&Wt[Se].test(P);if(!zt&&Dt||Jt||C&&!/[\s;,.})\]\\]/.test(C))return null;var Vt=G[lt.column-2];if(P==Se&&(Vt==Se||ut.test(Vt)))return null;ct=!0}return{text:ct?Se+Se:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(v,E,L,S,b){var oe=S.$mode.$quotes||t,Se=S.doc.getTextRange(b);if(!b.isMultiLine()&&oe.hasOwnProperty(Se)){e(L);var q=S.doc.getLine(b.start.row),U=q.substring(b.start.column+1,b.start.column+2);if(U==Se)return b.end.column++,b}}),p.closeDocComment!==!1&&this.add("doc comment end","insertion",function(v,E,L,S,b){if(v==="doc-start"&&(b===`
|
187
|
+
`||b===`\r
|
188
|
+
`)&&L.selection.isEmpty()){var oe=L.getCursorPosition();if(oe.column===0)return;for(var Se=S.doc.getLine(oe.row),q=S.doc.getLine(oe.row+1),U=S.getTokens(oe.row),lt=0,G=0;G<U.length;G++){lt+=U[G].value.length;var P=U[G];if(lt>=oe.column){if(lt===oe.column){if(!/\.doc/.test(P.type))return;if(/\*\//.test(P.value)){var C=U[G+1];if(!C||!/\.doc/.test(C.type))return}}var w=oe.column-(lt-P.value.length),D=P.value.indexOf("*/"),Re=P.value.indexOf("/**",D>-1?D+2:0);if(Re!==-1&&w>Re&&w<Re+3||D!==-1&&Re!==-1&&w>=D&&w<=Re||!/\.doc/.test(P.type))return;break}}var at=this.$getIndent(Se);if(/\s*\*/.test(q))return/^\s*\*/.test(Se)?{text:b+at+"* ",selection:[1,2+at.length,1,2+at.length]}:{text:b+at+" * ",selection:[1,3+at.length,1,3+at.length]};if(/\/\*\*/.test(Se.substring(0,oe.column)))return{text:b+at+" * "+b+" "+at+"*/",selection:[1,4+at.length,1,4+at.length]}}})},a.isSaneInsertion=function(p,v){var E=p.getCursorPosition(),L=new _(v,E.row,E.column);if(!this.$matchTokenType(L.getCurrentToken()||"text",u)){if(/[)}\]]/.test(p.session.getLine(E.row)[E.column]))return!0;var S=new _(v,E.row,E.column+1);if(!this.$matchTokenType(S.getCurrentToken()||"text",u))return!1}return L.stepForward(),L.getCurrentTokenRow()!==E.row||this.$matchTokenType(L.getCurrentToken()||"text",i)},a.$matchTokenType=function(p,v){return v.indexOf(p.type||p)>-1},a.recordAutoInsert=function(p,v,E){var L=p.getCursorPosition(),S=v.doc.getLine(L.row);this.isAutoInsertedClosing(L,S,o.autoInsertedLineEnd[0])||(o.autoInsertedBrackets=0),o.autoInsertedRow=L.row,o.autoInsertedLineEnd=E+S.substr(L.column),o.autoInsertedBrackets++},a.recordMaybeInsert=function(p,v,E){var L=p.getCursorPosition(),S=v.doc.getLine(L.row);this.isMaybeInsertedClosing(L,S)||(o.maybeInsertedBrackets=0),o.maybeInsertedRow=L.row,o.maybeInsertedLineStart=S.substr(0,L.column)+E,o.maybeInsertedLineEnd=S.substr(L.column),o.maybeInsertedBrackets++},a.isAutoInsertedClosing=function(p,v,E){return o.autoInsertedBrackets>0&&p.row===o.autoInsertedRow&&E===o.autoInsertedLineEnd[0]&&v.substr(p.column)===o.autoInsertedLineEnd},a.isMaybeInsertedClosing=function(p,v){return o.maybeInsertedBrackets>0&&p.row===o.maybeInsertedRow&&v.substr(p.column)===o.maybeInsertedLineEnd&&v.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,x),g.CstyleBehaviour=a}),ace.define("ace/unicode",["require","exports","module"],function(f,g,Me){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],x=0,_=[],c=0;c<A.length;c+=2)_.push(x+=A[c]),A[c+1]&&_.push(45,x+=A[c+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,Me){var A=f("../config"),x=f("../tokenizer").Tokenizer,_=f("./text_highlight_rules").TextHighlightRules,c=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 c,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 x(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,n,a,p){var v=n.doc,E=!0,L=!0,S=1/0,b=n.getTabSize(),oe=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var U=this.lineCommentStart.map(i.escapeRegExp).join("|"),Se=this.lineCommentStart[0];else var U=i.escapeRegExp(this.lineCommentStart),Se=this.lineCommentStart;U=new RegExp("^(\\s*)(?:"+U+") ?"),oe=n.getUseSoftTabs();var P=function(Jt,Wt){var zt=Jt.match(U);if(zt){var Vt=zt[1].length,Ht=zt[0].length;!D(Jt,Vt,Ht)&&zt[0][Ht-1]==" "&&Ht--,v.removeInLine(Wt,Vt,Ht)}},w=Se+" ",G=function(Jt,Wt){(!E||/\S/.test(Jt))&&(D(Jt,S,S)?v.insertInLine({row:Wt,column:S},w):v.insertInLine({row:Wt,column:S},Se))},C=function(Jt,Wt){return U.test(Jt)},D=function(Jt,Wt,zt){for(var Vt=0;Wt--&&Jt.charAt(Wt)==" ";)Vt++;if(Vt%b!=0)return!1;for(var Vt=0;Jt.charAt(zt++)==" ";)Vt++;return b>2?Vt%b!=b-1:Vt%b==0}}else{if(!this.blockComment)return!1;var Se=this.blockComment.start,q=this.blockComment.end,U=new RegExp("^(\\s*)(?:"+i.escapeRegExp(Se)+")"),lt=new RegExp("(?:"+i.escapeRegExp(q)+")\\s*$"),G=function(ct,ut){C(ct,ut)||(!E||/\S/.test(ct))&&(v.insertInLine({row:ut,column:ct.length},q),v.insertInLine({row:ut,column:S},Se))},P=function(ct,ut){var Dt;(Dt=ct.match(lt))&&v.removeInLine(ut,ct.length-Dt[0].length,ct.length),(Dt=ct.match(U))&&v.removeInLine(ut,Dt[1].length,Dt[0].length)},C=function(ct,ut){if(U.test(ct))return!0;for(var Dt=n.getTokens(ut),Jt=0;Jt<Dt.length;Jt++)if(Dt[Jt].type==="comment")return!0}}function Re(ct){for(var ut=a;ut<=p;ut++)ct(v.getLine(ut),ut)}var at=1/0;Re(function(ct,ut){var Dt=ct.search(/\S/);Dt!==-1?(Dt<S&&(S=Dt),L&&!C(ct,ut)&&(L=!1)):at>ct.length&&(at=ct.length)}),S==1/0&&(S=at,E=!1,L=!1),oe&&S%b!=0&&(S=Math.floor(S/b)*b),Re(L?P:G)},this.toggleBlockComment=function(e,n,a,p){var v=this.blockComment;if(v){!v.start&&v[0]&&(v=v[0]);var E=new o(n,p.row,p.column),L=E.getCurrentToken();n.selection;var S=n.selection.toOrientedRange(),b,oe;if(L&&/comment/.test(L.type)){for(var Se,q;L&&/comment/.test(L.type);){var U=L.value.indexOf(v.start);if(U!=-1){var lt=E.getCurrentTokenRow(),G=E.getCurrentTokenColumn()+U;Se=new r(lt,G,lt,G+v.start.length);break}L=E.stepBackward()}for(var E=new o(n,p.row,p.column),L=E.getCurrentToken();L&&/comment/.test(L.type);){var U=L.value.indexOf(v.end);if(U!=-1){var lt=E.getCurrentTokenRow(),G=E.getCurrentTokenColumn()+U;q=new r(lt,G,lt,G+v.end.length);break}L=E.stepForward()}q&&n.remove(q),Se&&(n.remove(Se),b=Se.start.row,oe=-v.start.length)}else oe=v.start.length,b=a.start.row,n.insert(a.end,v.end),n.insert(a.start,v.start);S.start.row==b&&(S.start.column+=oe),S.end.row==b&&(S.end.column+=oe),n.selection.fromOrientedRange(S)}},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,v=A.$modes[p];v||(A.$modes[p]=v=new a),A.$modes[n]||(A.$modes[n]=v),this.$embeds.push(n),this.$modes[n]=v}for(var E=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],L=function(b){(function(oe){var Se=E[b],q=oe[Se];oe[E[b]]=function(){return this.$delegator(Se,arguments,q)}})(S)},S=this,n=0;n<E.length;n++)L(n)},this.$delegator=function(e,n,a){var p=n[0]||"start";if(typeof p!="string"){if(Array.isArray(p[2])){var v=p[2][p[2].length-1],E=this.$modes[v];if(E)return E[e].apply(E,[p[1]].concat([].slice.call(n,1)))}p=p[0]||"start"}for(var L=0;L<this.$embeds.length;L++)if(this.$modes[this.$embeds[L]]){var S=p.split(this.$embeds[L]);if(!S[0]&&S[1]){n[0]=S[1];var E=this.$modes[this.$embeds[L]];return E[e].apply(E,n)}}var b=a.apply(this,n);return a?b:void 0},this.transformAction=function(e,n,a,p,v){if(this.$behaviour){var E=this.$behaviour.getBehaviours();for(var L in E)if(E[L][n]){var S=E[L][n].apply(this,arguments);if(S)return S}}},this.getKeywords=function(e){if(!this.completionKeywords){var n=this.$tokenizer.rules,a=[];for(var p in n)for(var v=n[p],E=0,L=v.length;E<L;E++)if(typeof v[E].token=="string")/keyword|support|storage/.test(v[E].token)&&a.push(v[E].regex);else if(typeof v[E].token=="object"){for(var S=0,b=v[E].token.length;S<b;S++)if(/keyword|support|storage/.test(v[E].token[S])){var p=v[E].regex.match(/\(.+?\)/g)[S];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 v=this.$keywordList||this.$createKeywordList();return v.map(function(E){return{name:E,value:E,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,Me){var A=f("./lib/dom"),x=(function(){function _(c){this.session=c,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(c){var u;return this.lineWidgets?u=this.lineWidgets[c]&&this.lineWidgets[c].rowCount||0:u=0,!this.$useWrapMode||!this.$wrapData[c]?1+u:this.$wrapData[c].length+1+u},_.prototype.$getWidgetScreenLength=function(){var c=0;return this.lineWidgets.forEach(function(u){u&&u.rowCount&&!u.hidden&&(c+=u.rowCount)}),c},_.prototype.$onChangeEditor=function(c){this.attach(c.editor)},_.prototype.attach=function(c){c&&c.widgetManager&&c.widgetManager!=this&&c.widgetManager.detach(),this.editor!=c&&(this.detach(),this.editor=c,c&&(c.widgetManager=this,c.renderer.on("beforeRender",this.measureWidgets),c.renderer.on("afterRender",this.renderWidgets)))},_.prototype.detach=function(c){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(c,u){var i=u.lineWidgets;if(!(!i||!c.action)){for(var o=c.data,r=o.start.row,t=o.end.row,e=c.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(c){var u=this.session.lineWidgets;if(u){var i=c.start.row,o=c.end.row-i;if(o!==0)if(c.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&&c.start.column>u[i].column&&i++,t.unshift(i,0),u.splice.apply(u,t),this.$updateRows()}}},_.prototype.$updateRows=function(){var c=this.session.lineWidgets;if(c){var u=!0;c.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(c){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var u=this.session.lineWidgets[c.row];return u&&(c.$oldWidget=u,u.el&&u.el.parentNode&&(u.el.parentNode.removeChild(u.el),u._inDocument=!1)),this.session.lineWidgets[c.row]=c,c},_.prototype.addLineWidget=function(c){if(this.$registerLineWidget(c),c.session=this.session,!this.editor)return c;var u=this.editor.renderer;c.html&&!c.el&&(c.el=A.createElement("div"),c.el.innerHTML=c.html),c.text&&!c.el&&(c.el=A.createElement("div"),c.el.textContent=c.text),c.el&&(A.addCssClass(c.el,"ace_lineWidgetContainer"),c.className&&A.addCssClass(c.el,c.className),c.el.style.position="absolute",c.el.style.zIndex="5",u.container.appendChild(c.el),c._inDocument=!0,c.coverGutter||(c.el.style.zIndex="3"),c.pixelHeight==null&&(c.pixelHeight=c.el.offsetHeight)),c.rowCount==null&&(c.rowCount=c.pixelHeight/u.layerConfig.lineHeight);var i=this.session.getFoldAt(c.row,0);if(c.$fold=i,i){var o=this.session.lineWidgets;c.row==i.end.row&&!o[i.start.row]?o[i.start.row]=c:c.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:c.row}}}),this.$updateRows(),this.renderWidgets(null,u),this.onWidgetChanged(c),c},_.prototype.removeLineWidget=function(c){if(c._inDocument=!1,c.session=null,c.el&&c.el.parentNode&&c.el.parentNode.removeChild(c.el),c.editor&&c.editor.destroy)try{c.editor.destroy()}catch{}if(this.session.lineWidgets){var u=this.session.lineWidgets[c.row];if(u==c)this.session.lineWidgets[c.row]=c.$oldWidget,c.$oldWidget&&this.onWidgetChanged(c.$oldWidget);else for(;u;){if(u.$oldWidget==c){u.$oldWidget=c.$oldWidget;break}u=u.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:c.row}}}),this.$updateRows()},_.prototype.getWidgetsAtRow=function(c){for(var u=this.session.lineWidgets,i=u&&u[c],o=[];i;)o.push(i),i=i.$oldWidget;return o},_.prototype.onWidgetChanged=function(c){this.session._changedWidgets.push(c),this.editor&&this.editor.renderer.updateFull()},_.prototype.measureWidgets=function(c,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(c,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=x}),ace.define("ace/apply_delta",["require","exports","module"],function(f,g,Me){g.applyDelta=function(A,x,_){var c=x.start.row,u=x.start.column,i=A[c]||"";switch(x.action){case"insert":var o=x.lines;if(o.length===1)A[c]=i.substring(0,u)+x.lines[0]+i.substring(u);else{var r=[c,1].concat(x.lines);A.splice.apply(A,r),A[c]=i.substring(0,u)+A[c],A[c+x.lines.length-1]+=i.substring(u)}break;case"remove":var t=x.end.column,e=x.end.row;c===e?A[c]=i.substring(0,u)+i.substring(t):A.splice(c,e-c+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,Me){var A=f("./lib/oop"),x=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,x);function c(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 c(o,a,r)?{row:o.row,column:o.column}:c(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,Me){var A=f("./lib/oop"),x=f("./apply_delta").applyDelta,_=f("./lib/event_emitter").EventEmitter,c=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 c(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]:`
|
189
|
+
`,this._signal("changeNewLineMode")},o.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
|
190
|
+
`;case"unix":return`
|
191
|
+
`;default:return this.$autoNewLine||`
|
192
|
+
`}},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
|
193
|
+
`||r=="\r"||r==`
|
194
|
+
`},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,v=n?t+1:t,E=n?0:this.getLine(v).length,L=new c(a,p,v,E),S=this.$lines.slice(r,t+1);return this.applyDelta({start:L.start,end:L.end,action:"remove",lines:this.getLinesForRange(L)}),S},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 c||(r=c.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]:!c.comparePoints(r.start,r.end))||(e&&r.lines.length>2e4?this.$splitAndapplyLargeDelta(r,2e4):(x(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,v=0,E=0;v<n;v=E){E+=t-1;var L=e.slice(v,E);L.push(""),this.applyDelta({start:this.pos(a+v,p),end:this.pos(a+E,p=0),action:r.action,lines:L},!0)}r.lines=e.slice(v),r.start.row=a+v,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),v=t||0;v<p;++v)a+=e[v].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,Me){var A=f("./lib/oop"),x=f("./lib/event_emitter").EventEmitter,_=(function(){function c(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(),v=0;for(o.running=!1;t<p;){o.$tokenizeRow(t),e=t;do t++;while(o.lines[t]);if(v++,v%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 c.prototype.setTokenizer=function(u){this.tokenizer=u,this.lines=[],this.states=[],this.start(0)},c.prototype.setDocument=function(u){this.doc=u,this.lines=[],this.states=[],this.stop()},c.prototype.fireUpdateEvent=function(u,i){var o={first:u,last:i};this._signal("update",{data:o})},c.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)},c.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},c.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()},c.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},c.prototype.getTokens=function(u){return this.lines[u]||this.$tokenizeRow(u)},c.prototype.getState=function(u){return this.currentLine==u&&this.$tokenizeRow(u),this.states[u]||"start"},c.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},c.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},c})();A.implement(_.prototype,x),g.BackgroundTokenizer=_}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(f,g,Me){var A=f("./lib/lang"),x=f("./range").Range,_=(function(){function c(u,i,o){o===void 0&&(o="text"),this.setRegexp(u),this.clazz=i,this.type=o,this.docLen=0}return c.prototype.setRegexp=function(u){this.regExp+""!=u+""&&(this.regExp=u,this.cache=[])},c.prototype.update=function(u,i,o,r){if(this.regExp){for(var t=r.firstRow,e=r.lastRow,n={},a=o.$editor&&o.$editor.$search,p=a&&a.$isMultilineSearch(o.$editor.getLastSearchOptions()),v=t;v<=e;v++){var E=this.cache[v];if(E==null||o.getValue().length!=this.docLen){if(p){E=[];var L=a.$multiLineForward(o,this.regExp,v,e);if(L){var S=L.endRow<=e?L.endRow-1:e;S>v&&(v=S),E.push(new x(L.startRow,L.startCol,L.endRow,L.endCol))}E.length>this.MAX_RANGES&&(E=E.slice(0,this.MAX_RANGES))}else E=A.getMatchOffsets(o.getLine(v),this.regExp),E.length>this.MAX_RANGES&&(E=E.slice(0,this.MAX_RANGES)),E=E.map(function(q){return new x(v,q.offset,v,q.offset+q.length)});this.cache[v]=E.length?E:""}if(E.length!==0)for(var b=E.length;b--;){var oe=E[b].toScreenRange(o),Se=oe.toString();n[Se]||(n[Se]=!0,i.drawSingleLineMarker(u,oe,this.clazz,r))}}this.docLen=o.getValue().length}},c})();_.prototype.MAX_RANGES=500,g.SearchHighlight=_}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(f,g,Me){var A=(function(){function S(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return S.prototype.addSession=function(b){this.$session=b},S.prototype.add=function(b,oe,Se){if(!this.$fromUndo&&b!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),oe===!1||!this.lastDeltas){this.lastDeltas=[];var q=this.$undoStack.length;q>this.$undoDepth-1&&this.$undoStack.splice(0,q-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),b.id=this.$rev=++this.$maxRev}(b.action=="remove"||b.action=="insert")&&(this.$lastDelta=b),this.lastDeltas.push(b)}},S.prototype.addSelection=function(b,oe){this.selections.push({value:b,rev:oe||this.$rev})},S.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},S.prototype.markIgnored=function(b,oe){oe==null&&(oe=this.$rev+1);for(var Se=this.$undoStack,q=Se.length;q--;){var U=Se[q][0];if(U.id<=b)break;U.id<oe&&(U.ignore=!0)}this.lastDeltas=null},S.prototype.getSelection=function(b,oe){for(var Se=this.selections,q=Se.length;q--;){var U=Se[q];if(U.rev<b)return oe&&(U=Se[q+1]),U}},S.prototype.getRevision=function(){return this.$rev},S.prototype.getDeltas=function(b,oe){oe==null&&(oe=this.$rev+1);for(var Se=this.$undoStack,q=null,U=0,lt=Se.length;lt--;){var G=Se[lt][0];if(G.id<oe&&!q&&(q=lt+1),G.id<=b){U=lt+1;break}}return Se.slice(U,q)},S.prototype.getChangedRanges=function(b,oe){oe==null&&(oe=this.$rev+1)},S.prototype.getChangedLines=function(b,oe){oe==null&&(oe=this.$rev+1)},S.prototype.undo=function(b,oe){this.lastDeltas=null;var Se=this.$undoStack;if(x(Se,Se.length)){b||(b=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var q=Se.pop(),U=null;return q&&(U=b.undoChanges(q,oe),this.$redoStack.push(q),this.$syncRev()),this.$fromUndo=!1,U}},S.prototype.redo=function(b,oe){if(this.lastDeltas=null,b||(b=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var Se=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);L(this.$redoStack,Se),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(lt){lt[0].id=++this.$maxRev},this)}var q=this.$redoStack.pop(),U=null;return q&&(U=b.redoChanges(q,oe),this.$undoStack.push(q),this.$syncRev()),this.$fromUndo=!1,U},S.prototype.$syncRev=function(){var b=this.$undoStack,oe=b[b.length-1],Se=oe&&oe[0].id||0;this.$redoStackBaseRev=Se,this.$rev=Se},S.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=[]},S.prototype.canUndo=function(){return this.$undoStack.length>0},S.prototype.canRedo=function(){return this.$redoStack.length>0},S.prototype.bookmark=function(b){b==null&&(b=this.$rev),this.mark=b},S.prototype.isAtBookmark=function(){return this.$rev===this.mark},S.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},S.prototype.fromJSON=function(b){this.reset(),this.$undoStack=b.$undoStack,this.$redoStack=b.$redoStack},S.prototype.$prettyPrint=function(b){return b?o(b):o(this.$undoStack)+`
|
195
|
+
---
|
196
|
+
`+o(this.$redoStack)},S})();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 x(S,b){for(var oe=b;oe--;){var Se=S[oe];if(Se&&!Se[0].ignore){for(;oe<b-1;){var q=e(S[oe],S[oe+1]);S[oe]=q[0],S[oe+1]=q[1],oe++}return!0}}}var _=f("./range").Range,c=_.comparePoints;_.comparePoints;function u(S){return{row:S.row,column:S.column}}function i(S){return{start:u(S.start),end:u(S.end),action:S.action,lines:S.lines.slice()}}function o(S){if(S=S||this,Array.isArray(S))return S.map(o).join(`
|
197
|
+
`);var b="";return S.action?(b=S.action=="insert"?"+":"-",b+="["+S.lines+"]"):S.value&&(Array.isArray(S.value)?b=S.value.map(r).join(`
|
198
|
+
`):b=r(S.value)),S.start&&(b+=r(S)),(S.id||S.rev)&&(b+=" ("+(S.id||S.rev)+")"),b}function r(S){return S.start.row+":"+S.start.column+"=>"+S.end.row+":"+S.end.column}function t(S,b){var oe=S.action=="insert",Se=b.action=="insert";if(oe&&Se)if(c(b.start,S.end)>=0)a(b,S,-1);else if(c(b.start,S.start)<=0)a(S,b,1);else return null;else if(oe&&!Se)if(c(b.start,S.end)>=0)a(b,S,-1);else if(c(b.end,S.start)<=0)a(S,b,-1);else return null;else if(!oe&&Se)if(c(b.start,S.start)>=0)a(b,S,1);else if(c(b.start,S.start)<=0)a(S,b,1);else return null;else if(!oe&&!Se)if(c(b.start,S.start)>=0)a(b,S,1);else if(c(b.end,S.start)<=0)a(S,b,-1);else return null;return[b,S]}function e(S,b){for(var oe=S.length;oe--;)for(var Se=0;Se<b.length;Se++)if(!t(S[oe],b[Se])){for(;oe<S.length;){for(;Se--;)t(b[Se],S[oe]);Se=b.length,oe++}return[S,b]}return S.selectionBefore=b.selectionBefore=S.selectionAfter=b.selectionAfter=null,[b,S]}function n(S,b){var oe=S.action=="insert",Se=b.action=="insert";if(oe&&Se)c(S.start,b.start)<0?a(b,S,1):a(S,b,1);else if(oe&&!Se)c(S.start,b.end)>=0?a(S,b,-1):(c(S.start,b.start)<=0||a(S,_.fromPoints(b.start,S.start),-1),a(b,S,1));else if(!oe&&Se)c(b.start,S.end)>=0?a(b,S,-1):(c(b.start,S.start)<=0||a(b,_.fromPoints(S.start,b.start),-1),a(S,b,1));else if(!oe&&!Se)if(c(b.start,S.end)>=0)a(b,S,-1);else if(c(b.end,S.start)<=0)a(S,b,-1);else{var q,U;return c(S.start,b.start)<0&&(q=S,S=v(S,b.start)),c(S.end,b.end)>0&&(U=v(S,b.end)),p(b.end,S.start,S.end,-1),U&&!q&&(S.lines=U.lines,S.start=U.start,S.end=U.end,U=S),[b,q,U].filter(Boolean)}return[b,S]}function a(S,b,oe){p(S.start,b.start,b.end,oe),p(S.end,b.start,b.end,oe)}function p(S,b,oe,Se){S.row==(Se==1?b:oe).row&&(S.column+=Se*(oe.column-b.column)),S.row+=Se*(oe.row-b.row)}function v(S,b){var oe=S.lines,Se=S.end;S.end=u(b);var q=S.end.row-S.start.row,U=oe.splice(q,oe.length),lt=q?b.column:b.column-S.start.column;oe.push(U[0].substring(0,lt)),U[0]=U[0].substr(lt);var G={start:u(b),end:Se,lines:U,action:S.action};return G}function E(S,b){b=i(b);for(var oe=S.length;oe--;){for(var Se=S[oe],q=0;q<Se.length;q++){var U=Se[q],lt=n(U,b);b=lt[0],lt.length!=2&&(lt[2]?(Se.splice(q+1,1,lt[1],lt[2]),q++):lt[1]||(Se.splice(q,1),q--))}Se.length||S.splice(oe,1)}return S}function L(S,b){for(var oe=0;oe<b.length;oe++)for(var Se=b[oe],q=0;q<Se.length;q++)E(S,Se[q])}g.UndoManager=A}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(f,g,Me){var A=f("../range").Range,x=(function(){function _(c,u){this.foldData=c,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(c){this.start.row+=c,this.end.row+=c,this.folds.forEach(function(u){u.start.row+=c,u.end.row+=c})},_.prototype.addFold=function(c){if(c.sameRow){if(c.start.row<this.startRow||c.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(c),this.folds.sort(function(u,i){return-u.range.compareEnd(i.start.row,i.start.column)}),this.range.compareEnd(c.start.row,c.start.column)>0?(this.end.row=c.end.row,this.end.column=c.end.column):this.range.compareStart(c.end.row,c.end.column)<0&&(this.start.row=c.start.row,this.start.column=c.start.column)}else if(c.start.row==this.end.row)this.folds.push(c),this.end.row=c.end.row,this.end.column=c.end.column;else if(c.end.row==this.start.row)this.folds.unshift(c),this.start.row=c.start.row,this.start.column=c.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");c.foldLine=this},_.prototype.containsRow=function(c){return c>=this.start.row&&c<=this.end.row},_.prototype.walk=function(c,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){c(null,u,i,o,a);return}if(n=c(null,t.start.row,t.start.column,o,a),n=!n&&c(t.placeholder,t.start.row,t.start.column,o),n||e===0)return;a=!t.sameRow,o=t.end.column}c(null,u,i,o,a)},_.prototype.getNextFoldTo=function(c,u){for(var i,o,r=0;r<this.folds.length;r++){if(i=this.folds[r],o=i.range.compareEnd(c,u),o==-1)return{fold:i,kind:"after"};if(o===0)return{fold:i,kind:"inside"}}return null},_.prototype.addRemoveChars=function(c,u,i){var o=this.getNextFoldTo(c,u),r,t;if(o){if(r=o.fold,o.kind=="inside"&&r.start.column!=u&&r.start.row!=c)window.console&&window.console.log(c,u,r);else if(r.start.row==c){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(c,u){var i=this.getNextFoldTo(c,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(c){for(var u=c.folds,i=0;i<u.length;i++)this.addFold(u[i]);var o=this.foldData;o.splice(o.indexOf(c),1)},_.prototype.toString=function(){var c=[this.range.toString()+": ["];return this.folds.forEach(function(u){c.push(" "+u.toString())}),c.push("]"),c.join(`
|
199
|
+
`)},_.prototype.idxToPosition=function(c){for(var u=0,i=0;i<this.folds.length;i++){var o=this.folds[i];if(c-=o.start.column-u,c<0)return{row:o.start.row,column:o.start.column+c};if(c-=o.placeholder.length,c<0)return o.start;u=o.end.column}return{row:this.end.row,column:this.end.column+c}},_})();g.FoldLine=x}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(f,g,Me){var A=f("./range").Range,x=A.comparePoints,_=(function(){function c(){this.ranges=[],this.$bias=1}return c.prototype.pointIndex=function(u,i,o){for(var r=this.ranges,t=o||0;t<r.length;t++){var e=r[t],n=x(u,e.end);if(!(n>0)){var a=x(u,e.start);return n===0?i&&a!==0?-t-2:t:a>0||a===0&&!i?t:-t-1}}return-t-1},c.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)},c.prototype.addList=function(u){for(var i=[],o=u.length;o--;)i.push.apply(i,this.add(u[o]));return i},c.prototype.substractPoint=function(u){var i=this.pointIndex(u);if(i>=0)return this.ranges.splice(i,1)},c.prototype.merge=function(){var u=[],i=this.ranges;i=i.sort(function(n,a){return x(n.start,a.start)});for(var o=i[0],r,t=1;t<i.length;t++){r=o,o=i[t];var e=x(r.end,o.start);e<0||e==0&&!r.isEmpty()&&!o.isEmpty()||(x(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},c.prototype.contains=function(u,i){return this.pointIndex({row:u,column:i})>=0},c.prototype.containsPoint=function(u){return this.pointIndex(u)>=0},c.prototype.rangeAtPoint=function(u){var i=this.pointIndex(u);if(i>=0)return this.ranges[i]},c.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},c.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},c.prototype.attach=function(u){this.session&&this.detach(),this.session=u,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},c.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},c.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 v=t-r,E=-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+=E,p.start.row+=v)),p.end.row==r&&p.end.column>=i.column){if(p.end.column==i.column&&this.$bias<0)continue;p.end.column==i.column&&E>0&&n<a-1&&p.end.column>p.start.column&&p.end.column==e[n+1].start.column&&(p.end.column-=E),p.end.column+=E,p.end.row+=v}}else for(var v=r-t,E=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?(v||p.end.column>i.column)&&(p.end.column=i.column,p.end.row=i.row):(p.end.column+=E,p.end.row+=v):p.end.row>t&&(p.end.row+=v),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?(v||p.start.column>i.column)&&(p.start.column=i.column,p.start.row=i.row):(p.start.column+=E,p.start.row+=v):p.start.row>t&&(p.start.row+=v)}if(v!=0&&n<a)for(;n<a;n++){var p=e[n];p.start.row+=v,p.end.row+=v}},c})();_.prototype.comparePoints=x,g.RangeList=_}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(f,g,Me){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)}})(),x=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 E=e.start.row,L=e.start.column,n=0,a=-1;n<this.subFolds.length&&(a=this.subFolds[n].range.compare(E,L),a==1);n++);var p=this.subFolds[n],v=0;if(a==0){if(p.range.containsRange(e))return p.addSubFold(e);v=1}for(var E=e.range.end.row,L=e.range.end.column,S=n,a=-1;S<this.subFolds.length&&(a=this.subFolds[S].range.compare(E,L),a==1);S++);a==0&&S++;for(var b=this.subFolds.splice(n,S-n,e),oe=a==0?b.length-1:b.length,Se=v;Se<oe;Se++)e.addSubFold(b[Se]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return o(e,this.start)},t})(x);function c(r,t){r.row-=t.row,r.row==0&&(r.column-=t.column)}function u(r,t){c(r.start,t),c(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,Me){var A=f("../range").Range,x=f("./fold_line").FoldLine,_=f("./fold").Fold,c=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 v=e[a].folds,E=0;E<v.length;E++){var L=v[E];if(p=L.range.compareRange(o),p==-2)break;if(p==2)continue;if(p==42)break;n.push(L)}}}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,v=0;v<e.folds.length;v++){p=e.folds[v];var E=p.range.compareEnd(o,r);if(E==-1){a=this.getLine(p.start.row).substring(n.end.column,p.start.column);break}else if(E===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,v=a.start.row;if(p>=r){v<r&&(v>=o?e-=r-v:e=0);break}else p>=o&&(v>=o?e-=p-v: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,v=n.end.row,E=n.end.column,L=this.getFoldAt(a,p,1),S=this.getFoldAt(v,E,-1);if(L&&S==L)return L.addSubFold(n);L&&!L.range.isStart(a,p)&&this.removeFold(L),S&&!S.range.isEnd(v,E)&&this.removeFold(S);var b=this.getFoldsInRange(n.range);b.length>0&&(this.removeFolds(b),n.collapseChildren||b.forEach(function(U){n.addSubFold(U)}));for(var oe=0;oe<t.length;oe++){var Se=t[oe];if(v==Se.start.row){Se.addFold(n),e=!0;break}else if(a==Se.end.row){if(Se.addFold(n),e=!0,!n.sameRow){var q=t[oe+1];if(q&&q.start.row==v){Se.merge(q);break}}break}else if(v<=Se.start.row)break}return e||(Se=this.$addFoldLine(new x(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(Se.start.row,Se.start.row):this.$updateRowLengthCache(Se.start.row,Se.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(v,E,L,S){if(!(E<e)){if(E==e){if(L<n)return;S=Math.max(n,S)}v!=null?p+=v:p+=a.getLine(E).substring(S,L)}},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 x(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 if(o){var p=this.getFoldLine(a.row);p&&this.expandFolds(p.folds);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 v=this.getFoldsInRange(t);if(o&&v.length){this.expandFolds(v);return}else v.length==1&&(e=v[0])}if(e||(e=this.getFoldAt(t.start.row,t.start.column)),e&&e.range.toString()==t.toString()){this.expandFold(e);return}var E="...";if(!t.isMultiLine()){if(E=this.getTextRange(t),E.length<4)return;E=E.trim().substring(0,2)+".."}this.addFold(E,t)},this.getCommentFoldRange=function(o,r,t){var e=new c(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),v=new A;if(t!=1){do n=e.stepBackward();while(n&&p.test(n.type));n=e.stepForward()}v.start.row=e.getCurrentTokenRow(),v.start.column=e.getCurrentTokenColumn()+n.value.length,e=new c(this,o,r);var E=this.getState(e.$row);if(t!=-1){var L=-1;do if(n=e.stepForward(),L==-1){var S=this.getState(e.$row);E.toString()!==S.toString()&&(L=e.$row)}else if(e.$row>L)break;while(n&&p.test(n.type));n=e.stepBackward()}else n=e.getCurrentToken();return v.end.row=e.getCurrentTokenRow(),v.end.column=e.getCurrentTokenColumn(),v.start.row==v.end.row&&v.start.column>v.end.column?void 0:v}},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 v=this.getParentFoldRangeData(o);if(v.range)var E=v.range.start.row+1,L=v.range.end.row;this.foldAll(E,L,r.all?1e4:0)}else r.children?(L=p?p.end.row:this.getLength(),this.foldAll(o+1,L,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,Me){var A=f("../token_iterator").TokenIterator,x=f("../range").Range;function _(){this.findMatchingBracket=function(c,u){if(c.column==0)return null;var i=u||this.getLine(c.row).charAt(c.column-1);if(i=="")return null;var o=i.match(/([\(\[\{])|([\)\]\}])/);return o?o[1]?this.$findClosingBracket(o[1],c):this.$findOpeningBracket(o[2],c):null},this.getBracketRange=function(c){var u=this.getLine(c.row),i=!0,o,r=u.charAt(c.column-1),t=r&&r.match(/([\(\[\{])|([\)\]\}])/);if(t||(r=u.charAt(c.column),c={row:c.row,column:c.column+1},t=r&&r.match(/([\(\[\{])|([\)\]\}])/),i=!1),!t)return null;if(t[1]){var e=this.$findClosingBracket(t[1],c);if(!e)return null;o=x.fromPoints(c,e),i||(o.end.column++,o.start.column--),o.cursor=o.end}else{var e=this.$findOpeningBracket(t[2],c);if(!e)return null;o=x.fromPoints(e,c),i||(o.start.column++,o.end.column--),o.cursor=o.start}return o},this.getMatchingBracketRanges=function(c,u){var i=this.getLine(c.row),o=/([\(\[\{])|([\)\]\}])/,r=!u&&i.charAt(c.column-1),t=r&&r.match(o);if(t||(r=(u===void 0||u)&&i.charAt(c.column),c={row:c.row,column:c.column+1},t=r&&r.match(o)),!t)return null;var e=new x(c.row,c.column-1,c.row,c.column),n=t[1]?this.$findClosingBracket(t[1],c):this.$findOpeningBracket(t[2],c);if(!n)return[e];var a=new x(n.row,n.column,n.row,n.column+1);return[e,a]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(c,u,i){var o=this.$brackets[c],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==c&&(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(c,u,i){var o=this.$brackets[c],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 v=a.charAt(n);if(v==o){if(r-=1,r==0)return{row:t.getCurrentTokenRow(),column:n+t.getCurrentTokenColumn()}}else v==c&&(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(c){var u=new A(this,c.row,c.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(c){var u=c.getCurrentToken(),i=!1,o=!1;if(u&&u.type.indexOf("tag-name")===-1)do o?u=c.stepBackward():u=c.stepForward(),u&&(u.value==="/>"?o=!0:u.type.indexOf("tag-name")!==-1&&(i=!0));while(u&&!i);return u},this.$findClosingTag=function(c,u){var i,o=u.value,r=u.value,t=0,e=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+1);u=c.stepForward();var n=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+u.value.length),a=!1;do{if(i=u,i.type.indexOf("tag-close")!==-1&&!a){var p=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+1);a=!0}if(u=c.stepForward(),u){if(u.value===">"&&!a){var p=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.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)){c.stepBackward();var v=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+2);u=c.stepForward();var E=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=c.stepForward()),u&&u.value===">")var L=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+1);else return}}}else if(r===o&&u.value==="/>"&&(t--,t<0))var v=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+2),E=v,L=E,p=new x(n.end.row,n.end.column,n.end.row,n.end.column+1)}}while(u&&t>=0);if(e&&p&&v&&L&&n&&E)return{openTag:new x(e.start.row,e.start.column,p.end.row,p.end.column),closeTag:new x(v.start.row,v.start.column,L.end.row,L.end.column),openTagName:n,closeTagName:E}},this.$findOpeningTag=function(c,u){var i=c.getCurrentToken(),o=u.value,r=0,t=c.getCurrentTokenRow(),e=c.getCurrentTokenColumn(),n=e+2,a=new x(t,e,t,n);c.stepForward();var p=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=c.stepForward()),!(!u||u.value!==">")){var v=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+1);c.stepBackward(),c.stepBackward();do if(u=i,t=c.getCurrentTokenRow(),e=c.getCurrentTokenColumn(),n=e+u.value.length,i=c.stepBackward(),u){if(u.type.indexOf("tag-name")!==-1){if(o===u.value)if(i.value==="<"){if(r++,r>0){var E=new x(t,e,t,n),L=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+1);do u=c.stepForward();while(u&&u.value!==">");var S=new x(c.getCurrentTokenRow(),c.getCurrentTokenColumn(),c.getCurrentTokenRow(),c.getCurrentTokenColumn()+1)}}else i.value==="</"&&r--}else if(u.value==="/>"){for(var b=0,oe=i;oe;){if(oe.type.indexOf("tag-name")!==-1&&oe.value===o){r--;break}else if(oe.value==="<")break;oe=c.stepBackward(),b++}for(var Se=0;Se<b;Se++)c.stepForward()}}while(i&&r<=0);if(L&&S&&a&&v&&E&&p)return{openTag:new x(L.start.row,L.start.column,S.end.row,S.end.column),closeTag:new x(a.start.row,a.start.column,v.end.row,v.end.column),openTagName:E,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,Me){var A=f("./lib/oop"),x=f("./lib/lang"),_=f("./bidihandler").BidiHandler,c=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,v=(function(){function G(P,C){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"+ ++G.$uid,this.$foldData.toString=function(){return this.join(`
|
200
|
+
`)},this.$gutterCustomWidgets={},this.bgTokenizer=new n(new o().getTokenizer(),this);var w=this;this.bgTokenizer.on("update",function(D){w._signal("tokenizerUpdate",D)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof P!="object"||!P.getLine)&&(P=new e(P)),this.setDocument(P),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),c.resetOptions(this),this.setMode(C),c._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return G.prototype.$initOperationListeners=function(){var P=this;this.curOp=null,this.on("change",function(){P.curOp||(P.startOperation(),P.curOp.selectionBefore=P.$lastSel),P.curOp.docChanged=!0},!0),this.on("changeSelection",function(){P.curOp||(P.startOperation(),P.curOp.selectionBefore=P.$lastSel),P.curOp.selectionChanged=!0},!0),this.$operationResetTimer=x.delayedCall(this.endOperation.bind(this,!0))},G.prototype.startOperation=function(P){if(this.curOp){if(!P||this.curOp.command)return;this.prevOp=this.curOp}P||(P={}),this.$operationResetTimer.schedule(),this.curOp={command:P.command||{},args:P.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",P)},G.prototype.endOperation=function(P){if(this.curOp){if(P&&P.returnValue===!1){this.curOp=null,this._signal("endOperation",P);return}if(P==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var C=this.selection.toJSON();this.curOp.selectionAfter=C,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(C),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",P)}},G.prototype.setDocument=function(P){this.doc&&this.doc.off("change",this.$onChange),this.doc=P,P.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},G.prototype.getDocument=function(){return this.doc},Object.defineProperty(G.prototype,"widgetManager",{get:function(){var P=new t(this);return this.widgetManager=P,this.$editor&&P.attach(this.$editor),P},set:function(P){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:P})},enumerable:!1,configurable:!0}),G.prototype.$resetRowCache=function(P){if(!P){this.$docRowCache=[],this.$screenRowCache=[];return}var C=this.$docRowCache.length,w=this.$getRowCacheIndex(this.$docRowCache,P)+1;C>w&&(this.$docRowCache.splice(w,C),this.$screenRowCache.splice(w,C))},G.prototype.$getRowCacheIndex=function(P,C){for(var w=0,D=P.length-1;w<=D;){var Re=w+D>>1,at=P[Re];if(C>at)w=Re+1;else if(C<at)D=Re-1;else return Re}return w-1},G.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},G.prototype.onChangeFold=function(P){var C=P.data;this.$resetRowCache(C.start.row)},G.prototype.onChange=function(P){this.$modified=!0,this.$bidiHandler.onChange(P),this.$resetRowCache(P.start.row);var C=this.$updateInternalDataOnChange(P);!this.$fromUndo&&this.$undoManager&&(C&&C.length&&(this.$undoManager.add({action:"removeFolds",folds:C},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(P,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(P),this._signal("change",P)},G.prototype.onSelectionChange=function(){this._signal("changeSelection")},G.prototype.setValue=function(P){this.doc.setValue(P),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},G.fromJSON=function(P){typeof P=="string"&&(P=JSON.parse(P));var C=new p;C.$undoStack=P.history.undo,C.$redoStack=P.history.redo,C.mark=P.history.mark,C.$rev=P.history.rev;var w=new G(P.value);return P.folds.forEach(function(D){w.addFold("...",r.fromPoints(D.start,D.end))}),w.setAnnotations(P.annotations),w.setBreakpoints(P.breakpoints),w.setMode(P.mode),w.setScrollLeft(P.scrollLeft),w.setScrollTop(P.scrollTop),w.setUndoManager(C),w.selection.fromJSON(P.selection),w},G.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(P){return P.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},G.prototype.toString=function(){return this.doc.getValue()},G.prototype.getSelection=function(){return this.selection},G.prototype.getState=function(P){return this.bgTokenizer.getState(P)},G.prototype.getTokens=function(P){return this.bgTokenizer.getTokens(P)},G.prototype.getTokenAt=function(P,C){var w=this.bgTokenizer.getTokens(P),D,Re=0;if(C==null){var at=w.length-1;Re=this.getLine(P).length}else for(var at=0;at<w.length&&(Re+=w[at].value.length,!(Re>=C));at++);return D=w[at],D?(D.index=at,D.start=Re-D.value.length,D):null},G.prototype.setUndoManager=function(P){if(this.$undoManager=P,this.$informUndoManager&&this.$informUndoManager.cancel(),P){var C=this;P.addSession(this),this.$syncInformUndoManager=function(){C.$informUndoManager.cancel(),C.mergeUndoDeltas=!1},this.$informUndoManager=x.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},G.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},G.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},G.prototype.getTabString=function(){return this.getUseSoftTabs()?x.stringRepeat(" ",this.getTabSize()):" "},G.prototype.setUseSoftTabs=function(P){this.setOption("useSoftTabs",P)},G.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},G.prototype.setTabSize=function(P){this.setOption("tabSize",P)},G.prototype.getTabSize=function(){return this.$tabSize},G.prototype.isTabStop=function(P){return this.$useSoftTabs&&P.column%this.$tabSize===0},G.prototype.setNavigateWithinSoftTabs=function(P){this.setOption("navigateWithinSoftTabs",P)},G.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},G.prototype.setOverwrite=function(P){this.setOption("overwrite",P)},G.prototype.getOverwrite=function(){return this.$overwrite},G.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},G.prototype.addGutterDecoration=function(P,C){this.$decorations[P]||(this.$decorations[P]=""),this.$decorations[P]+=" "+C,this._signal("changeBreakpoint",{})},G.prototype.removeGutterCustomWidget=function(P){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(P)},G.prototype.addGutterCustomWidget=function(P,C){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(P,C)},G.prototype.removeGutterDecoration=function(P,C){this.$decorations[P]=(this.$decorations[P]||"").replace(" "+C,""),this._signal("changeBreakpoint",{})},G.prototype.getBreakpoints=function(){return this.$breakpoints},G.prototype.setBreakpoints=function(P){this.$breakpoints=[];for(var C=0;C<P.length;C++)this.$breakpoints[P[C]]="ace_breakpoint";this._signal("changeBreakpoint",{})},G.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},G.prototype.setBreakpoint=function(P,C){C===void 0&&(C="ace_breakpoint"),C?this.$breakpoints[P]=C:delete this.$breakpoints[P],this._signal("changeBreakpoint",{})},G.prototype.clearBreakpoint=function(P){delete this.$breakpoints[P],this._signal("changeBreakpoint",{})},G.prototype.addMarker=function(P,C,w,D){var Re=this.$markerId++,at={range:P,type:w||"line",renderer:typeof w=="function"?w:null,clazz:C,inFront:!!D,id:Re};return D?(this.$frontMarkers[Re]=at,this._signal("changeFrontMarker")):(this.$backMarkers[Re]=at,this._signal("changeBackMarker")),Re},G.prototype.addDynamicMarker=function(P,C){if(P.update){var w=this.$markerId++;return P.id=w,P.inFront=!!C,C?(this.$frontMarkers[w]=P,this._signal("changeFrontMarker")):(this.$backMarkers[w]=P,this._signal("changeBackMarker")),P}},G.prototype.removeMarker=function(P){var C=this.$frontMarkers[P]||this.$backMarkers[P];if(C){var w=C.inFront?this.$frontMarkers:this.$backMarkers;delete w[P],this._signal(C.inFront?"changeFrontMarker":"changeBackMarker")}},G.prototype.getMarkers=function(P){return P?this.$frontMarkers:this.$backMarkers},G.prototype.highlight=function(P){if(!this.$searchHighlight){var C=new a(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(C)}this.$searchHighlight.setRegexp(P)},G.prototype.highlightLines=function(P,C,w,D){typeof C!="number"&&(w=C,C=P),w||(w="ace_step");var Re=new r(P,0,C,1/0);return Re.id=this.addMarker(Re,w,"fullLine",D),Re},G.prototype.setAnnotations=function(P){this.$annotations=P,this._signal("changeAnnotation",{})},G.prototype.getAnnotations=function(){return this.$annotations||[]},G.prototype.clearAnnotations=function(){this.setAnnotations([])},G.prototype.$detectNewLine=function(P){var C=P.match(/^.*?(\r?\n)/m);C?this.$autoNewLine=C[1]:this.$autoNewLine=`
|
201
|
+
`},G.prototype.getWordRange=function(P,C){var w=this.getLine(P),D=!1;if(C>0&&(D=!!w.charAt(C-1).match(this.tokenRe)),D||(D=!!w.charAt(C).match(this.tokenRe)),D)var Re=this.tokenRe;else if(/^\s+$/.test(w.slice(C-1,C+1)))var Re=/\s/;else var Re=this.nonTokenRe;var at=C;if(at>0){do at--;while(at>=0&&w.charAt(at).match(Re));at++}for(var ct=C;ct<w.length&&w.charAt(ct).match(Re);)ct++;return new r(P,at,P,ct)},G.prototype.getAWordRange=function(P,C){for(var w=this.getWordRange(P,C),D=this.getLine(w.end.row);D.charAt(w.end.column).match(/[ \t]/);)w.end.column+=1;return w},G.prototype.setNewLineMode=function(P){this.doc.setNewLineMode(P)},G.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},G.prototype.setUseWorker=function(P){this.setOption("useWorker",P)},G.prototype.getUseWorker=function(){return this.$useWorker},G.prototype.onReloadTokenizer=function(P){var C=P.data;this.bgTokenizer.start(C.first),this._signal("tokenizerUpdate",P)},G.prototype.setMode=function(P,C){if(P&&typeof P=="object"){if(P.getTokenizer)return this.$onChangeMode(P);var w=P,D=w.path}else D=P||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new o),this.$modes[D]&&!w){this.$onChangeMode(this.$modes[D]),C&&C();return}this.$modeId=D,c.loadModule(["mode",D],(function(Re){if(!this.destroyed){if(this.$modeId!==D)return C&&C();this.$modes[D]&&!w?this.$onChangeMode(this.$modes[D]):Re&&Re.Mode&&(Re=new Re.Mode(w),w||(this.$modes[D]=Re,Re.$id=D),this.$onChangeMode(Re)),C&&C()}}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},G.prototype.$onChangeMode=function(P,C){if(C||(this.$modeId=P.$id),this.$mode!==P){var w=this.$mode;this.$mode=P,this.$stopWorker(),this.$useWorker&&this.$startWorker();var D=P.getTokenizer();if(D.on!==void 0){var Re=this.onReloadTokenizer.bind(this);D.on("update",Re)}this.bgTokenizer.setTokenizer(D),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=P.tokenRe,this.nonTokenRe=P.nonTokenRe,C||(P.attachToSession&&P.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(P.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:w,mode:P}))}},G.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},G.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(P){c.warn("Could not load worker",P),this.$worker=null}},G.prototype.getMode=function(){return this.$mode},G.prototype.setScrollTop=function(P){this.$scrollTop===P||isNaN(P)||(this.$scrollTop=P,this._signal("changeScrollTop",P))},G.prototype.getScrollTop=function(){return this.$scrollTop},G.prototype.setScrollLeft=function(P){this.$scrollLeft===P||isNaN(P)||(this.$scrollLeft=P,this._signal("changeScrollLeft",P))},G.prototype.getScrollLeft=function(){return this.$scrollLeft},G.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},G.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var P=0;return this.lineWidgets.forEach(function(C){C&&C.screenWidth>P&&(P=C.screenWidth)}),this.lineWidgetWidth=P},G.prototype.$computeWidth=function(P){if(this.$modified||P){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var C=this.doc.getAllLines(),w=this.$rowLengthCache,D=0,Re=0,at=this.$foldData[Re],ct=at?at.start.row:1/0,ut=C.length,Dt=0;Dt<ut;Dt++){if(Dt>ct){if(Dt=at.end.row+1,Dt>=ut)break;at=this.$foldData[Re++],ct=at?at.start.row:1/0}w[Dt]==null&&(w[Dt]=this.$getStringScreenWidth(C[Dt])[0]),w[Dt]>D&&(D=w[Dt])}this.screenWidth=D}},G.prototype.getLine=function(P){return this.doc.getLine(P)},G.prototype.getLines=function(P,C){return this.doc.getLines(P,C)},G.prototype.getLength=function(){return this.doc.getLength()},G.prototype.getTextRange=function(P){return this.doc.getTextRange(P||this.selection.getRange())},G.prototype.insert=function(P,C){return this.doc.insert(P,C)},G.prototype.remove=function(P){return this.doc.remove(P)},G.prototype.removeFullLines=function(P,C){return this.doc.removeFullLines(P,C)},G.prototype.undoChanges=function(P,C){if(P.length){this.$fromUndo=!0;for(var w=P.length-1;w!=-1;w--){var D=P[w];D.action=="insert"||D.action=="remove"?this.doc.revertDelta(D):D.folds&&this.addFolds(D.folds)}!C&&this.$undoSelect&&(P.selectionBefore?this.selection.fromJSON(P.selectionBefore):this.selection.setRange(this.$getUndoSelection(P,!0))),this.$fromUndo=!1}},G.prototype.redoChanges=function(P,C){if(P.length){this.$fromUndo=!0;for(var w=0;w<P.length;w++){var D=P[w];(D.action=="insert"||D.action=="remove")&&this.doc.$safeApplyDelta(D)}!C&&this.$undoSelect&&(P.selectionAfter?this.selection.fromJSON(P.selectionAfter):this.selection.setRange(this.$getUndoSelection(P,!1))),this.$fromUndo=!1}},G.prototype.setUndoSelect=function(P){this.$undoSelect=P},G.prototype.$getUndoSelection=function(P,C){function w(ut){return C?ut.action!=="insert":ut.action==="insert"}for(var D,Re,at=0;at<P.length;at++){var ct=P[at];if(ct.start){if(!D){w(ct)?D=r.fromPoints(ct.start,ct.end):D=r.fromPoints(ct.start,ct.start);continue}w(ct)?(Re=ct.start,D.compare(Re.row,Re.column)==-1&&D.setStart(Re),Re=ct.end,D.compare(Re.row,Re.column)==1&&D.setEnd(Re)):(Re=ct.start,D.compare(Re.row,Re.column)==-1&&(D=r.fromPoints(ct.start,ct.start)))}}return D},G.prototype.replace=function(P,C){return this.doc.replace(P,C)},G.prototype.moveText=function(P,C,w){var D=this.getTextRange(P),Re=this.getFoldsInRange(P),at=r.fromPoints(C,C);if(!w){this.remove(P);var ct=P.start.row-P.end.row,ut=ct?-P.end.column:P.start.column-P.end.column;ut&&(at.start.row==P.end.row&&at.start.column>P.end.column&&(at.start.column+=ut),at.end.row==P.end.row&&at.end.column>P.end.column&&(at.end.column+=ut)),ct&&at.start.row>=P.end.row&&(at.start.row+=ct,at.end.row+=ct)}if(at.end=this.insert(at.start,D),Re.length){var Dt=P.start,Jt=at.start,ct=Jt.row-Dt.row,ut=Jt.column-Dt.column;this.addFolds(Re.map(function(Vt){return Vt=Vt.clone(),Vt.start.row==Dt.row&&(Vt.start.column+=ut),Vt.end.row==Dt.row&&(Vt.end.column+=ut),Vt.start.row+=ct,Vt.end.row+=ct,Vt}))}return at},G.prototype.indentRows=function(P,C,w){w=w.replace(/\t/g,this.getTabString());for(var D=P;D<=C;D++)this.doc.insertInLine({row:D,column:0},w)},G.prototype.outdentRows=function(P){for(var C=P.collapseRows(),w=new r(0,0,0,0),D=this.getTabSize(),Re=C.start.row;Re<=C.end.row;++Re){var at=this.getLine(Re);w.start.row=Re,w.end.row=Re;for(var ct=0;ct<D&&at.charAt(ct)==" ";++ct);ct<D&&at.charAt(ct)==" "?(w.start.column=ct,w.end.column=ct+1):(w.start.column=0,w.end.column=ct),this.remove(w)}},G.prototype.$moveLines=function(P,C,w){if(P=this.getRowFoldStart(P),C=this.getRowFoldEnd(C),w<0){var D=this.getRowFoldStart(P+w);if(D<0)return 0;var Re=D-P}else if(w>0){var D=this.getRowFoldEnd(C+w);if(D>this.doc.getLength()-1)return 0;var Re=D-C}else{P=this.$clipRowToDocument(P),C=this.$clipRowToDocument(C);var Re=C-P+1}var at=new r(P,0,C,Number.MAX_VALUE),ct=this.getFoldsInRange(at).map(function(Dt){return Dt=Dt.clone(),Dt.start.row+=Re,Dt.end.row+=Re,Dt}),ut=w==0?this.doc.getLines(P,C):this.doc.removeFullLines(P,C);return this.doc.insertFullLines(P+Re,ut),ct.length&&this.addFolds(ct),Re},G.prototype.moveLinesUp=function(P,C){return this.$moveLines(P,C,-1)},G.prototype.moveLinesDown=function(P,C){return this.$moveLines(P,C,1)},G.prototype.duplicateLines=function(P,C){return this.$moveLines(P,C,0)},G.prototype.$clipRowToDocument=function(P){return Math.max(0,Math.min(P,this.doc.getLength()-1))},G.prototype.$clipColumnToRow=function(P,C){return C<0?0:Math.min(this.doc.getLine(P).length,C)},G.prototype.$clipPositionToDocument=function(P,C){if(C=Math.max(0,C),P<0)P=0,C=0;else{var w=this.doc.getLength();P>=w?(P=w-1,C=this.doc.getLine(w-1).length):C=Math.min(this.doc.getLine(P).length,C)}return{row:P,column:C}},G.prototype.$clipRangeToDocument=function(P){P.start.row<0?(P.start.row=0,P.start.column=0):P.start.column=this.$clipColumnToRow(P.start.row,P.start.column);var C=this.doc.getLength()-1;return P.end.row>C?(P.end.row=C,P.end.column=this.doc.getLine(C).length):P.end.column=this.$clipColumnToRow(P.end.row,P.end.column),P},G.prototype.setUseWrapMode=function(P){if(P!=this.$useWrapMode){if(this.$useWrapMode=P,this.$modified=!0,this.$resetRowCache(0),P){var C=this.getLength();this.$wrapData=Array(C),this.$updateWrapData(0,C-1)}this._signal("changeWrapMode")}},G.prototype.getUseWrapMode=function(){return this.$useWrapMode},G.prototype.setWrapLimitRange=function(P,C){(this.$wrapLimitRange.min!==P||this.$wrapLimitRange.max!==C)&&(this.$wrapLimitRange={min:P,max:C},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},G.prototype.adjustWrapLimit=function(P,C){var w=this.$wrapLimitRange;w.max<0&&(w={min:C,max:C});var D=this.$constrainWrapLimit(P,w.min,w.max);return D!=this.$wrapLimit&&D>1?(this.$wrapLimit=D,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},G.prototype.$constrainWrapLimit=function(P,C,w){return C&&(P=Math.max(C,P)),w&&(P=Math.min(w,P)),P},G.prototype.getWrapLimit=function(){return this.$wrapLimit},G.prototype.setWrapLimit=function(P){this.setWrapLimitRange(P,P)},G.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},G.prototype.$updateInternalDataOnChange=function(P){var C=this.$useWrapMode,w=P.action,D=P.start,Re=P.end,at=D.row,ct=Re.row,ut=ct-at,Dt=null;if(this.$updating=!0,ut!=0)if(w==="remove"){this[C?"$wrapData":"$rowLengthCache"].splice(at,ut);var Jt=this.$foldData;Dt=this.getFoldsInRange(P),this.removeFolds(Dt);var Wt=this.getFoldLine(Re.row),zt=0;if(Wt){Wt.addRemoveChars(Re.row,Re.column,D.column-Re.column),Wt.shiftRow(-ut);var Vt=this.getFoldLine(at);Vt&&Vt!==Wt&&(Vt.merge(Wt),Wt=Vt),zt=Jt.indexOf(Wt)+1}for(zt;zt<Jt.length;zt++){var Wt=Jt[zt];Wt.start.row>=Re.row&&Wt.shiftRow(-ut)}ct=at}else{var Ht=Array(ut);Ht.unshift(at,0);var ai=C?this.$wrapData:this.$rowLengthCache;ai.splice.apply(ai,Ht);var Jt=this.$foldData,Wt=this.getFoldLine(at),zt=0;if(Wt){var li=Wt.range.compareInside(D.row,D.column);li==0?(Wt=Wt.split(D.row,D.column),Wt&&(Wt.shiftRow(ut),Wt.addRemoveChars(ct,0,Re.column-D.column))):li==-1&&(Wt.addRemoveChars(at,0,Re.column-D.column),Wt.shiftRow(ut)),zt=Jt.indexOf(Wt)+1}for(zt;zt<Jt.length;zt++){var Wt=Jt[zt];Wt.start.row>=at&&Wt.shiftRow(ut)}}else{ut=Math.abs(P.start.column-P.end.column),w==="remove"&&(Dt=this.getFoldsInRange(P),this.removeFolds(Dt),ut=-ut);var Wt=this.getFoldLine(at);Wt&&Wt.addRemoveChars(at,D.column,ut)}return C&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,C?this.$updateWrapData(at,ct):this.$updateRowLengthCache(at,ct),Dt},G.prototype.$updateRowLengthCache=function(P,C){this.$rowLengthCache[P]=null,this.$rowLengthCache[C]=null},G.prototype.$updateWrapData=function(P,C){var w=this.doc.getAllLines(),D=this.getTabSize(),Re=this.$wrapData,at=this.$wrapLimit,ct,ut,Dt=P;for(C=Math.min(C,w.length-1);Dt<=C;)ut=this.getFoldLine(Dt,ut),ut?(ct=[],ut.walk((function(Jt,Wt,zt,Vt){var Ht;if(Jt!=null){Ht=this.$getDisplayTokens(Jt,ct.length),Ht[0]=S;for(var ai=1;ai<Ht.length;ai++)Ht[ai]=b}else Ht=this.$getDisplayTokens(w[Wt].substring(Vt,zt),ct.length);ct=ct.concat(Ht)}).bind(this),ut.end.row,w[ut.end.row].length+1),Re[ut.start.row]=this.$computeWrapSplits(ct,at,D),Dt=ut.end.row+1):(ct=this.$getDisplayTokens(w[Dt]),Re[Dt]=this.$computeWrapSplits(ct,at,D),Dt++)},G.prototype.$computeWrapSplits=function(P,C,w){if(P.length==0)return[];var D=[],Re=P.length,at=0,ct=0,ut=this.$wrapAsCode,Dt=this.$indentedSoftWrap,Jt=C<=Math.max(2*w,8)||Dt===!1?0:Math.floor(C/2);function Wt(){var li=0;if(Jt===0)return li;if(Dt)for(var ui=0;ui<P.length;ui++){var hi=P[ui];if(hi==Se)li+=1;else if(hi==q)li+=w;else{if(hi==U)continue;break}}return ut&&Dt!==!1&&(li+=w),Math.min(li,Jt)}function zt(li){for(var ui=li-at,hi=at;hi<li;hi++){var fi=P[hi];(fi===12||fi===2)&&(ui-=1)}D.length||(Vt=Wt(),D.indent=Vt),ct+=ui,D.push(ct),at=li}for(var Vt=0;Re-at>C-Vt;){var Ht=at+C-Vt;if(P[Ht-1]>=Se&&P[Ht]>=Se){zt(Ht);continue}if(P[Ht]==S||P[Ht]==b){for(Ht;Ht!=at-1&&P[Ht]!=S;Ht--);if(Ht>at){zt(Ht);continue}for(Ht=at+C,Ht;Ht<P.length&&P[Ht]==b;Ht++);if(Ht==P.length)break;zt(Ht);continue}for(var ai=Math.max(Ht-(C-(C>>2)),at-1);Ht>ai&&P[Ht]<S;)Ht--;if(ut){for(;Ht>ai&&P[Ht]<S;)Ht--;for(;Ht>ai&&P[Ht]==oe;)Ht--}else for(;Ht>ai&&P[Ht]<Se;)Ht--;if(Ht>ai){zt(++Ht);continue}Ht=at+C,P[Ht]==L&&Ht--,zt(Ht-Vt)}return D},G.prototype.$getDisplayTokens=function(P,C){var w=[],D;C=C||0;for(var Re=0;Re<P.length;Re++){var at=P.charCodeAt(Re);if(at==9){D=this.getScreenTabSize(w.length+C),w.push(q);for(var ct=1;ct<D;ct++)w.push(U)}else at==32?w.push(Se):at>39&&at<48||at>57&&at<64?w.push(oe):at>=4352&<(at)?w.push(E,L):w.push(E)}return w},G.prototype.$getStringScreenWidth=function(P,C,w){if(C==0)return[0,0];C==null&&(C=1/0),w=w||0;var D,Re;for(Re=0;Re<P.length&&(D=P.charCodeAt(Re),D==9?w+=this.getScreenTabSize(w):D>=4352&<(D)?w+=2:w+=1,!(w>C));Re++);return[w,Re]},G.prototype.getRowLength=function(P){var C=1;return this.lineWidgets&&(C+=this.lineWidgets[P]&&this.lineWidgets[P].rowCount||0),!this.$useWrapMode||!this.$wrapData[P]?C:this.$wrapData[P].length+C},G.prototype.getRowLineCount=function(P){return!this.$useWrapMode||!this.$wrapData[P]?1:this.$wrapData[P].length+1},G.prototype.getRowWrapIndent=function(P){if(this.$useWrapMode){var C=this.screenToDocumentPosition(P,Number.MAX_VALUE),w=this.$wrapData[C.row];return w.length&&w[0]<C.column?w.indent:0}else return 0},G.prototype.getScreenLastRowColumn=function(P){var C=this.screenToDocumentPosition(P,Number.MAX_VALUE);return this.documentToScreenColumn(C.row,C.column)},G.prototype.getDocumentLastRowColumn=function(P,C){var w=this.documentToScreenRow(P,C);return this.getScreenLastRowColumn(w)},G.prototype.getDocumentLastRowColumnPosition=function(P,C){var w=this.documentToScreenRow(P,C);return this.screenToDocumentPosition(w,Number.MAX_VALUE/10)},G.prototype.getRowSplitData=function(P){if(this.$useWrapMode)return this.$wrapData[P]},G.prototype.getScreenTabSize=function(P){return this.$tabSize-(P%this.$tabSize|0)},G.prototype.screenToDocumentRow=function(P,C){return this.screenToDocumentPosition(P,C).row},G.prototype.screenToDocumentColumn=function(P,C){return this.screenToDocumentPosition(P,C).column},G.prototype.screenToDocumentPosition=function(P,C,w){if(P<0)return{row:0,column:0};var D,Re=0,at=0,ct,ut=0,Dt=0,Jt=this.$screenRowCache,Wt=this.$getRowCacheIndex(Jt,P),zt=Jt.length;if(zt&&Wt>=0)var ut=Jt[Wt],Re=this.$docRowCache[Wt],Vt=P>Jt[zt-1];else var Vt=!zt;for(var Ht=this.getLength()-1,ai=this.getNextFoldLine(Re),li=ai?ai.start.row:1/0;ut<=P&&(Dt=this.getRowLength(Re),!(ut+Dt>P||Re>=Ht));)ut+=Dt,Re++,Re>li&&(Re=ai.end.row+1,ai=this.getNextFoldLine(Re,ai),li=ai?ai.start.row:1/0),Vt&&(this.$docRowCache.push(Re),this.$screenRowCache.push(ut));if(ai&&ai.start.row<=Re)D=this.getFoldDisplayLine(ai),Re=ai.start.row;else{if(ut+Dt<=P||Re>Ht)return{row:Ht,column:this.getLine(Ht).length};D=this.getLine(Re),ai=null}var ui=0,hi=Math.floor(P-ut);if(this.$useWrapMode){var fi=this.$wrapData[Re];fi&&(ct=fi[hi],hi>0&&fi.length&&(ui=fi.indent,at=fi[hi-1]||fi[fi.length-1],D=D.substring(at)))}return w!==void 0&&this.$bidiHandler.isBidiRow(ut+hi,Re,hi)&&(C=this.$bidiHandler.offsetToCol(w)),at+=this.$getStringScreenWidth(D,C-ui)[1],this.$useWrapMode&&at>=ct&&(at=ct-1),ai?ai.idxToPosition(at):{row:Re,column:at}},G.prototype.documentToScreenPosition=function(P,C){if(typeof C>"u")var w=this.$clipPositionToDocument(P.row,P.column);else w=this.$clipPositionToDocument(P,C);P=w.row,C=w.column;var D=0,Re=null,at=null;at=this.getFoldAt(P,C,1),at&&(P=at.start.row,C=at.start.column);var ct,ut=0,Dt=this.$docRowCache,Jt=this.$getRowCacheIndex(Dt,P),Wt=Dt.length;if(Wt&&Jt>=0)var ut=Dt[Jt],D=this.$screenRowCache[Jt],zt=P>Dt[Wt-1];else var zt=!Wt;for(var Vt=this.getNextFoldLine(ut),Ht=Vt?Vt.start.row:1/0;ut<P;){if(ut>=Ht){if(ct=Vt.end.row+1,ct>P)break;Vt=this.getNextFoldLine(ct,Vt),Ht=Vt?Vt.start.row:1/0}else ct=ut+1;D+=this.getRowLength(ut),ut=ct,zt&&(this.$docRowCache.push(ut),this.$screenRowCache.push(D))}var ai="";Vt&&ut>=Ht?(ai=this.getFoldDisplayLine(Vt,P,C),Re=Vt.start.row):(ai=this.getLine(P).substring(0,C),Re=P);var li=0;if(this.$useWrapMode){var ui=this.$wrapData[Re];if(ui){for(var hi=0;ai.length>=ui[hi];)D++,hi++;ai=ai.substring(ui[hi-1]||0,ai.length),li=hi>0?ui.indent:0}}return this.lineWidgets&&this.lineWidgets[ut]&&this.lineWidgets[ut].rowsAbove&&(D+=this.lineWidgets[ut].rowsAbove),{row:D,column:li+this.$getStringScreenWidth(ai)[0]}},G.prototype.documentToScreenColumn=function(P,C){return this.documentToScreenPosition(P,C).column},G.prototype.documentToScreenRow=function(P,C){return this.documentToScreenPosition(P,C).row},G.prototype.getScreenLength=function(){var P=0,C=null;if(this.$useWrapMode)for(var Re=this.$wrapData.length,at=0,D=0,C=this.$foldData[D++],ct=C?C.start.row:1/0;at<Re;){var ut=this.$wrapData[at];P+=ut?ut.length+1:1,at++,at>ct&&(at=C.end.row+1,C=this.$foldData[D++],ct=C?C.start.row:1/0)}else{P=this.getLength();for(var w=this.$foldData,D=0;D<w.length;D++)C=w[D],P-=C.end.row-C.start.row}return this.lineWidgets&&(P+=this.$getWidgetScreenLength()),P},G.prototype.$setFontMetrics=function(P){this.$enableVarChar&&(this.$getStringScreenWidth=function(C,w,D){if(w===0)return[0,0];w||(w=1/0),D=D||0;var Re,at;for(at=0;at<C.length&&(Re=C.charAt(at),Re===" "?D+=this.getScreenTabSize(D):D+=P.getCharacterWidth(Re),!(D>w));at++);return[D,at]})},G.prototype.getPrecedingCharacter=function(){var P=this.selection.getCursor();if(P.column===0)return P.row===0?"":this.doc.getNewLineCharacter();var C=this.getLine(P.row);return C[P.column-1]},G.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()},G})();v.$uid=0,v.prototype.$modes=c.$modes,v.prototype.getValue=v.prototype.toString,v.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},v.prototype.$overwrite=!1,v.prototype.$mode=null,v.prototype.$modeId=null,v.prototype.$scrollTop=0,v.prototype.$scrollLeft=0,v.prototype.$wrapLimit=80,v.prototype.$useWrapMode=!1,v.prototype.$wrapLimitRange={min:null,max:null},v.prototype.lineWidgets=null,v.prototype.isFullWidth=lt,A.implement(v.prototype,u);var E=1,L=2,S=3,b=4,oe=9,Se=10,q=11,U=12;function lt(G){return G<4352?!1:G>=4352&&G<=4447||G>=4515&&G<=4519||G>=4602&&G<=4607||G>=9001&&G<=9002||G>=11904&&G<=11929||G>=11931&&G<=12019||G>=12032&&G<=12245||G>=12272&&G<=12283||G>=12288&&G<=12350||G>=12353&&G<=12438||G>=12441&&G<=12543||G>=12549&&G<=12589||G>=12593&&G<=12686||G>=12688&&G<=12730||G>=12736&&G<=12771||G>=12784&&G<=12830||G>=12832&&G<=12871||G>=12880&&G<=13054||G>=13056&&G<=19903||G>=19968&&G<=42124||G>=42128&&G<=42182||G>=43360&&G<=43388||G>=44032&&G<=55203||G>=55216&&G<=55238||G>=55243&&G<=55291||G>=63744&&G<=64255||G>=65040&&G<=65049||G>=65072&&G<=65106||G>=65108&&G<=65126||G>=65128&&G<=65131||G>=65281&&G<=65376||G>=65504&&G<=65510}f("./edit_session/folding").Folding.call(v.prototype),f("./edit_session/bracket_match").BracketMatch.call(v.prototype),c.defineOptions(v.prototype,"session",{wrap:{set:function(G){if(!G||G=="off"?G=!1:G=="free"?G=!0:G=="printMargin"?G=-1:typeof G=="string"&&(G=parseInt(G,10)||!1),this.$wrap!=G)if(this.$wrap=G,!G)this.setUseWrapMode(!1);else{var P=typeof G=="number"?G:null;this.setWrapLimitRange(P,P),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(G){G=G=="auto"?this.$mode.type!="text":G!="text",G!=this.$wrapAsCode&&(this.$wrapAsCode=G,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(G){this.$useWorker=G,this.$stopWorker(),G&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(G){G=parseInt(G),G>0&&this.$tabSize!==G&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=G,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(G){this.setFoldStyle(G)},handlesSet:!0},overwrite:{set:function(G){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(G){this.doc.setNewLineMode(G)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(G){this.setMode(G)},get:function(){return this.$modeId},handlesSet:!0}}),g.EditSession=v}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(f,g,Me){var A=f("./lib/lang"),x=f("./lib/oop"),_=f("./range").Range,c=(function(){function r(){this.$options={}}return r.prototype.set=function(t){return x.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,v,E,L){return a=new _(p,v,E,L),v==L&&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=[],v=e.re;if(e.$isMultiLine){var E=v.length,L=a.length-E,S;e:for(var b=v.offset||0;b<=L;b++){for(var oe=0;oe<E;oe++)if(a[b+oe].search(v[oe])==-1)continue e;var Se=a[b],q=a[b+E-1],U=Se.length-Se.match(v[0])[0].length,lt=q.match(v[E-1])[0].length;S&&S.end.row===b&&S.end.column>U||(p.push(S=new _(b,U,b+E-1,lt)),E>2&&(b=b+E-2))}}else for(var G,P=0;P<a.length;P++)if(this.$isMultilineSearch(e)){var C=a.length-1;if(G=this.$multiLineForward(t,v,P,C),G){var w=G.endRow<=C?G.endRow-1:C;w>P&&(P=w),p.push(new _(G.startRow,G.startCol,G.endRow,G.endCol))}}else{G=A.getMatchOffsets(a[P],v);for(var oe=0;oe<G.length;oe++){var D=G[oe];p.push(new _(P,D.offset,P,D.offset+D.length))}}if(n){for(var Re=n.start.column,at=n.end.column,P=0,oe=p.length-1;P<oe&&p[P].start.column<Re&&p[P].start.row==0;)P++;for(var ct=n.end.row-n.start.row;P<oe&&p[oe].end.column>at&&p[oe].end.row==ct;)oe--;for(p=p.slice(P,oe+1),P=0,oe=p.length;P<oe;P++)p[P].start.row+=n.start.row,p[P].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 v=t.charCodeAt(a);if(v===e.Backslash){if(a++,a>=p){n+="\\";break}var E=t.charCodeAt(a);switch(E){case e.Backslash:n+="\\";break;case e.n:n+=`
|
202
|
+
`;break;case e.t:n+=" ";break}continue}if(v===e.DollarSign){if(a++,a>=p){n+="$";break}var L=t.charCodeAt(a);if(L===e.DollarSign){n+="$$";continue}if(L===e.Digit0||L===e.Ampersand){n+="$&";continue}if(e.Digit1<=L&&L<=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,`
|
203
|
+
`));var v=a.exec(t);if(!v||!p&&v[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 E=Math.min(t.length,t.length);E--;){var L=t[E];L&&L.toLowerCase()!=L?e[E]=e[E].toUpperCase():e[E]=e[E].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,`$
|
204
|
+
^`).split(`
|
205
|
+
`),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,v=o(t,n),E=n;E<=a;){for(var L=0;L<v&&!(E>a);L++){var S=t.getLine(E++);p=p==null?S:p+`
|
206
|
+
`+S}var b=e.exec(p);if(e.lastIndex=0,b){var oe=p.slice(0,b.index).split(`
|
207
|
+
`),Se=b[0].split(`
|
208
|
+
`),q=n+oe.length-1,U=oe[oe.length-1].length,lt=q+Se.length-1,G=Se.length==1?U+Se[0].length:Se[Se.length-1].length;return{startRow:q,startCol:U,endRow:lt,endCol:G}}}return null},r.prototype.$multiLineBackward=function(t,e,n,a,p){for(var v,E=o(t,a),L=t.getLine(a).length-n,S=a;S>=p;){for(var b=0;b<E&&S>=p;b++){var oe=t.getLine(S--);v=v==null?oe:oe+`
|
209
|
+
`+v}var Se=i(v,e,L);if(Se){var q=v.slice(0,Se.index).split(`
|
210
|
+
`),U=Se[0].split(`
|
211
|
+
`),lt=S+q.length,G=q[q.length-1].length,P=lt+U.length-1,C=U.length==1?G+U[0].length:U[U.length-1].length;return{startRow:lt,startCol:G,endRow:P,endCol:C}}}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,v=this.$multiLineBackward,E=e.backwards==!0,L=e.skipCurrent!=!1,S=n.unicode,b=e.range,oe=e.start;oe||(oe=b?b[E?"end":"start"]:t.selection.getRange()),oe.start&&(oe=oe[L!=E?"end":"start"]);var Se=b?b.start.row:0,q=b?b.end.row:t.getLength()-1;if(E)var U=function(P){var C=oe.row;if(!G(C,oe.column,P)){for(C--;C>=Se;C--)if(G(C,Number.MAX_VALUE,P))return;if(e.wrap!=!1){for(C=q,Se=oe.row;C>=Se;C--)if(G(C,Number.MAX_VALUE,P))return}}};else var U=function(C){var w=oe.row;if(!G(w,oe.column,C)){for(w=w+1;w<=q;w++)if(G(w,0,C))return;if(e.wrap!=!1){for(w=Se,q=oe.row;w<=q;w++)if(G(w,0,C))return}}};if(e.$isMultiLine)var lt=n.length,G=function(P,C,w){var D=E?P-lt+1:P;if(!(D<0||D+lt>t.getLength())){var Re=t.getLine(D),at=Re.search(n[0]);if(!(!E&&at<C||at===-1)){for(var ct=1;ct<lt;ct++)if(Re=t.getLine(D+ct),Re.search(n[ct])==-1)return;var ut=Re.match(n[lt-1])[0].length;if(!(E&&ut>C)&&w(D,at,D+lt-1,ut))return!0}}};else if(E)var G=function(C,w,D){if(a){var Re=v(t,n,w,C,Se);if(!Re)return!1;if(D(Re.startRow,Re.startCol,Re.endRow,Re.endCol))return!0}else{var at=t.getLine(C),ct=[],ut,Dt=0;for(n.lastIndex=0;ut=n.exec(at);){var Jt=ut[0].length;if(Dt=ut.index,!Jt){if(Dt>=at.length)break;n.lastIndex=Dt+=A.skipEmptyMatch(at,Dt,S)}if(ut.index+Jt>w)break;ct.push(ut.index,Jt)}for(var Wt=ct.length-1;Wt>=0;Wt-=2){var zt=ct[Wt-1],Jt=ct[Wt];if(D(C,zt,C,zt+Jt))return!0}}};else var G=function(C,w,D){if(n.lastIndex=w,a){var Re=p(t,n,C,q);if(Re){var at=Re.endRow<=q?Re.endRow-1:q;at>C&&(C=at)}if(!Re)return!1;if(D(Re.startRow,Re.startCol,Re.endRow,Re.endCol))return!0}else for(var ct=t.getLine(C),ut,Dt;Dt=n.exec(ct);){var Jt=Dt[0].length;if(ut=Dt.index,D(C,ut,C,ut+Jt))return!0;if(!Jt&&(n.lastIndex=ut+=A.skipEmptyMatch(ct,ut,S),ut>=ct.length))return!1}};return{forEach:U}},r})();function u(r,t){var e=A.supportsLookbehind();function n(E,L){L===void 0&&(L=!0);var S=e&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return S.test(E)||t.regExp?e&&t.$supportsUnicodeFlag?L?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var a=Array.from(r),p=a[0],v=a[a.length-1];return n(p)+r+n(v,!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 v=p.index+p[0].length;if(v>r.length-e)break;(!n||v>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,v=r.doc.indexToPosition(p),E=v.row;return E+1}g.Search=c}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(f,g,Me){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)}})(),x=f("../lib/keys"),_=f("../lib/useragent"),c=x.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 v=a[p];if(v==t)delete a[p];else if(Array.isArray(v)){var E=v.indexOf(t);E!=-1&&(v.splice(E,1),v.length==1&&(a[p]=v[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 v=a.split(/\s+/);a=v.pop(),v.forEach(function(S){var b=this.parseKeys(S),oe=c[b.hashId]+b.key;p+=(p?" ":"")+oe,this._addCommandToBinding(p,"chainKeys")},this),p+=" "}var E=this.parseKeys(a),L=c[E.hashId]+E.key;this._addCommandToBinding(p+L,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 v=a[t];for(p=0;p<v.length;p++){var E=v[p],L=i(E);if(L>n)break}v.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(L){return L}),n=e.pop(),a=x[n];if(x.FUNCTION_KEYS[a])n=x.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,v=e.length;v--;){var E=x.KEY_MODS[e[v]];if(E==null)return typeof console<"u"&&console.error("invalid modifier "+e[v]+" in "+t),!1;p|=E}return{key:n,hashId:p}},r.prototype.findKeyCommand=function(t,e){var n=c[t]+e;return this.commandKeyBinding[n]},r.prototype.handleKeyboard=function(t,e,n,a){if(!(a<0)){var p=c[e]+n,v=this.commandKeyBinding[p];return t.$keyChain&&(t.$keyChain+=" "+p,v=this.commandKeyBinding[t.$keyChain]||v),v&&(v=="chainKeys"||v[v.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:v})}},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,Me){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)}})(),x=f("../lib/oop"),_=f("../keyboard/hash_handler").MultiHashHandler,c=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})(_);x.implement(u.prototype,c),g.CommandManager=u}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(f,g,Me){var A=f("../lib/lang"),x=f("../config"),_=f("../range").Range;function c(i,o){return{win:i,mac:o}}g.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:c("Ctrl-,","Command-,"),exec:function(i){x.loadModule("ace/ext/settings_menu",function(o){o.init(i),i.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:c("Alt-E","F4"),exec:function(i){x.loadModule("ace/ext/error_marker",function(o){o.showErrorMarker(i,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:c("Alt-Shift-E","Shift-F4"),exec:function(i){x.loadModule("ace/ext/error_marker",function(o){o.showErrorMarker(i,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:c("Ctrl-A","Command-A"),exec:function(i){i.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:c(null,"Ctrl-L"),exec:function(i){i.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:c("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:c("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:c("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:c("F2","F2"),exec:function(i){i.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:c("Alt-F2","Alt-F2"),exec:function(i){i.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:c(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:c(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:c("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:c("Alt-Shift-0","Command-Option-Shift-0"),exec:function(i){i.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:c("Ctrl-K","Command-G"),exec:function(i){i.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:c("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:c("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:c("Alt-Shift-K","Ctrl-Shift-G"),exec:function(i){i.selection.isEmpty()?i.selection.selectWord():i.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:c("Ctrl-F","Command-F"),exec:function(i){x.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:c("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:c("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:c("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:c("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:c("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:c("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:c("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:c("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:c("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:c("Ctrl-Left","Option-Left"),exec:function(i){i.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:c("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:c("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:c("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:c("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:c("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:c("Ctrl-Right","Option-Right"),exec:function(i){i.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:c("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:c("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:c("Shift-Right","Shift-Right"),exec:function(i){i.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:c("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:c(null,"Option-PageDown"),exec:function(i){i.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:c("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:c(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:c("Ctrl-Up",null),exec:function(i){i.renderer.scrollBy(0,-2*i.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:c("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:c("Ctrl-Alt-E","Command-Option-E"),exec:function(i){i.commands.toggleRecording(i)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:c("Ctrl-Shift-E","Command-Shift-E"),exec:function(i){i.commands.replay(i)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:c("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(i){i.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:c("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:c("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:c(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:c("Ctrl-D","Command-D"),exec:function(i){i.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:c("Ctrl-Shift-D","Command-Shift-D"),exec:function(i){i.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:c("Ctrl-Alt-S","Command-Alt-S"),exec:function(i){i.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:c("Ctrl-/","Command-/"),exec:function(i){i.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:c("Ctrl-Shift-/","Command-Shift-/"),exec:function(i){i.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:c("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(i){i.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:c("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(i){i.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:c("Ctrl-H","Command-Option-F"),exec:function(i){x.loadModule("ace/ext/searchbox",function(o){o.Search(i,!0)})}},{name:"undo",description:"Undo",bindKey:c("Ctrl-Z","Command-Z"),exec:function(i){i.undo()}},{name:"redo",description:"Redo",bindKey:c("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(i){i.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:c("Alt-Shift-Up","Command-Option-Up"),exec:function(i){i.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:c("Alt-Up","Option-Up"),exec:function(i){i.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:c("Alt-Shift-Down","Command-Option-Down"),exec:function(i){i.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:c("Alt-Down","Option-Down"),exec:function(i){i.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:c("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(i){i.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:c("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:c("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:c("Alt-Backspace","Command-Backspace"),exec:function(i){i.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:c("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(i){i.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:c("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:c("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:c("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(i){i.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:c("Ctrl-Delete","Alt-Delete"),exec:function(i){i.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:c("Shift-Tab","Shift-Tab"),exec:function(i){i.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:c("Tab","Tab"),exec:function(i){i.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:c("Ctrl-[","Ctrl-["),exec:function(i){i.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:c("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:c(null,"Ctrl-O"),exec:function(i){i.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:c("Alt-Shift-X","Ctrl-T"),exec:function(i){i.transposeLetters()},multiSelectAction:function(i){i.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:c("Ctrl-U","Ctrl-U"),exec:function(i){i.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:c("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(i){i.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:c(null,null),exec:function(i){i.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:c("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:c("Ctrl+F3","F3"),exec:function(i){i.openLink()}},{name:"joinlines",description:"Join lines",bindKey:c(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),v=r.row+1;v<=t.row+1;v++){var E=A.stringTrimLeft(A.stringTrimRight(i.session.doc.getLine(v)));E.length!==0&&(E=" "+E),p+=E}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:c(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(`
|
212
|
+
`)},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(`
|
213
|
+
`),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:c("F1","F1"),exec:function(i){i.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:c(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,Me){var A=f("../lib/keys"),x=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 x(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.$findNearestFoldLaneWidget(r),e=this.$findNearestAnnotation(r);if(!(t===null&&e===null)){var n=this.$findClosestNumber(t,e,r);if(n===t)if(this.activeLane="fold",this.activeRowIndex=t,this.$isCustomWidgetVisible(t)){this.$focusCustomWidget(this.activeRowIndex);return}else{this.$focusFoldWidget(this.activeRowIndex);return}else{this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(i),setTimeout((function(){this.editor._signal("gutterkeydown",new c(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":var o=this.$rowIndexToRow(this.activeRowIndex),r=this.editor.session.$gutterCustomWidgets[o];if(r)r.callbacks&&r.callbacks.onClick&&r.callbacks.onClick(i,o);else if(this.gutterLayer.session.foldWidgets[o]==="start"){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 t=this.lines.cells[this.activeRowIndex].element.childNodes[2],e=t.getBoundingClientRect(),n=this.annotationTooltip.getElement().style;n.left=e.right+"px",n.top=e.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),this.$blurCustomWidget(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.$isCustomWidgetVisible=function(i){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),r=!!this.$getCustomWidget(i);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.$getCustomWidget=function(i){var o=this.lines.get(i),r=o.element;return r.childNodes[3]},u.prototype.$getAnnotation=function(i){var o=this.lines.get(i),r=o.element;return r.childNodes[2]},u.prototype.$findNearestFoldLaneWidget=function(i){if(this.$isCustomWidgetVisible(i)||this.$isFoldWidgetVisible(i))return i;for(var o=0;i-o>0||i+o<this.lines.getLength()-1;){if(o++,i-o>=0&&this.$isCustomWidgetVisible(i-o))return i-o;if(i+o<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(i+o))return i+o;if(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.$focusCustomWidget=function(i){if(i!=null){var o=this.$getCustomWidget(i);o&&(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.$blurCustomWidget=function(i){var o=this.$getCustomWidget(i);o&&(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.$isCustomWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=i,this.$isFoldWidgetVisible(i)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},u.prototype.$moveFoldWidgetDown=function(){for(var i=this.activeRowIndex;i<this.lines.getLength()-1;)if(i++,this.$isFoldWidgetVisible(i)||this.$isCustomWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=i,this.$isFoldWidgetVisible(i)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(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.$findClosestNumber=function(i,o,r){return i===null?o:o===null||Math.abs(r-i)<=Math.abs(r-o)?i:o},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.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=o,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var r=this.$findNearestFoldLaneWidget(this.activeRowIndex);if(r===null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,this.$isCustomWidgetVisible(r)?this.$focusCustomWidget(this.activeRowIndex):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 c=(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=c}),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,Me){var A=this&&this.__values||function(C){var w=typeof Symbol=="function"&&Symbol.iterator,D=w&&C[w],Re=0;if(D)return D.call(C);if(C&&typeof C.length=="number")return{next:function(){return C&&Re>=C.length&&(C=void 0),{value:C&&C[Re++],done:!C}}};throw new TypeError(w?"Object is not iterable.":"Symbol.iterator is not defined.")},x=f("./lib/oop"),_=f("./lib/dom"),c=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,v=f("./commands/command_manager").CommandManager,E=f("./commands/default_commands").commands,L=f("./config"),S=f("./token_iterator").TokenIterator,b=f("./keyboard/gutter_handler").GutterKeyboardHandler,oe=f("./config").nls,Se=f("./clipboard"),q=f("./lib/keys"),U=f("./lib/event"),lt=f("./tooltip").HoverTooltip,G=(function(){function C(w,D,Re){this.id="editor"+ ++C.$uid,this.session,this.$toDestroy=[];var at=w.getContainerElement();this.container=at,this.renderer=w,this.commands=new v(u.isMac?"mac":"win",E),typeof document=="object"&&(this.textInput=new i(w.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=c.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(ct,ut){ut._$emitInputEvent.schedule(31)}),this.setSession(D||Re&&Re.session||new e("")),L.resetOptions(this),Re&&this.setOptions(Re),L._signal("editor",this)}return C.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},C.prototype.startOperation=function(w){this.session.startOperation(w)},C.prototype.endOperation=function(w){this.session.endOperation(w)},C.prototype.onStartOperation=function(w){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,w||(this.previousCommand=null)},C.prototype.onEndOperation=function(w){if(this.curOp&&this.session){if(w&&w.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var D=this.curOp.command,Re=D&&D.scrollIntoView;if(Re){switch(Re){case"center-animate":Re="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var at=this.selection.getRange(),ct=this.renderer.layerConfig;(at.start.row>=ct.lastRow||at.end.row<=ct.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}Re=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},C.prototype.$historyTracker=function(w){if(this.$mergeUndoDeltas){var D=this.prevOp,Re=this.$mergeableCommands,at=D.command&&w.command.name==D.command.name;if(w.command.name=="insertstring"){var ct=w.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),at=at&&this.mergeNextCommand&&(!/\s/.test(ct)||/\s/.test(D.args)),this.mergeNextCommand=!0}else at=at&&Re.indexOf(w.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(at=!1),at?this.session.mergeUndoDeltas=!0:Re.indexOf(w.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},C.prototype.setKeyboardHandler=function(w,D){if(w&&typeof w=="string"&&w!="ace"){this.$keybindingId=w;var Re=this;L.loadModule(["keybinding",w],function(at){Re.$keybindingId==w&&Re.keyBinding.setKeyboardHandler(at&&at.handler),D&&D()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(w),D&&D()},C.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},C.prototype.setSession=function(w){if(this.session!=w){this.curOp&&this.endOperation(),this.curOp={};var D=this.session;if(D){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 Re=this.session.getSelection();Re.off("changeCursor",this.$onCursorChange),Re.off("changeSelection",this.$onSelectionChange)}this.session=w,w?(this.$onDocumentChange=this.onDocumentChange.bind(this),w.on("change",this.$onDocumentChange),this.renderer.setSession(w),this.$onChangeMode=this.onChangeMode.bind(this),w.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),w.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),w.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),w.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),w.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),w.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=w.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(w)),this._signal("changeSession",{session:w,oldSession:D}),this.curOp=null,D&&D._signal("changeEditor",{oldEditor:this}),D&&(D.$editor=null),w&&w._signal("changeEditor",{editor:this}),w&&(w.$editor=this),w&&!w.destroyed&&w.bgTokenizer.scheduleStart()}},C.prototype.getSession=function(){return this.session},C.prototype.setValue=function(w,D){return this.session.doc.setValue(w),D?D==1?this.navigateFileEnd():D==-1&&this.navigateFileStart():this.selectAll(),w},C.prototype.getValue=function(){return this.session.getValue()},C.prototype.getSelection=function(){return this.selection},C.prototype.resize=function(w){this.renderer.onResize(w)},C.prototype.setTheme=function(w,D){this.renderer.setTheme(w,D)},C.prototype.getTheme=function(){return this.renderer.getTheme()},C.prototype.setStyle=function(w,D){this.renderer.setStyle(w,D)},C.prototype.unsetStyle=function(w){this.renderer.unsetStyle(w)},C.prototype.getFontSize=function(){return this.getOption("fontSize")||_.computedStyle(this.container).fontSize},C.prototype.setFontSize=function(w){this.setOption("fontSize",w)},C.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var w=this;this.$highlightPending=!0,setTimeout(function(){w.$highlightPending=!1;var D=w.session;if(!(!D||D.destroyed)){D.$bracketHighlight&&(D.$bracketHighlight.markerIds.forEach(function(Vt){D.removeMarker(Vt)}),D.$bracketHighlight=null);var Re=w.getCursorPosition(),at=w.getKeyboardHandler(),ct=at&&at.$getDirectionForHighlight&&at.$getDirectionForHighlight(w),ut=D.getMatchingBracketRanges(Re,ct);if(!ut){var Dt=new S(D,Re.row,Re.column),Jt=Dt.getCurrentToken();if(Jt&&/\b(?:tag-open|tag-name)/.test(Jt.type)){var Wt=D.getMatchingTags(Re);Wt&&(ut=[Wt.openTagName.isEmpty()?Wt.openTag:Wt.openTagName,Wt.closeTagName.isEmpty()?Wt.closeTag:Wt.closeTagName])}}if(!ut&&D.$mode.getMatching&&(ut=D.$mode.getMatching(w.session)),!ut){w.getHighlightIndentGuides()&&w.renderer.$textLayer.$highlightIndentGuide();return}var zt="ace_bracket";Array.isArray(ut)?ut.length==1&&(zt="ace_error_bracket"):ut=[ut],ut.length==2&&(a.comparePoints(ut[0].end,ut[1].start)==0?ut=[a.fromPoints(ut[0].start,ut[1].end)]:a.comparePoints(ut[0].start,ut[1].end)==0&&(ut=[a.fromPoints(ut[1].start,ut[0].end)])),D.$bracketHighlight={ranges:ut,markerIds:ut.map(function(Vt){return D.addMarker(Vt,zt,"text")})},w.getHighlightIndentGuides()&&w.renderer.$textLayer.$highlightIndentGuide()}},50)}},C.prototype.focus=function(){this.textInput.focus()},C.prototype.isFocused=function(){return this.textInput.isFocused()},C.prototype.blur=function(){this.textInput.blur()},C.prototype.onFocus=function(w){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",w))},C.prototype.onBlur=function(w){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",w))},C.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},C.prototype.onDocumentChange=function(w){var D=this.session.$useWrapMode,Re=w.start.row==w.end.row?w.end.row:1/0;this.renderer.updateLines(w.start.row,Re,D),this._signal("change",w),this.$cursorChange()},C.prototype.onTokenizerUpdate=function(w){var D=w.data;this.renderer.updateLines(D.first,D.last)},C.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},C.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},C.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},C.prototype.$updateHighlightActiveLine=function(){var w=this.getSession(),D;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(D=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(D=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(D=!1)),w.$highlightLineMarker&&!D)w.removeMarker(w.$highlightLineMarker.id),w.$highlightLineMarker=null;else if(!w.$highlightLineMarker&&D){var Re=new a(D.row,D.column,D.row,1/0);Re.id=w.addMarker(Re,"ace_active-line","screenLine"),w.$highlightLineMarker=Re}else D&&(w.$highlightLineMarker.start.row=D.row,w.$highlightLineMarker.end.row=D.row,w.$highlightLineMarker.start.column=D.column,w._signal("changeBackMarker"))},C.prototype.onSelectionChange=function(w){var D=this.session;if(D.$selectionMarker&&D.removeMarker(D.$selectionMarker),D.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var Re=this.selection.getRange(),at=this.getSelectionStyle();D.$selectionMarker=D.addMarker(Re,"ace_selection",at)}var ct=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(ct),this._signal("changeSelection")},C.prototype.$getSelectionHighLightRegexp=function(){var w=this.session,D=this.getSelectionRange();if(!(D.isEmpty()||D.isMultiLine())){var Re=D.start.column,at=D.end.column,ct=w.getLine(D.start.row),ut=ct.substring(Re,at);if(!(ut.length>5e3||!/[\w\d]/.test(ut))){var Dt=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:ut}),Jt=ct.substring(Re-1,at+1);if(Dt.test(Jt))return Dt}}},C.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},C.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},C.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},C.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},C.prototype.onChangeMode=function(w){this.renderer.updateText(),this._emit("changeMode",w)},C.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},C.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},C.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},C.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},C.prototype.getCopyText=function(){var w=this.getSelectedText(),D=this.session.doc.getNewLineCharacter(),Re=!1;if(!w&&this.$copyWithEmptySelection){Re=!0;for(var at=this.selection.getAllRanges(),ct=0;ct<at.length;ct++){var ut=at[ct];ct&&at[ct-1].start.row==ut.start.row||(w+=this.session.getLine(ut.start.row)+D)}}var Dt={text:w};return this._signal("copy",Dt),Se.lineMode=Re?Dt.text:!1,Dt.text},C.prototype.onCopy=function(){this.commands.exec("copy",this)},C.prototype.onCut=function(){this.commands.exec("cut",this)},C.prototype.onPaste=function(w,D){var Re={text:w,event:D};this.commands.exec("paste",this,Re)},C.prototype.$handlePaste=function(w){typeof w=="string"&&(w={text:w}),this._signal("paste",w);var D=w.text,Re=D===Se.lineMode,at=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)Re?at.insert({row:this.selection.lead.row,column:0},D):this.insert(D);else if(Re)this.selection.rangeList.ranges.forEach(function(zt){at.insert({row:zt.start.row,column:0},D)});else{var ct=D.split(/\r\n|\r|\n/),ut=this.selection.rangeList.ranges,Dt=ct.length==2&&(!ct[0]||!ct[1]);if(ct.length!=ut.length||Dt)return this.commands.exec("insertstring",this,D);for(var Jt=ut.length;Jt--;){var Wt=ut[Jt];Wt.isEmpty()||at.remove(Wt),at.insert(Wt.start,ct[Jt])}}},C.prototype.execCommand=function(w,D){return this.commands.exec(w,this,D)},C.prototype.insert=function(w,D){var Re=this.session,at=Re.getMode(),ct=this.getCursorPosition();if(this.getBehavioursEnabled()&&!D){var ut=at.transformAction(Re.getState(ct.row),"insertion",this,Re,w);ut&&(w!==ut.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),w=ut.text)}if(w==" "&&(w=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&w.indexOf(`
|
214
|
+
`)==-1){var Dt=a.fromPoints(ct,ct);Dt.end.column+=w.length,this.session.remove(Dt)}}else{var Dt=this.getSelectionRange();ct=this.session.remove(Dt),this.clearSelection()}if(w==`
|
215
|
+
`||w==`\r
|
216
|
+
`){var Vt=Re.getLine(ct.row);if(ct.column>Vt.search(/\S|$/)){var Jt=Vt.substr(ct.column).search(/\S|$/);Re.doc.removeInLine(ct.row,ct.column,ct.column+Jt)}}this.clearSelection();var Wt=ct.column,zt=Re.getState(ct.row),Vt=Re.getLine(ct.row),Ht=at.checkOutdent(zt,Vt,w);if(Re.insert(ct,w),ut&&ut.selection&&(ut.selection.length==2?this.selection.setSelectionRange(new a(ct.row,Wt+ut.selection[0],ct.row,Wt+ut.selection[1])):this.selection.setSelectionRange(new a(ct.row+ut.selection[0],ut.selection[1],ct.row+ut.selection[2],ut.selection[3]))),this.$enableAutoIndent){if(Re.getDocument().isNewLine(w)){var ai=at.getNextLineIndent(zt,Vt.slice(0,ct.column),Re.getTabString());Re.insert({row:ct.row+1,column:0},ai)}Ht&&at.autoOutdent(zt,Re,ct.row)}},C.prototype.autoIndent=function(){for(var w=this.session,D=w.getMode(),Re=this.selection.isEmpty()?[new a(0,0,w.doc.getLength()-1,0)]:this.selection.getAllRanges(),at="",ct="",ut="",Dt=w.getTabString(),Jt=0;Jt<Re.length;Jt++)for(var Wt=Re[Jt].start.row,zt=Re[Jt].end.row,Vt=Wt;Vt<=zt;Vt++){Vt>0&&(at=w.getState(Vt-1),ct=w.getLine(Vt-1),ut=D.getNextLineIndent(at,ct,Dt));var Ht=w.getLine(Vt),ai=D.$getIndent(Ht);if(ut!==ai){if(ai.length>0){var li=new a(Vt,0,Vt,ai.length);w.remove(li)}ut.length>0&&w.insert({row:Vt,column:0},ut)}D.autoOutdent(at,w,Vt)}},C.prototype.onTextInput=function(w,D){if(!D)return this.keyBinding.onTextInput(w);this.startOperation({command:{name:"insertstring"}});var Re=this.applyComposition.bind(this,w,D);this.selection.rangeCount?this.forEachSelection(Re):Re(),this.endOperation()},C.prototype.applyComposition=function(w,D){if(D.extendLeft||D.extendRight){var Re=this.selection.getRange();Re.start.column-=D.extendLeft,Re.end.column+=D.extendRight,Re.start.column<0&&(Re.start.row--,Re.start.column+=this.session.getLine(Re.start.row).length+1),this.selection.setRange(Re),!w&&!Re.isEmpty()&&this.remove()}if((w||!this.selection.isEmpty())&&this.insert(w,!0),D.restoreStart||D.restoreEnd){var Re=this.selection.getRange();Re.start.column-=D.restoreStart,Re.end.column-=D.restoreEnd,this.selection.setRange(Re)}},C.prototype.onCommandKey=function(w,D,Re){return this.keyBinding.onCommandKey(w,D,Re)},C.prototype.setOverwrite=function(w){this.session.setOverwrite(w)},C.prototype.getOverwrite=function(){return this.session.getOverwrite()},C.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},C.prototype.setScrollSpeed=function(w){this.setOption("scrollSpeed",w)},C.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},C.prototype.setDragDelay=function(w){this.setOption("dragDelay",w)},C.prototype.getDragDelay=function(){return this.getOption("dragDelay")},C.prototype.setSelectionStyle=function(w){this.setOption("selectionStyle",w)},C.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},C.prototype.setHighlightActiveLine=function(w){this.setOption("highlightActiveLine",w)},C.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},C.prototype.setHighlightGutterLine=function(w){this.setOption("highlightGutterLine",w)},C.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},C.prototype.setHighlightSelectedWord=function(w){this.setOption("highlightSelectedWord",w)},C.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},C.prototype.setAnimatedScroll=function(w){this.renderer.setAnimatedScroll(w)},C.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},C.prototype.setShowInvisibles=function(w){this.renderer.setShowInvisibles(w)},C.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},C.prototype.setDisplayIndentGuides=function(w){this.renderer.setDisplayIndentGuides(w)},C.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},C.prototype.setHighlightIndentGuides=function(w){this.renderer.setHighlightIndentGuides(w)},C.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},C.prototype.setShowPrintMargin=function(w){this.renderer.setShowPrintMargin(w)},C.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},C.prototype.setPrintMarginColumn=function(w){this.renderer.setPrintMarginColumn(w)},C.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},C.prototype.setReadOnly=function(w){this.setOption("readOnly",w)},C.prototype.getReadOnly=function(){return this.getOption("readOnly")},C.prototype.setBehavioursEnabled=function(w){this.setOption("behavioursEnabled",w)},C.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},C.prototype.setWrapBehavioursEnabled=function(w){this.setOption("wrapBehavioursEnabled",w)},C.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},C.prototype.setShowFoldWidgets=function(w){this.setOption("showFoldWidgets",w)},C.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},C.prototype.setFadeFoldWidgets=function(w){this.setOption("fadeFoldWidgets",w)},C.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},C.prototype.remove=function(w){this.selection.isEmpty()&&(w=="left"?this.selection.selectLeft():this.selection.selectRight());var D=this.getSelectionRange();if(this.getBehavioursEnabled()){var Re=this.session,at=Re.getState(D.start.row),ct=Re.getMode().transformAction(at,"deletion",this,Re,D);if(D.end.column===0){var ut=Re.getTextRange(D);if(ut[ut.length-1]==`
|
217
|
+
`){var Dt=Re.getLine(D.end.row);/^\s+$/.test(Dt)&&(D.end.column=Dt.length)}}ct&&(D=ct)}this.session.remove(D),this.clearSelection()},C.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},C.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},C.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},C.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var w=this.getSelectionRange();w.start.column==w.end.column&&w.start.row==w.end.row&&(w.end.column=0,w.end.row++),this.session.remove(w),this.clearSelection()},C.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var w=this.getCursorPosition();this.insert(`
|
218
|
+
`),this.moveCursorToPosition(w)},C.prototype.setGhostText=function(w,D){this.renderer.setGhostText(w,D)},C.prototype.removeGhostText=function(){this.renderer.removeGhostText()},C.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var w=this.getCursorPosition(),D=w.column;if(D!==0){var Re=this.session.getLine(w.row),at,ct;D<Re.length?(at=Re.charAt(D)+Re.charAt(D-1),ct=new a(w.row,D-1,w.row,D+1)):(at=Re.charAt(D-1)+Re.charAt(D-2),ct=new a(w.row,D-2,w.row,D)),this.session.replace(ct,at),this.session.selection.moveToPosition(ct.end)}}},C.prototype.toLowerCase=function(){var w=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var D=this.getSelectionRange(),Re=this.session.getTextRange(D);this.session.replace(D,Re.toLowerCase()),this.selection.setSelectionRange(w)},C.prototype.toUpperCase=function(){var w=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var D=this.getSelectionRange(),Re=this.session.getTextRange(D);this.session.replace(D,Re.toUpperCase()),this.selection.setSelectionRange(w)},C.prototype.indent=function(){var w=this.session,D=this.getSelectionRange();if(D.start.row<D.end.row){var Re=this.$getSelectedRows();w.indentRows(Re.first,Re.last," ");return}else if(D.start.column<D.end.column){var at=w.getTextRange(D);if(!/^\s+$/.test(at)){var Re=this.$getSelectedRows();w.indentRows(Re.first,Re.last," ");return}}var ct=w.getLine(D.start.row),ut=D.start,Dt=w.getTabSize(),Jt=w.documentToScreenColumn(ut.row,ut.column);if(this.session.getUseSoftTabs())var Wt=Dt-Jt%Dt,zt=c.stringRepeat(" ",Wt);else{for(var Wt=Jt%Dt;ct[D.start.column-1]==" "&&Wt;)D.start.column--,Wt--;this.selection.setSelectionRange(D),zt=" "}return this.insert(zt)},C.prototype.blockIndent=function(){var w=this.$getSelectedRows();this.session.indentRows(w.first,w.last," ")},C.prototype.blockOutdent=function(){var w=this.session.getSelection();this.session.outdentRows(w.getRange())},C.prototype.sortLines=function(){for(var w=this.$getSelectedRows(),D=this.session,Re=[],at=w.first;at<=w.last;at++)Re.push(D.getLine(at));Re.sort(function(Dt,Jt){return Dt.toLowerCase()<Jt.toLowerCase()?-1:Dt.toLowerCase()>Jt.toLowerCase()?1:0});for(var ct=new a(0,0,0,0),at=w.first;at<=w.last;at++){var ut=D.getLine(at);ct.start.row=at,ct.end.row=at,ct.end.column=ut.length,D.replace(ct,Re[at-w.first])}},C.prototype.toggleCommentLines=function(){var w=this.session.getState(this.getCursorPosition().row),D=this.$getSelectedRows();this.session.getMode().toggleCommentLines(w,this.session,D.first,D.last)},C.prototype.toggleBlockComment=function(){var w=this.getCursorPosition(),D=this.session.getState(w.row),Re=this.getSelectionRange();this.session.getMode().toggleBlockComment(D,this.session,Re,w)},C.prototype.getNumberAt=function(w,D){var Re=/[\-]?[0-9]+(?:\.[0-9]+)?/g;Re.lastIndex=0;for(var at=this.session.getLine(w);Re.lastIndex<D;){var ct=Re.exec(at);if(ct.index<=D&&ct.index+ct[0].length>=D){var ut={value:ct[0],start:ct.index,end:ct.index+ct[0].length};return ut}}return null},C.prototype.modifyNumber=function(w){var D=this.selection.getCursor().row,Re=this.selection.getCursor().column,at=new a(D,Re-1,D,Re),ct=this.session.getTextRange(at);if(!isNaN(parseFloat(ct))&&isFinite(ct)){var ut=this.getNumberAt(D,Re);if(ut){var Dt=ut.value.indexOf(".")>=0?ut.start+ut.value.indexOf(".")+1:ut.end,Jt=ut.start+ut.value.length-Dt,Wt=parseFloat(ut.value);Wt*=Math.pow(10,Jt),Dt!==ut.end&&Re<Dt?w*=Math.pow(10,ut.end-Re-1):w*=Math.pow(10,ut.end-Re),Wt+=w,Wt/=Math.pow(10,Jt);var zt=Wt.toFixed(Jt),Vt=new a(D,ut.start,D,ut.end);this.session.replace(Vt,zt),this.moveCursorTo(D,Math.max(ut.start+1,Re+zt.length-ut.value.length))}}else this.toggleWord()},C.prototype.toggleWord=function(){var w=this.selection.getCursor().row,D=this.selection.getCursor().column;this.selection.selectWord();var Re=this.getSelectedText(),at=this.selection.getWordRange().start.column,ct=Re.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),ut=D-at-1;ut<0&&(ut=0);var Dt=0,Jt=0,Wt=this;Re.match(/[A-Za-z0-9_]+/)&&ct.forEach(function(pi,mi){Jt=Dt+pi.length,ut>=Dt&&ut<=Jt&&(Re=pi,Wt.selection.clearSelection(),Wt.moveCursorTo(w,Dt+at),Wt.selection.selectTo(w,Jt+at)),Dt=Jt});for(var zt=this.$toggleWordPairs,Vt,Ht=0;Ht<zt.length;Ht++)for(var ai=zt[Ht],li=0;li<=1;li++){var ui=+!li,hi=Re.match(new RegExp("^\\s?_?("+c.escapeRegExp(ai[li])+")\\s?$","i"));if(hi){var fi=Re.match(new RegExp("([_]|^|\\s)("+c.escapeRegExp(hi[1])+")($|\\s)","g"));fi&&(Vt=Re.replace(new RegExp(c.escapeRegExp(ai[li]),"i"),function(pi){var mi=ai[ui];return pi.toUpperCase()==pi?mi=mi.toUpperCase():pi.charAt(0).toUpperCase()==pi.charAt(0)&&(mi=mi.substr(0,0)+ai[ui].charAt(0).toUpperCase()+mi.substr(1)),mi}),this.insert(Vt),Vt="")}}},C.prototype.findLinkAt=function(w,D){var Re,at,ct=this.session.getLine(w),ut=ct.split(/((?:https?|ftp):\/\/[\S]+)/),Dt=D;Dt<0&&(Dt=0);var Jt=0,Wt=0,zt;try{for(var Vt=A(ut),Ht=Vt.next();!Ht.done;Ht=Vt.next()){var ai=Ht.value;if(Wt=Jt+ai.length,Dt>=Jt&&Dt<=Wt&&ai.match(/((?:https?|ftp):\/\/[\S]+)/)){zt=ai.replace(/[\s:.,'";}\]]+$/,"");break}Jt=Wt}}catch(li){Re={error:li}}finally{try{Ht&&!Ht.done&&(at=Vt.return)&&at.call(Vt)}finally{if(Re)throw Re.error}}return zt},C.prototype.openLink=function(){var w=this.selection.getCursor(),D=this.findLinkAt(w.row,w.column);return D&&window.open(D,"_blank"),D!=null},C.prototype.removeLines=function(){var w=this.$getSelectedRows();this.session.removeFullLines(w.first,w.last),this.clearSelection()},C.prototype.duplicateSelection=function(){var w=this.selection,D=this.session,Re=w.getRange(),at=w.isBackwards();if(Re.isEmpty()){var ct=Re.start.row;D.duplicateLines(ct,ct)}else{var ut=at?Re.start:Re.end,Dt=D.insert(ut,D.getTextRange(Re));Re.start=ut,Re.end=Dt,w.setSelectionRange(Re,at)}},C.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},C.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},C.prototype.moveText=function(w,D,Re){return this.session.moveText(w,D,Re)},C.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},C.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},C.prototype.$moveLines=function(w,D){var Re,at,ct=this.selection;if(!ct.inMultiSelectMode||this.inVirtualSelectionMode){var ut=ct.toOrientedRange();Re=this.$getSelectedRows(ut),at=this.session.$moveLines(Re.first,Re.last,D?0:w),D&&w==-1&&(at=0),ut.moveBy(at,0),ct.fromOrientedRange(ut)}else{var Dt=ct.rangeList.ranges;ct.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var Jt=0,Wt=0,zt=Dt.length,Vt=0;Vt<zt;Vt++){var Ht=Vt;Dt[Vt].moveBy(Jt,0),Re=this.$getSelectedRows(Dt[Vt]);for(var ai=Re.first,li=Re.last;++Vt<zt;){Wt&&Dt[Vt].moveBy(Wt,0);var ui=this.$getSelectedRows(Dt[Vt]);if(D&&ui.first!=li)break;if(!D&&ui.first>li+1)break;li=ui.last}for(Vt--,Jt=this.session.$moveLines(ai,li,D?0:w),D&&w==-1&&(Ht=Vt+1);Ht<=Vt;)Dt[Ht].moveBy(Jt,0),Ht++;D||(Jt=0),Wt+=Jt}ct.fromOrientedRange(ct.ranges[0]),ct.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},C.prototype.$getSelectedRows=function(w){return w=(w||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(w.start.row),last:this.session.getRowFoldEnd(w.end.row)}},C.prototype.onCompositionStart=function(w){this.renderer.showComposition(w)},C.prototype.onCompositionUpdate=function(w){this.renderer.setCompositionText(w)},C.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},C.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},C.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},C.prototype.isRowVisible=function(w){return w>=this.getFirstVisibleRow()&&w<=this.getLastVisibleRow()},C.prototype.isRowFullyVisible=function(w){return w>=this.renderer.getFirstFullyVisibleRow()&&w<=this.renderer.getLastFullyVisibleRow()},C.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},C.prototype.$moveByPage=function(w,D){var Re=this.renderer,at=this.renderer.layerConfig,ct=w*Math.floor(at.height/at.lineHeight);D===!0?this.selection.$moveSelection(function(){this.moveCursorBy(ct,0)}):D===!1&&(this.selection.moveCursorBy(ct,0),this.selection.clearSelection());var ut=Re.scrollTop;Re.scrollBy(0,ct*at.lineHeight),D!=null&&Re.scrollCursorIntoView(null,.5),Re.animateScrolling(ut)},C.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},C.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},C.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},C.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},C.prototype.scrollPageDown=function(){this.$moveByPage(1)},C.prototype.scrollPageUp=function(){this.$moveByPage(-1)},C.prototype.scrollToRow=function(w){this.renderer.scrollToRow(w)},C.prototype.scrollToLine=function(w,D,Re,at){this.renderer.scrollToLine(w,D,Re,at)},C.prototype.centerSelection=function(){var w=this.getSelectionRange(),D={row:Math.floor(w.start.row+(w.end.row-w.start.row)/2),column:Math.floor(w.start.column+(w.end.column-w.start.column)/2)};this.renderer.alignCursor(D,.5)},C.prototype.getCursorPosition=function(){return this.selection.getCursor()},C.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},C.prototype.getSelectionRange=function(){return this.selection.getRange()},C.prototype.selectAll=function(){this.selection.selectAll()},C.prototype.clearSelection=function(){this.selection.clearSelection()},C.prototype.moveCursorTo=function(w,D){this.selection.moveCursorTo(w,D)},C.prototype.moveCursorToPosition=function(w){this.selection.moveCursorToPosition(w)},C.prototype.jumpToMatching=function(w,D){var Re=this.getCursorPosition(),at=new S(this.session,Re.row,Re.column),ct=at.getCurrentToken(),ut=0;ct&&ct.type.indexOf("tag-name")!==-1&&(ct=at.stepBackward());var Dt=ct||at.stepForward();if(Dt){var Jt,Wt=!1,zt={},Vt=Re.column-Dt.start,Ht,ai={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(Dt.value.match(/[{}()\[\]]/g)){for(;Vt<Dt.value.length&&!Wt;Vt++)if(ai[Dt.value[Vt]])switch(Ht=ai[Dt.value[Vt]]+"."+Dt.type.replace("rparen","lparen"),isNaN(zt[Ht])&&(zt[Ht]=0),Dt.value[Vt]){case"(":case"[":case"{":zt[Ht]++;break;case")":case"]":case"}":zt[Ht]--,zt[Ht]===-1&&(Jt="bracket",Wt=!0);break}}else Dt.type.indexOf("tag-name")!==-1&&(isNaN(zt[Dt.value])&&(zt[Dt.value]=0),ct.value==="<"&&ut>1?zt[Dt.value]++:ct.value==="</"&&zt[Dt.value]--,zt[Dt.value]===-1&&(Jt="tag",Wt=!0));Wt||(ct=Dt,ut++,Dt=at.stepForward(),Vt=0)}while(Dt&&!Wt);if(Jt){var li,ui;if(Jt==="bracket")li=this.session.getBracketRange(Re),li||(li=new a(at.getCurrentTokenRow(),at.getCurrentTokenColumn()+Vt-1,at.getCurrentTokenRow(),at.getCurrentTokenColumn()+Vt-1),ui=li.start,(D||ui.row===Re.row&&Math.abs(ui.column-Re.column)<2)&&(li=this.session.getBracketRange(ui)));else if(Jt==="tag"){if(!Dt||Dt.type.indexOf("tag-name")===-1)return;if(li=new a(at.getCurrentTokenRow(),at.getCurrentTokenColumn()-2,at.getCurrentTokenRow(),at.getCurrentTokenColumn()-2),li.compare(Re.row,Re.column)===0){var hi=this.session.getMatchingTags(Re);hi&&(hi.openTag.contains(Re.row,Re.column)?(li=hi.closeTag,ui=li.start):(li=hi.openTag,hi.closeTag.start.row===Re.row&&hi.closeTag.start.column===Re.column?ui=li.end:ui=li.start))}ui=ui||li.start}ui=li&&li.cursor||ui,ui&&(w?li&&D?this.selection.setRange(li):li&&li.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(ui.row,ui.column):this.selection.moveTo(ui.row,ui.column))}}},C.prototype.gotoLine=function(w,D,Re){this.selection.clearSelection(),this.session.unfold({row:w-1,column:D||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(w-1,D||0),this.isRowFullyVisible(w-1)||this.scrollToLine(w-1,!0,Re)},C.prototype.navigateTo=function(w,D){this.selection.moveTo(w,D)},C.prototype.navigateUp=function(w){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var D=this.selection.anchor.getPosition();return this.moveCursorToPosition(D)}this.selection.clearSelection(),this.selection.moveCursorBy(-w||-1,0)},C.prototype.navigateDown=function(w){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var D=this.selection.anchor.getPosition();return this.moveCursorToPosition(D)}this.selection.clearSelection(),this.selection.moveCursorBy(w||1,0)},C.prototype.navigateLeft=function(w){if(this.selection.isEmpty())for(w=w||1;w--;)this.selection.moveCursorLeft();else{var D=this.getSelectionRange().start;this.moveCursorToPosition(D)}this.clearSelection()},C.prototype.navigateRight=function(w){if(this.selection.isEmpty())for(w=w||1;w--;)this.selection.moveCursorRight();else{var D=this.getSelectionRange().end;this.moveCursorToPosition(D)}this.clearSelection()},C.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},C.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},C.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},C.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},C.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},C.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},C.prototype.replace=function(w,D){D&&this.$search.set(D);var Re=this.$search.find(this.session),at=0;return Re&&(this.$tryReplace(Re,w)&&(at=1),this.selection.setSelectionRange(Re),this.renderer.scrollSelectionIntoView(Re.start,Re.end)),at},C.prototype.replaceAll=function(w,D){D&&this.$search.set(D);var Re=this.$search.findAll(this.session),at=0;if(!Re.length)return at;var ct=this.getSelectionRange();this.selection.moveTo(0,0);for(var ut=Re.length-1;ut>=0;--ut)this.$tryReplace(Re[ut],w)&&at++;return this.selection.setSelectionRange(ct),at},C.prototype.$tryReplace=function(w,D){var Re=this.session.getTextRange(w);return D=this.$search.replace(Re,D),D!==null?(w.end=this.session.replace(w,D),w):null},C.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},C.prototype.find=function(w,D,Re){D||(D={}),typeof w=="string"||w instanceof RegExp?D.needle=w:typeof w=="object"&&x.mixin(D,w);var at=this.selection.getRange();D.needle==null&&(w=this.session.getTextRange(at)||this.$search.$options.needle,w||(at=this.session.getWordRange(at.start.row,at.start.column),w=this.session.getTextRange(at)),this.$search.set({needle:w})),this.$search.set(D),D.start||this.$search.set({start:at});var ct=this.$search.find(this.session);if(D.preventScroll)return ct;if(ct)return this.revealRange(ct,Re),ct;D.backwards?at.start=at.end:at.end=at.start,this.selection.setRange(at)},C.prototype.findNext=function(w,D){this.find({skipCurrent:!0,backwards:!1},w,D)},C.prototype.findPrevious=function(w,D){this.find(w,{skipCurrent:!0,backwards:!0},D)},C.prototype.revealRange=function(w,D){this.session.unfold(w),this.selection.setSelectionRange(w);var Re=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(w.start,w.end,.5),D!==!1&&this.renderer.animateScrolling(Re)},C.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},C.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},C.prototype.destroy=function(){this.destroyed=!0,this.$toDestroy&&(this.$toDestroy.forEach(function(w){w.destroy()}),this.$toDestroy=[]),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},C.prototype.setAutoScrollEditorIntoView=function(w){if(w){var D,Re=this,at=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var ct=this.$scrollAnchor;ct.style.cssText="position:absolute",this.container.insertBefore(ct,this.container.firstChild);var ut=this.on("changeSelection",function(){at=!0}),Dt=this.renderer.on("beforeRender",function(){at&&(D=Re.renderer.container.getBoundingClientRect())}),Jt=this.renderer.on("afterRender",function(){if(at&&D&&(Re.isFocused()||Re.searchBox&&Re.searchBox.isFocused())){var Wt=Re.renderer,zt=Wt.$cursorLayer.$pixelPos,Vt=Wt.layerConfig,Ht=zt.top-Vt.offset;zt.top>=0&&Ht+D.top<0?at=!0:zt.top<Vt.height&&zt.top+D.top+Vt.lineHeight>window.innerHeight?at=!1:at=null,at!=null&&(ct.style.top=Ht+"px",ct.style.left=zt.left+"px",ct.style.height=Vt.lineHeight+"px",ct.scrollIntoView(at)),at=D=null}});this.setAutoScrollEditorIntoView=function(Wt){Wt||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",ut),this.renderer.off("afterRender",Jt),this.renderer.off("beforeRender",Dt))}}},C.prototype.$resetCursorStyle=function(){var w=this.$cursorStyle||"ace",D=this.renderer.$cursorLayer;D&&(D.setSmoothBlinking(/smooth/.test(w)),D.isBlinking=!this.$readOnly&&w!="wide",_.setCssClass(D.element,"ace_slim-cursors",/slim/.test(w)))},C.prototype.prompt=function(w,D,Re){var at=this;L.loadModule("ace/ext/prompt",function(ct){ct.prompt(at,w,D,Re)})},C})();G.$uid=0,G.prototype.curOp=null,G.prototype.prevOp={},G.prototype.$mergeableCommands=["backspace","del","insertstring"],G.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"],["&&","||"],["==","!="]],x.implement(G.prototype,p),L.defineOptions(G.prototype,"editor",{selectionStyle:{set:function(C){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:C})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(C){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(C){var w=this;if(this.textInput.setReadOnly(C),!this.destroyed){this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(Re){var at=!1;if(Re&&Re.type=="keydown"){if(Re&&Re.key&&!Re.ctrlKey&&!Re.metaKey&&(Re.key==" "&&Re.preventDefault(),at=Re.key.length==1),!at)return}else Re&&Re.type!=="exec"&&(at=!0);if(at){w.hoverTooltip||(w.hoverTooltip=new lt);var ct=_.createElement("div");ct.textContent=oe("editor.tooltip.disable-editing","Editing is disabled"),w.hoverTooltip.isOpen||w.hoverTooltip.showForRange(w,w.getSelectionRange(),ct)}else w.hoverTooltip&&w.hoverTooltip.isOpen&&w.hoverTooltip.hide()});var D=this.textInput.getElement();C?(U.addListener(D,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(U.removeListener(D,"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(C){this.textInput.setCopyWithEmptySelection(C)},initialValue:!1},cursorStyle:{set:function(C){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(C){this.setAutoScrollEditorIntoView(C)}},keyboardHandler:{set:function(C){this.setKeyboardHandler(C)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(C){this.session.setValue(C)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(C){this.setSession(C)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(C){this.renderer.$gutterLayer.setShowLineNumbers(C),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),C&&this.$relativeLineNumbers?P.attach(this):P.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(C){this.$showLineNumbers&&C?P.attach(this):P.detach(this)}},placeholder:{set:function(C){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var w=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(w&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),_.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!w&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),_.addCssClass(this.container,"ace_hasPlaceholder");var D=_.createElement("div");D.className="ace_placeholder",D.textContent=this.$placeholder||"",this.renderer.placeholderNode=D,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!w&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(C){var w={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(at){at.blur(),at.renderer.scroller.focus()},readOnly:!0},D=function(at){if(at.target==this.renderer.scroller&&at.keyCode===q.enter){at.preventDefault();var ct=this.getCursorPosition().row;this.isRowVisible(ct)||this.scrollToLine(ct,!0,!0),this.focus()}},Re;C?(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",oe("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",oe("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",D.bind(this)),this.commands.addCommand(w),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",oe("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",oe("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),Re||(Re=new b(this)),Re.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",D.bind(this)),this.commands.removeCommand(w),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),Re&&Re.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(C){this.$textInputAriaLabel=C},initialValue:""},enableMobileMenu:{set:function(C){this.$enableMobileMenu=C},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 P={getText:function(C,w){return(Math.abs(C.selection.lead.row-w)||w+1+(w<9?"·":""))+""},getWidth:function(C,w,D){return Math.max(w.toString().length,(D.lastRow+1).toString().length,2)*D.characterWidth},update:function(C,w){w.renderer.$loop.schedule(w.renderer.CHANGE_GUTTER)},attach:function(C){C.renderer.$gutterLayer.$renderer=this,C.on("changeSelection",this.update),this.update(null,C)},detach:function(C){C.renderer.$gutterLayer.$renderer==this&&(C.renderer.$gutterLayer.$renderer=null),C.off("changeSelection",this.update),this.update(null,C)}};g.Editor=G}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(f,g,Me){var A=f("../lib/dom"),x=(function(){function _(c,u){this.element=c,this.canvasHeight=u||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return _.prototype.moveContainer=function(c){A.translate(this.element,0,-(c.firstRowScreen*c.lineHeight%this.canvasHeight)-c.offset*this.$offsetCoefficient)},_.prototype.pageChanged=function(c,u){return Math.floor(c.firstRowScreen*c.lineHeight/this.canvasHeight)!==Math.floor(u.firstRowScreen*u.lineHeight/this.canvasHeight)},_.prototype.computeLineTop=function(c,u,i){var o=u.firstRowScreen*u.lineHeight,r=Math.floor(o/this.canvasHeight),t=i.documentToScreenRow(c,0)*u.lineHeight;return t-r*this.canvasHeight},_.prototype.computeLineHeight=function(c,u,i){return u.lineHeight*i.getRowLineCount(c)},_.prototype.getLength=function(){return this.cells.length},_.prototype.get=function(c){return this.cells[c]},_.prototype.shift=function(){this.$cacheCell(this.cells.shift())},_.prototype.pop=function(){this.$cacheCell(this.cells.pop())},_.prototype.push=function(c){if(Array.isArray(c)){this.cells.push.apply(this.cells,c);for(var u=A.createFragment(this.element),i=0;i<c.length;i++)u.appendChild(c[i].element);this.element.appendChild(u)}else this.cells.push(c),this.element.appendChild(c.element)},_.prototype.unshift=function(c){if(Array.isArray(c)){this.cells.unshift.apply(this.cells,c);for(var u=A.createFragment(this.element),i=0;i<c.length;i++)u.appendChild(c[i].element);this.element.firstChild?this.element.insertBefore(u,this.element.firstChild):this.element.appendChild(u)}else this.cells.unshift(c),this.element.insertAdjacentElement("afterbegin",c.element)},_.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},_.prototype.$cacheCell=function(c){c&&(c.element.remove(),this.cellCache.push(c))},_.prototype.createCell=function(c,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:c}}return r.row=c,r},_})();g.Lines=x}),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,Me){var A=f("../lib/dom"),x=f("../lib/oop"),_=f("../lib/lang"),c=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,v=this.$annotations[p];v||(v=this.$annotations[p]={text:[],type:[],displayText:[]});var E=a.text,L=a.text,S=a.type;E=E?_.escapeHTML(E):a.html||"",L=L||a.html||"",v.text.indexOf(E)===-1&&(v.text.push(E),v.type.push(S),v.displayText.push(L));var b=a.className;b?v.className=b:S==="error"?v.className=" ace_error":S==="security"&&!/\bace_error\b/.test(v.className)?v.className=" ace_security":S==="warning"&&!/\bace_(error|security)\b/.test(v.className)?v.className=" ace_warning":S==="info"&&!v.className?v.className=" ace_info":S==="hint"&&!v.className&&(v.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 v=n.getNextFoldLine(a),E=v?v.start.row:1/0,L=null,S=-1,b=a;;){if(b>E&&(b=v.end.row+1,v=n.getNextFoldLine(b,v),E=v?v.start.row:1/0),b>p){for(;this.$lines.getLength()>S+1;)this.$lines.pop();break}L=this.$lines.get(++S),L?L.row=b:(L=this.$lines.createCell(b,e,this.session,r),this.$lines.push(L)),this.$renderCell(L,e,v,b),b++}this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$updateGutterWidth=function(e){var n=this.session,a=n.gutterRenderer||this.$renderer,p=n.$firstLineNumber,v=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||n.$useWrapMode)&&(v=n.getLength()+p-1);var E=a?a.getWidth(n,v,e):v.toString().length*e.characterWidth,L=this.$padding||this.$computePadding();E+=L.left+L.right,E!==this.gutterWidth&&!isNaN(E)&&(this.gutterWidth=E,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",E))},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 v=this.session.getFoldLine(this.$cursorRow);if(a>0&&v&&v.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 v=this.session.getFoldedRowCount(n.firstRow,e.firstRow-1);v>0;v--)this.$lines.shift();if(p>a)for(var v=this.session.getFoldedRowCount(a+1,p);v>0;v--)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=[],v=n,E=this.session.getNextFoldLine(v),L=E?E.start.row:1/0;v>L&&(v=E.end.row+1,E=this.session.getNextFoldLine(v,E),L=E?E.start.row:1/0),!(v>a);){var S=this.$lines.createCell(v,e,this.session,r);this.$renderCell(S,e,E,v),p.push(S),v++}return p},t.prototype.$renderCell=function(e,n,a,p){var v=e.element,E=this.session,L=v.childNodes[0],S=v.childNodes[1],b=v.childNodes[2],oe=v.childNodes[3],Se=b.firstChild,q=E.$firstLineNumber,U=E.$breakpoints,lt=E.$decorations,G=E.gutterRenderer||this.$renderer,P=this.$showFoldWidgets&&E.foldWidgets,C=a?a.start.row:Number.MAX_VALUE,w=n.lineHeight+"px",D=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",Re=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",at=(G?G.getText(E,p):p+q).toString();if(this.$highlightGutterLine&&(p==this.$cursorRow||a&&p<this.$cursorRow&&p>=C&&this.$cursorRow<=a.end.row)&&(D+="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]&&(D+=U[p]),lt[p]&&(D+=lt[p]),this.$annotations[p]&&p!==C&&(D+=this.$annotations[p].className),P){var ct=P[p];ct==null&&(ct=P[p]=E.getFoldWidget(p))}if(ct){var ut="ace_fold-widget ace_"+ct,Dt=ct=="start"&&p==C&&p<a.end.row;if(Dt){ut+=" ace_closed";for(var Jt="",Wt=!1,zt=p+1;zt<=a.end.row;zt++)if(this.$annotations[zt]){if(this.$annotations[zt].className===" ace_error"){Wt=!0,Jt=" ace_error_fold";break}this.$annotations[zt].className===" ace_security"?(Wt=!0,Jt=" ace_security_fold"):this.$annotations[zt].className===" ace_warning"&&Jt!==" ace_security_fold"&&(Wt=!0,Jt=" ace_warning_fold")}D+=Jt}else ut+=" ace_open";S.className!=ut&&(S.className=ut),A.setStyle(S.style,"height",w),A.setStyle(S.style,"display","inline-block"),S.setAttribute("role","button"),S.setAttribute("tabindex","-1");var Vt=E.getFoldWidgetRange(p);Vt?S.setAttribute("aria-label",i("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[Vt.start.row+1,Vt.end.row+1])):a?S.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])):S.setAttribute("aria-label",i("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[p+1])),Dt?(S.setAttribute("aria-expanded","false"),S.setAttribute("title",i("gutter.code-folding.closed.title","Unfold code"))):(S.setAttribute("aria-expanded","true"),S.setAttribute("title",i("gutter.code-folding.open.title","Fold code")))}else S&&(A.setStyle(S.style,"display","none"),S.setAttribute("tabindex","0"),S.removeAttribute("role"),S.removeAttribute("aria-label"));var Ht=this.session.$gutterCustomWidgets[p];if(Ht?this.$addCustomWidget(p,Ht,e):oe&&this.$removeCustomWidget(p,e),Wt&&this.$showFoldedAnnotations){b.className="ace_gutter_annotation",Se.className=Re,Se.className+=Jt,A.setStyle(Se.style,"height",w),A.setStyle(b.style,"display","block"),A.setStyle(b.style,"height",w);var ai;switch(Jt){case" ace_error_fold":ai=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[at]);break;case" ace_security_fold":ai=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[at]);break;case" ace_warning_fold":ai=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[at]);break}b.setAttribute("aria-label",ai),b.setAttribute("tabindex","-1"),b.setAttribute("role","button")}else if(this.$annotations[p]){b.className="ace_gutter_annotation",Se.className=Re,this.$useSvgGutterIcons?Se.className+=this.$annotations[p].className:v.classList.add(this.$annotations[p].className.replace(" ","")),A.setStyle(Se.style,"height",w),A.setStyle(b.style,"display","block"),A.setStyle(b.style,"height",w);var ai;switch(this.$annotations[p].className){case" ace_error":ai=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[at]);break;case" ace_security":ai=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[at]);break;case" ace_warning":ai=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[at]);break;case" ace_info":ai=i("gutter.annotation.aria-label.info","Info, read annotations row $0",[at]);break;case" ace_hint":ai=i("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[at]);break}b.setAttribute("aria-label",ai),b.setAttribute("tabindex","-1"),b.setAttribute("role","button")}else A.setStyle(b.style,"display","none"),b.removeAttribute("aria-label"),b.removeAttribute("role"),b.setAttribute("tabindex","0");return at!==L.data&&(L.data=at),v.className!=D&&(v.className=D),A.setStyle(e.element.style,"height",this.$lines.computeLineHeight(p,n,E)+"px"),A.setStyle(e.element.style,"top",this.$lines.computeLineTop(p,n,E)+"px"),e.text=at,b.style.display==="none"&&S.style.display==="none"&&!Ht?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.$hideFoldWidget=function(e,n){var a=n||this.$getGutterCell(e);if(a&&a.element){var p=a.element.childNodes[1];p&&A.setStyle(p.style,"display","none")}},t.prototype.$showFoldWidget=function(e,n){var a=n||this.$getGutterCell(e);if(a&&a.element){var p=a.element.childNodes[1];p&&this.session.foldWidgets&&this.session.foldWidgets[a.row]&&A.setStyle(p.style,"display","inline-block")}},t.prototype.$getGutterCell=function(e){var n=this.$lines.cells,a=this.session.documentToScreenRow(e,0);return n[e-this.config.firstRowScreen-(e-a)]},t.prototype.$addCustomWidget=function(e,n,a){var p=n.className,v=n.label,E=n.title,L=n.callbacks;this.session.$gutterCustomWidgets[e]={className:p,label:v,title:E,callbacks:L},this.$hideFoldWidget(e,a);var S=a||this.$getGutterCell(e);if(S&&S.element){var b=S.element.querySelector(".ace_custom-widget");b&&b.remove(),b=A.createElement("span"),b.className="ace_custom-widget ".concat(p),b.setAttribute("tabindex","-1"),b.setAttribute("role","button"),b.setAttribute("aria-label",v),b.setAttribute("title",E),A.setStyle(b.style,"display","inline-block"),A.setStyle(b.style,"height","inherit"),L&&L.onClick&&b.addEventListener("click",function(oe){L.onClick(oe,e),oe.stopPropagation()}),S.element.appendChild(b)}},t.prototype.$removeCustomWidget=function(e,n){delete this.session.$gutterCustomWidgets[e],this.$showFoldWidget(e,n);var a=n||this.$getGutterCell(e);if(a&&a.element){var p=a.element.querySelector(".ace_custom-widget");p&&a.element.removeChild(p)}},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,x.implement(o.prototype,c);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,Me){var A=f("../range").Range,x=f("../lib/dom"),_=(function(){function u(i){this.element=x.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,v=a,E=0,L=0,S=n.getScreenLastRowColumn(v),b=new A(v,o.start.column,v,L);v<=p;v++)b.start.row=b.end.row=v,b.start.column=v==a?o.start.column:n.getRowWrapIndent(v),b.end.column=S,E=L,L=S,S=v+1<p?n.getScreenLastRowColumn(v+1):v==p?0:o.end.column,this.drawSingleLineMarker(i,b,r+(v==a?" ace_start":"")+" ace_br"+c(v==a||v==a+1&&o.start.column,E<L,L>S,v==p),t,v==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),v=n+o.start.column*t.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(o.start.row)){var E=o.clone();E.end.row=E.start.row,E.end.column=this.session.getLine(E.start.row).length,this.drawBidiSingleLineMarker(i,E,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:"+v+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(o.end.row)){var E=o.clone();E.start.row=E.end.row,E.start.column=0,this.drawBidiSingleLineMarker(i,E,r+" ace_br12",t,null,e)}else{p=this.$getTop(o.end.row,t);var L=o.end.column*t.characterWidth;this.elt(r+" ace_br12","height:"+a+"px;width:"+L+"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 S=(o.start.column?1:0)|(o.end.column?0:8);this.elt(r+(S?" ace_br"+S:""),"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,v=this.$getTop(o.start.row,t),E=this.$padding+o.start.column*t.characterWidth;this.elt(r,"height:"+a+"px;width:"+p+"px;top:"+v+"px;left:"+E+"px;"+(n||""))},u.prototype.drawBidiSingleLineMarker=function(i,o,r,t,e,n){var a=t.lineHeight,p=this.$getTop(o.start.row,t),v=this.$padding,E=this.session.$bidiHandler.getSelections(o.start.column,o.end.column);E.forEach(function(L){this.elt(r,"height:"+a+"px;width:"+(L.width+(e||0))+"px;top:"+p+"px;left:"+(v+L.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 c(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,Me){var A=new Set(["text","rparen","lparen"]);g.isTextToken=function(x){return A.has(x)}}),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,Me){var A=f("../lib/oop"),x=f("../lib/dom"),_=f("../lib/lang"),c=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=x,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 c(this.element)}return t.prototype.$updateEolChar=function(){var e=this.session.doc,n=e.getNewLineCharacter()==`
|
219
|
+
`&&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 v="ace_indent-guide",E=this.showSpaces?" ace_invisible ace_invisible_space":"",L=this.showSpaces?_.stringRepeat(this.SPACE_CHAR,this.tabSize):_.stringRepeat(" ",this.tabSize),S=this.showTabs?" ace_invisible ace_invisible_tab":"",b=this.showTabs?_.stringRepeat(this.TAB_CHAR,this.tabSize):L,p=this.dom.createElement("span");p.className=v+E,p.textContent=L,this.$tabStrings[" "]=p;var p=this.dom.createElement("span");p.className=v+S,p.textContent=b,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),v=Math.min(a,e.lastRow),E=this.element.childNodes,L=0,b=e.firstRow;b<p;b++){var oe=this.session.getFoldLine(b);if(oe)if(oe.containsRow(p)){p=oe.start.row;break}else b=oe.end.row;L++}for(var S=!1,b=p,oe=this.session.getNextFoldLine(b),Se=oe?oe.start.row:1/0;b>Se&&(b=oe.end.row+1,oe=this.session.getNextFoldLine(b,oe),Se=oe?oe.start.row:1/0),!(b>v);){var q=E[L++];if(q){this.dom.removeChildren(q),this.$renderLine(q,b,b==Se?oe:!1),S&&(q.style.top=this.$lines.computeLineTop(b,e,this.session)+"px");var U=e.lineHeight*this.session.getRowLength(b)+"px";q.style.height!=U&&(S=!0,q.style.height=U)}b++}if(S)for(;L<this.$lines.cells.length;){var lt=this.$lines.cells[L++];lt.element.style.top=this.$lines.computeLineTop(lt.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 v=this.session.getFoldedRowCount(n.firstRow,e.firstRow-1);v>0;v--)this.$lines.shift();if(n.lastRow>e.lastRow)for(var v=this.session.getFoldedRowCount(e.lastRow+1,n.lastRow);v>0;v--)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=[],v=n,E=this.session.getNextFoldLine(v),L=E?E.start.row:1/0;v>L&&(v=E.end.row+1,E=this.session.getNextFoldLine(v,E),L=E?E.start.row:1/0),!(v>a);){var S=this.$lines.createCell(v,e,this.session),b=S.element;this.dom.removeChildren(b),x.setStyle(b.style,"height",this.$lines.computeLineHeight(v,e,this.session)+"px"),x.setStyle(b.style,"top",this.$lines.computeLineTop(v,e,this.session)+"px"),this.$renderLine(b,v,v==L?E:!1),this.$useLineGroups()?b.className="ace_line_group":b.className="ace_line",p.push(S),v++}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 v=this,E=/(\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,L=this.dom.createFragment(this.element),S,b=0;S=E.exec(p);){var oe=S[1],Se=S[2],q=S[3],U=S[4],lt=S[5];if(!(!v.showSpaces&&Se)){var G=b!=S.index?p.slice(b,S.index):"";if(b=S.index+S[0].length,G&&L.appendChild(this.dom.createTextNode(G,this.element)),oe){var P=v.session.getScreenTabSize(n+S.index),C=v.$tabStrings[P].cloneNode(!0);C.charCount=1,L.appendChild(C),n+=P-1}else if(Se)if(v.showSpaces){var w=this.dom.createElement("span");w.className="ace_invisible ace_invisible_space",w.textContent=_.stringRepeat(v.SPACE_CHAR,Se.length),L.appendChild(w)}else L.appendChild(this.dom.createTextNode(Se,this.element));else if(q){var w=this.dom.createElement("span");w.className="ace_invisible ace_invisible_space ace_invalid",w.textContent=_.stringRepeat(v.SPACE_CHAR,q.length),L.appendChild(w)}else if(U){n+=1;var w=this.dom.createElement("span");w.style.width=v.config.characterWidth*2+"px",w.className=v.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",w.textContent=v.showSpaces?v.SPACE_CHAR:U,L.appendChild(w)}else if(lt){n+=1;var w=this.dom.createElement("span");w.style.width=v.config.characterWidth*2+"px",w.className="ace_cjk",w.textContent=lt,L.appendChild(w)}}}if(L.appendChild(this.dom.createTextNode(b?p.slice(b):p,this.element)),o(a.type))e.appendChild(L);else{var D="ace_"+a.type.replace(/\./g," ace_"),w=this.dom.createElement("span");a.type=="fold"&&(w.style.width=a.value.length*this.config.characterWidth+"px",w.setAttribute("title",i("inline-fold.closed.title","Unfold code"))),w.className=D,w.appendChild(L),e.appendChild(w)}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 v=p/this.tabSize,E=0;E<v;E++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),n.substr(p)}else if(n[0]==" "){for(var E=0;E<p;E++)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 v=this.session.$bracketHighlight;if(v){for(var E=this.session.$bracketHighlight.ranges,L=0;L<E.length;L++)if(n.row!==E[L].start.row){this.$highlightIndentGuideMarker.end=E[L].start.row+1,n.row>E[L].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 L=n.row+1;L<e.length;L++){var S=e[L],b=/^\s*/.exec(S)[0].length;if(S!==""&&(this.$highlightIndentGuideMarker.end=L,b<=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 v=p.childNodes;if(v){var E=v[n-1];E&&E.classList&&E.classList.contains("ace_indent-guide")&&E.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,v=0,E=a[0],L=0,S=this.$createLineElement();e.appendChild(S);for(var b=0;b<n.length;b++){var oe=n[b],Se=oe.value;if(b==0&&this.displayIndentGuides){if(p=Se.length,Se=this.renderIndentGuide(S,Se,E),!Se)continue;p-=Se.length}if(p+Se.length<E)L=this.$renderToken(S,L,oe,Se),p+=Se.length;else{for(;p+Se.length>=E;){L=this.$renderToken(S,L,oe,Se.substring(0,E-p)),Se=Se.substring(E-p),p=E,S=this.$createLineElement(),e.appendChild(S);var q=this.dom.createTextNode(_.stringRepeat(" ",a.indent),this.element);q.charCount=0,S.appendChild(q),v++,L=0,E=a[v]||Number.MAX_VALUE}Se.length!=0&&(p+=Se.length,L=this.$renderToken(S,L,oe,Se))}}a[a.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(S,L,null,"",!0)},t.prototype.$renderSimpleLine=function(e,n){for(var a=0,p=0;p<n.length;p++){var v=n[p],E=v.value;if(!(p==0&&this.displayIndentGuides&&(E=this.renderIndentGuide(e,E),!E))){if(a+E.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,a,v,E);a=this.$renderToken(e,a,v,E)}}},t.prototype.$renderOverflowMessage=function(e,n,a,p,v){a&&this.$renderToken(e,n,a,p.slice(0,this.MAX_LINE_LENGTH-n));var E=this.dom.createElement("span");E.className="ace_inline_button ace_keyword ace_toggle_wrap",E.textContent=v?"<hide>":"<click to see more...>",e.appendChild(E)},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 v=e;if(p.length){var E=this.session.getRowSplitData(n);if(E&&E.length){this.$renderWrappedLine(e,p,E);var v=e.lastChild}else{var v=e;this.$useLineGroups()&&(v=this.$createLineElement(),e.appendChild(v)),this.$renderSimpleLine(v,p)}}else this.$useLineGroups()&&(v=this.$createLineElement(),e.appendChild(v));if(this.showEOL&&v){a&&(n=a.end.row);var L=this.dom.createElement("span");L.className="ace_invisible ace_invisible_eol",L.textContent=n==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,v.appendChild(L)}},t.prototype.$getFoldLineTokens=function(e,n){var a=this.session,p=[];function v(L,S,b){for(var oe=0,Se=0;Se+L[oe].value.length<S;)if(Se+=L[oe].value.length,oe++,oe==L.length)return;if(Se!=S){var q=L[oe].value.substring(S-Se);q.length>b-S&&(q=q.substring(0,b-S)),p.push({type:L[oe].type,value:q}),Se=S+q.length,oe+=1}for(;Se<b&&oe<L.length;){var q=L[oe].value;q.length+Se>b?p.push({type:L[oe].type,value:q.substring(0,b-Se)}):p.push(L[oe]),Se+=q.length,oe+=1}}var E=a.getTokens(e);return n.walk(function(L,S,b,oe,Se){L!=null?p.push({type:"fold",value:L}):(Se&&(E=a.getTokens(S)),E.length&&v(E,oe,b))},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,Me){var A=f("../lib/dom"),x=(function(){function _(c){this.element=A.createElement("div"),this.element.className="ace_layer ace_cursor-layer",c.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(c){for(var u=this.cursors,i=u.length;i--;)A.setStyle(u[i].style,"opacity",c?"":"0")},_.prototype.$startCssAnimation=function(){for(var c=this.cursors,u=c.length;u--;)c[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(c){this.$padding=c},_.prototype.setSession=function(c){this.session=c},_.prototype.setBlinking=function(c){c!=this.isBlinking&&(this.isBlinking=c,this.restartTimer())},_.prototype.setBlinkInterval=function(c){c!=this.blinkInterval&&(this.blinkInterval=c,this.restartTimer())},_.prototype.setSmoothBlinking=function(c){c!=this.smoothBlinking&&(this.smoothBlinking=c,A.setCssClass(this.element,"ace_smooth-blinking",c),this.$updateCursors(!0),this.restartTimer())},_.prototype.addCursor=function(){var c=A.createElement("div");return c.className="ace_cursor",this.element.appendChild(c),this.cursors.push(c),c},_.prototype.removeCursor=function(){if(this.cursors.length>1){var c=this.cursors.pop();return c.parentNode.removeChild(c),c}},_.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 c=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,A.removeCssClass(this.element,"ace_smooth-blinking")),c(!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(){c(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){c(!0),u()},this.blinkInterval),u()}},_.prototype.getPixelPosition=function(c,u){if(!this.config||!this.session)return{left:0,top:0};c||(c=this.session.selection.getCursor());var i=this.session.documentToScreenPosition(c),o=this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,c.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(c,u){return c.top>=0&&c.top<u.maxHeight},_.prototype.update=function(c){this.config=c;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>c.height+c.offset||t.top<0)&&i>1)){var e=this.cursors[o++]||this.addCursor(),n=e.style;this.drawCursor?this.drawCursor(e,t,c,u[i],this.session):this.isCursorInView(t,c)?(A.setStyle(n,"display","block"),A.translate(e,t.left,t.top),A.setStyle(n,"width",Math.round(c.characterWidth)+"px"),A.setStyle(n,"height",c.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(c){c!=this.overwrite&&(this.overwrite=c,c?A.addCssClass(this.element,"ace_overwrite-cursors"):A.removeCssClass(this.element,"ace_overwrite-cursors"))},_.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},_})();x.prototype.$padding=0,x.prototype.drawCursor=null,g.Cursor=x}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(f,g,Me){var A=this&&this.__extends||(function(){var e=function(n,a){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,v){p.__proto__=v}||function(p,v){for(var E in v)Object.prototype.hasOwnProperty.call(v,E)&&(p[E]=v[E])},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)}})(),x=f("./lib/oop"),_=f("./lib/dom"),c=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,c.addListener(this.element,"scroll",this.onScroll.bind(this)),c.addListener(this.element,"mousedown",c.preventDefault)}return e.prototype.setVisible=function(n){this.element.style.display=n?"":"none",this.isVisible=n,this.coeff=1},e})();x.implement(o.prototype,u);var r=(function(e){A(n,e);function n(a,p){var v=e.call(this,a,"-v")||this;return v.scrollTop=0,v.scrollHeight=0,p.$scrollbarWidth=v.width=_.scrollbarWidth(a.ownerDocument),v.inner.style.width=v.element.style.width=(v.width||15)+5+"px",v.$minWidth=0,v}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 v=e.call(this,a,"-h")||this;return v.scrollLeft=0,v.height=p.$scrollbarWidth,v.inner.style.height=v.element.style.height=(v.height||15)+5+"px",v}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,Me){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 v in p)Object.prototype.hasOwnProperty.call(p,v)&&(a[v]=p[v])},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)}})(),x=f("./lib/oop"),_=f("./lib/dom"),c=f("./lib/event"),u=f("./lib/event_emitter").EventEmitter;_.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
|
220
|
+
position: absolute;
|
221
|
+
background: rgba(128, 128, 128, 0.6);
|
222
|
+
-moz-box-sizing: border-box;
|
223
|
+
box-sizing: border-box;
|
224
|
+
border: 1px solid #bbb;
|
225
|
+
border-radius: 2px;
|
226
|
+
z-index: 8;
|
227
|
+
}
|
228
|
+
.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
|
229
|
+
position: absolute;
|
230
|
+
z-index: 6;
|
231
|
+
background: none;
|
232
|
+
overflow: hidden!important;
|
233
|
+
}
|
234
|
+
.ace_editor>.ace_sb-v {
|
235
|
+
z-index: 6;
|
236
|
+
right: 0;
|
237
|
+
top: 0;
|
238
|
+
width: 12px;
|
239
|
+
}
|
240
|
+
.ace_editor>.ace_sb-v div {
|
241
|
+
z-index: 8;
|
242
|
+
right: 0;
|
243
|
+
width: 100%;
|
244
|
+
}
|
245
|
+
.ace_editor>.ace_sb-h {
|
246
|
+
bottom: 0;
|
247
|
+
left: 0;
|
248
|
+
height: 12px;
|
249
|
+
}
|
250
|
+
.ace_editor>.ace_sb-h div {
|
251
|
+
bottom: 0;
|
252
|
+
height: 100%;
|
253
|
+
}
|
254
|
+
.ace_editor>.ace_sb_grabbed {
|
255
|
+
z-index: 8;
|
256
|
+
background: #000;
|
257
|
+
}`,"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,c.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})();x.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"&&!(c.getButton(a)!==0||a.detail===2)){if(a.target===this.inner){var p=this,v=a.clientY,E=function(U){v=U.clientY},L=function(){clearInterval(Se)},S=a.clientY,b=this.thumbTop,oe=function(){if(v!==void 0){var U=p.scrollTopFromThumbTop(b+v-S);U!==p.scrollTop&&p._emit("scroll",{data:U})}};c.capture(this.inner,E,L);var Se=setInterval(oe,20);return c.preventDefault(a)}var q=a.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(q)}),c.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"&&!(c.getButton(a)!==0||a.detail===2)){if(a.target===this.inner){var p=this,v=a.clientX,E=function(U){v=U.clientX},L=function(){clearInterval(Se)},S=a.clientX,b=this.thumbLeft,oe=function(){if(v!==void 0){var U=p.scrollLeftFromThumbLeft(b+v-S);U!==p.scrollLeft&&p._emit("scroll",{data:U})}};c.capture(this.inner,E,L);var Se=setInterval(oe,20);return c.preventDefault(a)}var q=a.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(q)}),c.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,Me){var A=f("./lib/event"),x=(function(){function _(c,u){this.onRender=c,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(c){this.changes=this.changes|c,this.changes&&!this.pending&&(A.nextFrame(this._flush),this.pending=!0)},_.prototype.clear=function(c){var u=this.changes;return this.changes=0,u},_})();g.RenderLoop=x}),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,Me){var A=f("../lib/oop"),x=f("../lib/dom"),_=f("../lib/lang"),c=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=x.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=x.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=x.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=c.onIdle(function p(){a.checkForSizeChanges(),c.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,v){return["div",{style:"position: absolute;top:"+p+"px;left:"+v+"px;"}]};this.els=x.buildDom([a(0,0),a(t,0),a(0,t),a(t,t)],this.el)},n.prototype.transformCoordinates=function(a,p){if(a){var v=this.$getZoom(this.el);a=b(1/v,a)}function E(ut,Dt,Jt){var Wt=ut[1]*Dt[0]-ut[0]*Dt[1];return[(-Dt[1]*Jt[0]+Dt[0]*Jt[1])/Wt,(+ut[1]*Jt[0]-ut[0]*Jt[1])/Wt]}function L(ut,Dt){return[ut[0]-Dt[0],ut[1]-Dt[1]]}function S(ut,Dt){return[ut[0]+Dt[0],ut[1]+Dt[1]]}function b(ut,Dt){return[ut*Dt[0],ut*Dt[1]]}this.els||this.$initTransformMeasureNodes();function oe(ut){var Dt=ut.getBoundingClientRect();return[Dt.left,Dt.top]}var Se=oe(this.els[0]),q=oe(this.els[1]),U=oe(this.els[2]),lt=oe(this.els[3]),G=E(L(lt,q),L(lt,U),L(S(q,U),S(lt,Se))),P=b(1+G[0],L(q,Se)),C=b(1+G[1],L(U,Se));if(p){var w=p,D=G[0]*w[0]/t+G[1]*w[1]/t+1,Re=S(b(w[0],P),b(w[1],C));return S(b(1/D/t,Re),Se)}var at=L(a,Se),ct=E(L(P,b(G[0],at)),L(C,b(G[1],at)),at);return b(t,ct)},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,Me){Me.exports=`
|
258
|
+
.ace_br1 {border-top-left-radius : 3px;}
|
259
|
+
.ace_br2 {border-top-right-radius : 3px;}
|
260
|
+
.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
|
261
|
+
.ace_br4 {border-bottom-right-radius: 3px;}
|
262
|
+
.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
|
263
|
+
.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
|
264
|
+
.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
|
265
|
+
.ace_br8 {border-bottom-left-radius : 3px;}
|
266
|
+
.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
|
267
|
+
.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
|
268
|
+
.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
|
269
|
+
.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
270
|
+
.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
271
|
+
.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
272
|
+
.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
273
|
+
|
274
|
+
|
275
|
+
.ace_editor {
|
276
|
+
position: relative;
|
277
|
+
overflow: hidden;
|
278
|
+
padding: 0;
|
279
|
+
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
|
280
|
+
direction: ltr;
|
281
|
+
text-align: left;
|
282
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
283
|
+
forced-color-adjust: none;
|
284
|
+
}
|
285
|
+
|
286
|
+
.ace_scroller {
|
287
|
+
position: absolute;
|
288
|
+
overflow: hidden;
|
289
|
+
top: 0;
|
290
|
+
bottom: 0;
|
291
|
+
background-color: inherit;
|
292
|
+
-ms-user-select: none;
|
293
|
+
-moz-user-select: none;
|
294
|
+
-webkit-user-select: none;
|
295
|
+
user-select: none;
|
296
|
+
cursor: text;
|
297
|
+
}
|
298
|
+
|
299
|
+
.ace_content {
|
300
|
+
position: absolute;
|
301
|
+
box-sizing: border-box;
|
302
|
+
min-width: 100%;
|
303
|
+
contain: style size layout;
|
304
|
+
font-variant-ligatures: no-common-ligatures;
|
305
|
+
}
|
306
|
+
.ace_invisible {
|
307
|
+
font-variant-ligatures: none;
|
308
|
+
}
|
309
|
+
|
310
|
+
.ace_keyboard-focus:focus {
|
311
|
+
box-shadow: inset 0 0 0 2px #5E9ED6;
|
312
|
+
outline: none;
|
313
|
+
}
|
314
|
+
|
315
|
+
.ace_dragging .ace_scroller:before{
|
316
|
+
position: absolute;
|
317
|
+
top: 0;
|
318
|
+
left: 0;
|
319
|
+
right: 0;
|
320
|
+
bottom: 0;
|
321
|
+
content: '';
|
322
|
+
background: rgba(250, 250, 250, 0.01);
|
323
|
+
z-index: 1000;
|
324
|
+
}
|
325
|
+
.ace_dragging.ace_dark .ace_scroller:before{
|
326
|
+
background: rgba(0, 0, 0, 0.01);
|
327
|
+
}
|
328
|
+
|
329
|
+
.ace_gutter {
|
330
|
+
position: absolute;
|
331
|
+
overflow : hidden;
|
332
|
+
width: auto;
|
333
|
+
top: 0;
|
334
|
+
bottom: 0;
|
335
|
+
left: 0;
|
336
|
+
cursor: default;
|
337
|
+
z-index: 4;
|
338
|
+
-ms-user-select: none;
|
339
|
+
-moz-user-select: none;
|
340
|
+
-webkit-user-select: none;
|
341
|
+
user-select: none;
|
342
|
+
contain: style size layout;
|
343
|
+
}
|
344
|
+
|
345
|
+
.ace_gutter-active-line {
|
346
|
+
position: absolute;
|
347
|
+
left: 0;
|
348
|
+
right: 0;
|
349
|
+
}
|
350
|
+
|
351
|
+
.ace_scroller.ace_scroll-left:after {
|
352
|
+
content: "";
|
353
|
+
position: absolute;
|
354
|
+
top: 0;
|
355
|
+
right: 0;
|
356
|
+
bottom: 0;
|
357
|
+
left: 0;
|
358
|
+
box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
|
359
|
+
pointer-events: none;
|
360
|
+
}
|
361
|
+
|
362
|
+
.ace_gutter-cell, .ace_gutter-cell_svg-icons {
|
363
|
+
position: absolute;
|
364
|
+
top: 0;
|
365
|
+
left: 0;
|
366
|
+
right: 0;
|
367
|
+
padding-left: 19px;
|
368
|
+
padding-right: 6px;
|
369
|
+
background-repeat: no-repeat;
|
370
|
+
}
|
371
|
+
|
372
|
+
.ace_gutter-cell_svg-icons .ace_gutter_annotation {
|
373
|
+
margin-left: -14px;
|
374
|
+
float: left;
|
375
|
+
}
|
376
|
+
|
377
|
+
.ace_gutter-cell .ace_gutter_annotation {
|
378
|
+
margin-left: -19px;
|
379
|
+
float: left;
|
380
|
+
}
|
381
|
+
|
382
|
+
.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 {
|
383
|
+
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==");
|
384
|
+
background-repeat: no-repeat;
|
385
|
+
background-position: 2px center;
|
386
|
+
}
|
387
|
+
|
388
|
+
.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
|
389
|
+
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==");
|
390
|
+
background-repeat: no-repeat;
|
391
|
+
background-position: 2px center;
|
392
|
+
}
|
393
|
+
|
394
|
+
.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
|
395
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
|
396
|
+
background-repeat: no-repeat;
|
397
|
+
background-position: 2px center;
|
398
|
+
}
|
399
|
+
|
400
|
+
.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 {
|
401
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
|
402
|
+
}
|
403
|
+
|
404
|
+
.ace_icon_svg.ace_error {
|
405
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
|
406
|
+
background-color: crimson;
|
407
|
+
}
|
408
|
+
.ace_icon_svg.ace_security {
|
409
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
|
410
|
+
background-color: crimson;
|
411
|
+
}
|
412
|
+
.ace_icon_svg.ace_warning {
|
413
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
|
414
|
+
background-color: darkorange;
|
415
|
+
}
|
416
|
+
.ace_icon_svg.ace_info {
|
417
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
|
418
|
+
background-color: royalblue;
|
419
|
+
}
|
420
|
+
.ace_icon_svg.ace_hint {
|
421
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
|
422
|
+
background-color: silver;
|
423
|
+
}
|
424
|
+
|
425
|
+
.ace_icon_svg.ace_error_fold {
|
426
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
427
|
+
background-color: crimson;
|
428
|
+
}
|
429
|
+
.ace_icon_svg.ace_security_fold {
|
430
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
431
|
+
background-color: crimson;
|
432
|
+
}
|
433
|
+
.ace_icon_svg.ace_warning_fold {
|
434
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
|
435
|
+
background-color: darkorange;
|
436
|
+
}
|
437
|
+
|
438
|
+
.ace_scrollbar {
|
439
|
+
contain: strict;
|
440
|
+
position: absolute;
|
441
|
+
right: 0;
|
442
|
+
bottom: 0;
|
443
|
+
z-index: 6;
|
444
|
+
}
|
445
|
+
|
446
|
+
.ace_scrollbar-inner {
|
447
|
+
position: absolute;
|
448
|
+
cursor: text;
|
449
|
+
left: 0;
|
450
|
+
top: 0;
|
451
|
+
}
|
452
|
+
|
453
|
+
.ace_scrollbar-v{
|
454
|
+
overflow-x: hidden;
|
455
|
+
overflow-y: scroll;
|
456
|
+
top: 0;
|
457
|
+
}
|
458
|
+
|
459
|
+
.ace_scrollbar-h {
|
460
|
+
overflow-x: scroll;
|
461
|
+
overflow-y: hidden;
|
462
|
+
left: 0;
|
463
|
+
}
|
464
|
+
|
465
|
+
.ace_print-margin {
|
466
|
+
position: absolute;
|
467
|
+
height: 100%;
|
468
|
+
}
|
469
|
+
|
470
|
+
.ace_text-input {
|
471
|
+
position: absolute;
|
472
|
+
z-index: 0;
|
473
|
+
width: 0.5em;
|
474
|
+
height: 1em;
|
475
|
+
opacity: 0;
|
476
|
+
background: transparent;
|
477
|
+
-moz-appearance: none;
|
478
|
+
appearance: none;
|
479
|
+
border: none;
|
480
|
+
resize: none;
|
481
|
+
outline: none;
|
482
|
+
overflow: hidden;
|
483
|
+
font: inherit;
|
484
|
+
padding: 0 1px;
|
485
|
+
margin: 0 -1px;
|
486
|
+
contain: strict;
|
487
|
+
-ms-user-select: text;
|
488
|
+
-moz-user-select: text;
|
489
|
+
-webkit-user-select: text;
|
490
|
+
user-select: text;
|
491
|
+
/*with \`pre-line\` chrome inserts instead of space*/
|
492
|
+
white-space: pre!important;
|
493
|
+
}
|
494
|
+
.ace_text-input.ace_composition {
|
495
|
+
background: transparent;
|
496
|
+
color: inherit;
|
497
|
+
z-index: 1000;
|
498
|
+
opacity: 1;
|
499
|
+
}
|
500
|
+
.ace_composition_placeholder { color: transparent }
|
501
|
+
.ace_composition_marker {
|
502
|
+
border-bottom: 1px solid;
|
503
|
+
position: absolute;
|
504
|
+
border-radius: 0;
|
505
|
+
margin-top: 1px;
|
506
|
+
}
|
507
|
+
|
508
|
+
[ace_nocontext=true] {
|
509
|
+
transform: none!important;
|
510
|
+
filter: none!important;
|
511
|
+
clip-path: none!important;
|
512
|
+
mask : none!important;
|
513
|
+
contain: none!important;
|
514
|
+
perspective: none!important;
|
515
|
+
mix-blend-mode: initial!important;
|
516
|
+
z-index: auto;
|
517
|
+
}
|
518
|
+
|
519
|
+
.ace_layer {
|
520
|
+
z-index: 1;
|
521
|
+
position: absolute;
|
522
|
+
overflow: hidden;
|
523
|
+
/* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
|
524
|
+
word-wrap: normal;
|
525
|
+
white-space: pre;
|
526
|
+
height: 100%;
|
527
|
+
width: 100%;
|
528
|
+
box-sizing: border-box;
|
529
|
+
/* setting pointer-events: auto; on node under the mouse, which changes
|
530
|
+
during scroll, will break mouse wheel scrolling in Safari */
|
531
|
+
pointer-events: none;
|
532
|
+
}
|
533
|
+
|
534
|
+
.ace_gutter-layer {
|
535
|
+
position: relative;
|
536
|
+
width: auto;
|
537
|
+
text-align: right;
|
538
|
+
pointer-events: auto;
|
539
|
+
height: 1000000px;
|
540
|
+
contain: style size layout;
|
541
|
+
}
|
542
|
+
|
543
|
+
.ace_text-layer {
|
544
|
+
font: inherit !important;
|
545
|
+
position: absolute;
|
546
|
+
height: 1000000px;
|
547
|
+
width: 1000000px;
|
548
|
+
contain: style size layout;
|
549
|
+
}
|
550
|
+
|
551
|
+
.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
|
552
|
+
contain: style size layout;
|
553
|
+
position: absolute;
|
554
|
+
top: 0;
|
555
|
+
left: 0;
|
556
|
+
right: 0;
|
557
|
+
}
|
558
|
+
|
559
|
+
.ace_hidpi .ace_text-layer,
|
560
|
+
.ace_hidpi .ace_gutter-layer,
|
561
|
+
.ace_hidpi .ace_content,
|
562
|
+
.ace_hidpi .ace_gutter {
|
563
|
+
contain: strict;
|
564
|
+
}
|
565
|
+
.ace_hidpi .ace_text-layer > .ace_line,
|
566
|
+
.ace_hidpi .ace_text-layer > .ace_line_group {
|
567
|
+
contain: strict;
|
568
|
+
}
|
569
|
+
|
570
|
+
.ace_cjk {
|
571
|
+
display: inline-block;
|
572
|
+
text-align: center;
|
573
|
+
}
|
574
|
+
|
575
|
+
.ace_cursor-layer {
|
576
|
+
z-index: 4;
|
577
|
+
}
|
578
|
+
|
579
|
+
.ace_cursor {
|
580
|
+
z-index: 4;
|
581
|
+
position: absolute;
|
582
|
+
box-sizing: border-box;
|
583
|
+
border-left: 2px solid;
|
584
|
+
/* workaround for smooth cursor repaintng whole screen in chrome */
|
585
|
+
transform: translatez(0);
|
586
|
+
}
|
587
|
+
|
588
|
+
.ace_multiselect .ace_cursor {
|
589
|
+
border-left-width: 1px;
|
590
|
+
}
|
591
|
+
|
592
|
+
.ace_slim-cursors .ace_cursor {
|
593
|
+
border-left-width: 1px;
|
594
|
+
}
|
595
|
+
|
596
|
+
.ace_overwrite-cursors .ace_cursor {
|
597
|
+
border-left-width: 0;
|
598
|
+
border-bottom: 1px solid;
|
599
|
+
}
|
600
|
+
|
601
|
+
.ace_hidden-cursors .ace_cursor {
|
602
|
+
opacity: 0.2;
|
603
|
+
}
|
604
|
+
|
605
|
+
.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
|
606
|
+
opacity: 0;
|
607
|
+
}
|
608
|
+
|
609
|
+
.ace_smooth-blinking .ace_cursor {
|
610
|
+
transition: opacity 0.18s;
|
611
|
+
}
|
612
|
+
|
613
|
+
.ace_animate-blinking .ace_cursor {
|
614
|
+
animation-duration: 1000ms;
|
615
|
+
animation-timing-function: step-end;
|
616
|
+
animation-name: blink-ace-animate;
|
617
|
+
animation-iteration-count: infinite;
|
618
|
+
}
|
619
|
+
|
620
|
+
.ace_animate-blinking.ace_smooth-blinking .ace_cursor {
|
621
|
+
animation-duration: 1000ms;
|
622
|
+
animation-timing-function: ease-in-out;
|
623
|
+
animation-name: blink-ace-animate-smooth;
|
624
|
+
}
|
625
|
+
|
626
|
+
@keyframes blink-ace-animate {
|
627
|
+
from, to { opacity: 1; }
|
628
|
+
60% { opacity: 0; }
|
629
|
+
}
|
630
|
+
|
631
|
+
@keyframes blink-ace-animate-smooth {
|
632
|
+
from, to { opacity: 1; }
|
633
|
+
45% { opacity: 1; }
|
634
|
+
60% { opacity: 0; }
|
635
|
+
85% { opacity: 0; }
|
636
|
+
}
|
637
|
+
|
638
|
+
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
|
639
|
+
position: absolute;
|
640
|
+
z-index: 3;
|
641
|
+
}
|
642
|
+
|
643
|
+
.ace_marker-layer .ace_selection {
|
644
|
+
position: absolute;
|
645
|
+
z-index: 5;
|
646
|
+
}
|
647
|
+
|
648
|
+
.ace_marker-layer .ace_bracket {
|
649
|
+
position: absolute;
|
650
|
+
z-index: 6;
|
651
|
+
}
|
652
|
+
|
653
|
+
.ace_marker-layer .ace_error_bracket {
|
654
|
+
position: absolute;
|
655
|
+
border-bottom: 1px solid #DE5555;
|
656
|
+
border-radius: 0;
|
657
|
+
}
|
658
|
+
|
659
|
+
.ace_marker-layer .ace_active-line {
|
660
|
+
position: absolute;
|
661
|
+
z-index: 2;
|
662
|
+
}
|
663
|
+
|
664
|
+
.ace_marker-layer .ace_selected-word {
|
665
|
+
position: absolute;
|
666
|
+
z-index: 4;
|
667
|
+
box-sizing: border-box;
|
668
|
+
}
|
669
|
+
|
670
|
+
.ace_line .ace_fold {
|
671
|
+
box-sizing: border-box;
|
672
|
+
|
673
|
+
display: inline-block;
|
674
|
+
height: 11px;
|
675
|
+
margin-top: -2px;
|
676
|
+
vertical-align: middle;
|
677
|
+
|
678
|
+
background-image:
|
679
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
680
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
|
681
|
+
background-repeat: no-repeat, repeat-x;
|
682
|
+
background-position: center center, top left;
|
683
|
+
color: transparent;
|
684
|
+
|
685
|
+
border: 1px solid black;
|
686
|
+
border-radius: 2px;
|
687
|
+
|
688
|
+
cursor: pointer;
|
689
|
+
pointer-events: auto;
|
690
|
+
}
|
691
|
+
|
692
|
+
.ace_dark .ace_fold {
|
693
|
+
}
|
694
|
+
|
695
|
+
.ace_fold:hover{
|
696
|
+
background-image:
|
697
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
698
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
|
699
|
+
}
|
700
|
+
|
701
|
+
.ace_tooltip {
|
702
|
+
background-color: #f5f5f5;
|
703
|
+
border: 1px solid gray;
|
704
|
+
border-radius: 1px;
|
705
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
706
|
+
color: black;
|
707
|
+
padding: 3px 4px;
|
708
|
+
position: absolute;
|
709
|
+
z-index: 999999;
|
710
|
+
box-sizing: border-box;
|
711
|
+
cursor: default;
|
712
|
+
white-space: pre-wrap;
|
713
|
+
word-wrap: break-word;
|
714
|
+
line-height: normal;
|
715
|
+
font-style: normal;
|
716
|
+
font-weight: normal;
|
717
|
+
letter-spacing: normal;
|
718
|
+
pointer-events: none;
|
719
|
+
overflow: auto;
|
720
|
+
max-width: min(33em, 66vw);
|
721
|
+
overscroll-behavior: contain;
|
722
|
+
}
|
723
|
+
.ace_tooltip pre {
|
724
|
+
white-space: pre-wrap;
|
725
|
+
}
|
726
|
+
|
727
|
+
.ace_tooltip.ace_dark {
|
728
|
+
background-color: #636363;
|
729
|
+
color: #fff;
|
730
|
+
}
|
731
|
+
|
732
|
+
.ace_tooltip:focus {
|
733
|
+
outline: 1px solid #5E9ED6;
|
734
|
+
}
|
735
|
+
|
736
|
+
.ace_icon {
|
737
|
+
display: inline-block;
|
738
|
+
width: 18px;
|
739
|
+
vertical-align: top;
|
740
|
+
}
|
741
|
+
|
742
|
+
.ace_icon_svg {
|
743
|
+
display: inline-block;
|
744
|
+
width: 12px;
|
745
|
+
vertical-align: top;
|
746
|
+
-webkit-mask-repeat: no-repeat;
|
747
|
+
-webkit-mask-size: 12px;
|
748
|
+
-webkit-mask-position: center;
|
749
|
+
}
|
750
|
+
|
751
|
+
.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
|
752
|
+
padding-right: 13px;
|
753
|
+
}
|
754
|
+
|
755
|
+
.ace_fold-widget, .ace_custom-widget {
|
756
|
+
box-sizing: border-box;
|
757
|
+
|
758
|
+
margin: 0 -12px 0 1px;
|
759
|
+
display: none;
|
760
|
+
width: 11px;
|
761
|
+
vertical-align: top;
|
762
|
+
|
763
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
|
764
|
+
background-repeat: no-repeat;
|
765
|
+
background-position: center;
|
766
|
+
|
767
|
+
border-radius: 3px;
|
768
|
+
|
769
|
+
border: 1px solid transparent;
|
770
|
+
cursor: pointer;
|
771
|
+
pointer-events: auto;
|
772
|
+
}
|
773
|
+
|
774
|
+
.ace_custom-widget {
|
775
|
+
background: none;
|
776
|
+
}
|
777
|
+
|
778
|
+
.ace_folding-enabled .ace_fold-widget {
|
779
|
+
display: inline-block;
|
780
|
+
}
|
781
|
+
|
782
|
+
.ace_fold-widget.ace_end {
|
783
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
|
784
|
+
}
|
785
|
+
|
786
|
+
.ace_fold-widget.ace_closed {
|
787
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
|
788
|
+
}
|
789
|
+
|
790
|
+
.ace_fold-widget:hover {
|
791
|
+
border: 1px solid rgba(0, 0, 0, 0.3);
|
792
|
+
background-color: rgba(255, 255, 255, 0.2);
|
793
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
794
|
+
}
|
795
|
+
|
796
|
+
.ace_fold-widget:active {
|
797
|
+
border: 1px solid rgba(0, 0, 0, 0.4);
|
798
|
+
background-color: rgba(0, 0, 0, 0.05);
|
799
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
800
|
+
}
|
801
|
+
/**
|
802
|
+
* Dark version for fold widgets
|
803
|
+
*/
|
804
|
+
.ace_dark .ace_fold-widget {
|
805
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
|
806
|
+
}
|
807
|
+
.ace_dark .ace_fold-widget.ace_end {
|
808
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
|
809
|
+
}
|
810
|
+
.ace_dark .ace_fold-widget.ace_closed {
|
811
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
|
812
|
+
}
|
813
|
+
.ace_dark .ace_fold-widget:hover {
|
814
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
815
|
+
background-color: rgba(255, 255, 255, 0.1);
|
816
|
+
}
|
817
|
+
.ace_dark .ace_fold-widget:active {
|
818
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
819
|
+
}
|
820
|
+
|
821
|
+
.ace_inline_button {
|
822
|
+
border: 1px solid lightgray;
|
823
|
+
display: inline-block;
|
824
|
+
margin: -1px 8px;
|
825
|
+
padding: 0 5px;
|
826
|
+
pointer-events: auto;
|
827
|
+
cursor: pointer;
|
828
|
+
}
|
829
|
+
.ace_inline_button:hover {
|
830
|
+
border-color: gray;
|
831
|
+
background: rgba(200,200,200,0.2);
|
832
|
+
display: inline-block;
|
833
|
+
pointer-events: auto;
|
834
|
+
}
|
835
|
+
|
836
|
+
.ace_fold-widget.ace_invalid {
|
837
|
+
background-color: #FFB4B4;
|
838
|
+
border-color: #DE5555;
|
839
|
+
}
|
840
|
+
|
841
|
+
.ace_fade-fold-widgets .ace_fold-widget {
|
842
|
+
transition: opacity 0.4s ease 0.05s;
|
843
|
+
opacity: 0;
|
844
|
+
}
|
845
|
+
|
846
|
+
.ace_fade-fold-widgets:hover .ace_fold-widget {
|
847
|
+
transition: opacity 0.05s ease 0.05s;
|
848
|
+
opacity:1;
|
849
|
+
}
|
850
|
+
|
851
|
+
.ace_underline {
|
852
|
+
text-decoration: underline;
|
853
|
+
}
|
854
|
+
|
855
|
+
.ace_bold {
|
856
|
+
font-weight: bold;
|
857
|
+
}
|
858
|
+
|
859
|
+
.ace_nobold .ace_bold {
|
860
|
+
font-weight: normal;
|
861
|
+
}
|
862
|
+
|
863
|
+
.ace_italic {
|
864
|
+
font-style: italic;
|
865
|
+
}
|
866
|
+
|
867
|
+
|
868
|
+
.ace_error-marker {
|
869
|
+
background-color: rgba(255, 0, 0,0.2);
|
870
|
+
position: absolute;
|
871
|
+
z-index: 9;
|
872
|
+
}
|
873
|
+
|
874
|
+
.ace_highlight-marker {
|
875
|
+
background-color: rgba(255, 255, 0,0.2);
|
876
|
+
position: absolute;
|
877
|
+
z-index: 8;
|
878
|
+
}
|
879
|
+
|
880
|
+
.ace_mobile-menu {
|
881
|
+
position: absolute;
|
882
|
+
line-height: 1.5;
|
883
|
+
border-radius: 4px;
|
884
|
+
-ms-user-select: none;
|
885
|
+
-moz-user-select: none;
|
886
|
+
-webkit-user-select: none;
|
887
|
+
user-select: none;
|
888
|
+
background: white;
|
889
|
+
box-shadow: 1px 3px 2px grey;
|
890
|
+
border: 1px solid #dcdcdc;
|
891
|
+
color: black;
|
892
|
+
}
|
893
|
+
.ace_dark > .ace_mobile-menu {
|
894
|
+
background: #333;
|
895
|
+
color: #ccc;
|
896
|
+
box-shadow: 1px 3px 2px grey;
|
897
|
+
border: 1px solid #444;
|
898
|
+
|
899
|
+
}
|
900
|
+
.ace_mobile-button {
|
901
|
+
padding: 2px;
|
902
|
+
cursor: pointer;
|
903
|
+
overflow: hidden;
|
904
|
+
}
|
905
|
+
.ace_mobile-button:hover {
|
906
|
+
background-color: #eee;
|
907
|
+
opacity:1;
|
908
|
+
}
|
909
|
+
.ace_mobile-button:active {
|
910
|
+
background-color: #ddd;
|
911
|
+
}
|
912
|
+
|
913
|
+
.ace_placeholder {
|
914
|
+
position: relative;
|
915
|
+
font-family: arial;
|
916
|
+
transform: scale(0.9);
|
917
|
+
transform-origin: left;
|
918
|
+
white-space: pre;
|
919
|
+
opacity: 0.7;
|
920
|
+
margin: 0 10px;
|
921
|
+
z-index: 1;
|
922
|
+
}
|
923
|
+
|
924
|
+
.ace_ghost_text {
|
925
|
+
opacity: 0.5;
|
926
|
+
font-style: italic;
|
927
|
+
}
|
928
|
+
|
929
|
+
.ace_ghost_text_container > div {
|
930
|
+
white-space: pre;
|
931
|
+
}
|
932
|
+
|
933
|
+
.ghost_text_line_wrapped::after {
|
934
|
+
content: "↩";
|
935
|
+
position: absolute;
|
936
|
+
}
|
937
|
+
|
938
|
+
.ace_lineWidgetContainer.ace_ghost_text {
|
939
|
+
margin: 0px 4px
|
940
|
+
}
|
941
|
+
|
942
|
+
.ace_screenreader-only {
|
943
|
+
position:absolute;
|
944
|
+
left:-10000px;
|
945
|
+
top:auto;
|
946
|
+
width:1px;
|
947
|
+
height:1px;
|
948
|
+
overflow:hidden;
|
949
|
+
}
|
950
|
+
|
951
|
+
.ace_hidden_token {
|
952
|
+
display: none;
|
953
|
+
}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(f,g,Me){var A=f("../lib/dom"),x=f("../lib/oop"),_=f("../lib/event_emitter").EventEmitter,c=(function(){function u(i,o){this.renderer=o,this.pixelRatio=1,this.maxHeight=o.layerConfig.maxHeight,this.lineHeight=o.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,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)"},this.setScrollBarV(i)}return u.prototype.$createCanvas=function(){this.canvas=A.createElement("canvas"),this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7",this.canvas.style.position="absolute"},u.prototype.setScrollBarV=function(i){this.$createCanvas(),this.scrollbarV=i,i.element.appendChild(this.canvas),this.setDimensions()},u.prototype.$updateDecorators=function(i){if(typeof this.canvas.getContext!="function")return;var o=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(i);var r=this.canvas.getContext("2d");function t(P,C){return P.priority<C.priority?-1:P.priority>C.priority?1:0}var e=this.renderer.session.$annotations;if(r.clearRect(0,0,this.canvas.width,this.canvas.height),e){var n={info:1,warning:2,error:3};e.forEach(function(P){P.priority=n[P.type]||null}),e=e.sort(t);for(var a=0;a<e.length;a++){var p=e[a].row,v=this.getVerticalOffsetForRow(p),E=v+this.lineHeight,L=Math.round(this.heightRatio*v),S=Math.round(this.heightRatio*E),b=Math.round((L+S)/2),oe=S-b;oe<this.halfMinDecorationHeight&&(oe=this.halfMinDecorationHeight),b-oe<0&&(b=oe),b+oe>this.canvasHeight&&(b=this.canvasHeight-oe);var Se=b-oe,q=b+oe,U=q-Se;r.fillStyle=o[e[a].type]||null,r.fillRect(0,Se,Math.round(this.oneZoneWidth-1),U)}}var lt=this.renderer.session.selection.getCursor();if(lt){var G=Math.round(this.getVerticalOffsetForRow(lt.row)*this.heightRatio);r.fillStyle="rgba(0, 0, 0, 0.5)",r.fillRect(0,G,this.canvasWidth,2)}},u.prototype.getVerticalOffsetForRow=function(i){i=i|0;var o=this.renderer.session.documentToScreenRow(i,0)*this.lineHeight;return o},u.prototype.setDimensions=function(i){i=i||this.renderer.layerConfig,this.maxHeight=i.maxHeight,this.lineHeight=i.lineHeight,this.canvasHeight=i.height,this.canvasWidth=this.scrollbarV.width||this.canvasWidth,this.setZoneWidth(),this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.maxHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight},u.prototype.setZoneWidth=function(){this.oneZoneWidth=this.canvasWidth},u.prototype.destroy=function(){this.canvas.parentNode.removeChild(this.canvas)},u})();x.implement(c.prototype,_),g.Decorator=c}),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,Me){var A=f("./lib/oop"),x=f("./lib/dom"),_=f("./lib/lang"),c=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,v=f("./layer/font_metrics").FontMetrics,E=f("./lib/event_emitter").EventEmitter,L=f("./css/editor-css"),S=f("./layer/decorators").Decorator,b=f("./lib/useragent"),oe=f("./layer/text_util").isTextToken;x.importCssString(L,"ace_editor.css",!1);var Se=(function(){function q(U,lt){var G=this;this.container=U||x.createElement("div"),x.addCssClass(this.container,"ace_editor"),x.HI_DPI&&x.addCssClass(this.container,"ace_hidpi"),this.setTheme(lt),c.get("useStrictCSP")==null&&c.set("useStrictCSP",!1),this.$gutter=x.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=x.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=x.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 P=this.$textLayer=new o(this.content);this.canvas=P.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(C){G.$scrollAnimation||G.session.setScrollTop(C.data-G.scrollMargin.top)}),this.scrollBarH.on("scroll",function(C){G.$scrollAnimation||G.session.setScrollLeft(C.data-G.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new v(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(C){G.updateCharacterSize(),G.onResize(!0,G.gutterWidth,G.$size.width,G.$size.height),G._signal("changeCharacterSize",C)}),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=!b.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(),c.resetOptions(this),c._signal("renderer",this)}return q.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(),x.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},q.prototype.setSession=function(U){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=U,U&&this.scrollMargin.top&&U.getScrollTop()<=0&&U.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(U),this.$markerBack.setSession(U),this.$markerFront.setSession(U),this.$gutterLayer.setSession(U),this.$textLayer.setSession(U),U&&(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))},q.prototype.updateLines=function(U,lt,G){if(lt===void 0&&(lt=1/0),this.$changedLines?(this.$changedLines.firstRow>U&&(this.$changedLines.firstRow=U),this.$changedLines.lastRow<lt&&(this.$changedLines.lastRow=lt)):this.$changedLines={firstRow:U,lastRow:lt},this.$changedLines.lastRow<this.layerConfig.firstRow)if(G)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},q.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},q.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},q.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},q.prototype.updateFull=function(U){U?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},q.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},q.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},q.prototype.onResize=function(U,lt,G,P){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=U?1:0;var C=this.container;P||(P=C.clientHeight||C.scrollHeight),!P&&this.$maxLines&&this.lineHeight>1&&(!C.style.height||C.style.height=="0px")&&(C.style.height="1px",P=C.clientHeight||C.scrollHeight),G||(G=C.clientWidth||C.scrollWidth);var w=this.$updateCachedSize(U,lt,G,P);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!G&&!P)return this.resizing=0;U&&(this.$gutterLayer.$padding=null),U?this.$renderChanges(w|this.$changes,!0):this.$loop.schedule(w|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},q.prototype.$updateCachedSize=function(U,lt,G,P){P-=this.$extraHeight||0;var C=0,w=this.$size,D={width:w.width,height:w.height,scrollerHeight:w.scrollerHeight,scrollerWidth:w.scrollerWidth};if(P&&(U||w.height!=P)&&(w.height=P,C|=this.CHANGE_SIZE,w.scrollerHeight=w.height,this.$horizScroll&&(w.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(w.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",C=C|this.CHANGE_SCROLL),G&&(U||w.width!=G)){C|=this.CHANGE_SIZE,w.width=G,lt==null&&(lt=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=lt,x.setStyle(this.scrollBarH.element.style,"left",lt+"px"),x.setStyle(this.scroller.style,"left",lt+this.margin.left+"px"),w.scrollerWidth=Math.max(0,G-lt-this.scrollBarV.getWidth()-this.margin.h),x.setStyle(this.$gutter.style,"left",this.margin.left+"px");var Re=this.scrollBarV.getWidth()+"px";x.setStyle(this.scrollBarH.element.style,"right",Re),x.setStyle(this.scroller.style,"right",Re),x.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(w.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||U)&&(C|=this.CHANGE_FULL)}return w.$dirty=!G||!P,C&&this._signal("resize",D),C},q.prototype.onGutterResize=function(U){var lt=this.$showGutter?U:0;lt!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,lt,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()},q.prototype.adjustWrapLimit=function(){var U=this.$size.scrollerWidth-this.$padding*2,lt=Math.floor(U/this.characterWidth);return this.session.adjustWrapLimit(lt,this.$showPrintMargin&&this.$printMarginColumn)},q.prototype.setAnimatedScroll=function(U){this.setOption("animatedScroll",U)},q.prototype.getAnimatedScroll=function(){return this.$animatedScroll},q.prototype.setShowInvisibles=function(U){this.setOption("showInvisibles",U),this.session.$bidiHandler.setShowInvisibles(U)},q.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},q.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},q.prototype.setDisplayIndentGuides=function(U){this.setOption("displayIndentGuides",U)},q.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},q.prototype.setHighlightIndentGuides=function(U){this.setOption("highlightIndentGuides",U)},q.prototype.setShowPrintMargin=function(U){this.setOption("showPrintMargin",U)},q.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},q.prototype.setPrintMarginColumn=function(U){this.setOption("printMarginColumn",U)},q.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},q.prototype.getShowGutter=function(){return this.getOption("showGutter")},q.prototype.setShowGutter=function(U){return this.setOption("showGutter",U)},q.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},q.prototype.setFadeFoldWidgets=function(U){this.setOption("fadeFoldWidgets",U)},q.prototype.setHighlightGutterLine=function(U){this.setOption("highlightGutterLine",U)},q.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},q.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var U=x.createElement("div");U.className="ace_layer ace_print-margin-layer",this.$printMarginEl=x.createElement("div"),this.$printMarginEl.className="ace_print-margin",U.appendChild(this.$printMarginEl),this.content.insertBefore(U,this.content.firstChild)}var lt=this.$printMarginEl.style;lt.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",lt.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},q.prototype.getContainerElement=function(){return this.container},q.prototype.getMouseEventTarget=function(){return this.scroller},q.prototype.getTextAreaContainer=function(){return this.container},q.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var U=this.textarea.style,lt=this.$composition;if(!this.$keepTextAreaAtCursor&&!lt){x.translate(this.textarea,-100,0);return}var G=this.$cursorLayer.$pixelPos;if(G){lt&<.markerRange&&(G=this.$cursorLayer.getPixelPosition(lt.markerRange.start,!0));var P=this.layerConfig,C=G.top,w=G.left;C-=P.offset;var D=lt&<.useTextareaForIME||b.isMobile?this.lineHeight:1;if(C<0||C>P.height-D){x.translate(this.textarea,0,0);return}var Re=1,at=this.$size.height-D;if(!lt)C+=this.lineHeight;else if(lt.useTextareaForIME){var ct=this.textarea.value;Re=this.characterWidth*this.session.$getStringScreenWidth(ct)[0]}else C+=this.lineHeight+2;w-=this.scrollLeft,w>this.$size.scrollerWidth-Re&&(w=this.$size.scrollerWidth-Re),w+=this.gutterWidth+this.margin.left,x.setStyle(U,"height",D+"px"),x.setStyle(U,"width",Re+"px"),x.translate(this.textarea,Math.min(w,this.$size.scrollerWidth-Re),Math.min(C,at))}}},q.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},q.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},q.prototype.getLastFullyVisibleRow=function(){var U=this.layerConfig,lt=U.lastRow,G=this.session.documentToScreenRow(lt,0)*U.lineHeight;return G-this.session.getScrollTop()>U.height-U.lineHeight?lt-1:lt},q.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},q.prototype.setPadding=function(U){this.$padding=U,this.$textLayer.setPadding(U),this.$cursorLayer.setPadding(U),this.$markerFront.setPadding(U),this.$markerBack.setPadding(U),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},q.prototype.setScrollMargin=function(U,lt,G,P){var C=this.scrollMargin;C.top=U|0,C.bottom=lt|0,C.right=P|0,C.left=G|0,C.v=C.top+C.bottom,C.h=C.left+C.right,C.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-C.top),this.updateFull()},q.prototype.setMargin=function(U,lt,G,P){var C=this.margin;C.top=U|0,C.bottom=lt|0,C.right=P|0,C.left=G|0,C.v=C.top+C.bottom,C.h=C.left+C.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},q.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},q.prototype.setHScrollBarAlwaysVisible=function(U){this.setOption("hScrollBarAlwaysVisible",U)},q.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},q.prototype.setVScrollBarAlwaysVisible=function(U){this.setOption("vScrollBarAlwaysVisible",U)},q.prototype.$updateScrollBarV=function(){var U=this.layerConfig.maxHeight,lt=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(U-=(lt-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>U-lt&&(U=this.scrollTop+lt,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(U+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},q.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},q.prototype.freeze=function(){this.$frozen=!0},q.prototype.unfreeze=function(){this.$frozen=!1},q.prototype.$renderChanges=function(U,lt){if(this.$changes&&(U|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!U&&!lt){this.$changes|=U;return}if(this.$size.$dirty)return this.$changes|=U,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",U),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var G=this.layerConfig;if(U&this.CHANGE_FULL||U&this.CHANGE_SIZE||U&this.CHANGE_TEXT||U&this.CHANGE_LINES||U&this.CHANGE_SCROLL||U&this.CHANGE_H_SCROLL){if(U|=this.$computeLayerConfig()|this.$loop.clear(),G.firstRow!=this.layerConfig.firstRow&&G.firstRowScreen==this.layerConfig.firstRowScreen){var P=this.scrollTop+(G.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;P>0&&(this.scrollTop=P,U=U|this.CHANGE_SCROLL,U|=this.$computeLayerConfig()|this.$loop.clear())}G=this.layerConfig,this.$updateScrollBarV(),U&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),x.translate(this.content,-this.scrollLeft,-G.offset);var C=G.width+2*this.$padding+"px",w=G.minHeight+"px";x.setStyle(this.content.style,"width",C),x.setStyle(this.content.style,"height",w)}if(U&this.CHANGE_H_SCROLL&&(x.translate(this.content,-this.scrollLeft,-G.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),U&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(G),this.$showGutter&&this.$gutterLayer.update(G),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(G),this.$markerBack.update(G),this.$markerFront.update(G),this.$cursorLayer.update(G),this.$moveTextAreaToCursor(),this._signal("afterRender",U);return}if(U&this.CHANGE_SCROLL){this.$changedLines=null,U&this.CHANGE_TEXT||U&this.CHANGE_LINES?this.$textLayer.update(G):this.$textLayer.scrollLines(G),this.$showGutter&&(U&this.CHANGE_GUTTER||U&this.CHANGE_LINES?this.$gutterLayer.update(G):this.$gutterLayer.scrollLines(G)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(G),this.$markerBack.update(G),this.$markerFront.update(G),this.$cursorLayer.update(G),this.$moveTextAreaToCursor(),this._signal("afterRender",U);return}U&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(G),this.$showGutter&&this.$gutterLayer.update(G),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(G)):U&this.CHANGE_LINES?((this.$updateLines()||U&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(G),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(G)):U&this.CHANGE_TEXT||U&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(G),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(G)):U&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(G),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(G)),U&this.CHANGE_CURSOR&&(this.$cursorLayer.update(G),this.$moveTextAreaToCursor()),U&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(G),U&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(G),this._signal("afterRender",U)},q.prototype.$autosize=function(){var U=this.session.getScreenLength()*this.lineHeight,lt=this.$maxLines*this.lineHeight,G=Math.min(lt,Math.max((this.$minLines||1)*this.lineHeight,U))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(G+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&G>this.$maxPixelHeight&&(G=this.$maxPixelHeight);var P=G<=2*this.lineHeight,C=!P&&U>lt;if(G!=this.desiredHeight||this.$size.height!=this.desiredHeight||C!=this.$vScroll){C!=this.$vScroll&&(this.$vScroll=C,this.scrollBarV.setVisible(C));var w=this.container.clientWidth;this.container.style.height=G+"px",this.$updateCachedSize(!0,this.$gutterWidth,w,G),this.desiredHeight=G,this._signal("autosize")}},q.prototype.$computeLayerConfig=function(){var U=this.session,lt=this.$size,G=lt.height<=2*this.lineHeight,P=this.session.getScreenLength(),C=P*this.lineHeight,w=this.$getLongestLine(),D=!G&&(this.$hScrollBarAlwaysVisible||lt.scrollerWidth-w-2*this.$padding<0),Re=this.$horizScroll!==D;Re&&(this.$horizScroll=D,this.scrollBarH.setVisible(D));var at=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),G=lt.height<=2*this.lineHeight);var ct=lt.scrollerHeight+this.lineHeight,ut=!this.$maxLines&&this.$scrollPastEnd?(lt.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;C+=ut;var Dt=this.scrollMargin;this.session.setScrollTop(Math.max(-Dt.top,Math.min(this.scrollTop,C-lt.scrollerHeight+Dt.bottom))),this.session.setScrollLeft(Math.max(-Dt.left,Math.min(this.scrollLeft,w+2*this.$padding-lt.scrollerWidth+Dt.right)));var Jt=!G&&(this.$vScrollBarAlwaysVisible||lt.scrollerHeight-C+ut<0||this.scrollTop>Dt.top),Wt=at!==Jt;Wt&&(this.$vScroll=Jt,this.scrollBarV.setVisible(Jt));var zt=this.scrollTop%this.lineHeight,Vt=Math.ceil(ct/this.lineHeight)-1,Ht=Math.max(0,Math.round((this.scrollTop-zt)/this.lineHeight)),ai=Ht+Vt,li,ui,hi=this.lineHeight;Ht=U.screenToDocumentRow(Ht,0);var fi=U.getFoldLine(Ht);fi&&(Ht=fi.start.row),li=U.documentToScreenRow(Ht,0),ui=U.getRowLength(Ht)*hi,ai=Math.min(U.screenToDocumentRow(ai,0),U.getLength()-1),ct=lt.scrollerHeight+U.getRowLength(ai)*hi+ui,zt=this.scrollTop-li*hi,zt<0&&li>0&&(li=Math.max(0,li+Math.floor(zt/hi)),zt=this.scrollTop-li*hi);var pi=0;return(this.layerConfig.width!=w||Re)&&(pi=this.CHANGE_H_SCROLL),(Re||Wt)&&(pi|=this.$updateCachedSize(!0,this.gutterWidth,lt.width,lt.height),this._signal("scrollbarVisibilityChanged"),Wt&&(w=this.$getLongestLine())),this.layerConfig={width:w,padding:this.$padding,firstRow:Ht,firstRowScreen:li,lastRow:ai,lineHeight:hi,characterWidth:this.characterWidth,minHeight:ct,maxHeight:C,offset:zt,gutterOffset:hi?Math.max(0,Math.ceil((zt+lt.height-lt.scrollerHeight)/hi)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(w-this.$padding),pi},q.prototype.$updateLines=function(){if(this.$changedLines){var U=this.$changedLines.firstRow,lt=this.$changedLines.lastRow;this.$changedLines=null;var G=this.layerConfig;if(!(U>G.lastRow+1)&&!(lt<G.firstRow)){if(lt===1/0){this.$showGutter&&this.$gutterLayer.update(G),this.$textLayer.update(G);return}return this.$textLayer.updateLines(G,U,lt),!0}}},q.prototype.$getLongestLine=function(){var U=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(U+=1),this.$textLayer&&U>this.$textLayer.MAX_LINE_LENGTH&&(U=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(U*this.characterWidth))},q.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},q.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},q.prototype.addGutterDecoration=function(U,lt){this.$gutterLayer.addGutterDecoration(U,lt)},q.prototype.removeGutterDecoration=function(U,lt){this.$gutterLayer.removeGutterDecoration(U,lt)},q.prototype.updateBreakpoints=function(U){this._rows=U,this.$loop.schedule(this.CHANGE_GUTTER)},q.prototype.setAnnotations=function(U){this.$gutterLayer.setAnnotations(U),this.$loop.schedule(this.CHANGE_GUTTER)},q.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},q.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},q.prototype.showCursor=function(){this.$cursorLayer.showCursor()},q.prototype.scrollSelectionIntoView=function(U,lt,G){this.scrollCursorIntoView(U,G),this.scrollCursorIntoView(lt,G)},q.prototype.scrollCursorIntoView=function(U,lt,G){if(this.$size.scrollerHeight!==0){var P=this.$cursorLayer.getPixelPosition(U),C=P.left,w=P.top,D=G&&G.top||0,Re=G&&G.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var at=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;at+D>w?(lt&&at+D>w+this.lineHeight&&(w-=lt*this.$size.scrollerHeight),w===0&&(w=-this.scrollMargin.top),this.session.setScrollTop(w)):at+this.$size.scrollerHeight-Re<w+this.lineHeight&&(lt&&at+this.$size.scrollerHeight-Re<w-this.lineHeight&&(w+=lt*this.$size.scrollerHeight),this.session.setScrollTop(w+this.lineHeight+Re-this.$size.scrollerHeight));var ct=this.scrollLeft,ut=2*this.layerConfig.characterWidth;C-ut<ct?(C-=ut,C<this.$padding+ut&&(C=-this.scrollMargin.left),this.session.setScrollLeft(C)):(C+=ut,ct+this.$size.scrollerWidth<C+this.characterWidth?this.session.setScrollLeft(Math.round(C+this.characterWidth-this.$size.scrollerWidth)):ct<=this.$padding&&C-ct<this.characterWidth&&this.session.setScrollLeft(0))}},q.prototype.getScrollTop=function(){return this.session.getScrollTop()},q.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},q.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},q.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},q.prototype.scrollToRow=function(U){this.session.setScrollTop(U*this.lineHeight)},q.prototype.alignCursor=function(U,lt){typeof U=="number"&&(U={row:U,column:0});var G=this.$cursorLayer.getPixelPosition(U),P=this.$size.scrollerHeight-this.lineHeight,C=G.top-P*(lt||0);return this.session.setScrollTop(C),C},q.prototype.$calcSteps=function(U,lt){var G=0,P=this.STEPS,C=[],w=function(D,Re,at){return at*(Math.pow(D-1,3)+1)+Re};for(G=0;G<P;++G)C.push(w(G/this.STEPS,U,lt-U));return C},q.prototype.scrollToLine=function(U,lt,G,P){var C=this.$cursorLayer.getPixelPosition({row:U,column:0}),w=C.top;lt&&(w-=this.$size.scrollerHeight/2);var D=this.scrollTop;this.session.setScrollTop(w),G!==!1&&this.animateScrolling(D,P)},q.prototype.animateScrolling=function(U,lt){var G=this.scrollTop;if(!this.$animatedScroll)return;var P=this;if(U==G)return;if(this.$scrollAnimation){var C=this.$scrollAnimation.steps;if(C.length&&(U=C[0],U==G))return}var w=P.$calcSteps(U,G);this.$scrollAnimation={from:U,to:G,steps:w},clearInterval(this.$timer),P.session.setScrollTop(w.shift()),P.session.$scrollTop=G;function D(){P.$timer=clearInterval(P.$timer),P.$scrollAnimation=null,P.$stopAnimation=!1,lt&<()}this.$timer=setInterval(function(){if(P.$stopAnimation){D();return}if(!P.session)return clearInterval(P.$timer);w.length?(P.session.setScrollTop(w.shift()),P.session.$scrollTop=G):G!=null?(P.session.$scrollTop=-1,P.session.setScrollTop(G),G=null):D()},10)},q.prototype.scrollToY=function(U){this.scrollTop!==U&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=U)},q.prototype.scrollToX=function(U){this.scrollLeft!==U&&(this.scrollLeft=U),this.$loop.schedule(this.CHANGE_H_SCROLL)},q.prototype.scrollTo=function(U,lt){this.session.setScrollTop(lt),this.session.setScrollLeft(U)},q.prototype.scrollBy=function(U,lt){lt&&this.session.setScrollTop(this.session.getScrollTop()+lt),U&&this.session.setScrollLeft(this.session.getScrollLeft()+U)},q.prototype.isScrollableBy=function(U,lt){if(lt<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||lt>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||U<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||U>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},q.prototype.pixelToScreenCoordinates=function(U,lt){var G;if(this.$hasCssTransforms){G={top:0,left:0};var P=this.$fontMetrics.transformCoordinates([U,lt]);U=P[1]-this.gutterWidth-this.margin.left,lt=P[0]}else G=this.scroller.getBoundingClientRect();var C=U+this.scrollLeft-G.left-this.$padding,w=C/this.characterWidth,D=Math.floor((lt+this.scrollTop-G.top)/this.lineHeight),Re=this.$blockCursor?Math.floor(w):Math.round(w);return{row:D,column:Re,side:w-Re>0?1:-1,offsetX:C}},q.prototype.screenToTextCoordinates=function(U,lt){var G;if(this.$hasCssTransforms){G={top:0,left:0};var P=this.$fontMetrics.transformCoordinates([U,lt]);U=P[1]-this.gutterWidth-this.margin.left,lt=P[0]}else G=this.scroller.getBoundingClientRect();var C=U+this.scrollLeft-G.left-this.$padding,w=C/this.characterWidth,D=this.$blockCursor?Math.floor(w):Math.round(w),Re=Math.floor((lt+this.scrollTop-G.top)/this.lineHeight);return this.session.screenToDocumentPosition(Re,Math.max(D,0),C)},q.prototype.textToScreenCoordinates=function(U,lt){var G=this.scroller.getBoundingClientRect(),P=this.session.documentToScreenPosition(U,lt),C=this.$padding+(this.session.$bidiHandler.isBidiRow(P.row,U)?this.session.$bidiHandler.getPosLeft(P.column):Math.round(P.column*this.characterWidth)),w=P.row*this.lineHeight;return{pageX:G.left+C-this.scrollLeft,pageY:G.top+w-this.scrollTop}},q.prototype.visualizeFocus=function(){x.addCssClass(this.container,"ace_focus")},q.prototype.visualizeBlur=function(){x.removeCssClass(this.container,"ace_focus")},q.prototype.showComposition=function(U){this.$composition=U,U.cssText||(U.cssText=this.textarea.style.cssText),U.useTextareaForIME==null&&(U.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(x.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):U.markerId=this.session.addMarker(U.markerRange,"ace_composition_marker","text")},q.prototype.setCompositionText=function(U){var lt=this.session.selection.cursor;this.addToken(U,"composition_placeholder",lt.row,lt.column),this.$moveTextAreaToCursor()},q.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),x.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var U=this.session.selection.cursor;this.removeExtraToken(U.row,U.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},q.prototype.setGhostText=function(U,lt){var G=this.session.selection.cursor,P=lt||{row:G.row,column:G.column};this.removeGhostText();var C=this.$calculateWrappedTextChunks(U,P);this.addToken(C[0].text,"ghost_text",P.row,P.column),this.$ghostText={text:U,position:{row:P.row,column:P.column}};var w=x.createElement("div");if(C.length>1){var D=this.hideTokensAfterPosition(P.row,P.column),Re;C.slice(1).forEach(function(Wt){var zt=x.createElement("div"),Vt=x.createElement("span");Vt.className="ace_ghost_text",Wt.wrapped&&(zt.className="ghost_text_line_wrapped"),Wt.text.length===0&&(Wt.text=" "),Vt.appendChild(x.createTextNode(Wt.text)),zt.appendChild(Vt),w.appendChild(zt),Re=zt}),D.forEach(function(Wt){var zt=x.createElement("span");oe(Wt.type)||(zt.className="ace_"+Wt.type.replace(/\./g," ace_")),zt.appendChild(x.createTextNode(Wt.value)),Re.appendChild(zt)}),this.$ghostTextWidget={el:w,row:P.row,column:P.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var at=this.$cursorLayer.getPixelPosition(P,!0),ct=this.container,ut=ct.getBoundingClientRect().height,Dt=C.length*this.lineHeight,Jt=Dt<ut-at.top;if(Jt)return;Dt<ut?this.scrollBy(0,(C.length-1)*this.lineHeight):this.scrollToRow(P.row)}},q.prototype.$calculateWrappedTextChunks=function(U,lt){var G=this.$size.scrollerWidth-this.$padding*2,P=Math.floor(G/this.characterWidth)-2;P=P<=0?60:P;for(var C=U.split(/\r?\n/),w=[],D=0;D<C.length;D++){var Re=this.session.$getDisplayTokens(C[D],lt.column),at=this.session.$computeWrapSplits(Re,P,this.session.$tabSize);if(at.length>0){var ct=0;at.push(C[D].length);for(var ut=0;ut<at.length;ut++){var Dt=C[D].slice(ct,at[ut]);w.push({text:Dt,wrapped:!0}),ct=at[ut]}}else w.push({text:C[D],wrapped:!1})}return w},q.prototype.removeGhostText=function(){if(this.$ghostText){var U=this.$ghostText.position;this.removeExtraToken(U.row,U.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},q.prototype.addToken=function(U,lt,G,P){var C=this.session;C.bgTokenizer.lines[G]=null;var w={type:lt,value:U},D=C.getTokens(G);if(P==null||!D.length)D.push(w);else for(var Re=0,at=0;at<D.length;at++){var ct=D[at];if(Re+=ct.value.length,P<=Re){var ut=ct.value.length-(Re-P),Dt=ct.value.slice(0,ut),Jt=ct.value.slice(ut);D.splice(at,1,{type:ct.type,value:Dt},w,{type:ct.type,value:Jt});break}}this.updateLines(G,G)},q.prototype.hideTokensAfterPosition=function(U,lt){for(var G=this.session.getTokens(U),P=0,C=!1,w=[],D=0;D<G.length;D++){var Re=G[D];if(P+=Re.value.length,Re.type!=="ghost_text"){if(C){w.push({type:Re.type,value:Re.value}),Re.type="hidden_token";continue}P===lt&&(C=!0)}}return this.updateLines(U,U),w},q.prototype.removeExtraToken=function(U,lt){this.session.bgTokenizer.lines[U]=null,this.updateLines(U,U)},q.prototype.setTheme=function(U,lt){var G=this;if(this.$themeId=U,G._dispatchEvent("themeChange",{theme:U}),!U||typeof U=="string"){var P=U||this.$options.theme.initialValue;c.loadModule(["theme",P],C)}else C(U);function C(w){if(G.$themeId!=U)return lt&<();if(!w||!w.cssClass)throw new Error("couldn't load module "+U+" or it didn't call define");w.$id&&(G.$themeId=w.$id),x.importCssString(w.cssText,w.cssClass,G.container),G.theme&&x.removeCssClass(G.container,G.theme.cssClass);var D="padding"in w?w.padding:"padding"in(G.theme||{})?4:G.$padding;G.$padding&&D!=G.$padding&&G.setPadding(D),G.$theme=w.cssClass,G.theme=w,x.addCssClass(G.container,w.cssClass),x.setCssClass(G.container,"ace_dark",w.isDark),G.$size&&(G.$size.width=0,G.$updateSizeAsync()),G._dispatchEvent("themeLoaded",{theme:w}),lt&<(),b.isSafari&&G.scroller&&(G.scroller.style.background="red",G.scroller.style.background="")}},q.prototype.getTheme=function(){return this.$themeId},q.prototype.setStyle=function(U,lt){x.setCssClass(this.container,U,lt!==!1)},q.prototype.unsetStyle=function(U){x.removeCssClass(this.container,U)},q.prototype.setCursorStyle=function(U){x.setStyle(this.scroller.style,"cursor",U)},q.prototype.setMouseCursor=function(U){x.setStyle(this.scroller.style,"cursor",U)},q.prototype.attachToShadowRoot=function(){x.importCssString(L,"ace_editor.css",this.container)},q.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},q.prototype.$updateCustomScrollbar=function(U){var lt=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),U===!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(G){lt.$scrollAnimation||lt.session.setScrollTop(G.data-lt.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(G){lt.$scrollAnimation||lt.session.setScrollLeft(G.data-lt.scrollMargin.left)}),this.$scrollDecorator?(this.$scrollDecorator.setScrollBarV(this.scrollBarV),this.$scrollDecorator.$updateDecorators()):(this.$scrollDecorator=new S(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(G){lt.$scrollAnimation||lt.session.setScrollTop(G.data-lt.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(G){lt.$scrollAnimation||lt.session.setScrollLeft(G.data-lt.scrollMargin.left)}))},q.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var U=this;this.$resizeTimer=_.delayedCall(function(){U.destroyed||U.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(lt){var G=lt[0].contentRect.width,P=lt[0].contentRect.height;Math.abs(U.$size.width-G)>1||Math.abs(U.$size.height-P)>1?U.$resizeTimer.delay():U.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},q})();Se.prototype.CHANGE_CURSOR=1,Se.prototype.CHANGE_MARKER=2,Se.prototype.CHANGE_GUTTER=4,Se.prototype.CHANGE_SCROLL=8,Se.prototype.CHANGE_LINES=16,Se.prototype.CHANGE_TEXT=32,Se.prototype.CHANGE_SIZE=64,Se.prototype.CHANGE_MARKER_BACK=128,Se.prototype.CHANGE_MARKER_FRONT=256,Se.prototype.CHANGE_FULL=512,Se.prototype.CHANGE_H_SCROLL=1024,Se.prototype.$changes=0,Se.prototype.$padding=null,Se.prototype.$frozen=!1,Se.prototype.STEPS=8,A.implement(Se.prototype,E),c.defineOptions(Se.prototype,"renderer",{useResizeObserver:{set:function(q){!q&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):q&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(q){this.$textLayer.setShowInvisibles(q)&&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(q){typeof q=="number"&&(this.$printMarginColumn=q),this.$showPrintMargin=!!q,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(q){this.$gutter.style.display=q?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(q){this.$gutterLayer.$useSvgGutterIcons=q},initialValue:!1},showFoldedAnnotations:{set:function(q){this.$gutterLayer.$showFoldedAnnotations=q},initialValue:!1},fadeFoldWidgets:{set:function(q){x.setCssClass(this.$gutter,"ace_fade-fold-widgets",q)},initialValue:!1},showFoldWidgets:{set:function(q){this.$gutterLayer.setShowFoldWidgets(q),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(q){this.$textLayer.setDisplayIndentGuides(q)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(q){this.$textLayer.setHighlightIndentGuides(q)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(q){this.$gutterLayer.setHighlightGutterLine(q),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(q){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(q){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(q){typeof q=="number"&&(q=q+"px"),this.container.style.fontSize=q,this.updateFontSize()},initialValue:12},fontFamily:{set:function(q){this.container.style.fontFamily=q,this.updateFontSize()}},maxLines:{set:function(q){this.updateFull()}},minLines:{set:function(q){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(q){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(q){q=+q||0,this.$scrollPastEnd!=q&&(this.$scrollPastEnd=q,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(q){this.$gutterLayer.$fixedWidth=!!q,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(q){this.$updateCustomScrollbar(q)},initialValue:!1},theme:{set:function(q){this.setTheme(q)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!b.isMobile&&!b.isIE}}),g.VirtualRenderer=Se}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(f,g,Me){var A=f("../lib/oop"),x=f("../lib/net"),_=f("../lib/event_emitter").EventEmitter,c=f("../config");function u(t){var e="importScripts('"+x.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(c.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),c.get("packaged")||!f.toUrl)a=a||c.moduleUrl(e,"worker");else{var v=this.$normalizePath;a=a||v(f.toUrl("ace/worker/worker.js",null,"_"));var E={};t.forEach(function(L){E[L]=v(f.toUrl(L,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=i(a),p&&this.send("importScripts",p),this.$worker.postMessage({init:!0,tlns:E,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 x.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,v=Object.create(_),E=[],L=new o({messageBuffer:E,terminate:function(){},postMessage:function(b){E.push(b),a&&(p?setTimeout(S):S())}});L.setEmitSync=function(b){p=b};var S=function(){var b=E.shift();b.command?a[b.command].apply(a,b.args):b.event&&v._signal(b.event,b.data)};return v.postMessage=function(b){L.onMessage({data:b})},v.callback=function(b,oe){this.postMessage({type:"call",id:oe,data:b})},v.emit=function(b,oe){this.postMessage({type:"event",name:b,data:oe})},c.loadModule(["worker",e],function(b){for(a=new b[n](v);E.length;)S()}),L};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,Me){var A=f("./range").Range,x=f("./lib/event_emitter").EventEmitter,_=f("./lib/oop"),c=(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(c.prototype,x),g.PlaceHolder=c}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(f,g,Me){var A=f("../lib/event"),x=f("../lib/useragent");function _(u,i){return u.row==i.row&&u.column==i.column}function c(u){var i=u.domEvent,o=i.altKey,r=i.shiftKey,t=i.ctrlKey,e=u.getAccelKey(),n=u.getButton();if(t&&x.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,v=a.inMultiSelectMode,E=u.getDocumentPosition(),L=p.getCursor(),S=u.inSelection()||p.isEmpty()&&_(E,L),b=u.x,oe=u.y,Se=function(Dt){b=Dt.clientX,oe=Dt.clientY},q=a.session,U=a.renderer.pixelToScreenCoordinates(b,oe),lt=U,G;if(a.$mouseHandler.$enableJumpToDef)t&&o||e&&o?G=r?"block":"add":o&&a.$blockSelectEnabled&&(G="block");else if(e&&!o){if(G="add",!v&&r)return}else o&&a.$blockSelectEnabled&&(G="block");if(G&&x.isMac&&i.ctrlKey&&a.$mouseHandler.cancelContextMenu(),G=="add"){if(!v&&S)return;if(!v){var P=p.toOrientedRange();a.addSelectionMarker(P)}var C=p.rangeList.rangeAtPoint(E);a.inVirtualSelectionMode=!0,r&&(C=null,P=p.ranges[0]||P,a.removeSelectionMarker(P)),a.once("mouseup",function(){var Dt=p.toOrientedRange();C&&Dt.isEmpty()&&_(C.cursor,Dt.cursor)?p.substractPoint(Dt.cursor):(r?p.substractPoint(P.cursor):P&&(a.removeSelectionMarker(P),p.addRange(P)),p.addRange(Dt)),a.inVirtualSelectionMode=!1})}else if(G=="block"){u.stop(),a.inVirtualSelectionMode=!0;var w,D=[],Re=function(){var Dt=a.renderer.pixelToScreenCoordinates(b,oe),Jt=q.screenToDocumentPosition(Dt.row,Dt.column,Dt.offsetX);_(lt,Dt)&&_(Jt,p.lead)||(lt=Dt,a.selection.moveToPosition(Jt),a.renderer.scrollCursorIntoView(),a.removeSelectionMarkers(D),D=p.rectangularRangeBlock(lt,U),a.$mouseHandler.$clickSelection&&D.length==1&&D[0].isEmpty()&&(D[0]=a.$mouseHandler.$clickSelection.clone()),D.forEach(a.addSelectionMarker,a),a.updateSelectionMarkers())};v&&!e?p.toSingleRange():!v&&e&&(w=p.toOrientedRange(),a.addSelectionMarker(w)),r?U=q.documentToScreenPosition(p.lead):p.moveToPosition(E),lt={row:-1,column:-1};var at=function(Dt){Re(),clearInterval(ut),a.removeSelectionMarkers(D),D.length||(D=[p.toOrientedRange()]),w&&(a.removeSelectionMarker(w),p.toSingleRange(w));for(var Jt=0;Jt<D.length;Jt++)p.addRange(D[Jt]);a.inVirtualSelectionMode=!1,a.$mouseHandler.$clickSelection=null},ct=Re;A.capture(a.container,Se,at);var ut=setInterval(function(){ct()},20);return u.preventDefault()}}}g.onMouseDown=c}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(f,g,Me){g.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(x){x.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(x){x.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(x){x.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(x){x.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(x){x.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(x){x.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(x){x.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(x){x.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(x){x.multiSelect.rangeCount>1?x.multiSelect.joinSelections():x.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(x){x.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(x){x.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(x){x.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(x){x.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(x){return x&&x.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,Me){var A=f("./range_list").RangeList,x=f("./range").Range,_=f("./selection").Selection,c=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(L,S,b){return t.$options.wrap=!0,t.$options.needle=S,t.$options.backwards=b==-1,t.find(L)}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(L,S){if(L){if(!this.inMultiSelectMode&&this.rangeCount===0){var b=this.toOrientedRange();if(this.rangeList.add(b),this.rangeList.add(L),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),S||this.fromOrientedRange(L);this.rangeList.removeAll(),this.rangeList.add(b),this.$onAddRange(b)}L.cursor||(L.cursor=L.end);var oe=this.rangeList.add(L);return this.$onAddRange(L),oe.length&&this.$onRemoveRange(oe),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),S||this.fromOrientedRange(L)}},this.toSingleRange=function(L){L=L||this.ranges[0];var S=this.rangeList.removeAll();S.length&&this.$onRemoveRange(S),L&&this.fromOrientedRange(L)},this.substractPoint=function(L){var S=this.rangeList.substractPoint(L);if(S)return this.$onRemoveRange(S),S[0]},this.mergeOverlappingRanges=function(){var L=this.rangeList.merge();L.length&&this.$onRemoveRange(L)},this.$onAddRange=function(L){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(L),this._signal("addRange",{range:L})},this.$onRemoveRange=function(L){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var S=this.rangeList.ranges.pop();L.push(S),this.rangeCount=0}for(var b=L.length;b--;){var oe=this.ranges.indexOf(L[b]);this.ranges.splice(oe,1)}this._signal("removeRange",{ranges:L}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),S=S||this.ranges[0],S&&!S.isEqual(this.getRange())&&this.fromOrientedRange(S)},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 L=this.ranges.length?this.ranges:[this.getRange()],S=[],b=0;b<L.length;b++){var oe=L[b],Se=oe.start.row,q=oe.end.row;if(Se===q)S.push(oe.clone());else{for(S.push(new x(Se,oe.start.column,Se,this.session.getLine(Se).length));++Se<q;)S.push(this.getLineRange(Se,!0));S.push(new x(q,0,q,oe.end.column))}b==0&&!this.isBackwards()&&(S=S.reverse())}this.toSingleRange();for(var b=S.length;b--;)this.addRange(S[b])},this.joinSelections=function(){var L=this.rangeList.ranges,S=L[L.length-1],b=x.fromPoints(L[0].start,S.end);this.toSingleRange(),this.setSelectionRange(b,S.cursor==S.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var L=this.rangeList.ranges,S=L[L.length-1],b=x.fromPoints(L[0].start,S.end);this.toSingleRange(),this.setSelectionRange(b,S.cursor==S.start)}else{var oe=this.session.documentToScreenPosition(this.cursor),Se=this.session.documentToScreenPosition(this.anchor),q=this.rectangularRangeBlock(oe,Se);q.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(L,S,b){var oe=[],Se=L.column<S.column;if(Se)var q=L.column,U=S.column,lt=L.offsetX,G=S.offsetX;else var q=S.column,U=L.column,lt=S.offsetX,G=L.offsetX;var P=L.row<S.row;if(P)var C=L.row,w=S.row;else var C=S.row,w=L.row;q<0&&(q=0),C<0&&(C=0),C==w&&(b=!0);for(var D,Re=C;Re<=w;Re++){var at=x.fromPoints(this.session.screenToDocumentPosition(Re,q,lt),this.session.screenToDocumentPosition(Re,U,G));if(at.isEmpty()){if(D&&p(at.end,D))break;D=at.end}at.cursor=Se?at.start:at.end,oe.push(at)}if(P&&oe.reverse(),!b){for(var ct=oe.length-1;oe[ct].isEmpty()&&ct>0;)ct--;if(ct>0)for(var ut=0;oe[ut].isEmpty();)ut++;for(var Dt=ct;Dt>=ut;Dt--)oe[Dt].isEmpty()&&oe.splice(Dt,1)}return oe}}).call(_.prototype);var a=f("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(L){L.cursor||(L.cursor=L.end);var S=this.getSelectionStyle();return L.marker=this.session.addMarker(L,"ace_selection",S),this.session.$selectionMarkers.push(L),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,L},this.removeSelectionMarker=function(L){if(L.marker){this.session.removeMarker(L.marker);var S=this.session.$selectionMarkers.indexOf(L);S!=-1&&this.session.$selectionMarkers.splice(S,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(L){for(var S=this.session.$selectionMarkers,b=L.length;b--;){var oe=L[b];if(oe.marker){this.session.removeMarker(oe.marker);var Se=S.indexOf(oe);Se!=-1&&S.splice(Se,1)}}this.session.selectionMarkerCount=S.length},this.$onAddRange=function(L){this.addSelectionMarker(L.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(L){this.removeSelectionMarkers(L.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(L){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(L){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(L){var S=L.command,b=L.editor;if(b.multiSelect){if(S.multiSelectAction)S.multiSelectAction=="forEach"?oe=b.forEachSelection(S,L.args):S.multiSelectAction=="forEachLine"?oe=b.forEachSelection(S,L.args,!0):S.multiSelectAction=="single"?(b.exitMultiSelectMode(),oe=S.exec(b,L.args||{})):oe=S.multiSelectAction(b,L.args||{});else{var oe=S.exec(b,L.args||{});b.multiSelect.addRange(b.multiSelect.toOrientedRange()),b.multiSelect.mergeOverlappingRanges()}return oe}},this.forEachSelection=function(L,S,b){if(!this.inVirtualSelectionMode){var oe=b&&b.keepOrder,Se=b==!0||b&&b.$byLines,q=this.session,U=this.selection,lt=U.rangeList,G=(oe?U:lt).ranges,P;if(!G.length)return L.exec?L.exec(this,S||{}):L(this,S||{});var C=U._eventRegistry;U._eventRegistry={};var w=new _(q);this.inVirtualSelectionMode=!0;for(var D=G.length;D--;){if(Se)for(;D>0&&G[D].start.row==G[D-1].end.row;)D--;w.fromOrientedRange(G[D]),w.index=D,this.selection=q.selection=w;var Re=L.exec?L.exec(this,S||{}):L(this,S||{});!P&&Re!==void 0&&(P=Re),w.toOrientedRange(G[D])}w.detach(),this.selection=q.selection=U,this.inVirtualSelectionMode=!1,U._eventRegistry=C,U.mergeOverlappingRanges(),U.ranges[0]&&U.fromOrientedRange(U.ranges[0]);var at=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),at&&at.from==at.to&&this.renderer.animateScrolling(at.from),P}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var L="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var S=this.multiSelect.rangeList.ranges,b=[],oe=0;oe<S.length;oe++)b.push(this.session.getTextRange(S[oe]));var Se=this.session.getDocument().getNewLineCharacter();L=b.join(Se),L.length==(b.length-1)*Se.length&&(L="")}else this.selection.isEmpty()||(L=this.session.getTextRange(this.getSelectionRange()));return L},this.$checkMultiselectChange=function(L,S){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var b=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&S==this.multiSelect.anchor)return;var oe=S==this.multiSelect.anchor?b.cursor==b.start?b.end:b.start:b.cursor;oe.row!=S.row||this.session.$clipPositionToDocument(oe.row,oe.column).column!=S.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(L,S,b){if(S=S||{},S.needle=L||S.needle,S.needle==null){var oe=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();S.needle=this.session.getTextRange(oe)}this.$search.set(S);var Se=this.$search.findAll(this.session);if(!Se.length)return 0;var q=this.multiSelect;b||q.toSingleRange(Se[0]);for(var U=Se.length;U--;)q.addRange(Se[U],!0);return oe&&q.rangeList.rangeAtPoint(oe.start)&&q.addRange(oe,!0),Se.length},this.selectMoreLines=function(L,S){var b=this.selection.toOrientedRange(),oe=b.cursor==b.end,Se=this.session.documentToScreenPosition(b.cursor);this.selection.$desiredColumn&&(Se.column=this.selection.$desiredColumn);var q=this.session.screenToDocumentPosition(Se.row+L,Se.column);if(b.isEmpty())var lt=q;else var U=this.session.documentToScreenPosition(oe?b.end:b.start),lt=this.session.screenToDocumentPosition(U.row+L,U.column);if(oe){var G=x.fromPoints(q,lt);G.cursor=G.start}else{var G=x.fromPoints(lt,q);G.cursor=G.end}if(G.desiredColumn=Se.column,!this.selection.inMultiSelectMode)this.selection.addRange(b);else if(S)var P=b.cursor;this.selection.addRange(G),P&&this.selection.substractPoint(P)},this.transposeSelections=function(L){for(var S=this.session,b=S.multiSelect,oe=b.ranges,Se=oe.length;Se--;){var q=oe[Se];if(q.isEmpty()){var U=S.getWordRange(q.start.row,q.start.column);q.start.row=U.start.row,q.start.column=U.start.column,q.end.row=U.end.row,q.end.column=U.end.column}}b.mergeOverlappingRanges();for(var lt=[],Se=oe.length;Se--;){var q=oe[Se];lt.unshift(S.getTextRange(q))}L<0?lt.unshift(lt.pop()):lt.push(lt.shift());for(var Se=oe.length;Se--;){var q=oe[Se],G=q.clone();S.replace(q,lt[Se]),q.start.row=G.start.row,q.start.column=G.start.column}b.fromOrientedRange(b.ranges[0])},this.selectMore=function(L,S,b){var oe=this.session,Se=oe.multiSelect,q=Se.toOrientedRange();if(!(q.isEmpty()&&(q=oe.getWordRange(q.start.row,q.start.column),q.cursor=L==-1?q.start:q.end,this.multiSelect.addRange(q),b))){var U=oe.getTextRange(q),lt=e(oe,U,L);lt&&(lt.cursor=L==-1?lt.start:lt.end,this.session.unfold(lt),this.multiSelect.addRange(lt),this.renderer.scrollCursorIntoView(null,.5)),S&&this.multiSelect.substractPoint(q.cursor)}},this.alignCursors=function(){var L=this.session,S=L.multiSelect,b=S.ranges,oe=-1,Se=b.filter(function(ct){if(ct.cursor.row==oe)return!0;oe=ct.cursor.row});if(!b.length||Se.length==b.length-1){var q=this.selection.getRange(),U=q.start.row,lt=q.end.row,G=U==lt;if(G){var P=this.session.getLength(),C;do C=this.session.getLine(lt);while(/[=:]/.test(C)&&++lt<P);do C=this.session.getLine(U);while(/[=:]/.test(C)&&--U>0);U<0&&(U=0),lt>=P&&(lt=P-1)}var w=this.session.removeFullLines(U,lt);w=this.$reAlignText(w,G),this.session.insert({row:U,column:0},w.join(`
|
954
|
+
`)+`
|
955
|
+
`),G||(q.start.column=0,q.end.column=w[w.length-1].length),this.selection.setRange(q)}else{Se.forEach(function(ct){S.substractPoint(ct.cursor)});var D=0,Re=1/0,at=b.map(function(ct){var ut=ct.cursor,Dt=L.getLine(ut.row),Jt=Dt.substr(ut.column).search(/\S/g);return Jt==-1&&(Jt=0),ut.column>D&&(D=ut.column),Jt<Re&&(Re=Jt),Jt});b.forEach(function(ct,ut){var Dt=ct.cursor,Jt=D-Dt.column,Wt=at[ut]-Re;Jt>Wt?L.insert(Dt,i.stringRepeat(" ",Jt-Wt)):L.remove(new x(Dt.row,Dt.column,Dt.row,Dt.column-Jt+Wt)),ct.start.column=ct.end.column=D,ct.start.row=ct.end.row=Dt.row,ct.cursor=ct.end}),S.fromOrientedRange(b[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(L,S){var b=!0,oe=!0,Se,q,U;return L.map(function(w){var D=w.match(/(\s*)(.*?)(\s*)([=:].*)/);return D?Se==null?(Se=D[1].length,q=D[2].length,U=D[3].length,D):(Se+q+U!=D[1].length+D[2].length+D[3].length&&(oe=!1),Se!=D[1].length&&(b=!1),Se>D[1].length&&(Se=D[1].length),q<D[2].length&&(q=D[2].length),U>D[3].length&&(U=D[3].length),D):[w]}).map(S?G:b?oe?P:G:C);function lt(w){return i.stringRepeat(" ",w)}function G(w){return w[2]?lt(Se)+w[2]+lt(q-w[2].length+U)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}function P(w){return w[2]?lt(Se+q-w[2].length)+w[2]+lt(U)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}function C(w){return w[2]?lt(Se)+w[2]+lt(U)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}}}).call(a.prototype);function p(L,S){return L.row==S.row&&L.column==S.column}g.onSessionChange=function(L){var S=L.session;S&&!S.multiSelect&&(S.$selectionMarkers=[],S.selection.$initRangeList(),S.multiSelect=S.selection),this.multiSelect=S&&S.multiSelect;var b=L.oldSession;b&&(b.multiSelect.off("addRange",this.$onAddRange),b.multiSelect.off("removeRange",this.$onRemoveRange),b.multiSelect.off("multiSelect",this.$onMultiSelect),b.multiSelect.off("singleSelect",this.$onSingleSelect),b.multiSelect.lead.off("change",this.$checkMultiselectChange),b.multiSelect.anchor.off("change",this.$checkMultiselectChange)),S&&(S.multiSelect.on("addRange",this.$onAddRange),S.multiSelect.on("removeRange",this.$onRemoveRange),S.multiSelect.on("multiSelect",this.$onMultiSelect),S.multiSelect.on("singleSelect",this.$onSingleSelect),S.multiSelect.lead.on("change",this.$checkMultiselectChange),S.multiSelect.anchor.on("change",this.$checkMultiselectChange)),S&&this.inMultiSelectMode!=S.selection.inMultiSelectMode&&(S.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function v(L){L.$multiselectOnSessionChange||(L.$onAddRange=L.$onAddRange.bind(L),L.$onRemoveRange=L.$onRemoveRange.bind(L),L.$onMultiSelect=L.$onMultiSelect.bind(L),L.$onSingleSelect=L.$onSingleSelect.bind(L),L.$multiselectOnSessionChange=g.onSessionChange.bind(L),L.$checkMultiselectChange=L.$checkMultiselectChange.bind(L),L.$multiselectOnSessionChange(L),L.on("changeSession",L.$multiselectOnSessionChange),L.on("mousedown",c),L.commands.addCommands(o.defaultCommands),E(L))}function E(L){if(!L.textInput)return;var S=L.textInput.getElement(),b=!1;u.addListener(S,"keydown",function(Se){var q=Se.keyCode==18&&!(Se.ctrlKey||Se.shiftKey||Se.metaKey);L.$blockSelectEnabled&&q?b||(L.renderer.setMouseCursor("crosshair"),b=!0):b&&oe()},L),u.addListener(S,"keyup",oe,L),u.addListener(S,"blur",oe,L);function oe(Se){b&&(L.renderer.setMouseCursor(""),b=!1)}}g.MultiSelect=v,f("./config").defineOptions(a.prototype,"editor",{enableMultiselect:{set:function(L){v(this),L?this.on("mousedown",c):this.off("mousedown",c)},value:!0},enableBlockSelect:{set:function(L){this.$blockSelectEnabled=L},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(f,g,Me){var A=f("../../range").Range,x=g.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(_,c,u){var i=_.getLine(u);return this.foldingStartMarker.test(i)?"start":c=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(i)?"end":""},this.getFoldWidgetRange=function(_,c,u){return null},this.indentationBlock=function(_,c,u){var i=/\S/,o=_.getLine(c),r=o.search(i);if(r!=-1){for(var t=u||o.length,e=_.getLength(),n=c,a=c;++c<e;){var p=_.getLine(c).search(i);if(p!=-1){if(p<=r){var v=_.getTokenAt(c,0);if(!v||v.type!=="string")break}a=c}}if(a>n){var E=_.getLine(a).length;return new A(n,t,a,E)}}},this.openingBracketBlock=function(_,c,u,i,o){var r={row:u,column:i+1},t=_.$findClosingBracket(c,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(_,c,u,i,o){var r={row:u,column:i},t=_.$findOpeningBracket(c,r);if(t)return t.column++,r.column--,A.fromPoints(t,r)}}).call(x.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(f,g,Me){var A=f("../lib/dom"),x=f("../range").Range,_=f("../config").nls;function c(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(x.comparePoints);if(t.length){var e=c(t,{row:o,column:-1},x.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(Se){return Se.type=="errorMarker"})[0];n?n.destroy():e-=o;var a=u(r,e,o),p;if(a){var v=a[0];t.column=(v.pos&&typeof v.column!="number"?v.pos.sc:v.column)||0,t.row=v.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 E={row:t.row,fixedWidth:!0,coverGutter:!0,el:A.createElement("div"),type:"errorMarker"},L=E.el.appendChild(A.createElement("div")),S=E.el.appendChild(A.createElement("div"));S.className="error_widget_arrow "+p.className;var b=i.renderer.$cursorLayer.getPixelPosition(t).left;S.style.left=b+i.renderer.gutterWidth-5+"px",E.el.className="error_widget_wrapper",L.className="error_widget "+p.className,p.displayText.forEach(function(Se,q){L.appendChild(A.createTextNode(Se)),q<p.displayText.length-1&&L.appendChild(A.createElement("br"))}),L.appendChild(A.createElement("div"));var oe=function(Se,q,U){if(q===0&&(U==="esc"||U==="return"))return E.destroy(),{command:"null"}};E.destroy=function(){i.$mouseHandler.isMousePressed||(i.keyBinding.removeKeyboardHandler(oe),r.widgetManager.removeLineWidget(E),i.off("changeSelection",E.destroy),i.off("changeSession",E.destroy),i.off("mouseup",E.destroy),i.off("change",E.destroy))},i.keyBinding.addKeyboardHandler(oe),i.on("changeSelection",E.destroy),i.on("changeSession",E.destroy),i.on("mouseup",E.destroy),i.on("change",E.destroy),i.session.widgetManager.addLineWidget(E),E.el.onmousedown=i.focus.bind(i),i.renderer.scrollCursorIntoView(null,.5,{bottom:E.el.offsetHeight})},A.importCssString(`
|
956
|
+
.error_widget_wrapper {
|
957
|
+
background: inherit;
|
958
|
+
color: inherit;
|
959
|
+
border:none
|
960
|
+
}
|
961
|
+
.error_widget {
|
962
|
+
border-top: solid 2px;
|
963
|
+
border-bottom: solid 2px;
|
964
|
+
margin: 5px 0;
|
965
|
+
padding: 10px 40px;
|
966
|
+
white-space: pre-wrap;
|
967
|
+
}
|
968
|
+
.error_widget.ace_error, .error_widget_arrow.ace_error{
|
969
|
+
border-color: #ff5a5a
|
970
|
+
}
|
971
|
+
.error_widget.ace_warning, .error_widget_arrow.ace_warning{
|
972
|
+
border-color: #F1D817
|
973
|
+
}
|
974
|
+
.error_widget.ace_info, .error_widget_arrow.ace_info{
|
975
|
+
border-color: #5a5a5a
|
976
|
+
}
|
977
|
+
.error_widget.ace_ok, .error_widget_arrow.ace_ok{
|
978
|
+
border-color: #5aaa5a
|
979
|
+
}
|
980
|
+
.error_widget_arrow {
|
981
|
+
position: absolute;
|
982
|
+
border: solid 5px;
|
983
|
+
border-top-color: transparent!important;
|
984
|
+
border-right-color: transparent!important;
|
985
|
+
border-left-color: transparent!important;
|
986
|
+
top: -5px;
|
987
|
+
}
|
988
|
+
`,"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,Me){f("./loader_build")(g);var A=f("./lib/dom"),x=f("./range").Range,_=f("./editor").Editor,c=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),v=new _(new i(r),p,t),E={document:p,editor:v,onResize:v.resize.bind(v,null)};return a&&(E.textarea=a),v.on("destroy",function(){E.editor.container.env=null}),v.container.env=v.env=E,v},g.createEditSession=function(r,t){var e=new c(r,t);return e.setUndoManager(new u),e},g.Range=x,g.Editor=_,g.EditSession=c,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 Me in f)f.hasOwnProperty(Me)&&(g.ace[Me]=f[Me]);g.ace.default=g.ace,h&&(h.exports=g.ace)})})()})(ace$1)),ace$1.exports}var aceExports=requireAce(),modeRuby={exports:{}},hasRequiredModeRuby;function requireModeRuby(){return hasRequiredModeRuby||(hasRequiredModeRuby=1,(function(h,m){ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(f,g,Me){var A=f("../lib/oop"),x=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 c=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",v="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",E="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",L="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",S=this.$keywords=this.createKeywordMapper({keyword:v,"constant.language":E,"variable.language":L,"support.function":p,"invalid.deprecated":"debugger"},"identifier"),b=`\\\\(?: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})*})`,oe={"(":")","[":"]","{":"}","<":">","^":"^","|":"|","%":"%"};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:b},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:b},{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(Se,q,U){U.length&&(U=[]);var lt=Se[Se.length-1];return U.unshift(lt,q),this.next="qStateWithoutInterpolation",this.token}},{token:"string.start",regex:/%[QWX]?([(\[<{^|%])/,onMatch:function(Se,q,U){U.length&&(U=[]);var lt=Se[Se.length-1];return U.unshift(lt,q),this.next="qStateWithInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[si]([(\[<{^|%])/,onMatch:function(Se,q,U){U.length&&(U=[]);var lt=Se[Se.length-1];return U.unshift(lt,q),this.next="sStateWithoutInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[SI]([(\[<{^|%])/,onMatch:function(Se,q,U){U.length&&(U=[]);var lt=Se[Se.length-1];return U.unshift(lt,q),this.next="sStateWithInterpolation",this.token}},{token:"string.regexp",regex:/%[r]([(\[<{^|%])/,onMatch:function(Se,q,U){U.length&&(U=[]);var lt=Se[Se.length-1];return U.unshift(lt,q),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\\?(?:"+b+"|\\S)"},{token:"punctuation.operator",regex:/\?(?=.+:)/},r,t,_,c,e,u,i,o,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:S,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(Se,q,U){var lt=Se[2]=="-"||Se[2]=="~"?"indentedHeredoc":"heredoc",G=Se.split(this.splitRegex);return U.push(lt,G[3]),[{type:"constant",value:G[1]},{type:"string",value:G[2]},{type:"support.class",value:G[3]},{type:"string",value:G[4]}]},regex:"(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(Se,q,U){return Se===U[1]?(U.shift(),U.shift(),this.next=U[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(Se,q,U){return Se===U[1]?(U.shift(),U.shift(),this.next=U[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(Se,q){return q[0]==="heredoc"||q[0]==="indentedHeredoc"?q[0]:Se}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]",onMatch:function(Se,q,U){return this.next="",Se=="}"&&U.length>1&&U[1]!="start"&&(U.shift(),this.next=U.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(Se,q,U){return U.length&&Se===U[0]?(U.unshift(Se,q),this.token):"string"}},{token:"constant.language.escape",regex:b},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(Se,q,U){return U.length&&Se===oe[U[0]]?(U.shift(),this.next=U.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],qStateWithoutInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(Se,q,U){return U.length&&Se===U[0]?(U.unshift(Se,q),this.token):"string"}},{token:"constant.language.escape",regex:/\\['\\]/},{token:"constant.language.escape",regex:/\\./},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(Se,q,U){return U.length&&Se===oe[U[0]]?(U.shift(),this.next=U.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],sStateWithoutInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(Se,q,U){return U.length&&Se===U[0]?(U.unshift(Se,q),this.token):"constant.other.symbol.ruby"}},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(Se,q,U){return U.length&&Se===oe[U[0]]?(U.shift(),this.next=U.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],sStateWithInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(Se,q,U){return U.length&&Se===U[0]?(U.unshift(Se,q),this.token):"constant.other.symbol.ruby"}},{token:"constant.language.escape",regex:b},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(Se,q,U){return U.length&&Se===oe[U[0]]?(U.shift(),this.next=U.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],rState:[{token:"string.regexp",regex:/[(\[<{]/,onMatch:function(Se,q,U){return U.length&&Se===U[0]?(U.unshift(Se,q),this.token):"constant.language.escape"}},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.regexp",regex:/\//},{token:"string.regexp",regex:/[)\]>}^|%][imxouesn]*/,onMatch:function(Se,q,U){return U.length&&Se[0]===oe[U[0]]?(U.shift(),this.next=U.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,x),g.RubyHighlightRules=a}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(f,g,Me){var A=f("../range").Range,x=function(){};(function(){this.checkOutdent=function(_,c){return/^\s+$/.test(_)?/^\s*\}/.test(c):!1},this.autoOutdent=function(_,c){var u=_.getLine(c),i=u.match(/^(\s*\})/);if(!i)return 0;var o=i[1].length,r=_.findMatchingBracket({row:c,column:o});if(!r||r.row==c)return 0;var t=this.$getIndent(_.getLine(r.row));_.replace(new A(c,0,c,o-1),t)},this.$getIndent=function(_){return _.match(/^\s*/)[0]}}).call(x.prototype),g.MatchingBraceOutdent=x}),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,Me){var A=f("../../lib/oop"),x=f("./fold_mode").FoldMode,_=f("../../range").Range,c=f("../../token_iterator").TokenIterator,u=g.FoldMode=function(){};A.inherits(u,x),(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,G,r,t){var e=new c(i,G,r),n=e.getCurrentToken();if(!(!n||n.type!="keyword"&&n.type!="comment.multiline")){var a=n.value,p=i.getLine(G);switch(n.value){case"if":case"unless":case"while":case"until":var v=new RegExp("^\\s*"+n.value);if(!v.test(p))return;var E=this.indentKeywords[a];break;case"when":if(/\sthen\s/.test(p))return;case"elsif":case"rescue":case"ensure":var E=1;break;case"else":var v=new RegExp("^\\s*"+n.value+"\\s*$");if(!v.test(p))return;var E=1;break;default:var E=this.indentKeywords[a]}var L=[a];if(E){var S=E===-1?i.getLine(G-1).length:i.getLine(G).length,b=G,oe=[];if(oe.push(e.getCurrentTokenRange()),e.step=E===-1?e.stepBackward:e.stepForward,n.type=="comment.multiline"){for(;n=e.step();)if(n.type==="comment.multiline"){if(E==1){if(S=6,n.value=="=end")break}else if(n.value=="=begin")break}}else for(;n=e.step();){var Se=!1;if(n.type==="keyword"){var q=E*this.indentKeywords[n.value];switch(p=i.getLine(e.getCurrentTokenRow()),n.value){case"do":for(var U=e.$tokenIndex-1;U>=0;U--){var lt=e.$rowTokens[U];if(lt&&(lt.value=="while"||lt.value=="until"||lt.value=="for")){q=0;break}}break;case"else":var v=new RegExp("^\\s*"+n.value+"\\s*$");(!v.test(p)||a=="case")&&(q=0,Se=!0);break;case"if":case"unless":case"while":case"until":var v=new RegExp("^\\s*"+n.value);v.test(p)||(q=0,Se=!0);break;case"when":(/\sthen\s/.test(p)||a=="case")&&(q=0,Se=!0)}if(q>0)L.unshift(n.value);else if(q<=0&&Se===!1){if(L.shift(),!L.length&&((a=="while"||a=="until"||a=="for")&&n.value!="do"||n.value=="do"&&E==-1&&q!=0||n.value!="do"))break;q===0&&L.unshift(n.value)}}}if(!n)return null;if(t)return oe.push(e.getCurrentTokenRange()),oe;var G=e.getCurrentTokenRow();if(E===-1){if(n.type==="comment.multiline")var P=6;else var P=i.getLine(G).length;return new _(G,P,b-1,S)}return new _(b,S,G-1,i.getLine(G-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,Me){var A=f("../lib/oop"),x=f("./text").Mode,_=f("./ruby_highlight_rules").RubyHighlightRules,c=f("./matching_brace_outdent").MatchingBraceOutdent,u=f("../range").Range,i=f("./folding/ruby").FoldMode,o=function(){this.HighlightRules=_,this.$outdent=new c,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new i,this.indentKeywords=this.foldingRules.indentKeywords};A.inherits(o,x),(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 v=t.match(/^.*[\{\(\[]\s*$/),E=t.match(/^\s*(class|def|module)\s.*$/),L=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),S=t.match(/^\s*(if|else|when|elsif|unless|while|for|begin|rescue|ensure)\s*/);(v||E||L||S)&&(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),v=this.$getIndent(p),E=t.getTabString();v.length<=a.length&&a.slice(-E.length)==E&&t.remove(new u(e,a.length-E.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){h&&(h.exports=f)})})()})(modeRuby)),modeRuby.exports}requireModeRuby();var themeTwilight={exports:{}},hasRequiredThemeTwilight;function requireThemeTwilight(){return hasRequiredThemeTwilight||(hasRequiredThemeTwilight=1,(function(h,m){ace.define("ace/theme/twilight-css",["require","exports","module"],function(f,g,Me){Me.exports=`.ace-twilight .ace_gutter {
|
989
|
+
background: #232323;
|
990
|
+
color: #E2E2E2
|
991
|
+
}
|
992
|
+
|
993
|
+
.ace-twilight .ace_print-margin {
|
994
|
+
width: 1px;
|
995
|
+
background: #232323
|
996
|
+
}
|
997
|
+
|
998
|
+
.ace-twilight {
|
999
|
+
background-color: #141414;
|
1000
|
+
color: #F8F8F8
|
1001
|
+
}
|
1002
|
+
|
1003
|
+
.ace-twilight .ace_cursor {
|
1004
|
+
color: #A7A7A7
|
1005
|
+
}
|
1006
|
+
|
1007
|
+
.ace-twilight .ace_marker-layer .ace_selection {
|
1008
|
+
background: rgba(221, 240, 255, 0.20)
|
1009
|
+
}
|
1010
|
+
|
1011
|
+
.ace-twilight.ace_multiselect .ace_selection.ace_start {
|
1012
|
+
box-shadow: 0 0 3px 0px #141414;
|
1013
|
+
}
|
1014
|
+
|
1015
|
+
.ace-twilight .ace_marker-layer .ace_step {
|
1016
|
+
background: rgb(102, 82, 0)
|
1017
|
+
}
|
1018
|
+
|
1019
|
+
.ace-twilight .ace_marker-layer .ace_bracket {
|
1020
|
+
margin: -1px 0 0 -1px;
|
1021
|
+
border: 1px solid rgba(255, 255, 255, 0.25)
|
1022
|
+
}
|
1023
|
+
|
1024
|
+
.ace-twilight .ace_marker-layer .ace_active-line {
|
1025
|
+
background: rgba(255, 255, 255, 0.031)
|
1026
|
+
}
|
1027
|
+
|
1028
|
+
.ace-twilight .ace_gutter-active-line {
|
1029
|
+
background-color: rgba(255, 255, 255, 0.031)
|
1030
|
+
}
|
1031
|
+
|
1032
|
+
.ace-twilight .ace_marker-layer .ace_selected-word {
|
1033
|
+
border: 1px solid rgba(221, 240, 255, 0.20)
|
1034
|
+
}
|
1035
|
+
|
1036
|
+
.ace-twilight .ace_invisible {
|
1037
|
+
color: rgba(255, 255, 255, 0.25)
|
1038
|
+
}
|
1039
|
+
|
1040
|
+
.ace-twilight .ace_keyword,
|
1041
|
+
.ace-twilight .ace_meta {
|
1042
|
+
color: #CDA869
|
1043
|
+
}
|
1044
|
+
|
1045
|
+
.ace-twilight .ace_constant,
|
1046
|
+
.ace-twilight .ace_constant.ace_character,
|
1047
|
+
.ace-twilight .ace_constant.ace_character.ace_escape,
|
1048
|
+
.ace-twilight .ace_constant.ace_other,
|
1049
|
+
.ace-twilight .ace_heading,
|
1050
|
+
.ace-twilight .ace_markup.ace_heading,
|
1051
|
+
.ace-twilight .ace_support.ace_constant {
|
1052
|
+
color: #CF6A4C
|
1053
|
+
}
|
1054
|
+
|
1055
|
+
.ace-twilight .ace_invalid.ace_illegal {
|
1056
|
+
color: #F8F8F8;
|
1057
|
+
background-color: rgba(86, 45, 86, 0.75)
|
1058
|
+
}
|
1059
|
+
|
1060
|
+
.ace-twilight .ace_invalid.ace_deprecated {
|
1061
|
+
text-decoration: underline;
|
1062
|
+
font-style: italic;
|
1063
|
+
color: #D2A8A1
|
1064
|
+
}
|
1065
|
+
|
1066
|
+
.ace-twilight .ace_support {
|
1067
|
+
color: #9B859D
|
1068
|
+
}
|
1069
|
+
|
1070
|
+
.ace-twilight .ace_fold {
|
1071
|
+
background-color: #AC885B;
|
1072
|
+
border-color: #F8F8F8
|
1073
|
+
}
|
1074
|
+
|
1075
|
+
.ace-twilight .ace_support.ace_function {
|
1076
|
+
color: #DAD085
|
1077
|
+
}
|
1078
|
+
|
1079
|
+
.ace-twilight .ace_list,
|
1080
|
+
.ace-twilight .ace_markup.ace_list,
|
1081
|
+
.ace-twilight .ace_storage {
|
1082
|
+
color: #F9EE98
|
1083
|
+
}
|
1084
|
+
|
1085
|
+
.ace-twilight .ace_entity.ace_name.ace_function,
|
1086
|
+
.ace-twilight .ace_meta.ace_tag {
|
1087
|
+
color: #AC885B
|
1088
|
+
}
|
1089
|
+
|
1090
|
+
.ace-twilight .ace_string {
|
1091
|
+
color: #8F9D6A
|
1092
|
+
}
|
1093
|
+
|
1094
|
+
.ace-twilight .ace_string.ace_regexp {
|
1095
|
+
color: #E9C062
|
1096
|
+
}
|
1097
|
+
|
1098
|
+
.ace-twilight .ace_comment {
|
1099
|
+
font-style: italic;
|
1100
|
+
color: #5F5A60
|
1101
|
+
}
|
1102
|
+
|
1103
|
+
.ace-twilight .ace_variable {
|
1104
|
+
color: #7587A6
|
1105
|
+
}
|
1106
|
+
|
1107
|
+
.ace-twilight .ace_xml-pe {
|
1108
|
+
color: #494949
|
1109
|
+
}
|
1110
|
+
|
1111
|
+
.ace-twilight .ace_indent-guide {
|
1112
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y
|
1113
|
+
}
|
1114
|
+
|
1115
|
+
.ace-twilight .ace_indent-guide-active {
|
1116
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;
|
1117
|
+
}
|
1118
|
+
`}),ace.define("ace/theme/twilight",["require","exports","module","ace/theme/twilight-css","ace/lib/dom"],function(f,g,Me){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){h&&(h.exports=f)})})()})(themeTwilight)),themeTwilight.exports}requireThemeTwilight();var Qt=Object.defineProperty,Zt=(h,m,f)=>m in h?Qt(h,m,{enumerable:!0,configurable:!0,writable:!0,value:f}):h[m]=f,j=(h,m,f)=>Zt(h,typeof m!="symbol"?m+"":m,f);function gt(h,m){return function(){return h.apply(m,arguments)}}const{toString:Yt}=Object.prototype,{getPrototypeOf:Ue}=Object,{iterator:me,toStringTag:bt}=Symbol,ge=(h=>m=>{const f=Yt.call(m);return h[f]||(h[f]=f.slice(8,-1).toLowerCase())})(Object.create(null)),$=h=>(h=h.toLowerCase(),m=>ge(m)===h),be=h=>m=>typeof m===h,{isArray:K}=Array,Y=be("undefined");function te(h){return h!==null&&!Y(h)&&h.constructor!==null&&!Y(h.constructor)&&T(h.constructor.isBuffer)&&h.constructor.isBuffer(h)}const yt=$("ArrayBuffer");function en(h){let m;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?m=ArrayBuffer.isView(h):m=h&&h.buffer&&yt(h.buffer),m}const tn=be("string"),T=be("function"),wt=be("number"),ne=h=>h!==null&&typeof h=="object",nn=h=>h===!0||h===!1,ue=h=>{if(ge(h)!=="object")return!1;const m=Ue(h);return(m===null||m===Object.prototype||Object.getPrototypeOf(m)===null)&&!(bt in h)&&!(me in h)},sn=h=>{if(!ne(h)||te(h))return!1;try{return Object.keys(h).length===0&&Object.getPrototypeOf(h)===Object.prototype}catch{return!1}},rn=$("Date"),on=$("File"),cn=$("Blob"),an=$("FileList"),ln=h=>ne(h)&&T(h.pipe),un=h=>{let m;return h&&(typeof FormData=="function"&&h instanceof FormData||T(h.append)&&((m=ge(h))==="formdata"||m==="object"&&T(h.toString)&&h.toString()==="[object FormData]"))},hn=$("URLSearchParams"),[dn,fn,pn,mn]=["ReadableStream","Request","Response","Headers"].map($),gn=h=>h.trim?h.trim():h.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function se(h,m,{allOwnKeys:f=!1}={}){if(h===null||typeof h>"u")return;let g,Me;if(typeof h!="object"&&(h=[h]),K(h))for(g=0,Me=h.length;g<Me;g++)m.call(null,h[g],g,h);else{if(te(h))return;const A=f?Object.getOwnPropertyNames(h):Object.keys(h),x=A.length;let _;for(g=0;g<x;g++)_=A[g],m.call(null,h[_],_,h)}}function _t(h,m){if(te(h))return null;m=m.toLowerCase();const f=Object.keys(h);let g=f.length,Me;for(;g-- >0;)if(Me=f[g],m===Me.toLowerCase())return Me;return null}const H=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Et=h=>!Y(h)&&h!==H;function ke(){const{caseless:h}=Et(this)&&this||{},m={},f=(g,Me)=>{const A=h&&_t(m,Me)||Me;ue(m[A])&&ue(g)?m[A]=ke(m[A],g):ue(g)?m[A]=ke({},g):K(g)?m[A]=g.slice():m[A]=g};for(let g=0,Me=arguments.length;g<Me;g++)arguments[g]&&se(arguments[g],f);return m}const bn=(h,m,f,{allOwnKeys:g}={})=>(se(m,(Me,A)=>{f&&T(Me)?h[A]=gt(Me,f):h[A]=Me},{allOwnKeys:g}),h),yn=h=>(h.charCodeAt(0)===65279&&(h=h.slice(1)),h),wn=(h,m,f,g)=>{h.prototype=Object.create(m.prototype,g),h.prototype.constructor=h,Object.defineProperty(h,"super",{value:m.prototype}),f&&Object.assign(h.prototype,f)},_n=(h,m,f,g)=>{let Me,A,x;const _={};if(m=m||{},h==null)return m;do{for(Me=Object.getOwnPropertyNames(h),A=Me.length;A-- >0;)x=Me[A],(!g||g(x,h,m))&&!_[x]&&(m[x]=h[x],_[x]=!0);h=f!==!1&&Ue(h)}while(h&&(!f||f(h,m))&&h!==Object.prototype);return m},En=(h,m,f)=>{h=String(h),(f===void 0||f>h.length)&&(f=h.length),f-=m.length;const g=h.indexOf(m,f);return g!==-1&&g===f},Sn=h=>{if(!h)return null;if(K(h))return h;let m=h.length;if(!wt(m))return null;const f=new Array(m);for(;m-- >0;)f[m]=h[m];return f},xn=(h=>m=>h&&m instanceof h)(typeof Uint8Array<"u"&&Ue(Uint8Array)),Rn=(h,m)=>{const f=(h&&h[me]).call(h);let g;for(;(g=f.next())&&!g.done;){const Me=g.value;m.call(h,Me[0],Me[1])}},An=(h,m)=>{let f;const g=[];for(;(f=h.exec(m))!==null;)g.push(f);return g},On=$("HTMLFormElement"),Cn=h=>h.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(m,f,g){return f.toUpperCase()+g}),We=(({hasOwnProperty:h})=>(m,f)=>h.call(m,f))(Object.prototype),Tn=$("RegExp"),St=(h,m)=>{const f=Object.getOwnPropertyDescriptors(h),g={};se(f,(Me,A)=>{let x;(x=m(Me,A,h))!==!1&&(g[A]=x||Me)}),Object.defineProperties(h,g)},kn=h=>{St(h,(m,f)=>{if(T(h)&&["arguments","caller","callee"].indexOf(f)!==-1)return!1;const g=h[f];if(T(g)){if(m.enumerable=!1,"writable"in m){m.writable=!1;return}m.set||(m.set=()=>{throw Error("Can not rewrite read-only method '"+f+"'")})}})},Nn=(h,m)=>{const f={},g=Me=>{Me.forEach(A=>{f[A]=!0})};return K(h)?g(h):g(String(h).split(m)),f},Pn=()=>{},In=(h,m)=>h!=null&&Number.isFinite(h=+h)?h:m;function Ln(h){return!!(h&&T(h.append)&&h[bt]==="FormData"&&h[me])}const jn=h=>{const m=new Array(10),f=(g,Me)=>{if(ne(g)){if(m.indexOf(g)>=0)return;if(te(g))return g;if(!("toJSON"in g)){m[Me]=g;const A=K(g)?[]:{};return se(g,(x,_)=>{const c=f(x,Me+1);!Y(c)&&(A[_]=c)}),m[Me]=void 0,A}}return g};return f(h,0)},vn=$("AsyncFunction"),$n=h=>h&&(ne(h)||T(h))&&T(h.then)&&T(h.catch),xt=((h,m)=>h?setImmediate:m?((f,g)=>(H.addEventListener("message",({source:Me,data:A})=>{Me===H&&A===f&&g.length&&g.shift()()},!1),Me=>{g.push(Me),H.postMessage(f,"*")}))(`axios@${Math.random()}`,[]):f=>setTimeout(f))(typeof setImmediate=="function",T(H.postMessage)),Fn=typeof queueMicrotask<"u"?queueMicrotask.bind(H):typeof process<"u"&&process.nextTick||xt,Un=h=>h!=null&&T(h[me]),l={isArray:K,isArrayBuffer:yt,isBuffer:te,isFormData:un,isArrayBufferView:en,isString:tn,isNumber:wt,isBoolean:nn,isObject:ne,isPlainObject:ue,isEmptyObject:sn,isReadableStream:dn,isRequest:fn,isResponse:pn,isHeaders:mn,isUndefined:Y,isDate:rn,isFile:on,isBlob:cn,isRegExp:Tn,isFunction:T,isStream:ln,isURLSearchParams:hn,isTypedArray:xn,isFileList:an,forEach:se,merge:ke,extend:bn,trim:gn,stripBOM:yn,inherits:wn,toFlatObject:_n,kindOf:ge,kindOfTest:$,endsWith:En,toArray:Sn,forEachEntry:Rn,matchAll:An,isHTMLForm:On,hasOwnProperty:We,hasOwnProp:We,reduceDescriptors:St,freezeMethods:kn,toObjectSet:Nn,toCamelCase:Cn,noop:Pn,toFiniteNumber:In,findKey:_t,global:H,isContextDefined:Et,isSpecCompliantForm:Ln,toJSONObject:jn,isAsyncFn:vn,isThenable:$n,setImmediate:xt,asap:Fn,isIterable:Un};function y(h,m,f,g,Me){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=h,this.name="AxiosError",m&&(this.code=m),f&&(this.config=f),g&&(this.request=g),Me&&(this.response=Me,this.status=Me.status?Me.status:null)}l.inherits(y,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 Rt=y.prototype,At={};["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(h=>{At[h]={value:h}}),Object.defineProperties(y,At),Object.defineProperty(Rt,"isAxiosError",{value:!0}),y.from=(h,m,f,g,Me,A)=>{const x=Object.create(Rt);return l.toFlatObject(h,x,function(_){return _!==Error.prototype},_=>_!=="isAxiosError"),y.call(x,h.message,m,f,g,Me),x.cause=h,x.name=h.name,A&&Object.assign(x,A),x};const Dn=null;function Ne(h){return l.isPlainObject(h)||l.isArray(h)}function Ot(h){return l.endsWith(h,"[]")?h.slice(0,-2):h}function Ke(h,m,f){return h?h.concat(m).map(function(g,Me){return g=Ot(g),!f&&Me?"["+g+"]":g}).join(f?".":""):m}function qn(h){return l.isArray(h)&&!h.some(Ne)}const Bn=l.toFlatObject(l,{},null,function(h){return/^is[A-Z]/.test(h)});function ye(h,m,f){if(!l.isObject(h))throw new TypeError("target must be an object");m=m||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,Me=f.visitor||u,A=f.dots,x=f.indexes,_=(f.Blob||typeof Blob<"u"&&Blob)&&l.isSpecCompliantForm(m);if(!l.isFunction(Me))throw new TypeError("visitor must be a function");function c(t){if(t===null)return"";if(l.isDate(t))return t.toISOString();if(l.isBoolean(t))return t.toString();if(!_&&l.isBlob(t))throw new y("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)&&qn(t)||(l.isFileList(t)||l.endsWith(e,"[]"))&&(a=l.toArray(t)))return e=Ot(e),a.forEach(function(p,v){!(l.isUndefined(p)||p===null)&&m.append(x===!0?Ke([e],v,A):x===null?e:e+"[]",c(p))}),!1}return Ne(t)?!0:(m.append(Ke(n,e,A),c(t)),!1)}const i=[],o=Object.assign(Bn,{defaultVisitor:u,convertValue:c,isVisitable:Ne});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)&&Me.call(m,n,l.isString(a)?a.trim():a,e,o))===!0&&r(n,e?e.concat(a):[a])}),i.pop()}}if(!l.isObject(h))throw new TypeError("data must be an object");return r(h),m}function Xe(h){const m={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(h).replace(/[!'()~]|%20|%00/g,function(f){return m[f]})}function De(h,m){this._pairs=[],h&&ye(h,this,m)}const Ct=De.prototype;Ct.append=function(h,m){this._pairs.push([h,m])},Ct.toString=function(h){const m=h?function(f){return h.call(this,f,Xe)}:Xe;return this._pairs.map(function(f){return m(f[0])+"="+m(f[1])},"").join("&")};function Mn(h){return encodeURIComponent(h).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Tt(h,m,f){if(!m)return h;const g=f&&f.encode||Mn;l.isFunction(f)&&(f={serialize:f});const Me=f&&f.serialize;let A;if(Me?A=Me(m,f):A=l.isURLSearchParams(m)?m.toString():new De(m,f).toString(g),A){const x=h.indexOf("#");x!==-1&&(h=h.slice(0,x)),h+=(h.indexOf("?")===-1?"?":"&")+A}return h}class Ge{constructor(){this.handlers=[]}use(m,f,g){return this.handlers.push({fulfilled:m,rejected:f,synchronous:g?g.synchronous:!1,runWhen:g?g.runWhen:null}),this.handlers.length-1}eject(m){this.handlers[m]&&(this.handlers[m]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(m){l.forEach(this.handlers,function(f){f!==null&&m(f)})}}const kt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Hn=typeof URLSearchParams<"u"?URLSearchParams:De,zn=typeof FormData<"u"?FormData:null,Vn=typeof Blob<"u"?Blob:null,Jn={isBrowser:!0,classes:{URLSearchParams:Hn,FormData:zn,Blob:Vn},protocols:["http","https","file","blob","url","data"]},qe=typeof window<"u"&&typeof document<"u",Pe=typeof navigator=="object"&&navigator||void 0,Wn=qe&&(!Pe||["ReactNative","NativeScript","NS"].indexOf(Pe.product)<0),Kn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Xn=qe&&window.location.href||"http://localhost",Gn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:qe,hasStandardBrowserEnv:Wn,hasStandardBrowserWebWorkerEnv:Kn,navigator:Pe,origin:Xn},Symbol.toStringTag,{value:"Module"})),O={...Gn,...Jn};function Qn(h,m){return ye(h,new O.classes.URLSearchParams,{visitor:function(f,g,Me,A){return O.isNode&&l.isBuffer(f)?(this.append(g,f.toString("base64")),!1):A.defaultVisitor.apply(this,arguments)},...m})}function Zn(h){return l.matchAll(/\w+|\[(\w*)]/g,h).map(m=>m[0]==="[]"?"":m[1]||m[0])}function Yn(h){const m={},f=Object.keys(h);let g;const Me=f.length;let A;for(g=0;g<Me;g++)A=f[g],m[A]=h[A];return m}function Nt(h){function m(f,g,Me,A){let x=f[A++];if(x==="__proto__")return!0;const _=Number.isFinite(+x),c=A>=f.length;return x=!x&&l.isArray(Me)?Me.length:x,c?(l.hasOwnProp(Me,x)?Me[x]=[Me[x],g]:Me[x]=g,!_):((!Me[x]||!l.isObject(Me[x]))&&(Me[x]=[]),m(f,g,Me[x],A)&&l.isArray(Me[x])&&(Me[x]=Yn(Me[x])),!_)}if(l.isFormData(h)&&l.isFunction(h.entries)){const f={};return l.forEachEntry(h,(g,Me)=>{m(Zn(g),Me,f,0)}),f}return null}function es(h,m,f){if(l.isString(h))try{return(m||JSON.parse)(h),l.trim(h)}catch(g){if(g.name!=="SyntaxError")throw g}return(f||JSON.stringify)(h)}const re={transitional:kt,adapter:["xhr","http","fetch"],transformRequest:[function(h,m){const f=m.getContentType()||"",g=f.indexOf("application/json")>-1,Me=l.isObject(h);if(Me&&l.isHTMLForm(h)&&(h=new FormData(h)),l.isFormData(h))return g?JSON.stringify(Nt(h)):h;if(l.isArrayBuffer(h)||l.isBuffer(h)||l.isStream(h)||l.isFile(h)||l.isBlob(h)||l.isReadableStream(h))return h;if(l.isArrayBufferView(h))return h.buffer;if(l.isURLSearchParams(h))return m.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),h.toString();let A;if(Me){if(f.indexOf("application/x-www-form-urlencoded")>-1)return Qn(h,this.formSerializer).toString();if((A=l.isFileList(h))||f.indexOf("multipart/form-data")>-1){const x=this.env&&this.env.FormData;return ye(A?{"files[]":h}:h,x&&new x,this.formSerializer)}}return Me||g?(m.setContentType("application/json",!1),es(h)):h}],transformResponse:[function(h){const m=this.transitional||re.transitional,f=m&&m.forcedJSONParsing,g=this.responseType==="json";if(l.isResponse(h)||l.isReadableStream(h))return h;if(h&&l.isString(h)&&(f&&!this.responseType||g)){const Me=!(m&&m.silentJSONParsing)&&g;try{return JSON.parse(h)}catch(A){if(Me)throw A.name==="SyntaxError"?y.from(A,y.ERR_BAD_RESPONSE,this,null,this.response):A}}return h}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:O.classes.FormData,Blob:O.classes.Blob},validateStatus:function(h){return h>=200&&h<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};l.forEach(["delete","get","head","post","put","patch"],h=>{re.headers[h]={}});const ts=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"]),ns=h=>{const m={};let f,g,Me;return h&&h.split(`
|
1119
|
+
`).forEach(function(A){Me=A.indexOf(":"),f=A.substring(0,Me).trim().toLowerCase(),g=A.substring(Me+1).trim(),!(!f||m[f]&&ts[f])&&(f==="set-cookie"?m[f]?m[f].push(g):m[f]=[g]:m[f]=m[f]?m[f]+", "+g:g)}),m},Qe=Symbol("internals");function Q(h){return h&&String(h).trim().toLowerCase()}function he(h){return h===!1||h==null?h:l.isArray(h)?h.map(he):String(h)}function ss(h){const m=Object.create(null),f=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let g;for(;g=f.exec(h);)m[g[1]]=g[2];return m}const rs=h=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(h.trim());function Ae(h,m,f,g,Me){if(l.isFunction(g))return g.call(this,m,f);if(Me&&(m=f),!!l.isString(m)){if(l.isString(g))return m.indexOf(g)!==-1;if(l.isRegExp(g))return g.test(m)}}function is(h){return h.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(m,f,g)=>f.toUpperCase()+g)}function os(h,m){const f=l.toCamelCase(" "+m);["get","set","has"].forEach(g=>{Object.defineProperty(h,g+f,{value:function(Me,A,x){return this[g].call(this,m,Me,A,x)},configurable:!0})})}let k=class{constructor(h){h&&this.set(h)}set(h,m,f){const g=this;function Me(x,_,c){const u=Q(_);if(!u)throw new Error("header name must be a non-empty string");const i=l.findKey(g,u);(!i||g[i]===void 0||c===!0||c===void 0&&g[i]!==!1)&&(g[i||_]=he(x))}const A=(x,_)=>l.forEach(x,(c,u)=>Me(c,u,_));if(l.isPlainObject(h)||h instanceof this.constructor)A(h,m);else if(l.isString(h)&&(h=h.trim())&&!rs(h))A(ns(h),m);else if(l.isObject(h)&&l.isIterable(h)){let x={},_,c;for(const u of h){if(!l.isArray(u))throw TypeError("Object iterator must return a key-value pair");x[c=u[0]]=(_=x[c])?l.isArray(_)?[..._,u[1]]:[_,u[1]]:u[1]}A(x,m)}else h!=null&&Me(m,h,f);return this}get(h,m){if(h=Q(h),h){const f=l.findKey(this,h);if(f){const g=this[f];if(!m)return g;if(m===!0)return ss(g);if(l.isFunction(m))return m.call(this,g,f);if(l.isRegExp(m))return m.exec(g);throw new TypeError("parser must be boolean|regexp|function")}}}has(h,m){if(h=Q(h),h){const f=l.findKey(this,h);return!!(f&&this[f]!==void 0&&(!m||Ae(this,this[f],f,m)))}return!1}delete(h,m){const f=this;let g=!1;function Me(A){if(A=Q(A),A){const x=l.findKey(f,A);x&&(!m||Ae(f,f[x],x,m))&&(delete f[x],g=!0)}}return l.isArray(h)?h.forEach(Me):Me(h),g}clear(h){const m=Object.keys(this);let f=m.length,g=!1;for(;f--;){const Me=m[f];(!h||Ae(this,this[Me],Me,h,!0))&&(delete this[Me],g=!0)}return g}normalize(h){const m=this,f={};return l.forEach(this,(g,Me)=>{const A=l.findKey(f,Me);if(A){m[A]=he(g),delete m[Me];return}const x=h?is(Me):String(Me).trim();x!==Me&&delete m[Me],m[x]=he(g),f[x]=!0}),this}concat(...h){return this.constructor.concat(this,...h)}toJSON(h){const m=Object.create(null);return l.forEach(this,(f,g)=>{f!=null&&f!==!1&&(m[g]=h&&l.isArray(f)?f.join(", "):f)}),m}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([h,m])=>h+": "+m).join(`
|
1120
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(h){return h instanceof this?h:new this(h)}static concat(h,...m){const f=new this(h);return m.forEach(g=>f.set(g)),f}static accessor(h){const m=(this[Qe]=this[Qe]={accessors:{}}).accessors,f=this.prototype;function g(Me){const A=Q(Me);m[A]||(os(f,Me),m[A]=!0)}return l.isArray(h)?h.forEach(g):g(h),this}};k.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),l.reduceDescriptors(k.prototype,({value:h},m)=>{let f=m[0].toUpperCase()+m.slice(1);return{get:()=>h,set(g){this[f]=g}}}),l.freezeMethods(k);function Oe(h,m){const f=this||re,g=m||f,Me=k.from(g.headers);let A=g.data;return l.forEach(h,function(x){A=x.call(f,A,Me.normalize(),m?m.status:void 0)}),Me.normalize(),A}function Pt(h){return!!(h&&h.__CANCEL__)}function X(h,m,f){y.call(this,h??"canceled",y.ERR_CANCELED,m,f),this.name="CanceledError"}l.inherits(X,y,{__CANCEL__:!0});function It(h,m,f){const g=f.config.validateStatus;!f.status||!g||g(f.status)?h(f):m(new y("Request failed with status code "+f.status,[y.ERR_BAD_REQUEST,y.ERR_BAD_RESPONSE][Math.floor(f.status/100)-4],f.config,f.request,f))}function cs(h){const m=/^([-+\w]{1,25})(:?\/\/|:)/.exec(h);return m&&m[1]||""}function as(h,m){h=h||10;const f=new Array(h),g=new Array(h);let Me=0,A=0,x;return m=m!==void 0?m:1e3,function(_){const c=Date.now(),u=g[A];x||(x=c),f[Me]=_,g[Me]=c;let i=A,o=0;for(;i!==Me;)o+=f[i++],i=i%h;if(Me=(Me+1)%h,Me===A&&(A=(A+1)%h),c-x<m)return;const r=u&&c-u;return r?Math.round(o*1e3/r):void 0}}function ls(h,m){let f=0,g=1e3/m,Me,A;const x=(_,c=Date.now())=>{f=c,Me=null,A&&(clearTimeout(A),A=null),h(..._)};return[(..._)=>{const c=Date.now(),u=c-f;u>=g?x(_,c):(Me=_,A||(A=setTimeout(()=>{A=null,x(Me)},g-u)))},()=>Me&&x(Me)]}const fe=(h,m,f=3)=>{let g=0;const Me=as(50,250);return ls(A=>{const x=A.loaded,_=A.lengthComputable?A.total:void 0,c=x-g,u=Me(c),i=x<=_;g=x;const o={loaded:x,total:_,progress:_?x/_:void 0,bytes:c,rate:u||void 0,estimated:u&&_&&i?(_-x)/u:void 0,event:A,lengthComputable:_!=null,[m?"download":"upload"]:!0};h(o)},f)},Ze=(h,m)=>{const f=h!=null;return[g=>m[0]({lengthComputable:f,total:h,loaded:g}),m[1]]},Ye=h=>(...m)=>l.asap(()=>h(...m)),us=O.hasStandardBrowserEnv?((h,m)=>f=>(f=new URL(f,O.origin),h.protocol===f.protocol&&h.host===f.host&&(m||h.port===f.port)))(new URL(O.origin),O.navigator&&/(msie|trident)/i.test(O.navigator.userAgent)):()=>!0,hs=O.hasStandardBrowserEnv?{write(h,m,f,g,Me,A){const x=[h+"="+encodeURIComponent(m)];l.isNumber(f)&&x.push("expires="+new Date(f).toGMTString()),l.isString(g)&&x.push("path="+g),l.isString(Me)&&x.push("domain="+Me),A===!0&&x.push("secure"),document.cookie=x.join("; ")},read(h){const m=document.cookie.match(new RegExp("(^|;\\s*)("+h+")=([^;]*)"));return m?decodeURIComponent(m[3]):null},remove(h){this.write(h,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function ds(h){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(h)}function fs(h,m){return m?h.replace(/\/?\/$/,"")+"/"+m.replace(/^\/+/,""):h}function Lt(h,m,f){let g=!ds(m);return h&&(g||f==!1)?fs(h,m):m}const et=h=>h instanceof k?{...h}:h;function V(h,m){m=m||{};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 Me(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 x(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 m)return g(u,i);if(o in h)return g(void 0,u)}const c={url:A,method:A,data:A,baseURL:x,transformRequest:x,transformResponse:x,paramsSerializer:x,timeout:x,timeoutMessage:x,withCredentials:x,withXSRFToken:x,adapter:x,responseType:x,xsrfCookieName:x,xsrfHeaderName:x,onUploadProgress:x,onDownloadProgress:x,decompress:x,maxContentLength:x,maxBodyLength:x,beforeRedirect:x,transport:x,httpAgent:x,httpsAgent:x,cancelToken:x,socketPath:x,responseEncoding:x,validateStatus:_,headers:(u,i,o)=>Me(et(u),et(i),o,!0)};return l.forEach(Object.keys({...h,...m}),function(u){const i=c[u]||Me,o=i(h[u],m[u],u);l.isUndefined(o)&&i!==_||(f[u]=o)}),f}const jt=h=>{const m=V({},h);let{data:f,withXSRFToken:g,xsrfHeaderName:Me,xsrfCookieName:A,headers:x,auth:_}=m;m.headers=x=k.from(x),m.url=Tt(Lt(m.baseURL,m.url,m.allowAbsoluteUrls),h.params,h.paramsSerializer),_&&x.set("Authorization","Basic "+btoa((_.username||"")+":"+(_.password?unescape(encodeURIComponent(_.password)):"")));let c;if(l.isFormData(f)){if(O.hasStandardBrowserEnv||O.hasStandardBrowserWebWorkerEnv)x.setContentType(void 0);else if((c=x.getContentType())!==!1){const[u,...i]=c?c.split(";").map(o=>o.trim()).filter(Boolean):[];x.setContentType([u||"multipart/form-data",...i].join("; "))}}if(O.hasStandardBrowserEnv&&(g&&l.isFunction(g)&&(g=g(m)),g||g!==!1&&us(m.url))){const u=Me&&A&&hs.read(A);u&&x.set(Me,u)}return m},ps=typeof XMLHttpRequest<"u",ms=ps&&function(h){return new Promise(function(m,f){const g=jt(h);let Me=g.data;const A=k.from(g.headers).normalize();let{responseType:x,onUploadProgress:_,onDownloadProgress:c}=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 v=k.from("getAllResponseHeaders"in n&&n.getAllResponseHeaders()),E={data:!x||x==="text"||x==="json"?n.responseText:n.response,status:n.status,statusText:n.statusText,headers:v,config:h,request:n};It(function(L){m(L),e()},function(L){f(L),e()},E),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 y("Request aborted",y.ECONNABORTED,h,n)),n=null)},n.onerror=function(){f(new y("Network Error",y.ERR_NETWORK,h,n)),n=null},n.ontimeout=function(){let v=g.timeout?"timeout of "+g.timeout+"ms exceeded":"timeout exceeded";const E=g.transitional||kt;g.timeoutErrorMessage&&(v=g.timeoutErrorMessage),f(new y(v,E.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,h,n)),n=null},Me===void 0&&A.setContentType(null),"setRequestHeader"in n&&l.forEach(A.toJSON(),function(v,E){n.setRequestHeader(E,v)}),l.isUndefined(g.withCredentials)||(n.withCredentials=!!g.withCredentials),x&&x!=="json"&&(n.responseType=g.responseType),c&&([o,t]=fe(c,!0),n.addEventListener("progress",o)),_&&n.upload&&([i,r]=fe(_),n.upload.addEventListener("progress",i),n.upload.addEventListener("loadend",r)),(g.cancelToken||g.signal)&&(u=v=>{n&&(f(!v||v.type?new X(null,h,n):v),n.abort(),n=null)},g.cancelToken&&g.cancelToken.subscribe(u),g.signal&&(g.signal.aborted?u():g.signal.addEventListener("abort",u)));const p=cs(g.url);if(p&&O.protocols.indexOf(p)===-1){f(new y("Unsupported protocol "+p+":",y.ERR_BAD_REQUEST,h));return}n.send(Me||null)})},gs=(h,m)=>{const{length:f}=h=h?h.filter(Boolean):[];if(m||f){let g=new AbortController,Me;const A=function(u){if(!Me){Me=!0,_();const i=u instanceof Error?u:this.reason;g.abort(i instanceof y?i:new X(i instanceof Error?i.message:i))}};let x=m&&setTimeout(()=>{x=null,A(new y(`timeout ${m} of ms exceeded`,y.ETIMEDOUT))},m);const _=()=>{h&&(x&&clearTimeout(x),x=null,h.forEach(u=>{u.unsubscribe?u.unsubscribe(A):u.removeEventListener("abort",A)}),h=null)};h.forEach(u=>u.addEventListener("abort",A));const{signal:c}=g;return c.unsubscribe=()=>l.asap(_),c}},bs=function*(h,m){let f=h.byteLength;if(f<m){yield h;return}let g=0,Me;for(;g<f;)Me=g+m,yield h.slice(g,Me),g=Me},ys=async function*(h,m){for await(const f of ws(h))yield*bs(f,m)},ws=async function*(h){if(h[Symbol.asyncIterator]){yield*h;return}const m=h.getReader();try{for(;;){const{done:f,value:g}=await m.read();if(f)break;yield g}}finally{await m.cancel()}},tt=(h,m,f,g)=>{const Me=ys(h,m);let A=0,x,_=c=>{x||(x=!0,g&&g(c))};return new ReadableStream({async pull(c){try{const{done:u,value:i}=await Me.next();if(u){_(),c.close();return}let o=i.byteLength;if(f){let r=A+=o;f(r)}c.enqueue(new Uint8Array(i))}catch(u){throw _(u),u}},cancel(c){return _(c),Me.return()}},{highWaterMark:2})},we=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",vt=we&&typeof ReadableStream=="function",_s=we&&(typeof TextEncoder=="function"?(h=>m=>h.encode(m))(new TextEncoder):async h=>new Uint8Array(await new Response(h).arrayBuffer())),$t=(h,...m)=>{try{return!!h(...m)}catch{return!1}},Es=vt&&$t(()=>{let h=!1;const m=new Request(O.origin,{body:new ReadableStream,method:"POST",get duplex(){return h=!0,"half"}}).headers.has("Content-Type");return h&&!m}),nt=64*1024,Ie=vt&&$t(()=>l.isReadableStream(new Response("").body)),pe={stream:Ie&&(h=>h.body)};we&&(h=>{["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!pe[m]&&(pe[m]=l.isFunction(h[m])?f=>f[m]():(f,g)=>{throw new y(`Response type '${m}' is not supported`,y.ERR_NOT_SUPPORT,g)})})})(new Response);const Ss=async h=>{if(h==null)return 0;if(l.isBlob(h))return h.size;if(l.isSpecCompliantForm(h))return(await new Request(O.origin,{method:"POST",body:h}).arrayBuffer()).byteLength;if(l.isArrayBufferView(h)||l.isArrayBuffer(h))return h.byteLength;if(l.isURLSearchParams(h)&&(h=h+""),l.isString(h))return(await _s(h)).byteLength},xs=async(h,m)=>l.toFiniteNumber(h.getContentLength())??Ss(m),Rs=we&&(async h=>{let{url:m,method:f,data:g,signal:Me,cancelToken:A,timeout:x,onDownloadProgress:_,onUploadProgress:c,responseType:u,headers:i,withCredentials:o="same-origin",fetchOptions:r}=jt(h);u=u?(u+"").toLowerCase():"text";let t=gs([Me,A&&A.toAbortSignal()],x),e;const n=t&&t.unsubscribe&&(()=>{t.unsubscribe()});let a;try{if(c&&Es&&f!=="get"&&f!=="head"&&(a=await xs(i,g))!==0){let S=new Request(m,{method:"POST",body:g,duplex:"half"}),b;if(l.isFormData(g)&&(b=S.headers.get("content-type"))&&i.setContentType(b),S.body){const[oe,Se]=Ze(a,fe(Ye(c)));g=tt(S.body,nt,oe,Se)}}l.isString(o)||(o=o?"include":"omit");const p="credentials"in Request.prototype;e=new Request(m,{...r,signal:t,method:f.toUpperCase(),headers:i.normalize().toJSON(),body:g,duplex:"half",credentials:p?o:void 0});let v=await fetch(e,r);const E=Ie&&(u==="stream"||u==="response");if(Ie&&(_||E&&n)){const S={};["status","statusText","headers"].forEach(q=>{S[q]=v[q]});const b=l.toFiniteNumber(v.headers.get("content-length")),[oe,Se]=_&&Ze(b,fe(Ye(_),!0))||[];v=new Response(tt(v.body,nt,oe,()=>{Se&&Se(),n&&n()}),S)}u=u||"text";let L=await pe[l.findKey(pe,u)||"text"](v,h);return!E&&n&&n(),await new Promise((S,b)=>{It(S,b,{data:L,headers:k.from(v.headers),status:v.status,statusText:v.statusText,config:h,request:e})})}catch(p){throw n&&n(),p&&p.name==="TypeError"&&/Load failed|fetch/i.test(p.message)?Object.assign(new y("Network Error",y.ERR_NETWORK,h,e),{cause:p.cause||p}):y.from(p,p&&p.code,h,e)}}),Le={http:Dn,xhr:ms,fetch:Rs};l.forEach(Le,(h,m)=>{if(h){try{Object.defineProperty(h,"name",{value:m})}catch{}Object.defineProperty(h,"adapterName",{value:m})}});const st=h=>`- ${h}`,As=h=>l.isFunction(h)||h===null||h===!1,Ft={getAdapter:h=>{h=l.isArray(h)?h:[h];const{length:m}=h;let f,g;const Me={};for(let A=0;A<m;A++){f=h[A];let x;if(g=f,!As(f)&&(g=Le[(x=String(f)).toLowerCase()],g===void 0))throw new y(`Unknown adapter '${x}'`);if(g)break;Me[x||"#"+A]=g}if(!g){const A=Object.entries(Me).map(([_,c])=>`adapter ${_} `+(c===!1?"is not supported by the environment":"is not available in the build"));let x=m?A.length>1?`since :
|
1121
|
+
`+A.map(st).join(`
|
1122
|
+
`):" "+st(A[0]):"as no adapter specified";throw new y("There is no suitable adapter to dispatch the request "+x,"ERR_NOT_SUPPORT")}return g},adapters:Le};function Ce(h){if(h.cancelToken&&h.cancelToken.throwIfRequested(),h.signal&&h.signal.aborted)throw new X(null,h)}function rt(h){return Ce(h),h.headers=k.from(h.headers),h.data=Oe.call(h,h.transformRequest),["post","put","patch"].indexOf(h.method)!==-1&&h.headers.setContentType("application/x-www-form-urlencoded",!1),Ft.getAdapter(h.adapter||re.adapter)(h).then(function(m){return Ce(h),m.data=Oe.call(h,h.transformResponse,m),m.headers=k.from(m.headers),m},function(m){return Pt(m)||(Ce(h),m&&m.response&&(m.response.data=Oe.call(h,h.transformResponse,m.response),m.response.headers=k.from(m.response.headers))),Promise.reject(m)})}const Ut="1.11.0",_e={};["object","boolean","number","function","string","symbol"].forEach((h,m)=>{_e[h]=function(f){return typeof f===h||"a"+(m<1?"n ":" ")+h}});const it={};_e.transitional=function(h,m,f){function g(Me,A){return"[Axios v"+Ut+"] Transitional option '"+Me+"'"+A+(f?". "+f:"")}return(Me,A,x)=>{if(h===!1)throw new y(g(A," has been removed"+(m?" in "+m:"")),y.ERR_DEPRECATED);return m&&!it[A]&&(it[A]=!0,console.warn(g(A," has been deprecated since v"+m+" and will be removed in the near future"))),h?h(Me,A,x):!0}},_e.spelling=function(h){return(m,f)=>(console.warn(`${f} is likely a misspelling of ${h}`),!0)};function Os(h,m,f){if(typeof h!="object")throw new y("options must be an object",y.ERR_BAD_OPTION_VALUE);const g=Object.keys(h);let Me=g.length;for(;Me-- >0;){const A=g[Me],x=m[A];if(x){const _=h[A],c=_===void 0||x(_,A,h);if(c!==!0)throw new y("option "+A+" must be "+c,y.ERR_BAD_OPTION_VALUE);continue}if(f!==!0)throw new y("Unknown option "+A,y.ERR_BAD_OPTION)}}const de={assertOptions:Os,validators:_e},F=de.validators;let z=class{constructor(h){this.defaults=h||{},this.interceptors={request:new Ge,response:new Ge}}async request(h,m){try{return await this._request(h,m)}catch(f){if(f instanceof Error){let g={};Error.captureStackTrace?Error.captureStackTrace(g):g=new Error;const Me=g.stack?g.stack.replace(/^.+\n/,""):"";try{f.stack?Me&&!String(f.stack).endsWith(Me.replace(/^.+\n.+\n/,""))&&(f.stack+=`
|
1123
|
+
`+Me):f.stack=Me}catch{}}throw f}}_request(h,m){typeof h=="string"?(m=m||{},m.url=h):m=h||{},m=V(this.defaults,m);const{transitional:f,paramsSerializer:g,headers:Me}=m;f!==void 0&&de.assertOptions(f,{silentJSONParsing:F.transitional(F.boolean),forcedJSONParsing:F.transitional(F.boolean),clarifyTimeoutError:F.transitional(F.boolean)},!1),g!=null&&(l.isFunction(g)?m.paramsSerializer={serialize:g}:de.assertOptions(g,{encode:F.function,serialize:F.function},!0)),m.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?m.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:m.allowAbsoluteUrls=!0),de.assertOptions(m,{baseUrl:F.spelling("baseURL"),withXsrfToken:F.spelling("withXSRFToken")},!0),m.method=(m.method||this.defaults.method||"get").toLowerCase();let A=Me&&l.merge(Me.common,Me[m.method]);Me&&l.forEach(["delete","get","head","post","put","patch","common"],t=>{delete Me[t]}),m.headers=k.concat(A,Me);const x=[];let _=!0;this.interceptors.request.forEach(function(t){typeof t.runWhen=="function"&&t.runWhen(m)===!1||(_=_&&t.synchronous,x.unshift(t.fulfilled,t.rejected))});const c=[];this.interceptors.response.forEach(function(t){c.push(t.fulfilled,t.rejected)});let u,i=0,o;if(!_){const t=[rt.bind(this),void 0];for(t.unshift(...x),t.push(...c),o=t.length,u=Promise.resolve(m);i<o;)u=u.then(t[i++],t[i++]);return u}o=x.length;let r=m;for(i=0;i<o;){const t=x[i++],e=x[i++];try{r=t(r)}catch(n){e.call(this,n);break}}try{u=rt.call(this,r)}catch(t){return Promise.reject(t)}for(i=0,o=c.length;i<o;)u=u.then(c[i++],c[i++]);return u}getUri(h){h=V(this.defaults,h);const m=Lt(h.baseURL,h.url,h.allowAbsoluteUrls);return Tt(m,h.params,h.paramsSerializer)}};l.forEach(["delete","get","head","options"],function(h){z.prototype[h]=function(m,f){return this.request(V(f||{},{method:h,url:m,data:(f||{}).data}))}}),l.forEach(["post","put","patch"],function(h){function m(f){return function(g,Me,A){return this.request(V(A||{},{method:h,headers:f?{"Content-Type":"multipart/form-data"}:{},url:g,data:Me}))}}z.prototype[h]=m(),z.prototype[h+"Form"]=m(!0)});let Cs=class Ci{constructor(m){if(typeof m!="function")throw new TypeError("executor must be a function.");let f;this.promise=new Promise(function(Me){f=Me});const g=this;this.promise.then(Me=>{if(!g._listeners)return;let A=g._listeners.length;for(;A-- >0;)g._listeners[A](Me);g._listeners=null}),this.promise.then=Me=>{let A;const x=new Promise(_=>{g.subscribe(_),A=_}).then(Me);return x.cancel=function(){g.unsubscribe(A)},x},m(function(Me,A,x){g.reason||(g.reason=new X(Me,A,x),f(g.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(m){if(this.reason){m(this.reason);return}this._listeners?this._listeners.push(m):this._listeners=[m]}unsubscribe(m){if(!this._listeners)return;const f=this._listeners.indexOf(m);f!==-1&&this._listeners.splice(f,1)}toAbortSignal(){const m=new AbortController,f=g=>{m.abort(g)};return this.subscribe(f),m.signal.unsubscribe=()=>this.unsubscribe(f),m.signal}static source(){let m;return{token:new Ci(function(f){m=f}),cancel:m}}};function Ts(h){return function(m){return h.apply(null,m)}}function ks(h){return l.isObject(h)&&h.isAxiosError===!0}const je={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(je).forEach(([h,m])=>{je[m]=h});function qt(h){const m=new z(h),f=gt(z.prototype.request,m);return l.extend(f,z.prototype,m,{allOwnKeys:!0}),l.extend(f,m,null,{allOwnKeys:!0}),f.create=function(g){return qt(V(h,g))},f}const R=qt(re);R.Axios=z,R.CanceledError=X,R.CancelToken=Cs,R.isCancel=Pt,R.VERSION=Ut,R.toFormData=ye,R.AxiosError=y,R.Cancel=R.CanceledError,R.all=function(h){return Promise.all(h)},R.spread=Ts,R.isAxiosError=ks,R.mergeConfig=V,R.AxiosHeaders=k,R.formToJSON=h=>Nt(l.isHTMLForm(h)?new FormData(h):h),R.getAdapter=Ft.getAdapter,R.HttpStatusCode=je,R.default=R;const{Axios:Vr,AxiosError:Jr,CanceledError:Wr,isCancel:Kr,CancelToken:Xr,VERSION:Gr,all:Qr,Cancel:Zr,isAxiosError:Yr,spread:ei,toFormData:ti,AxiosHeaders:ni,HttpStatusCode:si,formToJSON:ri,getAdapter:ii,mergeConfig:oi}=R,Be=R.create({baseURL:location.origin,timeout:6e4,params:{}});Be.interceptors.response.use(h=>h,h=>{var m,f,g,Me,A,x,_,c,u,i,o;if(h.response){if(h.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(e){e&&OpenC3Auth.setTokens()}),h.response.config.headers["Ignore-Errors"]&&h.response.config.headers["Ignore-Errors"].includes(h.response.status.toString()))return Promise.reject(h);let r=`HTTP ${h.response.status} - `;(m=h.response)!=null&&m.statusText&&(r+=`${h.response.statusText} `),(g=(f=h.response)==null?void 0:f.config)!=null&&g.data&&(r+=`${h.response.config.data} `),(A=(Me=h.response)==null?void 0:Me.data)!=null&&A.message?r+=`${h.response.data.message}`:(_=(x=h.response)==null?void 0:x.data)!=null&&_.exception?r+=`${h.response.data.exception}`:(i=(u=(c=h.response)==null?void 0:c.data)==null?void 0:u.error)!=null&&i.message?(h.response.data.error.class&&(r+=`${h.response.data.error.class} `),r+=`${h.response.data.error.message}`):r+=`${(o=h.response)==null?void 0:o.data}`;const{$cosmosNotify:t}=window;throw t&&t.serious({title:"Network error",body:r}),h}else throw h});const ce=async function(h,m,{data:f,params:g={},headers:Me,noAuth:A=!1,noScope:x=!1,onUploadProgress:_=!1}={}){if(!A){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}Me.Authorization=localStorage.openc3Token}return Me.manual=!0,!x&&!g.scope&&(g.scope=window.openc3Scope),Be({method:h,url:m,data:f,params:g,headers:Me,onUploadProgress:_})},ve={Accept:"application/json"},ot={...ve,"Content-Type":"application/json"},ci={get:function(h,{params:m,headers:f=ve,noScope:g,noAuth:Me,onUploadProgress:A}={}){return ce("get",h,{params:m,headers:f,noScope:g,noAuth:Me,onUploadProgress:A})},put:function(h,{data:m,params:f,headers:g=ot,noScope:Me,noAuth:A,onUploadProgress:x}={}){return ce("put",h,{data:m,params:f,headers:g,noScope:Me,noAuth:A,onUploadProgress:x})},post:function(h,{data:m,params:f,headers:g=ot,noScope:Me,noAuth:A,onUploadProgress:x}={}){return ce("post",h,{data:m,params:f,headers:g,noScope:Me,noAuth:A,onUploadProgress:x})},delete:function(h,{params:m,headers:f=ve,noScope:g,noAuth:Me,onUploadProgress:A}={}){return ce("delete",h,{params:m,headers:f,noScope:g,noAuth:Me,onUploadProgress:A})}};let Ee=()=>({emit(h,...m){for(let f=this.events[h]||[],g=0,Me=f.length;g<Me;g++)f[g](...m)},events:{},on(h,m){var f;return((f=this.events)[h]||(f[h]=[])).push(m),()=>{var g;this.events[h]=(g=this.events[h])==null?void 0:g.filter(Me=>m!==Me)}}});class ie extends Error{constructor(m,f){m instanceof Error?(super(m.message),this.cause=m):super(m),this.reason=f,this.name="ReasonError"}}function Bt(h){return h?`{${Object.keys(h).sort().filter(m=>h[m]!==void 0).map(m=>{let f=JSON.stringify(h[m]);return`${JSON.stringify(m)}:${f}`}).join(",")}}`:""}class Is{constructor(m){this.channel=m,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",m=>{if(m.type==="info"){this._state||(this._state=this.stateFromInfo(m));return}this._state&&(m.type==="join"?this._state[m.id]=m.info:m.type==="leave"&&delete this._state[m.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(m=>m()),this.listeners.length=0}async join(m,f){if(!this._info)return this._info={id:m,info:f},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let m=await this.channel.perform("$presence:leave");return delete this._info,m}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let m=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(m),this._state}finally{delete this._promise}}stateFromInfo(m){return m.records.reduce((f,{id:g,info:Me})=>(f[g]=Me,f),{})}}const B=Symbol("state");class Mt{constructor(m={}){this.emitter=Ee(),this.params=Object.freeze(m),this.presence=new Is(this),this.initialConnect=!0,this[B]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=Bt({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[B]}attached(m){if(this.receiver){if(this.receiver!==m)throw Error("Already connected to a different receiver");return!1}return this.receiver=m,!0}connecting(){this[B]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[B]="connected";let m=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:m})):this.emit("connect",{reconnect:!0,restored:m})}restored(){if(this.state==="connected")throw Error("Already connected");this[B]="connected";let m=!0,f=!0;this.initialConnect=!1,this.emit("connect",{reconnect:f,restored:m})}disconnected(m){this.state==="disconnected"||this.state==="closed"||(this[B]="disconnected",this.presence.reset(),this.emit("disconnect",m))}closed(m){this.state!=="closed"&&(this[B]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",m))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(m,f){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,m,f)}async send(m){return this.perform(void 0,m)}async whisper(m){try{await this.perform("$whisper",m)}catch(f){let g=this.receiver?this.receiver.logger:null;g&&g.warn("whisper failed: ",f)}}receive(m,f){this.emit("message",m,f)}on(m,f){return this.emitter.on(m,f)}once(m,f){let g=this.emitter.on(m,(...Me)=>{g(),f(...Me)});return g}emit(m,...f){return this.emitter.emit(m,...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((m,f)=>{let g=[()=>delete this._pendingSubscribe];g.push(this.on("connect",()=>{g.forEach(Me=>Me()),m()})),g.push(this.on("close",Me=>{g.forEach(A=>A()),f(Me||new ie("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class He extends Mt{constructor(m,f){super(f),this.channelId=m}set channelId(m){this._channelId=m}get channelId(){return this._channelId}}j(He,"identifier","__ghost__");const Bs="$pubsub";class $e extends Mt{async perform(m,f){if(m.startsWith("$"))return super.perform(m,f);throw Error("not implemented")}}j($e,"identifier",Bs);function ee(h){return ar.test(h)}const ar=/^-?[0-9]+$/;function Kt(h){return lr.test(h)}const lr=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function Xt(h,m){if(ee(h))return Number.isSafeInteger(Number.parseInt(h,10));const f=Number.parseFloat(h),g=String(f);if(h===g)return!0;const Me=ht(h),A=ht(g);return!!(Me===A||(m==null?void 0:m.approx)===!0&&!ee(h)&&A.length>=14&&Me.startsWith(A.substring(0,14)))}let Z=(function(h){return h.underflow="underflow",h.overflow="overflow",h.truncate_integer="truncate_integer",h.truncate_float="truncate_float",h})({});function ur(h){if(Xt(h,{approx:!1}))return;if(ee(h))return Z.truncate_integer;const m=Number.parseFloat(h);return Number.isFinite(m)?m===0?Z.underflow:Z.truncate_float:Z.overflow}function ht(h){const{start:m,end:f}=hr(h),g=h.substring(m,f),Me=g.indexOf(".");return Me===-1?g:g.substring(0,Me)+g.substring(Me+1)}function hr(h){let m=0;for(h[0]==="-"&&m++;h[m]==="0"||h[m]===".";)m++;let f=h.lastIndexOf("e");for(f===-1&&(f=h.lastIndexOf("E")),f===-1&&(f=h.length);(h[f-1]==="0"||h[f-1]===".")&&f>m;)f--;return{start:m,end:f}}class dr{constructor(m){if(j(this,"isLosslessNumber",!0),!Kt(m))throw new Error(`Invalid number (value: "${m}")`);this.value=m}valueOf(){const m=ur(this.value);if(m===void 0||m===Z.truncate_float)return Number.parseFloat(this.value);if(ee(this.value))return BigInt(this.value);throw new Error(`Cannot safely convert to number: the value '${this.value}' would ${m} and become ${Number.parseFloat(this.value)}`)}toString(){return this.value}}function fr(h){return h&&typeof h=="object"&&h.isLosslessNumber||!1}function pr(h){return new dr(h)}function mr(h,m){return ze({"":h},"",h,m)}function ze(h,m,f,g){return Array.isArray(f)?g.call(h,m,br(f,g)):f&&typeof f=="object"&&!fr(f)?g.call(h,m,gr(f,g)):g.call(h,m,f)}function gr(h,m){for(const f of Object.keys(h)){const g=ze(h,f,h[f],m);g!==void 0?h[f]=g:delete h[f]}return h}function br(h,m){for(let f=0;f<h.length;f++)h[f]=ze(h,String(f),h[f],m);return h}function yr(h,m){let f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:pr,g=0;const Me=_();return e(Me),a(),m?mr(Me,m):Me;function A(){if(h.charCodeAt(g)===Rr){g++,u();const C={};let w=!0;for(;g<h.length&&h.charCodeAt(g)!==ft;){w?w=!1:(r(),u());const D=g,Re=i();if(Re===void 0){E();return}u(),t();const at=_();if(at===void 0){q();return}Object.prototype.hasOwnProperty.call(C,Re)&&!Fe(at,C[Re])&&L(Re,D+1),C[Re]=at}return h.charCodeAt(g)!==ft&&S(),g++,C}}function x(){if(h.charCodeAt(g)===Ar){g++,u();const C=[];let w=!0;for(;g<h.length&&h.charCodeAt(g)!==pt;){w?w=!1:r();const D=_();n(D),C.push(D)}return h.charCodeAt(g)!==pt&&b(),g++,C}}function _(){u();const C=i()??o()??A()??x()??c("true",!0)??c("false",!1)??c("null",null);return u(),C}function c(C,w){if(h.slice(g,g+C.length)===C)return g+=C.length,w}function u(){for(;wr(h.charCodeAt(g));)g++}function i(){if(h.charCodeAt(g)===Te){g++;let C="";for(;g<h.length&&h.charCodeAt(g)!==Te;){if(h.charCodeAt(g)===xr){const w=h[g+1],D=Sr[w];D!==void 0?(C+=D,g++):w==="u"?ae(h.charCodeAt(g+2))&&ae(h.charCodeAt(g+3))&&ae(h.charCodeAt(g+4))&&ae(h.charCodeAt(g+5))?(C+=String.fromCharCode(Number.parseInt(h.slice(g+2,g+6),16)),g+=5):U(g):Se(g)}else Er(h.charCodeAt(g))?C+=h[g]:oe(h[g]);g++}return v(),g++,C}}function o(){const C=g;if(h.charCodeAt(g)===mt&&(g++,p(C)),h.charCodeAt(g)===Ve)g++;else if(_r(h.charCodeAt(g)))for(g++;le(h.charCodeAt(g));)g++;if(h.charCodeAt(g)===Lr)for(g++,p(C);le(h.charCodeAt(g));)g++;if(h.charCodeAt(g)===Ur||h.charCodeAt(g)===Fr)for(g++,(h.charCodeAt(g)===mt||h.charCodeAt(g)===Nr)&&g++,p(C);le(h.charCodeAt(g));)g++;if(g>C)return f(h.slice(C,g))}function r(){if(h.charCodeAt(g)!==Ir)throw new SyntaxError(`Comma ',' expected after value ${P()}`);g++}function t(){if(h.charCodeAt(g)!==jr)throw new SyntaxError(`Colon ':' expected after property name ${P()}`);g++}function e(C){if(C===void 0)throw new SyntaxError(`JSON value expected ${P()}`)}function n(C){if(C===void 0)throw new SyntaxError(`Array item expected ${P()}`)}function a(){if(g<h.length)throw new SyntaxError(`Expected end of input ${P()}`)}function p(C){if(!le(h.charCodeAt(g))){const w=h.slice(C,g);throw new SyntaxError(`Invalid number '${w}', expecting a digit ${P()}`)}}function v(){if(h.charCodeAt(g)!==Te)throw new SyntaxError(`End of string '"' expected ${P()}`)}function E(){throw new SyntaxError(`Quoted object key expected ${P()}`)}function L(C,w){throw new SyntaxError(`Duplicate key '${C}' encountered at position ${w}`)}function S(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${P()}`)}function b(){throw new SyntaxError(`Array item or end of array ']' expected ${P()}`)}function oe(C){throw new SyntaxError(`Invalid character '${C}' ${lt()}`)}function Se(C){const w=h.slice(C,C+2);throw new SyntaxError(`Invalid escape character '${w}' ${lt()}`)}function q(){throw new SyntaxError(`Object value expected after ':' ${lt()}`)}function U(C){const w=h.slice(C,C+6);throw new SyntaxError(`Invalid unicode character '${w}' ${lt()}`)}function lt(){return`at position ${g}`}function G(){return g<h.length?`but got '${h[g]}'`:"but reached end of input"}function P(){return`${G()} ${lt()}`}}function wr(h){return h===Or||h===Cr||h===Tr||h===kr}function ae(h){return h>=Ve&&h<=Je||h>=vr&&h<=Dr||h>=$r&&h<=qr}function le(h){return h>=Ve&&h<=Je}function _r(h){return h>=Pr&&h<=Je}function Er(h){return h>=32&&h<=1114111}function Fe(h,m){return h===m?!0:Array.isArray(h)&&Array.isArray(m)?h.length===m.length&&h.every((f,g)=>Fe(f,m[g])):dt(h)&&dt(m)?[...new Set([...Object.keys(h),...Object.keys(m)])].every(f=>Fe(h[f],m[f])):!1}function dt(h){return typeof h=="object"&&h!==null}const Sr={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
1124
|
+
`,r:"\r",t:" "},xr=92,Rr=123,ft=125,Ar=91,pt=93,Or=32,Cr=10,Tr=9,kr=13,Te=34,Nr=43,mt=45,Ve=48,Pr=49,Je=57,Ir=44,Lr=46,jr=58,vr=65,$r=97,Fr=69,Ur=101,Dr=70,qr=102;function Gt(h,m,f,g){return Me(h);function Me(c,u){if(Array.isArray(g)){const i=g.find(o=>o.test(c));if(i){const o=i.stringify(c);if(typeof o!="string"||!Kt(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 c=="boolean"||typeof c=="number"||typeof c=="string"||c===null||c instanceof Date||c instanceof Boolean||c instanceof Number||c instanceof String)return JSON.stringify(c);if(c!=null&&c.isLosslessNumber||typeof c=="bigint")return c.toString();if(Array.isArray(c))return A(c);if(c&&typeof c=="object")return x(c)}function A(c,u){if(c.length===0)return"[]";let i="[";for(let o=0;o<c.length;o++){const r=c[o];typeof r<"u"&&typeof r!="function"?i+=Me(r):i+="null",o<c.length-1&&(i+=",")}return i+="]",i}function x(c,u){if(typeof c.toJSON=="function")return Gt(c.toJSON(),m,f,void 0);const i=Array.isArray(m)?m.map(String):Object.keys(c);if(i.length===0)return"{}";let o=!0,r="{";for(const t of i){const e=c[t];if(_(t,e)){o?o=!1:r+=",";const n=JSON.stringify(t);r+=`${n}:`,r+=Me(e)}}return r+="}",r}function _(c,u){return typeof u<"u"&&typeof u!="function"&&typeof u!="symbol"}}function Br(h){return ee(h)&&!Xt(h)?BigInt(h):parseFloat(h)}class di{constructor(){j(this,"id",1)}async exec(m,f,g={},Me={},A=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return g.scope=window.openc3Scope,Me.manual=!0,(await Be.post("/openc3-api/api",{jsonrpc:"2.0",method:m,params:f,id:this.id,keyword_params:g},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...Me},timeout:A,transformRequest:[(x,_)=>Gt(x)],transformResponse:[x=>yr(x,void 0,Br)]})).data.result}catch(x){let _=new Error;throw x.response?(_.name=x.response.data.error.data.class,_.message=x.response.data.error.data.message,_.object=x.response.data.error):x.request?(_.name="Request error",_.message="Request error, no response received"):_=x,_}}decode_openc3_type(m){if(m!==null&&typeof m=="object"&&m.json_class=="Float"&&m.raw){if(m.raw=="NaN")return NaN;if(m.raw=="Infinity")return 1/0;if(m.raw=="-Infinity")return-1/0}return null}encode_openc3_type(m){return Number.isNaN(m)?{json_class:"Float",raw:"NaN"}:m==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:m==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(m=>{m&&(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(m){return this.exec("set_offline_access",[m])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(m,f){return this.exec("map_target_to_interface",[m,f])}connect_interface(m,...f){return f.length>0?this.exec("connect_interface",[m,...f]):this.exec("connect_interface",[m])}disconnect_interface(m){return this.exec("disconnect_interface",[m])}interface_cmd(m,f,...g){return this.exec("interface_cmd",[m,f,...g])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(m){return this.exec("connect_router",[m])}disconnect_router(m){return this.exec("disconnect_router",[m])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(m){return this.exec("get_tlm_cnts",[m])}get_item(m,f,g){return this.exec("get_item",[m,f,g])}get_param(m,f,g){return this.exec("get_param",[m,f,g])}get_parameter(m,f,g){return this.exec("get_param",[m,f,g])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(m){return this.exec("set_limits_set",[m])}get_target(m){return this.exec("get_target",[m])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(m,f){return this.exec("get_tlm",[m,f])}get_telemetry(m,f){return this.exec("get_tlm",[m,f])}get_all_tlm(m){return this.exec("get_all_tlm",[m])}get_all_telemetry(m){return this.exec("get_all_tlm",[m])}get_all_tlm_names(m,f=!1){return this.exec("get_all_tlm_names",[m],{hidden:f})}get_all_telemetry_names(m){return this.exec("get_all_tlm_names",[m])}get_all_tlm_item_names(m){return this.exec("get_all_tlm_item_names",[m])}async get_tlm_packet(m,f,g,Me=30){const A=await this.exec("get_tlm_packet",[m,f],{type:g,stale_time:Me});if(A!=null){let x=A.length,_=null;for(let c=0;c<x;c++)_=this.decode_openc3_type(A[c][1]),_!==null&&(A[c][1]=_)}return A}get_packet_derived_items(m,f){return this.exec("get_packet_derived_items",[m,f])}get_tlm_buffer(m,f){return this.exec("get_tlm_buffer",[m,f])}get_tlm_available(m){return this.exec("get_tlm_available",[m])}async get_tlm_values(m,f=30,g=null,Me=null,A=null){let x={stale_time:f};g!==null&&(x.cache_timeout=g),Me!==null&&(x.start_time=Me.toISOString()),A!==null&&(x.end_time=A.toISOString());const _=await this.exec("get_tlm_values",[m],x,{},1e4);if(_&&_.length>0){let c=_[0].length,u=null;for(let i=0;i<c;i++)u=this.decode_openc3_type(_[0][i]),u!==null&&(_[0][i]=u)}return _}get_limits(m,f,g){return this.exec("get_limits",[m,f,g])}async tlm(m,f,g,Me="CONVERTED"){let A=null;if(f===void 0)A=await this.exec("tlm",[m]);else if(g===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(f))A=await this.exec("tlm",[m],{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",[m,f,g],{type:Me});let x=this.decode_openc3_type(A);return x!==null&&(A=x),A}async inject_tlm(m,f,g=null,Me="CONVERTED"){await this.exec("inject_tlm",[m,f,g],{type:Me})}set_tlm(m,f,g,Me){return this.exec("set_tlm",[m,f,g],{type:Me})}override_tlm(m,f,g,Me){return this.exec("override_tlm",[m,f,g],{type:Me})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(m,f,g,Me){return this.exec("normalize_tlm",[m,f,g],{type:Me})}get_all_cmds(m){return this.exec("get_all_cmds",[m])}get_all_commands(m){return this.exec("get_all_cmds",[m])}get_all_cmd_names(m,f=!1){return this.exec("get_all_cmd_names",[m],{hidden:f})}get_all_command_names(m){return this.exec("get_all_cmd_names",[m])}get_cmd(m,f){return this.exec("get_cmd",[m,f])}get_command(m,f){return this.exec("get_cmd",[m,f])}get_cmd_cnts(m){return this.exec("get_cmd_cnts",[m])}get_cmd_value(m,f,g,Me="CONVERTED"){return this.exec("get_cmd_value",[m,f,g,Me])}get_cmd_buffer(m,f){return this.exec("get_cmd_buffer",[m,f])}_cmd(m,f,g,Me,A,x={}){let _=null;for(let c in Me)Object.prototype.hasOwnProperty.call(Me,c)&&(_=this.encode_openc3_type(Me[c]),_!==null&&(Me[c]=_));return this.exec(m,[f,g,Me],x,A)}get_cmd_hazardous(m,f,g,Me={}){return f===void 0?this.exec("get_cmd_hazardous",m,{},Me):this._cmd("get_cmd_hazardous",m,f,g,Me)}cmd(m,f,g,Me={},A={}){return f===void 0?this.exec("cmd",m,{},Me):this._cmd("cmd",m,f,g,Me,A)}cmd_no_range_check(m,f,g,Me={},A={}){return f===void 0?this.exec("cmd_no_range_check",m,{},Me,A):this._cmd("cmd_no_range_check",m,f,g,Me,A)}cmd_raw(m,f,g,Me={},A={}){return f===void 0?this.exec("cmd_raw",m,{},Me,A):this._cmd("cmd_raw",m,f,g,Me,A)}cmd_raw_no_range_check(m,f,g,Me={},A={}){return f===void 0?this.exec("cmd_raw_no_range_check",m,{},Me,A):this._cmd("cmd_raw_no_range_check",m,f,g,Me,A)}cmd_no_hazardous_check(m,f,g,Me={},A={}){return f===void 0?this.exec("cmd_no_hazardous_check",m,{},Me,A):this._cmd("cmd_no_hazardous_check",m,f,g,Me,A)}cmd_no_checks(m,f,g,Me={},A={}){return f===void 0?this.exec("cmd_no_checks",m,{},Me,A):this._cmd("cmd_no_checks",m,f,g,Me,A)}cmd_raw_no_hazardous_check(m,f,g,Me={},A={}){return f===void 0?this.exec("cmd_raw_no_hazardous_check",m,{},Me,A):this._cmd("cmd_raw_no_hazardous_check",m,f,g,Me,A)}cmd_raw_no_checks(m,f,g,Me={},A={}){return f===void 0?this.exec("cmd_raw_no_checks",m,{},Me,A):this._cmd("cmd_raw_no_checks",m,f,g,Me,A)}build_cmd(m,f,g,Me={},A={}){return f===void 0?this.exec("build_cmd",m):this._cmd("build_cmd",m,f,g,Me,A)}build_command(m,f,g,Me={},A={}){return f===void 0?this.exec("build_cmd",m):this._cmd("build_cmd",m,f,g,Me,A)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(m,f){return this.exec("send_raw",[m,f])}list_configs(m){return this.exec("list_configs",[m])}load_config(m,f){return this.exec("load_config",[m,f])}save_config(m,f,g){return this.exec("save_config",[m,f,g])}delete_config(m,f){return this.exec("delete_config",[m,f])}enable_limits(m,f,g){return this.exec("enable_limits",[m,f,g])}disable_limits(m,f,g){return this.exec("disable_limits",[m,f,g])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(m){return this.exec("get_overall_limits_state",[m])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(m,f){return this.exec("get_setting",[m],f)}get_settings(m,f){return this.exec("get_settings",m,f)}set_setting(m,f){return this.exec("set_setting",[m,f])}update_news(){return this.exec("update_news",[])}update_plugin_store(){return this.exec("update_plugin_store",[])}save_setting(m,f){return this.exec("set_setting",[m,f])}get_metrics(){return this.exec("get_metrics",[])}async hashString(m){if(window.isSecureContext){const f=new TextEncoder().encode(m),g=await crypto.subtle.digest("SHA-256",f),Me=new Uint8Array(g);return Array.from(Me).map(A=>A.toString(16).padStart(2,"0")).join("")}}}const _sfc_main={components:{CriticalCmdDialog:N,CommandEditor:Pe$1,TopBar:Z$1,Openc3Screen:Ee$1},mixins:[s],data(){return{title:"Command Sender",editor:null,targetName:"",commandName:"",commandDescription:"",paramList:"",lastTargetName:"",lastCommandName:"",lastParamList:"",ignoreRangeChecks:!1,statesInHex:!1,showIgnoredParams:!1,cmdRaw:!1,disableCommandValidation:!1,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,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.$refs.commandEditor.triggerUpdateCmdParams()}},{label:"Disable Parameter Conversions",checkbox:!0,checked:this.cmdRaw,command:()=>{this.cmdRaw=!this.cmdRaw.checked}},{label:"Disable Command Validation",checkbox:!0,checked:this.disableCommandValidation,command:()=>{this.disableCommandValidation=!this.disableCommandValidation}}]}]}},created(){this.api=new di,this.$route.params.target&&this.$route.params.packet&&this.commandChanged({targetName:this.$route.params.target.toUpperCase(),packetName:this.$route.params.packet.toUpperCase()}),ci.get("/openc3-api/autocomplete/keywords/screen").then(h=>{this.keywords=h.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",h=>{if(h.key==="Enter"){h.preventDefault();let m=this.editor.session.getLine(this.editor.getCursorPosition().row);if(m==="")return;let f=m.indexOf('"'),g=m.lastIndexOf('"');m=m.substr(f+1,g-f-1),this.sendCmd(m)}})},beforeUnmount(){this.editor.destroy(),this.editor.container.remove()},methods:{convertToValue(param){if(param.val!==void 0&¶m.states&&!this.cmdRaw)return Object.keys(param.states).find(h=>param.states[h].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 h=upcaseStr.slice(2);h.length%2!==0&&(h="0"+h);let m={json_class:"String",raw:[]};for(let f=0;f<h.length;f+=2){let g=h.charAt(f)+h.charAt(f+1);m.raw.push(parseInt(g,16))}return m}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(h){(this.targetName!==h.targetName||this.commandName!==h.packetName)&&(this.targetName=h.targetName,this.commandName=h.packetName,this.updateScreenInfo(),this.targetName&&this.commandName?this.$router.replace({name:"CommandSender",params:{target:this.targetName,packet:this.commandName}}).catch(m=>{}):this.$router.replace({name:"CommandSender"}).catch(m=>{}))},updateScreenInfo(){this.targetName&&this.commandName?this.api.get_cmd(this.targetName,this.commandName).then(h=>{if(h.screen)this.loadScreen(h.screen[0],h.screen[1]).then(m=>{this.screenTarget=h.screen[0],this.screenName=h.screen[1],this.screenDefinition=m.data,this.screenCount+=1});else{if(h.related_items){this.screenTarget="LOCAL",this.screenName="CMDSENDER";let m=`SCREEN AUTO AUTO 1.0
|
1125
|
+
`;for(const f of h.related_items)m+=`LABELVALUE '${f[0]}' '${f[1]}' '${f[2]}' WITH_UNITS 20
|
1126
|
+
`;this.screenDefinition=m}else this.screenTarget=null,this.screenName=null,this.screenDefinition=null;this.screenCount+=1}},h=>{this.displayError("getting command for screen info",h)}):(this.screenTarget=null,this.screenName=null,this.screenDefinition=null,this.screenCount+=1)},createParamList(){let h={};for(const m of this.$refs.commandEditor.getRows())h[m.parameter_name]=this.convertToValue(m);return h},buildCmd(){this.sendCmd(this.targetName,this.commandName,this.createParamList())},sendCmd(h,m,f){this.lastTargetName=h,this.lastCommandName=m,this.lastParamList=f,this.sendDisabled=!0;let g=!1,Me="";this.api.get_cmd_hazardous(h,m,f).then(A=>{if(g=A,g)m===void 0?this.hazardousCommand=h.split(" ").slice(0,2).join(" "):this.hazardousCommand=`${h} ${m}`,this.displaySendHazardous=!0;else{let x,_=this.disableCommandValidation?{validate:!1}:{};this.cmdRaw?this.ignoreRangeChecks?(Me="cmd_raw_no_range_check",x=this.api.cmd_raw_no_range_check(h,m,f,{"Ignore-Errors":"428"},_)):(Me="cmd_raw",x=this.api.cmd_raw(h,m,f,{"Ignore-Errors":"428 500"},_)):this.ignoreRangeChecks?(Me="cmd_no_range_check",x=this.api.cmd_no_range_check(h,m,f,{"Ignore-Errors":"428"},_)):(Me="cmd",x=this.api.cmd(h,m,f,{"Ignore-Errors":"428 500"},_)),x.then(c=>{this.processCmdResponse(!0,h,m,Me,c)},c=>{this.processCmdResponse(!1,h,m,Me,c)})}},A=>{this.processCmdResponse(!1,h,m,Me,A)})},sendHazardousCmd(){this.displaySendHazardous=!1;let h="",m="",f=this.disableCommandValidation?{validate:!1}:{};this.cmdRaw?this.ignoreRangeChecks?(m="cmd_raw_no_range_check",h=this.api.cmd_raw_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"},f)):(m="cmd_raw",h=this.api.cmd_raw_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"},f)):this.ignoreRangeChecks?(m="cmd_no_range_check",h=this.api.cmd_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"},f)):(m="cmd",h=this.api.cmd_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"},f)),h.then(g=>{this.processCmdResponse(!0,this.lastTargetName,this.lastCommandName,m,g)},g=>{this.processCmdResponse(!1,this.lastTargetName,this.lastCommandName,m,g)})},cancelHazardousCmd(){this.displaySendHazardous=!1,this.status="Hazardous command not sent",this.sendDisabled=!1},processCmdResponse(h,m,f,g,Me){f===void 0&&([m,f]=m.split(" ").slice(0,2));let A="";if(h){A=`${g}("${Me.target_name} ${Me.cmd_name}`;let x=Object.keys(Me.cmd_params);if(x.length>0){A+=" with ";for(let _=0;_<x.length;_++){let c=x[_],u="";Me.obfuscated_items.includes(c)?u="*****":u=this.convertToString(Me.cmd_params[c]),typeof Me.cmd_params[c]=="string"&&u.charAt(0)!=="'"&&u.charAt(0)!=='"'&&(u=`'${u}'`),A+=c+" "+u,_<x.length-1&&(A+=", ")}}if(this.disableCommandValidation?A+='", validate: false)':A+='")',!this.history.includes(A)){let _=A;this.history.length!==0&&(_+=`
|
1127
|
+
${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 c=parseInt(_[1].substr(2,_[1].indexOf(")")-2));A=_[0]+"sent. ("+(c+1)+")"}else A+=" (2)"}this.status=A}else{let x="sending "+m+" "+f;this.displayError(x,Me,!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(h,m,f=!1){this.status=`Error ${h} due to ${m.name}`,m.message&&m.message!==""&&(this.status+=": ",this.status+=m.message),this.status.includes("CriticalCmdError")&&(this.status="Critical Command Queued For Approval"),f&&(m.message.includes("CriticalCmdError")?(this.criticalCmdUuid=m.object.data.instance_variables["@uuid"],this.criticalCmdString=m.object.data.instance_variables["@command"].cmd_string,this.criticalCmdUser=m.object.data.instance_variables["@command"].username,this.displayCriticalCmd=!0):this.displayErrorDialog=!0)},loadScreen(h,m){return ci.get("/openc3-api/screen/"+h+"/"+m,{headers:{Accept:"text/plain"}})}}},_hoisted_1={ref:"editor",class:"editor","data-test":"sender-history"},_hoisted_2={class:"mx-1"},_hoisted_3=["textContent"],_hoisted_4={class:"openc3-yellow"},_hoisted_5={class:"mx-1"};function _sfc_render(h,m,f,g,Me,A){const x=resolveComponent("top-bar"),_=resolveComponent("command-editor"),c=resolveComponent("v-card"),u=resolveComponent("v-col"),i=resolveComponent("v-btn"),o=resolveComponent("v-tooltip"),r=resolveComponent("v-row"),t=resolveComponent("v-card-subtitle"),e=resolveComponent("openc3-screen"),n=resolveComponent("critical-cmd-dialog"),a=resolveComponent("v-spacer"),p=resolveComponent("v-toolbar"),v=resolveComponent("v-card-text"),E=resolveComponent("v-dialog"),L=resolveComponent("v-card-actions"),S=resolveComponent("v-select");return openBlock(),createElementBlock("div",null,[createVNode(x,{menus:A.menus,title:Me.title},null,8,["menus","title"]),createVNode(_,{ref:"commandEditor","initial-target-name":h.$route.params.target,"initial-packet-name":h.$route.params.packet,"send-disabled":Me.sendDisabled,"states-in-hex":Me.statesInHex,"show-ignored-params":Me.showIgnoredParams,"cmd-raw":Me.cmdRaw,onCommandChanged:m[0]||(m[0]=b=>A.commandChanged(b)),onBuildCmd:m[1]||(m[1]=b=>A.buildCmd(b))},null,8,["initial-target-name","initial-packet-name","send-disabled","states-in-hex","show-ignored-params","cmd-raw"]),createVNode(c,{class:"pa-3"},{default:withCtx(()=>[createTextVNode("Status: "+toDisplayString(Me.status),1)]),_:1}),m[22]||(m[22]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(r,{"no-gutters":""},{default:withCtx(()=>[createVNode(u,{class:"pr-4"},{default:withCtx(()=>[createVNode(c,{class:"pb-2"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(r,null,{default:withCtx(()=>[createVNode(u,{class:"pt-6"},{default:withCtx(()=>[...m[9]||(m[9]=[createTextVNode(" Editable Command History: (Pressing Enter on the line re-executes the command) ",-1)])]),_:1}),createVNode(u,null,{default:withCtx(()=>[createVNode(o,{"open-delay":600,location:"top"},{activator:withCtx(({props:b})=>[createElementVNode("div",mergeProps(b,{class:"float-right"}),[createVNode(i,{icon:"mdi-delete-sweep",variant:"text","data-test":"clear-history",onClick:A.clearHistory},null,8,["onClick"])],16)]),default:withCtx(()=>[m[10]||(m[10]=createElementVNode("span",null," Clear History ",-1))]),_:1})]),_:1})]),_:1})]),_:1}),createVNode(r,{"no-gutters":"",class:"mt-2 mb-2"},{default:withCtx(()=>[createVNode(u,null,{default:withCtx(()=>[createElementVNode("pre",_hoisted_1,null,512)]),_:1})]),_:1})]),_:1})]),_:1}),Me.screenDefinition?(openBlock(),createBlock(u,{key:0,md:"auto"},{default:withCtx(()=>[createVNode(e,{target:Me.screenTarget,screen:Me.screenName,definition:Me.screenDefinition,keywords:Me.keywords,count:Me.screenCount,"show-close":!1},null,8,["target","screen","definition","keywords","count"])]),_:1})):createCommentVNode("",!0)]),_:1}),m[23]||(m[23]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(n,{modelValue:Me.displayCriticalCmd,"onUpdate:modelValue":m[2]||(m[2]=b=>Me.displayCriticalCmd=b),uuid:Me.criticalCmdUuid,"cmd-string":Me.criticalCmdString,"cmd-user":Me.criticalCmdUser},null,8,["modelValue","uuid","cmd-string","cmd-user"]),createVNode(E,{modelValue:Me.displayErrorDialog,"onUpdate:modelValue":m[4]||(m[4]=b=>Me.displayErrorDialog=b),"max-width":"600"},{default:withCtx(()=>[createVNode(c,null,{default:withCtx(()=>[createVNode(p,{height:"24"},{default:withCtx(()=>[createVNode(a),m[11]||(m[11]=createElementVNode("span",null," Error ",-1)),createVNode(a)]),_:1}),createVNode(v,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_2,[createVNode(r,{class:"my-2"},{default:withCtx(()=>[createVNode(v,null,{default:withCtx(()=>[createElementVNode("span",{textContent:toDisplayString(Me.status)},null,8,_hoisted_3)]),_:1})]),_:1}),createVNode(r,null,{default:withCtx(()=>[createVNode(a),createVNode(i,{color:"primary","data-test":"error-dialog-ok",onClick:m[3]||(m[3]=b=>Me.displayErrorDialog=!1)},{default:withCtx(()=>[...m[12]||(m[12]=[createTextVNode(" Ok ",-1)])]),_:1})]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(E,{modelValue:Me.displaySendHazardous,"onUpdate:modelValue":m[5]||(m[5]=b=>Me.displaySendHazardous=b),"max-width":"600"},{default:withCtx(()=>[createVNode(c,null,{default:withCtx(()=>[createVNode(p,{height:"24"},{default:withCtx(()=>[createVNode(a),m[13]||(m[13]=createElementVNode("span",null," Hazardous Warning ",-1)),createVNode(a)]),_:1}),createVNode(v,{class:"mt-6"},{default:withCtx(()=>[createTextVNode(" Warning: Command "+toDisplayString(Me.hazardousCommand)+" is Hazardous. Send? ",1),m[14]||(m[14]=createElementVNode("br",null,null,-1)),createElementVNode("span",_hoisted_4," Description: "+toDisplayString(Me.commandDescription),1)]),_:1}),createVNode(L,{class:"px-2"},{default:withCtx(()=>[createVNode(a),createVNode(i,{variant:"outlined",onClick:A.cancelHazardousCmd},{default:withCtx(()=>[...m[15]||(m[15]=[createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),createVNode(i,{variant:"flat",onClick:A.sendHazardousCmd},{default:withCtx(()=>[...m[16]||(m[16]=[createTextVNode(" Send ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(E,{modelValue:Me.displaySendRaw,"onUpdate:modelValue":m[8]||(m[8]=b=>Me.displaySendRaw=b),"max-width":"600"},{default:withCtx(()=>[createVNode(c,null,{default:withCtx(()=>[createVNode(p,{height:"24"},{default:withCtx(()=>[createVNode(a),m[17]||(m[17]=createElementVNode("span",null," Send Raw ",-1)),createVNode(a)]),_:1}),createVNode(v,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_5,[createVNode(r,{class:"my-2"},{default:withCtx(()=>[createVNode(u,null,{default:withCtx(()=>[...m[18]||(m[18]=[createTextVNode("Interface:",-1)])]),_:1}),createVNode(u,null,{default:withCtx(()=>[createVNode(S,{modelValue:Me.selectedInterface,"onUpdate:modelValue":m[6]||(m[6]=b=>Me.selectedInterface=b),variant:"solo","hide-details":"",density:"compact",items:Me.interfaces,"item-title":"label","item-value":"value"},null,8,["modelValue","items"])]),_:1})]),_:1}),createVNode(r,{"no-gutters":""},{default:withCtx(()=>[createVNode(u,null,{default:withCtx(()=>[...m[19]||(m[19]=[createTextVNode("Filename:",-1)])]),_:1}),createVNode(u,null,{default:withCtx(()=>[createElementVNode("input",{type:"file",onChange:m[7]||(m[7]=b=>h.selectRawCmdFile(b))},null,32)]),_:1})]),_:1}),createVNode(r,null,{default:withCtx(()=>[createVNode(a),createVNode(i,{variant:"outlined","data-test":"raw-cancel",onClick:h.cancelRawCmd},{default:withCtx(()=>[...m[20]||(m[20]=[createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),createVNode(i,{class:"bg-primary","data-test":"raw-ok",onClick:h.sendRawCmd},{default:withCtx(()=>[...m[21]||(m[21]=[createTextVNode(" Ok ",-1)])]),_:1},8,["onClick"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const CommandSender=exports("default",_export_sfc(_sfc_main,[["render",_sfc_render],["__scopeId","data-v-6abd961f"]]))})}}));
|