@liascript/editor 1.1.41--1.0.4 → 1.1.41--1.0.6

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.
@@ -1 +1 @@
1
- ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],(function(e,t,i){"use strict";function n(e){var t=(new Date).toLocaleString("en-us",e);return 1==t.length?"0"+t:t}var o=e("./lib/dom"),r=e("./lib/oop"),s=e("./lib/event_emitter").EventEmitter,a=e("./lib/lang"),p=e("./range").Range,c=e("./range_list").RangeList,l=e("./keyboard/hash_handler").HashHandler,h=e("./tokenizer").Tokenizer,u=e("./clipboard"),d={CURRENT_WORD:function(e){return e.session.getTextRange(e.session.getWordRange())},SELECTION:function(e,t,i){var n=e.session.getTextRange();return i?n.replace(/\n\r?([ \t]*\S)/g,"\n"+i+"$1"):n},CURRENT_LINE:function(e){return e.session.getLine(e.getCursorPosition().row)},PREV_LINE:function(e){return e.session.getLine(e.getCursorPosition().row-1)},LINE_INDEX:function(e){return e.getCursorPosition().row},LINE_NUMBER:function(e){return e.getCursorPosition().row+1},SOFT_TABS:function(e){return e.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(e){return e.session.getTabSize()},CLIPBOARD:function(e){return u.getText&&u.getText()},FILENAME:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0]},FILENAME_BASE:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(e){return this.FILEPATH(e).replace(/[^/\\]*$/,"")},FILEPATH:function(e){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.start||""},BLOCK_COMMENT_END:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.end||""},LINE_COMMENT:function(e){return(e.session.$mode||{}).lineCommentStart||""},CURRENT_YEAR:n.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:n.bind(null,{year:"2-digit"}),CURRENT_MONTH:n.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:n.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:n.bind(null,{month:"short"}),CURRENT_DATE:n.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:n.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:n.bind(null,{weekday:"short"}),CURRENT_HOUR:n.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:n.bind(null,{minute:"2-digit"}),CURRENT_SECOND:n.bind(null,{second:"2-digit"})};d.SELECTED_TEXT=d.SELECTION;var f=function(){function e(){this.snippetMap={},this.snippetNameMap={},this.variables=d}return e.prototype.getTokenizer=function(){return e.$tokenizer||this.createTokenizer()},e.prototype.createTokenizer=function(){function t(e){return e=e.substr(1),/^\d+$/.test(e)?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function i(e){return"(?:[^\\\\"+e+"]|\\\\.)"}var n={regex:"/("+i("/")+"+)/",onMatch:function(e,t,i){var n=i[0];return n.fmtString=!0,n.guard=e.slice(1,-1),n.flag="",""},next:"formatString"};return e.$tokenizer=new h({start:[{regex:/\\./,onMatch:function(e,t,i){var n=e[1];return("}"==n&&i.length||-1!="`$\\".indexOf(n))&&(e=n),[e]}},{regex:/}/,onMatch:function(e,t,i){return[i.length?i.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:t},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(e,i,n){var o=t(e.substr(1));return n.unshift(o[0]),o},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+i("\\|")+"*\\|",onMatch:function(e,t,i){var n=e.slice(1,-1).replace(/\\[,|\\]|,/g,(function(e){return 2==e.length?e[1]:"\0"})).split("\0").map((function(e){return{value:e}}));return i[0].choices=n,[n[0]]},next:"start"},n,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(e,t,i){return i.length&&i[0].expectElse?(i[0].expectElse=!1,i[0].ifEnd={elseEnd:i[0]},[i[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(e,t,i){var n=e[1];return"}"==n&&i.length||-1!="`$\\".indexOf(n)?e=n:"n"==n?e="\n":"t"==n?e="\t":-1!="ulULE".indexOf(n)&&(e={changeCase:n,local:n>"a"}),[e]}},{regex:"/\\w*}",onMatch:function(e,t,i){var n=i.shift();return n&&(n.flag=e.slice(1,-1)),this.next=n&&n.tabstopId?"start":"",[n||e]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(e,t,i){return[{text:e.slice(1)}]}},{regex:/\${\w+/,onMatch:function(e,t,i){var n={text:e.slice(2)};return i.unshift(n),[n]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(e,t,i){var n=i.shift();return this.next=n&&n.tabstopId?"start":"",[n||e]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(e,t,i){return i[0].formatFunction=e.slice(2,-1),[i.shift()]},next:"formatString"},n,{regex:/:[\?\-+]?/,onMatch:function(e,t,i){"+"==e[1]&&(i[0].ifEnd=i[0]),"?"==e[1]&&(i[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),e.$tokenizer},e.prototype.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map((function(e){return e.value||e}))},e.prototype.getVariableValue=function(e,t,i){if(/^\d+$/.test(t))return(this.variables.__||{})[t]||"";if(/^[A-Z]\d+$/.test(t))return(this.variables[t[0]+"__"]||{})[t.substr(1)]||"";if(t=t.replace(/^TM_/,""),!this.variables.hasOwnProperty(t))return"";var n=this.variables[t];return"function"==typeof n&&(n=this.variables[t](e,t,i)),null==n?"":n},e.prototype.tmStrFormat=function(e,t,i){if(!t.fmt)return e;var n=t.flag||"",o=t.guard;o=new RegExp(o,n.replace(/[^gim]/g,""));var r="string"==typeof t.fmt?this.tokenizeTmSnippet(t.fmt,"formatString"):t.fmt,s=this,a=e.replace(o,(function(){var e=s.variables.__;s.variables.__=[].slice.call(arguments);for(var t=s.resolveVariables(r,i),n="E",o=0;o<t.length;o++){var a=t[o];if("object"==typeof a)if(t[o]="",a.changeCase&&a.local){var p=t[o+1];p&&"string"==typeof p&&("u"==a.changeCase?t[o]=p[0].toUpperCase():t[o]=p[0].toLowerCase(),t[o+1]=p.substr(1))}else a.changeCase&&(n=a.changeCase);else"U"==n?t[o]=a.toUpperCase():"L"==n&&(t[o]=a.toLowerCase())}return s.variables.__=e,t.join("")}));return a},e.prototype.tmFormatFunction=function(e,t,i){return"upcase"==t.formatFunction?e.toUpperCase():"downcase"==t.formatFunction?e.toLowerCase():e},e.prototype.resolveVariables=function(e,t){function i(t){var i=e.indexOf(t,s+1);-1!=i&&(s=i)}for(var n=[],o="",r=!0,s=0;s<e.length;s++){var a=e[s];if("string"!=typeof a){if(a){if(r=!1,a.fmtString){var p=e.indexOf(a,s+1);-1==p&&(p=e.length),a.fmt=e.slice(s+1,p),s=p}if(a.text){var c=this.getVariableValue(t,a.text,o)+"";a.fmtString&&(c=this.tmStrFormat(c,a,t)),a.formatFunction&&(c=this.tmFormatFunction(c,a,t)),c&&!a.ifEnd?(n.push(c),i(a)):!c&&a.ifEnd&&i(a.ifEnd)}else a.elseEnd?i(a.elseEnd):(null!=a.tabstopId||null!=a.changeCase)&&n.push(a)}}else n.push(a),"\n"==a?(r=!0,o=""):r&&(o=/^\t*/.exec(a)[0],r=/\S/.test(a))}return n},e.prototype.getDisplayTextForSnippet=function(e,t){return g.call(this,e,t).text},e.prototype.insertSnippetForSelection=function(e,t,i){void 0===i&&(i={});var n=g.call(this,e,t,i),o=e.getSelectionRange(),r=e.session.replace(o,n.text),s=new m(e),a=e.inVirtualSelectionMode&&e.selection.index;s.addTabstops(n.tabstops,o.start,r,a)},e.prototype.insertSnippet=function(e,t,i){void 0===i&&(i={});var n=this;if(e.inVirtualSelectionMode)return n.insertSnippetForSelection(e,t,i);e.forEachSelection((function(){n.insertSnippetForSelection(e,t,i)}),null,{keepOrder:!0}),e.tabstopManager&&e.tabstopManager.tabNext()},e.prototype.$getScope=function(e){var t=e.session.$mode.$id||"";if("html"===(t=t.split("/").pop())||"php"===t){"php"===t&&!e.session.$mode.inlinePhp&&(t="html");var i=e.getCursorPosition(),n=e.session.getState(i.row);"object"==typeof n&&(n=n[0]),n.substring&&("js-"==n.substring(0,3)?t="javascript":"css-"==n.substring(0,4)?t="css":"php-"==n.substring(0,4)&&(t="php"))}return t},e.prototype.getActiveScopes=function(e){var t=this.$getScope(e),i=[t],n=this.snippetMap;return n[t]&&n[t].includeScopes&&i.push.apply(i,n[t].includeScopes),i.push("_"),i},e.prototype.expandWithTab=function(e,t){var i=this,n=e.forEachSelection((function(){return i.expandSnippetForSelection(e,t)}),null,{keepOrder:!0});return n&&e.tabstopManager&&e.tabstopManager.tabNext(),n},e.prototype.expandSnippetForSelection=function(e,t){var i,n=e.getCursorPosition(),o=e.session.getLine(n.row),r=o.substring(0,n.column),s=o.substr(n.column),a=this.snippetMap;return this.getActiveScopes(e).some((function(e){var t=a[e];return t&&(i=this.findMatchingSnippet(t,r,s)),!!i}),this),!!i&&(t&&t.dryRun||(e.session.doc.removeInLine(n.row,n.column-i.replaceBefore.length,n.column+i.replaceAfter.length),this.variables.M__=i.matchBefore,this.variables.T__=i.matchAfter,this.insertSnippetForSelection(e,i.content),this.variables.M__=this.variables.T__=null),!0)},e.prototype.findMatchingSnippet=function(e,t,i){for(var n=e.length;n--;){var o=e[n];if((!o.startRe||o.startRe.test(t))&&((!o.endRe||o.endRe.test(i))&&(o.startRe||o.endRe)))return o.matchBefore=o.startRe?o.startRe.exec(t):[""],o.matchAfter=o.endRe?o.endRe.exec(i):[""],o.replaceBefore=o.triggerRe?o.triggerRe.exec(t)[0]:"",o.replaceAfter=o.endTriggerRe?o.endTriggerRe.exec(i)[0]:"",o}},e.prototype.register=function(e,t){function i(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")"),e||""}function n(e,t,n){return e=i(e),t=i(t),n?(e=t+e)&&"$"!=e[e.length-1]&&(e+="$"):(e+=t)&&"^"!=e[0]&&(e="^"+e),new RegExp(e)}function o(e){e.scope||(e.scope=t||"_"),t=e.scope,r[t]||(r[t]=[],s[t]={});var i=s[t];if(e.name){var o=i[e.name];o&&p.unregister(o),i[e.name]=e}r[t].push(e),e.prefix&&(e.tabTrigger=e.prefix),!e.content&&e.body&&(e.content=Array.isArray(e.body)?e.body.join("\n"):e.body),e.tabTrigger&&!e.trigger&&(!e.guard&&/^\w/.test(e.tabTrigger)&&(e.guard="\\b"),e.trigger=a.escapeRegExp(e.tabTrigger)),(e.trigger||e.guard||e.endTrigger||e.endGuard)&&(e.startRe=n(e.trigger,e.guard,!0),e.triggerRe=new RegExp(e.trigger),e.endRe=n(e.endTrigger,e.endGuard,!0),e.endTriggerRe=new RegExp(e.endTrigger))}var r=this.snippetMap,s=this.snippetNameMap,p=this;e||(e=[]),Array.isArray(e)?e.forEach(o):Object.keys(e).forEach((function(t){o(e[t])})),this._signal("registerSnippets",{scope:t})},e.prototype.unregister=function(e,t){function i(e){var i=o[e.scope||t];if(i&&i[e.name]){delete i[e.name];var r=n[e.scope||t],s=r&&r.indexOf(e);s>=0&&r.splice(s,1)}}var n=this.snippetMap,o=this.snippetNameMap;e.content?i(e):Array.isArray(e)&&e.forEach(i)},e.prototype.parseSnippetFile=function(e){e=e.replace(/\r/g,"");for(var t,i=[],n={},o=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;t=o.exec(e);){if(t[1])try{n=JSON.parse(t[1]),i.push(n)}catch(e){}if(t[4])n.content=t[4].replace(/^\t/gm,""),i.push(n),n={};else{var r=t[2],s=t[3];if("regex"==r){var a=/\/((?:[^\/\\]|\\.)*)|$/g;n.guard=a.exec(s)[1],n.trigger=a.exec(s)[1],n.endTrigger=a.exec(s)[1],n.endGuard=a.exec(s)[1]}else"snippet"==r?(n.tabTrigger=s.match(/^\S*/)[0],n.name||(n.name=s)):r&&(n[r]=s)}}return i},e.prototype.getSnippetByName=function(e,t){var i,n=this.snippetNameMap;return this.getActiveScopes(t).some((function(t){var o=n[t];return o&&(i=o[e]),!!i}),this),i},e}();r.implement(f.prototype,s);var g=function(e,t,i){function n(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];if("object"==typeof n){if(l[n.tabstopId])continue;n=t[e.lastIndexOf(n,i-1)]||{tabstopId:n.tabstopId}}t[i]=n}return t}void 0===i&&(i={});var o=e.getCursorPosition(),r=e.session.getLine(o.row),s=e.session.getTabString(),a=r.match(/^\s*/)[0];o.column<a.length&&(a=a.slice(0,o.column)),t=t.replace(/\r/g,"");var p=this.tokenizeTmSnippet(t);p=(p=this.resolveVariables(p,e)).map((function(e){return"\n"!=e||i.excludeExtraIndent?"string"==typeof e?e.replace(/\t/g,s):e:e+a}));var c=[];p.forEach((function(e,t){if("object"==typeof e){var i=e.tabstopId,n=c[i];if(n||((n=c[i]=[]).index=i,n.value="",n.parents={}),-1===n.indexOf(e)){e.choices&&!n.choices&&(n.choices=e.choices),n.push(e);var o=p.indexOf(e,t+1);if(-1!==o){var r=p.slice(t+1,o),s=r.some((function(e){return"object"==typeof e}));s&&!n.value?n.value=r:r.length&&(!n.value||"string"!=typeof n.value)&&(n.value=r.join(""))}}}})),c.forEach((function(e){e.length=0}));for(var l={},h=0;h<p.length;h++){var u=p[h];if("object"==typeof u){var d=u.tabstopId,f=c[d],g=p.indexOf(u,h+1);if(l[d])l[d]===u&&(delete l[d],Object.keys(l).forEach((function(e){f.parents[e]=!0})));else{l[d]=u;var m=f.value;"string"!=typeof m?m=n(m):u.fmt&&(m=this.tmStrFormat(m,u,e)),p.splice.apply(p,[h+1,Math.max(0,g-h)].concat(m,u)),-1===f.indexOf(u)&&f.push(u)}}}var v=0,b=0,x="";return p.forEach((function(e){if("string"==typeof e){var t=e.split("\n");t.length>1?(b=t[t.length-1].length,v+=t.length-1):b+=e.length,x+=e}else e&&(e.start?e.end={row:v,column:b}:e.start={row:v,column:b})})),{text:x,tabstops:c,tokens:p}},m=function(){function e(e){if(this.index=0,this.ranges=[],this.tabstops=[],e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=a.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)}return e.prototype.attach=function(e){this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.session=e.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},e.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},e.prototype.onChange=function(e){for(var t="r"==e.action[0],i=this.selectedTabstop||{},n=i.parents||{},o=this.tabstops.slice(),r=0;r<o.length;r++){var s=o[r],a=s==i||n[s.index];if(s.rangeList.$bias=a?0:1,"remove"==e.action&&s!==i){var p=s.parents&&s.parents[i.index],c=s.rangeList.pointIndex(e.start,p);c=c<0?-c-1:c+1;var l=s.rangeList.pointIndex(e.end,p);l=l<0?-l-1:l-1;for(var h=s.rangeList.ranges.slice(c,l),u=0;u<h.length;u++)this.removeRange(h[u])}s.rangeList.$onChange(e)}var d=this.session;!this.$inChange&&t&&1==d.getLength()&&!d.getValue()&&this.detach()},e.prototype.updateLinkedFields=function(){var e=this.selectedTabstop;if(e&&e.hasLinkedRanges&&e.firstNonLinked){this.$inChange=!0;for(var i=this.session,n=i.getTextRange(e.firstNonLinked),o=0;o<e.length;o++){var r=e[o];if(r.linked){var s=r.original,a=t.snippetManager.tmStrFormat(n,s,this.editor);i.replace(r,a)}}this.$inChange=!1}},e.prototype.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},e.prototype.onChangeSelection=function(){if(this.editor){for(var e=this.editor.selection.lead,t=this.editor.selection.anchor,i=this.editor.selection.isEmpty(),n=0;n<this.ranges.length;n++)if(!this.ranges[n].linked){var o=this.ranges[n].contains(e.row,e.column),r=i||this.ranges[n].contains(t.row,t.column);if(o&&r)return}this.detach()}},e.prototype.onChangeSession=function(){this.detach()},e.prototype.tabNext=function(e){var t=this.tabstops.length,i=this.index+(e||1);(i=Math.min(Math.max(i,1),t))==t&&(i=0),this.selectTabstop(i),this.updateTabstopMarkers(),0===i&&this.detach()},e.prototype.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];if(t&&this.addTabstopMarkers(t),this.index=e,(t=this.tabstops[this.index])&&t.length){this.selectedTabstop=t;var i=t.firstNonLinked||t;if(t.choices&&(i.cursor=i.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(i);else{var n=this.editor.multiSelect;n.toSingleRange(i);for(var o=0;o<t.length;o++)t.hasLinkedRanges&&t[o].linked||n.addRange(t[o].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},e.prototype.addTabstops=function(e,t,i){var n=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!e[0]){var o=p.fromPoints(i,i);b(o.start,t),b(o.end,t),e[0]=[o],e[0].index=0}var r=[this.index+1,0],s=this.ranges,a=this.snippetId=(this.snippetId||0)+1;e.forEach((function(e,i){var o=this.$openTabstops[i]||e;o.snippetId=a;for(var l=0;l<e.length;l++){var h=e[l],u=p.fromPoints(h.start,h.end||h.start);v(u.start,t),v(u.end,t),u.original=h,u.tabstop=o,s.push(u),o!=e?o.unshift(u):o[l]=u,h.fmtString||o.firstNonLinked&&n?(u.linked=!0,o.hasLinkedRanges=!0):o.firstNonLinked||(o.firstNonLinked=u)}o.firstNonLinked||(o.hasLinkedRanges=!1),o===e&&(r.push(o),this.$openTabstops[i]=o),this.addTabstopMarkers(o),o.rangeList=o.rangeList||new c,o.rangeList.$bias=0,o.rangeList.addList(o)}),this),r.length>2&&(this.tabstops.length&&r.push(r.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,r))},e.prototype.addTabstopMarkers=function(e){var t=this.session;e.forEach((function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))}))},e.prototype.removeTabstopMarkers=function(e){var t=this.session;e.forEach((function(e){t.removeMarker(e.markerId),e.markerId=null}))},e.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var e=this.selectedTabstop.snippetId;0===this.selectedTabstop.index&&e--,this.tabstops.forEach((function(t){t.snippetId===e?this.addTabstopMarkers(t):this.removeTabstopMarkers(t)}),this)}},e.prototype.removeRange=function(e){var t=e.tabstop.indexOf(e);-1!=t&&e.tabstop.splice(t,1),-1!=(t=this.ranges.indexOf(e))&&this.ranges.splice(t,1),-1!=(t=e.tabstop.rangeList.ranges.indexOf(e))&&e.tabstop.splice(t,1),this.session.removeMarker(e.markerId),e.tabstop.length||(-1!=(t=this.tabstops.indexOf(e.tabstop))&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},e}();m.prototype.keyboardHandler=new l,m.prototype.keyboardHandler.bindKeys({Tab:function(e){t.snippetManager&&t.snippetManager.expandWithTab(e)||(e.tabstopManager.tabNext(1),e.renderer.scrollCursorIntoView())},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1),e.renderer.scrollCursorIntoView()},Esc:function(e){e.tabstopManager.detach()}});var v=function(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row},b=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};o.importCssString("\n.ace_snippet-marker {\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n background: rgba(194, 193, 208, 0.09);\n border: 1px dotted rgba(211, 208, 235, 0.62);\n position: absolute;\n}","snippets.css",!1),t.snippetManager=new f;var x=e("./editor").Editor;(function(){this.insertSnippet=function(e,i){return t.snippetManager.insertSnippet(this,e,i)},this.expandSnippet=function(e){return t.snippetManager.expandWithTab(this,e)}}).call(x.prototype)})),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],(function(e,t,i){"use strict";var n=e("../virtual_renderer").VirtualRenderer,o=e("../editor").Editor,r=e("../range").Range,s=e("../lib/event"),a=e("../lib/lang"),p=e("../lib/dom"),c=e("../config").nls,l=e("./../lib/useragent"),h=function(e){return"suggest-aria-id:".concat(e)},u=l.isSafari?"menu":"listbox",d=l.isSafari?"menuitem":"option",f=l.isSafari?"aria-current":"aria-selected",g=function(e){var t=new n(e);t.$maxLines=4;var i=new o(t);return i.setHighlightActiveLine(!1),i.setShowPrintMargin(!1),i.renderer.setShowGutter(!1),i.renderer.setHighlightGutterLine(!1),i.$mouseHandler.$focusTimeout=0,i.$highlightTagPending=!0,i},m=function(e){var t=p.createElement("div"),i=g(t);e&&e.appendChild(t),t.style.display="none",i.renderer.content.style.cursor="default",i.renderer.setStyle("ace_autocomplete"),i.renderer.$textLayer.element.setAttribute("role",u),i.renderer.$textLayer.element.setAttribute("aria-roledescription",c("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),i.renderer.$textLayer.element.setAttribute("aria-label",c("autocomplete.popup.aria-label","Autocomplete suggestions")),i.renderer.textarea.setAttribute("aria-hidden","true"),i.setOption("displayIndentGuides",!1),i.setOption("dragDelay",150);var n=function(){};i.focus=n,i.$isFocused=!0,i.renderer.$cursorLayer.restartTimer=n,i.renderer.$cursorLayer.element.style.opacity="0",i.renderer.$maxLines=8,i.renderer.$keepTextAreaAtCursor=!1,i.setHighlightActiveLine(!1),i.session.highlight(""),i.session.$searchHighlight.clazz="ace_highlight-marker",i.on("mousedown",(function(e){var t=e.getDocumentPosition();i.selection.moveToPosition(t),m.start.row=m.end.row=t.row,e.stop()}));var o,l=new r(-1,0,-1,1/0),m=new r(-1,0,-1,1/0);m.id=i.session.addMarker(m,"ace_active-line","fullLine"),i.setSelectOnHover=function(e){e?l.id&&(i.session.removeMarker(l.id),l.id=null):l.id=i.session.addMarker(l,"ace_line-hover","fullLine")},i.setSelectOnHover(!1),i.on("mousemove",(function(e){if(o){if(o.x!=e.x||o.y!=e.y){(o=e).scrollTop=i.renderer.scrollTop,i.isMouseOver=!0;var t=o.getDocumentPosition().row;l.start.row!=t&&(l.id||i.setRow(t),b(t))}}else o=e})),i.renderer.on("beforeRender",(function(){if(o&&-1!=l.start.row){o.$pos=null;var e=o.getDocumentPosition().row;l.id||i.setRow(e),b(e,!0)}})),i.renderer.on("afterRender",(function(){for(var e=i.renderer.$textLayer,t=e.config.firstRow,n=e.config.lastRow;t<=n;t++){var o=e.element.childNodes[t-e.config.firstRow];o.setAttribute("role",d),o.setAttribute("aria-roledescription",c("autocomplete.popup.item.aria-roledescription","item")),o.setAttribute("aria-setsize",i.data.length),o.setAttribute("aria-describedby","doc-tooltip"),o.setAttribute("aria-posinset",t+1);var r=i.getData(t);if(r){var s="".concat(r.caption||r.value).concat(r.meta?", ".concat(r.meta):"");o.setAttribute("aria-label",s)}o.querySelectorAll(".ace_completion-highlight").forEach((function(e){e.setAttribute("role","mark")}))}})),i.renderer.on("afterRender",(function(){var e=i.getRow(),t=i.renderer.$textLayer,n=t.element.childNodes[e-t.config.firstRow],o=document.activeElement;if(n!==i.selectedNode&&i.selectedNode&&(p.removeCssClass(i.selectedNode,"ace_selected"),i.selectedNode.removeAttribute(f),i.selectedNode.removeAttribute("id")),o.removeAttribute("aria-activedescendant"),i.selectedNode=n,n){var r=h(e);p.addCssClass(n,"ace_selected"),n.id=r,t.element.setAttribute("aria-activedescendant",r),o.setAttribute("aria-activedescendant",r),n.setAttribute(f,"true")}}));var v=function(){b(-1)},b=function(e,t){e!==l.start.row&&(l.start.row=l.end.row=e,t||i.session._emit("changeBackMarker"),i._emit("changeHoverMarker"))};i.getHoveredRow=function(){return l.start.row},s.addListener(i.container,"mouseout",(function(){i.isMouseOver=!1,v()})),i.on("hide",v),i.on("changeSelection",v),i.session.doc.getLength=function(){return i.data.length},i.session.doc.getLine=function(e){var t=i.data[e];return"string"==typeof t?t:t&&t.value||""};var x=i.session.bgTokenizer;return x.$tokenizeRow=function(e){function t(e,t){e&&o.push({type:(n.className||"")+(t||""),value:e})}var n=i.data[e],o=[];if(!n)return o;"string"==typeof n&&(n={value:n});for(var r=n.caption||n.value||n.name,s=r.toLowerCase(),a=(i.filterText||"").toLowerCase(),p=0,c=0,l=0;l<=a.length;l++)if(l!=c&&(n.matchMask&1<<l||l==a.length)){var h=a.slice(c,l);c=l;var u=s.indexOf(h,p);if(-1==u)continue;t(r.slice(p,u),""),p=u+h.length,t(r.slice(u,p),"completion-highlight")}return t(r.slice(p,r.length),""),o.push({type:"completion-spacer",value:" "}),n.meta&&o.push({type:"completion-meta",value:n.meta}),n.message&&o.push({type:"completion-message",value:n.message}),o},x.$updateOnChange=n,x.start=n,i.session.$computeWidth=function(){return this.screenWidth=0},i.isOpen=!1,i.isTopdown=!1,i.autoSelect=!0,i.filterText="",i.isMouseOver=!1,i.data=[],i.setData=function(e,t){i.filterText=t||"",i.setValue(a.stringRepeat("\n",e.length),-1),i.data=e||[],i.setRow(0)},i.getData=function(e){return i.data[e]},i.getRow=function(){return m.start.row},i.setRow=function(e){e=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,e)),m.start.row!=e&&(i.selection.clearSelection(),m.start.row=m.end.row=e||0,i.session._emit("changeBackMarker"),i.moveCursorTo(e||0,0),i.isOpen&&i._signal("select"))},i.on("changeSelection",(function(){i.isOpen&&i.setRow(i.selection.lead.row),i.renderer.scrollCursorIntoView()})),i.hide=function(){this.container.style.display="none",i.anchorPos=null,i.anchor=null,i.isOpen&&(i.isOpen=!1,this._signal("hide"))},i.tryShow=function(e,t,n,r){if(!r&&i.isOpen&&i.anchorPos&&i.anchor&&i.anchorPos.top===e.top&&i.anchorPos.left===e.left&&i.anchor===n)return!0;var s=this.container,a=this.renderer.scrollBar.width||10,c=window.innerHeight-a,l=window.innerWidth-a,h=this.renderer,u=h.$maxLines*t*1.4,d={top:0,bottom:0,left:0},f=c-e.top-3*this.$borderSize-t,g=e.top-3*this.$borderSize;n||(n=g<=f||f>=u?"bottom":"top"),"top"===n?(d.bottom=e.top-this.$borderSize,d.top=d.bottom-u):"bottom"===n&&(d.top=e.top+t+this.$borderSize,d.bottom=d.top+u);var m=d.top>=0&&d.bottom<=c;if(!r&&!m)return!1;h.$maxPixelHeight=m?null:"top"===n?g:f,"top"===n?(s.style.top="",s.style.bottom=c+a-d.bottom+"px",i.isTopdown=!1):(s.style.top=d.top+"px",s.style.bottom="",i.isTopdown=!0),s.style.display="";var v=e.left;return v+s.offsetWidth>l&&(v=l-s.offsetWidth),s.style.left=v+"px",s.style.right="",p.$fixPositionBug(s),i.isOpen||(i.isOpen=!0,this._signal("show"),o=null),i.anchorPos=e,i.anchor=n,!0},i.show=function(e,t,i){this.tryShow(e,t,i?"bottom":void 0,!0)},i.goTo=function(e){var t=this.getRow(),i=this.session.getLength()-1;switch(e){case"up":t=t<=0?i:t-1;break;case"down":t=t>=i?-1:t+1;break;case"start":t=0;break;case"end":t=i}this.setRow(t)},i.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},i.$imageSize=0,i.$borderSize=1,i};p.importCssString('\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #CAD6FA;\n z-index: 1;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #3a674e;\n}\n.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid #abbffe;\n margin-top: -1px;\n background: rgba(233,233,253,0.4);\n position: absolute;\n z-index: 2;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid rgba(109, 150, 13, 0.8);\n background: rgba(58, 103, 78, 0.62);\n}\n.ace_completion-meta {\n opacity: 0.5;\n margin-left: 0.9em;\n}\n.ace_completion-message {\n margin-left: 0.9em;\n color: blue;\n}\n.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #2d69c7;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #93ca12;\n}\n.ace_editor.ace_autocomplete {\n width: 300px;\n z-index: 200000;\n border: 1px lightgray solid;\n position: fixed;\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n line-height: 1.4;\n background: #fefefe;\n color: #111;\n}\n.ace_dark.ace_editor.ace_autocomplete {\n border: 1px #484747 solid;\n box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);\n line-height: 1.4;\n background: #25282c;\n color: #c1c1c1;\n}\n.ace_autocomplete .ace_text-layer {\n width: calc(100% - 8px);\n}\n.ace_autocomplete .ace_line {\n display: flex;\n align-items: center;\n}\n.ace_autocomplete .ace_line > * {\n min-width: 0;\n flex: 0 0 auto;\n}\n.ace_autocomplete .ace_line .ace_ {\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ace_autocomplete .ace_completion-spacer {\n flex: 1;\n}\n.ace_autocomplete.ace_loading:after {\n content: "";\n position: absolute;\n top: 0px;\n height: 2px;\n width: 8%;\n background: blue;\n z-index: 100;\n animation: ace_progress 3s infinite linear;\n animation-delay: 300ms;\n transform: translateX(-100%) scaleX(1);\n}\n@keyframes ace_progress {\n 0% { transform: translateX(-100%) scaleX(1) }\n 50% { transform: translateX(625%) scaleX(2) } \n 100% { transform: translateX(1500%) scaleX(3) } \n}\n@media (prefers-reduced-motion) {\n .ace_autocomplete.ace_loading:after {\n transform: translateX(625%) scaleX(2);\n animation: none;\n }\n}\n',"autocompletion.css",!1),t.AcePopup=m,t.$singleLineEditor=g,t.getAriaId=h})),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],(function(e,t,i){"use strict";var n=function(){function e(e){this.editor=e,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return e.prototype.setScreenReaderContent=function(e){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",function(){var e=this.popup.getRow(),t=this.popup.renderer.$textLayer,i=t.element.childNodes[e-t.config.firstRow];if(i){for(var n="doc-tooltip ",o=0;o<this._lines.length;o++)n+="ace-inline-screenreader-line-".concat(o," ");i.setAttribute("aria-describedby",n)}}.bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=e.split(/\r\n|\r|\n/);var t=this.createCodeBlock();this.screenReaderDiv.appendChild(t)},e.prototype.destroy=function(){this.screenReaderDiv.remove()},e.prototype.createCodeBlock=function(){var e=document.createElement("pre");e.setAttribute("id","ace-inline-screenreader");for(var t=0;t<this._lines.length;t++){var i=document.createElement("code");i.setAttribute("id","ace-inline-screenreader-line-".concat(t));var n=document.createTextNode(this._lines[t]);i.appendChild(n),e.appendChild(i)}return e},e}();t.AceInlineScreenReader=n})),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],(function(e,t,i){"use strict";var n=e("../snippets").snippetManager,o=e("./inline_screenreader").AceInlineScreenReader,r=function(){function e(){this.editor=null}return e.prototype.show=function(e,t,i){if(i=i||"",e&&this.editor&&this.editor!==e&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!e||!t)return!1;this.inlineScreenReader||(this.inlineScreenReader=new o(e));var r=t.snippet?n.getDisplayTextForSnippet(e,t.snippet):t.value;return!(t.hideInlinePreview||!r||!r.startsWith(i))&&(this.editor=e,this.inlineScreenReader.setScreenReaderContent(r),""===(r=r.slice(i.length))?e.removeGhostText():e.setGhostText(r),!0)},e.prototype.isOpen=function(){return!!this.editor&&!!this.editor.renderer.$ghostText},e.prototype.hide=function(){return!!this.editor&&(this.editor.removeGhostText(),!0)},e.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},e}();t.AceInline=r})),ace.define("ace/autocomplete/util",["require","exports","module"],(function(e,t,i){"use strict";t.parForEach=function(e,t,i){var n=0,o=e.length;0===o&&i();for(var r=0;r<o;r++)t(e[r],(function(e,t){++n===o&&i(e,t)}))};var n=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;t.retrievePrecedingIdentifier=function(e,t,i){i=i||n;for(var o=[],r=t-1;r>=0&&i.test(e[r]);r--)o.push(e[r]);return o.reverse().join("")},t.retrieveFollowingIdentifier=function(e,t,i){i=i||n;for(var o=[],r=t;r<e.length&&i.test(e[r]);r++)o.push(e[r]);return o},t.getCompletionPrefix=function(e){var t,i=e.getCursorPosition(),n=e.session.getLine(i.row);return e.completers.forEach(function(e){e.identifierRegexps&&e.identifierRegexps.forEach(function(e){!t&&e&&(t=this.retrievePrecedingIdentifier(n,i.column,e))}.bind(this))}.bind(this)),t||this.retrievePrecedingIdentifier(n,i.column)},t.triggerAutocomplete=function(e,t){t=null==t?e.session.getPrecedingCharacter():t;return e.completers.some((function(e){if(e.triggerCharacters&&Array.isArray(e.triggerCharacters))return e.triggerCharacters.includes(t)}))}})),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],(function(e,t,i){"use strict";var n=e("./keyboard/hash_handler").HashHandler,o=e("./autocomplete/popup").AcePopup,r=e("./autocomplete/inline").AceInline,s=e("./autocomplete/popup").getAriaId,a=e("./autocomplete/util"),p=e("./lib/lang"),c=e("./lib/dom"),l=e("./snippets").snippetManager,h=e("./config"),u=e("./lib/event"),d=e("./lib/scroll").preventParentScroll,f=function(e,t){t.completer&&t.completer.destroy()},g=function(){function e(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new n,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=p.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=p.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=p.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=p.delayedCall(function(){this.stickySelection=!0}.bind(this),this.stickySelectionDelay),this.$firstOpenTimer=p.delayedCall(function(){var t=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!t||0===this.editor.completers.length||(this.completions=new v(e.completionsForLoading),this.openPopup(this.editor,t.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}.bind(this),this.stickySelectionDelay)}return Object.defineProperty(e,"completionsForLoading",{get:function(){return[{caption:h.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),e.prototype.$init=function(){return this.popup=new o(this.parentNode||document.body||document.documentElement),this.popup.on("click",function(e){this.insertMatch(),e.stop()}.bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),u.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},e.prototype.$initInline=function(){if(this.inlineEnabled&&!this.inlineRenderer)return this.inlineRenderer=new r,this.inlineRenderer},e.prototype.getPopup=function(){return this.popup||this.$init()},e.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},e.prototype.$seen=function(e){!this.hasSeen.has(e)&&e&&e.completer&&e.completer.onSeen&&"function"==typeof e.completer.onSeen&&(e.completer.onSeen(this.editor,e),this.hasSeen.add(e))},e.prototype.$onPopupChange=function(e){if(this.inlineRenderer&&this.inlineEnabled){var t=e?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(t),this.popup.isMouseOver&&this.setSelectOnHover)return void this.tooltipTimer.call(null,null);this.popupTimer.schedule(),this.tooltipTimer.schedule()}else this.popupTimer.call(null,null),this.tooltipTimer.call(null,null)},e.prototype.$updateGhostText=function(e){var t=this.base.row,i=this.base.column,n=this.editor.getCursorPosition().column,o=this.editor.session.getLine(t).slice(i,n);this.inlineRenderer.show(this.editor,e,o)?this.$seen(e):this.inlineRenderer.hide()},e.prototype.$onPopupRender=function(){var e=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var t=this.popup.getFirstVisibleRow();t<=this.popup.getLastVisibleRow();t++){var i=this.popup.getData(t);i&&(!e||i.hideInlinePreview)&&this.$seen(i)}},e.prototype.$onPopupShow=function(e){this.$onPopupChange(e),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},e.prototype.observeLayoutChanges=function(){if(!this.$elements&&this.editor){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var e=this.editor.container.parentNode,t=[];e;)t.push(e),e.addEventListener("scroll",this.onLayoutChange,{passive:!0}),e=e.parentNode;this.$elements=t}},e.prototype.unObserveLayoutChanges=function(){var e=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach((function(t){t.removeEventListener("scroll",e.onLayoutChange,{passive:!0})})),this.$elements=null},e.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},e.prototype.$updatePopupPosition=function(){var e=this.editor,t=e.renderer,i=t.layerConfig.lineHeight,n=t.$cursorLayer.getPixelPosition(this.base,!0);n.left-=this.popup.getTextLeftOffset();var o=e.container.getBoundingClientRect();n.top+=o.top-t.layerConfig.offset,n.left+=o.left-e.renderer.scrollLeft,n.left+=t.gutterWidth;var r={top:n.top,left:n.left};t.$ghostText&&t.$ghostTextWidget&&this.base.row===t.$ghostText.position.row&&(r.top+=t.$ghostTextWidget.el.offsetHeight);var s=e.container.getBoundingClientRect().bottom-i,a=s<r.top?{top:s,left:r.left}:r;this.popup.tryShow(a,i,"bottom")||this.popup.tryShow(n,i,"top")||this.popup.show(n,i)},e.prototype.openPopup=function(e,t,i){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var n,o=this.popup.getRow(),r=this.popup.data[o];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:s(this.popup.getRow()),inline:this.inlineEnabled}),e.keyBinding.addKeyboardHandler(this.keyboardHandler),this.stickySelection&&(n=this.popup.data.indexOf(r)),n&&-1!==n||(n=0),this.popup.setRow(this.autoSelect?n:-1),n===o&&r!==this.completions.filtered[n]&&this.$onPopupChange();var a=this.inlineRenderer&&this.inlineEnabled;if(n===o&&a){var p=this.popup.getData(this.popup.getRow());this.$updateGhostText(p)}i||(this.popup.setTheme(e.getTheme()),this.popup.setFontSize(e.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},e.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},e.prototype.changeListener=function(e){var t=this.editor.selection.lead;(t.row!=this.base.row||t.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},e.prototype.blurListener=function(e){var t=document.activeElement,i=this.editor.textInput.getElement(),n=e.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(e.relatedTarget),o=this.popup&&this.popup.container;t!=i&&t.parentNode!=o&&!n&&t!=this.tooltipNode&&e.relatedTarget!=i&&this.detach()},e.prototype.mousedownListener=function(e){this.detach()},e.prototype.mousewheelListener=function(e){this.popup&&!this.popup.isMouseOver&&this.detach()},e.prototype.mouseOutListener=function(e){this.popup.isOpen&&this.$updatePopupPosition()},e.prototype.goTo=function(e){this.popup.goTo(e)},e.prototype.insertMatch=function(e,t){if(e||(e=this.popup.getData(this.popup.getRow())),!e)return!1;if(""===e.value)return this.detach();var i=this.completions,n=this.getCompletionProvider().insertMatch(this.editor,e,i.filterText,t);return this.completions==i&&this.detach(),n},e.prototype.showPopup=function(e,t){this.editor&&this.detach(),this.activated=!0,this.editor=e,e.completer!=this&&(e.completer&&e.completer.detach(),e.completer=this),e.on("changeSelection",this.changeListener),e.on("blur",this.blurListener),e.on("mousedown",this.mousedownListener),e.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,t)},e.prototype.getCompletionProvider=function(e){return this.completionProvider||(this.completionProvider=new m(e)),this.completionProvider},e.prototype.gatherCompletions=function(e,t){return this.getCompletionProvider().gatherCompletions(e,t)},e.prototype.updateCompletions=function(t,i){if(t&&this.base&&this.completions){var n=this.editor.getCursorPosition();if((r=this.editor.session.getTextRange({start:this.base,end:n}))==this.completions.filterText)return;return this.completions.setFilter(r),this.completions.filtered.length?1!=this.completions.filtered.length||this.completions.filtered[0].value!=r||this.completions.filtered[0].snippet?void this.openPopup(this.editor,r,t):this.detach():this.detach()}if(i&&i.matches){n=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(n.row,n.column),this.base.$insertRight=!0,this.completions=new v(i.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",t)}var o=this.editor.getSession(),r=(n=this.editor.getCursorPosition(),a.getCompletionPrefix(this.editor));this.base=o.doc.createAnchor(n.row,n.column-r.length),this.base.$insertRight=!0;var s={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:r,pos:n}).provideCompletions(this.editor,s,function(i,n,o){var r=n.filtered,s=a.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),o){if(!r.length){var p=!this.autoShown&&this.emptyMessage;if("function"==typeof p&&(p=this.emptyMessage(s)),p){var c=[{caption:p,value:""}];return this.completions=new v(c),this.openPopup(this.editor,s,t),this.popup.renderer.setStyle("ace_loading",!1),void this.popup.renderer.setStyle("ace_empty-message",!0)}return this.detach()}if(1==r.length&&r[0].value==s&&!r[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&1==r.length)return this.insertMatch(r[0])}this.completions=!o&&this.showLoadingState?new v(e.completionsForLoading.concat(r),n.filterText):n,this.openPopup(this.editor,s,t),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!o)}.bind(this)),this.showLoadingState&&!this.autoShown&&(!this.popup||!this.popup.isOpen)&&this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},e.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},e.prototype.updateDocTooltip=function(){var e=this.popup,t=this.completions&&this.completions.filtered,i=t&&(t[e.getHoveredRow()]||t[e.getRow()]),n=null;if(!i||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var o=this.editor.completers.length,r=0;r<o;r++){var s=this.editor.completers[r];if(s.getDocTooltip&&i.completerId===s.id){n=s.getDocTooltip(i);break}}if(!n&&"string"!=typeof i&&(n=i),"string"==typeof n&&(n={docText:n}),!n||!n.docHTML&&!n.docText)return this.hideDocTooltip();this.showDocTooltip(n)},e.prototype.showDocTooltip=function(e){this.tooltipNode||(this.tooltipNode=c.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",d));var t=this.editor.renderer.theme;this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(t.isDark?"ace_dark ":"")+(t.cssClass||"");var i=this.tooltipNode;e.docHTML?i.innerHTML=e.docHTML:e.docText&&(i.textContent=e.docText),i.parentNode||this.popup.container.appendChild(this.tooltipNode);var n=this.popup,o=n.container.getBoundingClientRect(),r=400,s=300,a=n.renderer.scrollBar.width||10,p=o.left,l=window.innerWidth-o.right-a,h=n.isTopdown?window.innerHeight-a-o.bottom:o.top,u=[Math.min(l/r,1),Math.min(p/r,1),.9*Math.min(h/s,1)],f=Math.max.apply(Math,u),g=i.style;g.display="block",f==u[0]||u[0]>=1?(g.left=o.right+1+"px",g.right="",g.maxWidth=r*f+"px",g.top=o.top+"px",g.bottom="",g.maxHeight=Math.min(window.innerHeight-a-o.top,s)+"px"):f==u[1]||u[1]>=1?(g.right=window.innerWidth-o.left+"px",g.left="",g.maxWidth=r*f+"px",g.top=o.top+"px",g.bottom="",g.maxHeight=Math.min(window.innerHeight-a-o.top,s)+"px"):f==u[2]&&(g.left=o.left+"px",g.right="",g.maxWidth=Math.min(r,window.innerWidth-o.left)+"px",n.isTopdown?(g.top=o.bottom+"px",g.bottom="",g.maxHeight=Math.min(window.innerHeight-a-o.bottom,s)+"px"):(g.top="",g.bottom=window.innerHeight-o.top+"px",g.maxHeight=Math.min(o.top,s)+"px")),c.$fixPositionBug(i)},e.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),this.tooltipNode){var e=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==e&&this.editor.focus(),this.tooltipNode=null,e.parentNode&&e.parentNode.removeChild(e)}},e.prototype.onTooltipClick=function(e){for(var t=e.target;t&&t!=this.tooltipNode;){if("A"==t.nodeName&&t.href){t.rel="noreferrer",t.target="_blank";break}t=t.parentNode}},e.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var e=this.popup.container;e&&e.parentNode&&e.parentNode.removeChild(e)}this.editor&&this.editor.completer==this&&(this.editor.off("destroy",f),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},e.for=function(t){return t.completer instanceof e||(t.completer&&(t.completer.destroy(),t.completer=null),h.get("sharedPopups")?(e.$sharedInstance||(e.$sharedInstance=new e),t.completer=e.$sharedInstance):(t.completer=new e,t.once("destroy",f))),t.completer},e}();g.prototype.commands={Up:function(e){e.completer.goTo("up")},Down:function(e){e.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(e){e.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(e){e.completer.goTo("end")},Esc:function(e){e.completer.detach()},Return:function(e){return e.completer.insertMatch()},"Shift-Return":function(e){e.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(e){var t=e.completer.insertMatch();if(t||e.tabstopManager)return t;e.completer.goTo("down")},Backspace:function(e){e.execCommand("backspace"),!a.getCompletionPrefix(e)&&e.completer&&e.completer.detach()},PageUp:function(e){e.completer.popup.gotoPageUp()},PageDown:function(e){e.completer.popup.gotoPageDown()}},g.startCommand={name:"startAutocomplete",exec:function(e,t){var i=g.for(e);i.autoInsert=!1,i.autoSelect=!0,i.autoShown=!1,i.showPopup(e,t),i.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var m=function(){function e(e){this.initialPosition=e,this.active=!0}return e.prototype.insertByIndex=function(e,t,i){return!(!this.completions||!this.completions.filtered)&&this.insertMatch(e,this.completions.filtered[t],i)},e.prototype.insertMatch=function(e,t,i){if(!t)return!1;if(e.startOperation({command:{name:"insertMatch"}}),t.completer&&t.completer.insertMatch)t.completer.insertMatch(e,t);else{if(!this.completions)return!1;var n=this.completions.filterText.length,o=0;if(t.range&&t.range.start.row===t.range.end.row&&(n-=this.initialPosition.prefix.length,n+=this.initialPosition.pos.column-t.range.start.column,o+=t.range.end.column-this.initialPosition.pos.column),n||o){var r;r=e.selection.getAllRanges?e.selection.getAllRanges():[e.getSelectionRange()];for(var s,a=0;s=r[a];a++)s.start.column-=n,s.end.column+=o,e.session.remove(s)}t.snippet?l.insertSnippet(e,t.snippet):this.$insertString(e,t),t.completer&&t.completer.onInsert&&"function"==typeof t.completer.onInsert&&t.completer.onInsert(e,t),t.command&&"startAutocomplete"===t.command&&e.execCommand(t.command)}return e.endOperation(),!0},e.prototype.$insertString=function(e,t){var i=t.value||t;e.execCommand("insertstring",i)},e.prototype.gatherCompletions=function(e,t){var i=e.getSession(),n=e.getCursorPosition(),o=a.getCompletionPrefix(e),r=[];this.completers=e.completers;var s=e.completers.length;return e.completers.forEach((function(p,c){p.getCompletions(e,i,n,o,(function(i,n){p.hideInlinePreview&&(n=n.map((function(e){return Object.assign(e,{hideInlinePreview:p.hideInlinePreview})}))),!i&&n&&(r=r.concat(n)),t(null,{prefix:a.getCompletionPrefix(e),matches:r,finished:0==--s})}))})),!0},e.prototype.provideCompletions=function(e,t,i){var n=function(e){var n=e.prefix,o=e.matches;this.completions=new v(o),t.exactMatch&&(this.completions.exactMatch=!0),t.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(n),(e.finished||this.completions.filtered.length)&&i(null,this.completions,e.finished)}.bind(this),o=!0,r=null;if(this.gatherCompletions(e,function(e,t){this.active&&(e&&(i(e,[],!0),this.detach()),0===t.prefix.indexOf(t.prefix)&&(o?r=t:n(t)))}.bind(this)),o=!1,r){var s=r;r=null,n(s)}},e.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach((function(e){"function"==typeof e.cancel&&e.cancel()}))},e}(),v=function(){function e(e,t){this.all=e,this.filtered=e,this.filterText=t||"",this.exactMatch=!1,this.ignoreCaption=!1}return e.prototype.setFilter=function(e){if(e.length>this.filterText&&0===e.lastIndexOf(this.filterText,0))var t=this.filtered;else t=this.all;this.filterText=e,t=(t=this.filterCompletions(t,this.filterText)).sort((function(e,t){return t.exactMatch-e.exactMatch||t.$score-e.$score||(e.caption||e.value).localeCompare(t.caption||t.value)}));var i=null;t=t.filter((function(e){var t=e.snippet||e.caption||e.value;return t!==i&&(i=t,!0)})),this.filtered=t},e.prototype.filterCompletions=function(e,t){var i=[],n=t.toUpperCase(),o=t.toLowerCase();e:for(var r,s=0;r=e[s];s++)if(r.skipFilter)r.$score=r.score,i.push(r);else{var a=!this.ignoreCaption&&r.caption||r.value||r.snippet;if(a){var p,c,l=-1,h=0,u=0;if(this.exactMatch){if(t!==a.substr(0,t.length))continue e}else{var d=a.toLowerCase().indexOf(o);if(d>-1)u=d;else for(var f=0;f<t.length;f++){var g=a.indexOf(o[f],l+1),m=a.indexOf(n[f],l+1);if((p=g>=0&&(m<0||g<m)?g:m)<0)continue e;(c=p-l-1)>0&&(-1===l&&(u+=10),u+=c,h|=1<<f),l=p}}r.matchMask=h,r.exactMatch=u?0:1,r.$score=(r.score||0)-u,i.push(r)}}return i},e}();t.Autocomplete=g,t.CompletionProvider=m,t.FilteredList=v})),ace.define("ace/marker_group",["require","exports","module"],(function(e,t,i){"use strict";var n=function(){function e(e,t){t&&(this.markerType=t.markerType),this.markers=[],this.session=e,e.addDynamicMarker(this)}return e.prototype.getMarkerAtPosition=function(e){return this.markers.find((function(t){return t.range.contains(e.row,e.column)}))},e.prototype.markersComparator=function(e,t){return e.range.start.row-t.range.start.row},e.prototype.setMarkers=function(e){this.markers=e.sort(this.markersComparator).slice(0,this.MAX_MARKERS),this.session._signal("changeBackMarker")},e.prototype.update=function(e,t,i,n){if(this.markers&&this.markers.length)for(var o,r=n.firstRow,s=n.lastRow,a=0,p=0,c=0;c<this.markers.length;c++){var l=this.markers[c];if(!(l.range.end.row<r)&&!(l.range.start.row>s||(l.range.start.row===p?a++:(p=l.range.start.row,a=0),a>200))){var h=l.range.clipRows(r,s);if(h.start.row!==h.end.row||h.start.column!==h.end.column){var u=h.toScreenRange(i);u.isEmpty()?(o=i.getNextFoldLine(h.end.row,o))&&o.end.row>h.end.row&&(r=o.end.row):"fullLine"===this.markerType?t.drawFullLineMarker(e,u,l.className,n):u.isMultiLine()?"line"===this.markerType?t.drawMultiLineMarker(e,u,l.className,n):t.drawTextMarker(e,u,l.className,n):t.drawSingleLineMarker(e,u,l.className+" ace_br15",n)}}}},e}();n.prototype.MAX_MARKERS=1e4,t.MarkerGroup=n})),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],(function(e,t,i){function n(e,t){return e.getTextRange(r.fromPoints({row:0,column:0},t)).split(s).length-1}function o(e,t){var i=n(e,t),o=e.getValue().split(s),r=Object.create(null),a=o[i];return o.forEach((function(e,t){if(e&&e!==a){var n=Math.abs(i-t),s=o.length-n;r[e]?r[e]=Math.max(s,r[e]):r[e]=s}})),r}var r=e("../range").Range,s=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;t.getCompletions=function(e,t,i,n,r){var s=o(t,i);r(null,Object.keys(s).map((function(e){return{caption:e,value:e,score:s[e],meta:"local"}})))}})),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/marker_group","ace/autocomplete/text_completer","ace/editor","ace/config"],(function(e,t,i){"use strict";var n=e("../snippets").snippetManager,o=e("../autocomplete").Autocomplete,r=e("../config"),s=e("../lib/lang"),a=e("../autocomplete/util"),p=e("../marker_group").MarkerGroup,c=e("../autocomplete/text_completer"),l={getCompletions:function(e,t,i,n,o){if(t.$mode.completer)return t.$mode.completer.getCompletions(e,t,i,n,o);var r=e.session.getState(i.row),s=t.$mode.getCompletions(r,t,i,n);s=s.map((function(e){return e.completerId=l.id,e})),o(null,s)},id:"keywordCompleter"},h=function(e){var t={};return e.replace(/\${(\d+)(:(.*?))?}/g,(function(e,i,n,o){return t[i]=o||""})).replace(/\$(\d+?)/g,(function(e,i){return t[i]}))},u={getCompletions:function(e,t,i,o,r){var s=[],a=t.getTokenAt(i.row,i.column);a&&a.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?s.push("html-tag"):s=n.getActiveScopes(e);var p=n.snippetMap,c=[];s.forEach((function(e){for(var t=p[e]||[],i=t.length;i--;){var n=t[i],o=n.name||n.tabTrigger;o&&c.push({caption:o,snippet:n.content,meta:n.tabTrigger&&!n.name?n.tabTrigger+"⇥ ":"snippet",completerId:u.id})}}),this),r(null,c)},getDocTooltip:function(e){e.snippet&&!e.docHTML&&(e.docHTML=["<b>",s.escapeHTML(e.caption),"</b>","<hr></hr>",s.escapeHTML(h(e.snippet))].join(""))},id:"snippetCompleter"},d=[u,c,l];t.setCompleters=function(e){d.length=0,e&&d.push.apply(d,e)},t.addCompleter=function(e){d.push(e)},t.textCompleter=c,t.keyWordCompleter=l,t.snippetCompleter=u;var f,g={name:"expandSnippet",exec:function(e){return n.expandWithTab(e)},bindKey:"Tab"},m=function(e,t){v(t.session.$mode)},v=function(e){"string"==typeof e&&(e=r.$modes[e]),e&&(n.files||(n.files={}),b(e.$id,e.snippetFileId),e.modes&&e.modes.forEach(v))},b=function(e,t){t&&e&&!n.files[e]&&(n.files[e]={},r.loadModule(t,(function(t){t&&(n.files[e]=t,!t.snippets&&t.snippetText&&(t.snippets=n.parseSnippetFile(t.snippetText)),n.register(t.snippets||[],t.scope),t.includeScopes&&(n.snippetMap[t.scope].includeScopes=t.includeScopes,t.includeScopes.forEach((function(e){v("ace/mode/"+e)}))))})))},x=function(e){var t=e.editor,i=t.completer&&t.completer.activated;if("backspace"===e.command.name)i&&!a.getCompletionPrefix(t)&&t.completer.detach();else if("insertstring"===e.command.name&&!i){f=e;var n=e.editor.$liveAutocompletionDelay;n?y.delay(n):w(e)}},y=s.delayedCall((function(){w(f)}),0),w=function(e){var t=e.editor,i=a.getCompletionPrefix(t),n=e.args,r=a.triggerAutocomplete(t,n);if(i&&i.length>=t.$liveAutocompletionThreshold||r){var s=o.for(t);s.autoShown=!0,s.showPopup(t)}},T=e("../editor").Editor;e("../config").defineOptions(T.prototype,"editor",{enableBasicAutocompletion:{set:function(e){e?(o.for(this),this.completers||(this.completers=Array.isArray(e)?e:d),this.commands.addCommand(o.startCommand)):this.commands.removeCommand(o.startCommand)},value:!1},enableLiveAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:d),this.commands.on("afterExec",x)):this.commands.off("afterExec",x)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(e){e?(this.commands.addCommand(g),this.on("changeMode",m),m(0,this)):(this.commands.removeCommand(g),this.off("changeMode",m))},value:!1}}),t.MarkerGroup=p})),ace.require(["ace/ext/language_tools"],(function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)}));
1
+ ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],(function(e,t,i){"use strict";function n(e){var t=(new Date).toLocaleString("en-us",e);return 1==t.length?"0"+t:t}var o=e("./lib/dom"),r=e("./lib/oop"),s=e("./lib/event_emitter").EventEmitter,a=e("./lib/lang"),p=e("./range").Range,c=e("./range_list").RangeList,l=e("./keyboard/hash_handler").HashHandler,h=e("./tokenizer").Tokenizer,u=e("./clipboard"),d={CURRENT_WORD:function(e){return e.session.getTextRange(e.session.getWordRange())},SELECTION:function(e,t,i){var n=e.session.getTextRange();return i?n.replace(/\n\r?([ \t]*\S)/g,"\n"+i+"$1"):n},CURRENT_LINE:function(e){return e.session.getLine(e.getCursorPosition().row)},PREV_LINE:function(e){return e.session.getLine(e.getCursorPosition().row-1)},LINE_INDEX:function(e){return e.getCursorPosition().row},LINE_NUMBER:function(e){return e.getCursorPosition().row+1},SOFT_TABS:function(e){return e.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(e){return e.session.getTabSize()},CLIPBOARD:function(e){return u.getText&&u.getText()},FILENAME:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0]},FILENAME_BASE:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(e){return this.FILEPATH(e).replace(/[^/\\]*$/,"")},FILEPATH:function(e){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.start||""},BLOCK_COMMENT_END:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.end||""},LINE_COMMENT:function(e){return(e.session.$mode||{}).lineCommentStart||""},CURRENT_YEAR:n.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:n.bind(null,{year:"2-digit"}),CURRENT_MONTH:n.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:n.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:n.bind(null,{month:"short"}),CURRENT_DATE:n.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:n.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:n.bind(null,{weekday:"short"}),CURRENT_HOUR:n.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:n.bind(null,{minute:"2-digit"}),CURRENT_SECOND:n.bind(null,{second:"2-digit"})};d.SELECTED_TEXT=d.SELECTION;var f=function(){function e(){this.snippetMap={},this.snippetNameMap={},this.variables=d}return e.prototype.getTokenizer=function(){return e.$tokenizer||this.createTokenizer()},e.prototype.createTokenizer=function(){function t(e){return e=e.substr(1),/^\d+$/.test(e)?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function i(e){return"(?:[^\\\\"+e+"]|\\\\.)"}var n={regex:"/("+i("/")+"+)/",onMatch:function(e,t,i){var n=i[0];return n.fmtString=!0,n.guard=e.slice(1,-1),n.flag="",""},next:"formatString"};return e.$tokenizer=new h({start:[{regex:/\\./,onMatch:function(e,t,i){var n=e[1];return("}"==n&&i.length||-1!="`$\\".indexOf(n))&&(e=n),[e]}},{regex:/}/,onMatch:function(e,t,i){return[i.length?i.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:t},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(e,i,n){var o=t(e.substr(1));return n.unshift(o[0]),o},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+i("\\|")+"*\\|",onMatch:function(e,t,i){var n=e.slice(1,-1).replace(/\\[,|\\]|,/g,(function(e){return 2==e.length?e[1]:"\0"})).split("\0").map((function(e){return{value:e}}));return i[0].choices=n,[n[0]]},next:"start"},n,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(e,t,i){return i.length&&i[0].expectElse?(i[0].expectElse=!1,i[0].ifEnd={elseEnd:i[0]},[i[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(e,t,i){var n=e[1];return"}"==n&&i.length||-1!="`$\\".indexOf(n)?e=n:"n"==n?e="\n":"t"==n?e="\t":-1!="ulULE".indexOf(n)&&(e={changeCase:n,local:n>"a"}),[e]}},{regex:"/\\w*}",onMatch:function(e,t,i){var n=i.shift();return n&&(n.flag=e.slice(1,-1)),this.next=n&&n.tabstopId?"start":"",[n||e]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(e,t,i){return[{text:e.slice(1)}]}},{regex:/\${\w+/,onMatch:function(e,t,i){var n={text:e.slice(2)};return i.unshift(n),[n]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(e,t,i){var n=i.shift();return this.next=n&&n.tabstopId?"start":"",[n||e]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(e,t,i){return i[0].formatFunction=e.slice(2,-1),[i.shift()]},next:"formatString"},n,{regex:/:[\?\-+]?/,onMatch:function(e,t,i){"+"==e[1]&&(i[0].ifEnd=i[0]),"?"==e[1]&&(i[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),e.$tokenizer},e.prototype.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map((function(e){return e.value||e}))},e.prototype.getVariableValue=function(e,t,i){if(/^\d+$/.test(t))return(this.variables.__||{})[t]||"";if(/^[A-Z]\d+$/.test(t))return(this.variables[t[0]+"__"]||{})[t.substr(1)]||"";if(t=t.replace(/^TM_/,""),!this.variables.hasOwnProperty(t))return"";var n=this.variables[t];return"function"==typeof n&&(n=this.variables[t](e,t,i)),null==n?"":n},e.prototype.tmStrFormat=function(e,t,i){if(!t.fmt)return e;var n=t.flag||"",o=t.guard;o=new RegExp(o,n.replace(/[^gim]/g,""));var r="string"==typeof t.fmt?this.tokenizeTmSnippet(t.fmt,"formatString"):t.fmt,s=this,a=e.replace(o,(function(){var e=s.variables.__;s.variables.__=[].slice.call(arguments);for(var t=s.resolveVariables(r,i),n="E",o=0;o<t.length;o++){var a=t[o];if("object"==typeof a)if(t[o]="",a.changeCase&&a.local){var p=t[o+1];p&&"string"==typeof p&&("u"==a.changeCase?t[o]=p[0].toUpperCase():t[o]=p[0].toLowerCase(),t[o+1]=p.substr(1))}else a.changeCase&&(n=a.changeCase);else"U"==n?t[o]=a.toUpperCase():"L"==n&&(t[o]=a.toLowerCase())}return s.variables.__=e,t.join("")}));return a},e.prototype.tmFormatFunction=function(e,t,i){return"upcase"==t.formatFunction?e.toUpperCase():"downcase"==t.formatFunction?e.toLowerCase():e},e.prototype.resolveVariables=function(e,t){function i(t){var i=e.indexOf(t,s+1);-1!=i&&(s=i)}for(var n=[],o="",r=!0,s=0;s<e.length;s++){var a=e[s];if("string"!=typeof a){if(a){if(r=!1,a.fmtString){var p=e.indexOf(a,s+1);-1==p&&(p=e.length),a.fmt=e.slice(s+1,p),s=p}if(a.text){var c=this.getVariableValue(t,a.text,o)+"";a.fmtString&&(c=this.tmStrFormat(c,a,t)),a.formatFunction&&(c=this.tmFormatFunction(c,a,t)),c&&!a.ifEnd?(n.push(c),i(a)):!c&&a.ifEnd&&i(a.ifEnd)}else a.elseEnd?i(a.elseEnd):(null!=a.tabstopId||null!=a.changeCase)&&n.push(a)}}else n.push(a),"\n"==a?(r=!0,o=""):r&&(o=/^\t*/.exec(a)[0],r=/\S/.test(a))}return n},e.prototype.getDisplayTextForSnippet=function(e,t){return g.call(this,e,t).text},e.prototype.insertSnippetForSelection=function(e,t,i){void 0===i&&(i={});var n=g.call(this,e,t,i),o=e.getSelectionRange(),r=e.session.replace(o,n.text),s=new m(e),a=e.inVirtualSelectionMode&&e.selection.index;s.addTabstops(n.tabstops,o.start,r,a)},e.prototype.insertSnippet=function(e,t,i){void 0===i&&(i={});var n=this;if(e.inVirtualSelectionMode)return n.insertSnippetForSelection(e,t,i);e.forEachSelection((function(){n.insertSnippetForSelection(e,t,i)}),null,{keepOrder:!0}),e.tabstopManager&&e.tabstopManager.tabNext()},e.prototype.$getScope=function(e){var t=e.session.$mode.$id||"";if("html"===(t=t.split("/").pop())||"php"===t){"php"===t&&!e.session.$mode.inlinePhp&&(t="html");var i=e.getCursorPosition(),n=e.session.getState(i.row);"object"==typeof n&&(n=n[0]),n.substring&&("js-"==n.substring(0,3)?t="javascript":"css-"==n.substring(0,4)?t="css":"php-"==n.substring(0,4)&&(t="php"))}return t},e.prototype.getActiveScopes=function(e){var t=this.$getScope(e),i=[t],n=this.snippetMap;return n[t]&&n[t].includeScopes&&i.push.apply(i,n[t].includeScopes),i.push("_"),i},e.prototype.expandWithTab=function(e,t){var i=this,n=e.forEachSelection((function(){return i.expandSnippetForSelection(e,t)}),null,{keepOrder:!0});return n&&e.tabstopManager&&e.tabstopManager.tabNext(),n},e.prototype.expandSnippetForSelection=function(e,t){var i,n=e.getCursorPosition(),o=e.session.getLine(n.row),r=o.substring(0,n.column),s=o.substr(n.column),a=this.snippetMap;return this.getActiveScopes(e).some((function(e){var t=a[e];return t&&(i=this.findMatchingSnippet(t,r,s)),!!i}),this),!!i&&(t&&t.dryRun||(e.session.doc.removeInLine(n.row,n.column-i.replaceBefore.length,n.column+i.replaceAfter.length),this.variables.M__=i.matchBefore,this.variables.T__=i.matchAfter,this.insertSnippetForSelection(e,i.content),this.variables.M__=this.variables.T__=null),!0)},e.prototype.findMatchingSnippet=function(e,t,i){for(var n=e.length;n--;){var o=e[n];if((!o.startRe||o.startRe.test(t))&&((!o.endRe||o.endRe.test(i))&&(o.startRe||o.endRe)))return o.matchBefore=o.startRe?o.startRe.exec(t):[""],o.matchAfter=o.endRe?o.endRe.exec(i):[""],o.replaceBefore=o.triggerRe?o.triggerRe.exec(t)[0]:"",o.replaceAfter=o.endTriggerRe?o.endTriggerRe.exec(i)[0]:"",o}},e.prototype.register=function(e,t){function i(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")"),e||""}function n(e,t,n){return e=i(e),t=i(t),n?(e=t+e)&&"$"!=e[e.length-1]&&(e+="$"):(e+=t)&&"^"!=e[0]&&(e="^"+e),new RegExp(e)}function o(e){e.scope||(e.scope=t||"_"),t=e.scope,r[t]||(r[t]=[],s[t]={});var i=s[t];if(e.name){var o=i[e.name];o&&p.unregister(o),i[e.name]=e}r[t].push(e),e.prefix&&(e.tabTrigger=e.prefix),!e.content&&e.body&&(e.content=Array.isArray(e.body)?e.body.join("\n"):e.body),e.tabTrigger&&!e.trigger&&(!e.guard&&/^\w/.test(e.tabTrigger)&&(e.guard="\\b"),e.trigger=a.escapeRegExp(e.tabTrigger)),(e.trigger||e.guard||e.endTrigger||e.endGuard)&&(e.startRe=n(e.trigger,e.guard,!0),e.triggerRe=new RegExp(e.trigger),e.endRe=n(e.endTrigger,e.endGuard,!0),e.endTriggerRe=new RegExp(e.endTrigger))}var r=this.snippetMap,s=this.snippetNameMap,p=this;e||(e=[]),Array.isArray(e)?e.forEach(o):Object.keys(e).forEach((function(t){o(e[t])})),this._signal("registerSnippets",{scope:t})},e.prototype.unregister=function(e,t){function i(e){var i=o[e.scope||t];if(i&&i[e.name]){delete i[e.name];var r=n[e.scope||t],s=r&&r.indexOf(e);s>=0&&r.splice(s,1)}}var n=this.snippetMap,o=this.snippetNameMap;e.content?i(e):Array.isArray(e)&&e.forEach(i)},e.prototype.parseSnippetFile=function(e){e=e.replace(/\r/g,"");for(var t,i=[],n={},o=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;t=o.exec(e);){if(t[1])try{n=JSON.parse(t[1]),i.push(n)}catch(e){}if(t[4])n.content=t[4].replace(/^\t/gm,""),i.push(n),n={};else{var r=t[2],s=t[3];if("regex"==r){var a=/\/((?:[^\/\\]|\\.)*)|$/g;n.guard=a.exec(s)[1],n.trigger=a.exec(s)[1],n.endTrigger=a.exec(s)[1],n.endGuard=a.exec(s)[1]}else"snippet"==r?(n.tabTrigger=s.match(/^\S*/)[0],n.name||(n.name=s)):r&&(n[r]=s)}}return i},e.prototype.getSnippetByName=function(e,t){var i,n=this.snippetNameMap;return this.getActiveScopes(t).some((function(t){var o=n[t];return o&&(i=o[e]),!!i}),this),i},e}();r.implement(f.prototype,s);var g=function(e,t,i){function n(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];if("object"==typeof n){if(l[n.tabstopId])continue;n=t[e.lastIndexOf(n,i-1)]||{tabstopId:n.tabstopId}}t[i]=n}return t}void 0===i&&(i={});var o=e.getCursorPosition(),r=e.session.getLine(o.row),s=e.session.getTabString(),a=r.match(/^\s*/)[0];o.column<a.length&&(a=a.slice(0,o.column)),t=t.replace(/\r/g,"");var p=this.tokenizeTmSnippet(t);p=(p=this.resolveVariables(p,e)).map((function(e){return"\n"!=e||i.excludeExtraIndent?"string"==typeof e?e.replace(/\t/g,s):e:e+a}));var c=[];p.forEach((function(e,t){if("object"==typeof e){var i=e.tabstopId,n=c[i];if(n||((n=c[i]=[]).index=i,n.value="",n.parents={}),-1===n.indexOf(e)){e.choices&&!n.choices&&(n.choices=e.choices),n.push(e);var o=p.indexOf(e,t+1);if(-1!==o){var r=p.slice(t+1,o),s=r.some((function(e){return"object"==typeof e}));s&&!n.value?n.value=r:r.length&&(!n.value||"string"!=typeof n.value)&&(n.value=r.join(""))}}}})),c.forEach((function(e){e.length=0}));for(var l={},h=0;h<p.length;h++){var u=p[h];if("object"==typeof u){var d=u.tabstopId,f=c[d],g=p.indexOf(u,h+1);if(l[d])l[d]===u&&(delete l[d],Object.keys(l).forEach((function(e){f.parents[e]=!0})));else{l[d]=u;var m=f.value;"string"!=typeof m?m=n(m):u.fmt&&(m=this.tmStrFormat(m,u,e)),p.splice.apply(p,[h+1,Math.max(0,g-h)].concat(m,u)),-1===f.indexOf(u)&&f.push(u)}}}var v=0,b=0,x="";return p.forEach((function(e){if("string"==typeof e){var t=e.split("\n");t.length>1?(b=t[t.length-1].length,v+=t.length-1):b+=e.length,x+=e}else e&&(e.start?e.end={row:v,column:b}:e.start={row:v,column:b})})),{text:x,tabstops:c,tokens:p}},m=function(){function e(e){if(this.index=0,this.ranges=[],this.tabstops=[],e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=a.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)}return e.prototype.attach=function(e){this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.session=e.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},e.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},e.prototype.onChange=function(e){for(var t="r"==e.action[0],i=this.selectedTabstop||{},n=i.parents||{},o=this.tabstops.slice(),r=0;r<o.length;r++){var s=o[r],a=s==i||n[s.index];if(s.rangeList.$bias=a?0:1,"remove"==e.action&&s!==i){var p=s.parents&&s.parents[i.index],c=s.rangeList.pointIndex(e.start,p);c=c<0?-c-1:c+1;var l=s.rangeList.pointIndex(e.end,p);l=l<0?-l-1:l-1;for(var h=s.rangeList.ranges.slice(c,l),u=0;u<h.length;u++)this.removeRange(h[u])}s.rangeList.$onChange(e)}var d=this.session;!this.$inChange&&t&&1==d.getLength()&&!d.getValue()&&this.detach()},e.prototype.updateLinkedFields=function(){var e=this.selectedTabstop;if(e&&e.hasLinkedRanges&&e.firstNonLinked){this.$inChange=!0;for(var i=this.session,n=i.getTextRange(e.firstNonLinked),o=0;o<e.length;o++){var r=e[o];if(r.linked){var s=r.original,a=t.snippetManager.tmStrFormat(n,s,this.editor);i.replace(r,a)}}this.$inChange=!1}},e.prototype.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},e.prototype.onChangeSelection=function(){if(this.editor){for(var e=this.editor.selection.lead,t=this.editor.selection.anchor,i=this.editor.selection.isEmpty(),n=0;n<this.ranges.length;n++)if(!this.ranges[n].linked){var o=this.ranges[n].contains(e.row,e.column),r=i||this.ranges[n].contains(t.row,t.column);if(o&&r)return}this.detach()}},e.prototype.onChangeSession=function(){this.detach()},e.prototype.tabNext=function(e){var t=this.tabstops.length,i=this.index+(e||1);(i=Math.min(Math.max(i,1),t))==t&&(i=0),this.selectTabstop(i),this.updateTabstopMarkers(),0===i&&this.detach()},e.prototype.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];if(t&&this.addTabstopMarkers(t),this.index=e,(t=this.tabstops[this.index])&&t.length){this.selectedTabstop=t;var i=t.firstNonLinked||t;if(t.choices&&(i.cursor=i.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(i);else{var n=this.editor.multiSelect;n.toSingleRange(i);for(var o=0;o<t.length;o++)t.hasLinkedRanges&&t[o].linked||n.addRange(t[o].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},e.prototype.addTabstops=function(e,t,i){var n=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!e[0]){var o=p.fromPoints(i,i);b(o.start,t),b(o.end,t),e[0]=[o],e[0].index=0}var r=[this.index+1,0],s=this.ranges,a=this.snippetId=(this.snippetId||0)+1;e.forEach((function(e,i){var o=this.$openTabstops[i]||e;o.snippetId=a;for(var l=0;l<e.length;l++){var h=e[l],u=p.fromPoints(h.start,h.end||h.start);v(u.start,t),v(u.end,t),u.original=h,u.tabstop=o,s.push(u),o!=e?o.unshift(u):o[l]=u,h.fmtString||o.firstNonLinked&&n?(u.linked=!0,o.hasLinkedRanges=!0):o.firstNonLinked||(o.firstNonLinked=u)}o.firstNonLinked||(o.hasLinkedRanges=!1),o===e&&(r.push(o),this.$openTabstops[i]=o),this.addTabstopMarkers(o),o.rangeList=o.rangeList||new c,o.rangeList.$bias=0,o.rangeList.addList(o)}),this),r.length>2&&(this.tabstops.length&&r.push(r.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,r))},e.prototype.addTabstopMarkers=function(e){var t=this.session;e.forEach((function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))}))},e.prototype.removeTabstopMarkers=function(e){var t=this.session;e.forEach((function(e){t.removeMarker(e.markerId),e.markerId=null}))},e.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var e=this.selectedTabstop.snippetId;0===this.selectedTabstop.index&&e--,this.tabstops.forEach((function(t){t.snippetId===e?this.addTabstopMarkers(t):this.removeTabstopMarkers(t)}),this)}},e.prototype.removeRange=function(e){var t=e.tabstop.indexOf(e);-1!=t&&e.tabstop.splice(t,1),-1!=(t=this.ranges.indexOf(e))&&this.ranges.splice(t,1),-1!=(t=e.tabstop.rangeList.ranges.indexOf(e))&&e.tabstop.splice(t,1),this.session.removeMarker(e.markerId),e.tabstop.length||(-1!=(t=this.tabstops.indexOf(e.tabstop))&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},e}();m.prototype.keyboardHandler=new l,m.prototype.keyboardHandler.bindKeys({Tab:function(e){t.snippetManager&&t.snippetManager.expandWithTab(e)||(e.tabstopManager.tabNext(1),e.renderer.scrollCursorIntoView())},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1),e.renderer.scrollCursorIntoView()},Esc:function(e){e.tabstopManager.detach()}});var v=function(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row},b=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};o.importCssString("\n.ace_snippet-marker {\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n background: rgba(194, 193, 208, 0.09);\n border: 1px dotted rgba(211, 208, 235, 0.62);\n position: absolute;\n}","snippets.css",!1),t.snippetManager=new f;var x=e("./editor").Editor;(function(){this.insertSnippet=function(e,i){return t.snippetManager.insertSnippet(this,e,i)},this.expandSnippet=function(e){return t.snippetManager.expandWithTab(this,e)}}).call(x.prototype)})),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],(function(e,t,i){"use strict";var n=e("../virtual_renderer").VirtualRenderer,o=e("../editor").Editor,r=e("../range").Range,s=e("../lib/event"),a=e("../lib/lang"),p=e("../lib/dom"),c=e("../config").nls,l=e("./../lib/useragent"),h=function(e){return"suggest-aria-id:".concat(e)},u=l.isSafari?"menu":"listbox",d=l.isSafari?"menuitem":"option",f=l.isSafari?"aria-current":"aria-selected",g=function(e){var t=new n(e);t.$maxLines=4;var i=new o(t);return i.setHighlightActiveLine(!1),i.setShowPrintMargin(!1),i.renderer.setShowGutter(!1),i.renderer.setHighlightGutterLine(!1),i.$mouseHandler.$focusTimeout=0,i.$highlightTagPending=!0,i},m=function(e){var t=p.createElement("div"),i=g(t);e&&e.appendChild(t),t.style.display="none",i.renderer.content.style.cursor="default",i.renderer.setStyle("ace_autocomplete"),i.renderer.$textLayer.element.setAttribute("role",u),i.renderer.$textLayer.element.setAttribute("aria-roledescription",c("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),i.renderer.$textLayer.element.setAttribute("aria-label",c("autocomplete.popup.aria-label","Autocomplete suggestions")),i.renderer.textarea.setAttribute("aria-hidden","true"),i.setOption("displayIndentGuides",!1),i.setOption("dragDelay",150);var n=function(){};i.focus=n,i.$isFocused=!0,i.renderer.$cursorLayer.restartTimer=n,i.renderer.$cursorLayer.element.style.opacity="0",i.renderer.$maxLines=8,i.renderer.$keepTextAreaAtCursor=!1,i.setHighlightActiveLine(!1),i.session.highlight(""),i.session.$searchHighlight.clazz="ace_highlight-marker",i.on("mousedown",(function(e){var t=e.getDocumentPosition();i.selection.moveToPosition(t),m.start.row=m.end.row=t.row,e.stop()}));var o,l=new r(-1,0,-1,1/0),m=new r(-1,0,-1,1/0);m.id=i.session.addMarker(m,"ace_active-line","fullLine"),i.setSelectOnHover=function(e){e?l.id&&(i.session.removeMarker(l.id),l.id=null):l.id=i.session.addMarker(l,"ace_line-hover","fullLine")},i.setSelectOnHover(!1),i.on("mousemove",(function(e){if(o){if(o.x!=e.x||o.y!=e.y){(o=e).scrollTop=i.renderer.scrollTop,i.isMouseOver=!0;var t=o.getDocumentPosition().row;l.start.row!=t&&(l.id||i.setRow(t),b(t))}}else o=e})),i.renderer.on("beforeRender",(function(){if(o&&-1!=l.start.row){o.$pos=null;var e=o.getDocumentPosition().row;l.id||i.setRow(e),b(e,!0)}})),i.renderer.on("afterRender",(function(){for(var e=i.renderer.$textLayer,t=e.config.firstRow,n=e.config.lastRow;t<=n;t++){var o=e.element.childNodes[t-e.config.firstRow];o.setAttribute("role",d),o.setAttribute("aria-roledescription",c("autocomplete.popup.item.aria-roledescription","item")),o.setAttribute("aria-setsize",i.data.length),o.setAttribute("aria-describedby","doc-tooltip"),o.setAttribute("aria-posinset",t+1);var r=i.getData(t);if(r){var s="".concat(r.caption||r.value).concat(r.meta?", ".concat(r.meta):"");o.setAttribute("aria-label",s)}o.querySelectorAll(".ace_completion-highlight").forEach((function(e){e.setAttribute("role","mark")}))}})),i.renderer.on("afterRender",(function(){var e=i.getRow(),t=i.renderer.$textLayer,n=t.element.childNodes[e-t.config.firstRow],o=document.activeElement;if(n!==i.selectedNode&&i.selectedNode&&(p.removeCssClass(i.selectedNode,"ace_selected"),i.selectedNode.removeAttribute(f),i.selectedNode.removeAttribute("id")),o.removeAttribute("aria-activedescendant"),i.selectedNode=n,n){var r=h(e);p.addCssClass(n,"ace_selected"),n.id=r,t.element.setAttribute("aria-activedescendant",r),o.setAttribute("aria-activedescendant",r),n.setAttribute(f,"true")}}));var v=function(){b(-1)},b=function(e,t){e!==l.start.row&&(l.start.row=l.end.row=e,t||i.session._emit("changeBackMarker"),i._emit("changeHoverMarker"))};i.getHoveredRow=function(){return l.start.row},s.addListener(i.container,"mouseout",(function(){i.isMouseOver=!1,v()})),i.on("hide",v),i.on("changeSelection",v),i.session.doc.getLength=function(){return i.data.length},i.session.doc.getLine=function(e){var t=i.data[e];return"string"==typeof t?t:t&&t.value||""};var x=i.session.bgTokenizer;return x.$tokenizeRow=function(e){function t(e,t){e&&o.push({type:(n.className||"")+(t||""),value:e})}var n=i.data[e],o=[];if(!n)return o;"string"==typeof n&&(n={value:n});for(var r=n.caption||n.value||n.name,s=r.toLowerCase(),a=(i.filterText||"").toLowerCase(),p=0,c=0,l=0;l<=a.length;l++)if(l!=c&&(n.matchMask&1<<l||l==a.length)){var h=a.slice(c,l);c=l;var u=s.indexOf(h,p);if(-1==u)continue;t(r.slice(p,u),""),p=u+h.length,t(r.slice(u,p),"completion-highlight")}return t(r.slice(p,r.length),""),o.push({type:"completion-spacer",value:" "}),n.meta&&o.push({type:"completion-meta",value:n.meta}),n.message&&o.push({type:"completion-message",value:n.message}),o},x.$updateOnChange=n,x.start=n,i.session.$computeWidth=function(){return this.screenWidth=0},i.isOpen=!1,i.isTopdown=!1,i.autoSelect=!0,i.filterText="",i.isMouseOver=!1,i.data=[],i.setData=function(e,t){i.filterText=t||"",i.setValue(a.stringRepeat("\n",e.length),-1),i.data=e||[],i.setRow(0)},i.getData=function(e){return i.data[e]},i.getRow=function(){return m.start.row},i.setRow=function(e){e=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,e)),m.start.row!=e&&(i.selection.clearSelection(),m.start.row=m.end.row=e||0,i.session._emit("changeBackMarker"),i.moveCursorTo(e||0,0),i.isOpen&&i._signal("select"))},i.on("changeSelection",(function(){i.isOpen&&i.setRow(i.selection.lead.row),i.renderer.scrollCursorIntoView()})),i.hide=function(){this.container.style.display="none",i.anchorPos=null,i.anchor=null,i.isOpen&&(i.isOpen=!1,this._signal("hide"))},i.tryShow=function(e,t,n,r){if(!r&&i.isOpen&&i.anchorPos&&i.anchor&&i.anchorPos.top===e.top&&i.anchorPos.left===e.left&&i.anchor===n)return!0;var s=this.container,a=this.renderer.scrollBar.width||10,c=window.innerHeight-a,l=window.innerWidth-a,h=this.renderer,u=h.$maxLines*t*1.4,d={top:0,bottom:0,left:0},f=c-e.top-3*this.$borderSize-t,g=e.top-3*this.$borderSize;n||(n=g<=f||f>=u?"bottom":"top"),"top"===n?(d.bottom=e.top-this.$borderSize,d.top=d.bottom-u):"bottom"===n&&(d.top=e.top+t+this.$borderSize,d.bottom=d.top+u);var m=d.top>=0&&d.bottom<=c;if(!r&&!m)return!1;h.$maxPixelHeight=m?null:"top"===n?g:f,"top"===n?(s.style.top="",s.style.bottom=c+a-d.bottom+"px",i.isTopdown=!1):(s.style.top=d.top+"px",s.style.bottom="",i.isTopdown=!0),s.style.display="";var v=e.left;return v+s.offsetWidth>l&&(v=l-s.offsetWidth),s.style.left=v+"px",s.style.right="",p.$fixPositionBug(s),i.isOpen||(i.isOpen=!0,this._signal("show"),o=null),i.anchorPos=e,i.anchor=n,!0},i.show=function(e,t,i){this.tryShow(e,t,i?"bottom":void 0,!0)},i.goTo=function(e){var t=this.getRow(),i=this.session.getLength()-1;switch(e){case"up":t=t<=0?i:t-1;break;case"down":t=t>=i?-1:t+1;break;case"start":t=0;break;case"end":t=i}this.setRow(t)},i.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},i.$imageSize=0,i.$borderSize=1,i};p.importCssString('\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #CAD6FA;\n z-index: 1;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #3a674e;\n}\n.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid #abbffe;\n margin-top: -1px;\n background: rgba(233,233,253,0.4);\n position: absolute;\n z-index: 2;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid rgba(109, 150, 13, 0.8);\n background: rgba(58, 103, 78, 0.62);\n}\n.ace_completion-meta {\n opacity: 0.5;\n margin-left: 0.9em;\n}\n.ace_completion-message {\n margin-left: 0.9em;\n color: blue;\n}\n.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #2d69c7;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #93ca12;\n}\n.ace_editor.ace_autocomplete {\n width: 300px;\n z-index: 200000;\n border: 1px lightgray solid;\n position: fixed;\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n line-height: 1.4;\n background: #fefefe;\n color: #111;\n}\n.ace_dark.ace_editor.ace_autocomplete {\n border: 1px #484747 solid;\n box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);\n line-height: 1.4;\n background: #25282c;\n color: #c1c1c1;\n}\n.ace_autocomplete .ace_text-layer {\n width: calc(100% - 8px);\n}\n.ace_autocomplete .ace_line {\n display: flex;\n align-items: center;\n}\n.ace_autocomplete .ace_line > * {\n min-width: 0;\n flex: 0 0 auto;\n}\n.ace_autocomplete .ace_line .ace_ {\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ace_autocomplete .ace_completion-spacer {\n flex: 1;\n}\n.ace_autocomplete.ace_loading:after {\n content: "";\n position: absolute;\n top: 0px;\n height: 2px;\n width: 8%;\n background: blue;\n z-index: 100;\n animation: ace_progress 3s infinite linear;\n animation-delay: 300ms;\n transform: translateX(-100%) scaleX(1);\n}\n@keyframes ace_progress {\n 0% { transform: translateX(-100%) scaleX(1) }\n 50% { transform: translateX(625%) scaleX(2) } \n 100% { transform: translateX(1500%) scaleX(3) } \n}\n@media (prefers-reduced-motion) {\n .ace_autocomplete.ace_loading:after {\n transform: translateX(625%) scaleX(2);\n animation: none;\n }\n}\n',"autocompletion.css",!1),t.AcePopup=m,t.$singleLineEditor=g,t.getAriaId=h})),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],(function(e,t,i){"use strict";var n=function(){function e(e){this.editor=e,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return e.prototype.setScreenReaderContent=function(e){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",function(){var e=this.popup.getRow(),t=this.popup.renderer.$textLayer,i=t.element.childNodes[e-t.config.firstRow];if(i){for(var n="doc-tooltip ",o=0;o<this._lines.length;o++)n+="ace-inline-screenreader-line-".concat(o," ");i.setAttribute("aria-describedby",n)}}.bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=e.split(/\r\n|\r|\n/);var t=this.createCodeBlock();this.screenReaderDiv.appendChild(t)},e.prototype.destroy=function(){this.screenReaderDiv.remove()},e.prototype.createCodeBlock=function(){var e=document.createElement("pre");e.setAttribute("id","ace-inline-screenreader");for(var t=0;t<this._lines.length;t++){var i=document.createElement("code");i.setAttribute("id","ace-inline-screenreader-line-".concat(t));var n=document.createTextNode(this._lines[t]);i.appendChild(n),e.appendChild(i)}return e},e}();t.AceInlineScreenReader=n})),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],(function(e,t,i){"use strict";var n=e("../snippets").snippetManager,o=e("./inline_screenreader").AceInlineScreenReader,r=function(){function e(){this.editor=null}return e.prototype.show=function(e,t,i){if(i=i||"",e&&this.editor&&this.editor!==e&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!e||!t)return!1;this.inlineScreenReader||(this.inlineScreenReader=new o(e));var r=t.snippet?n.getDisplayTextForSnippet(e,t.snippet):t.value;return!(t.hideInlinePreview||!r||!r.startsWith(i))&&(this.editor=e,this.inlineScreenReader.setScreenReaderContent(r),""===(r=r.slice(i.length))?e.removeGhostText():e.setGhostText(r),!0)},e.prototype.isOpen=function(){return!!this.editor&&!!this.editor.renderer.$ghostText},e.prototype.hide=function(){return!!this.editor&&(this.editor.removeGhostText(),!0)},e.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},e}();t.AceInline=r})),ace.define("ace/autocomplete/util",["require","exports","module"],(function(e,t,i){"use strict";t.parForEach=function(e,t,i){var n=0,o=e.length;0===o&&i();for(var r=0;r<o;r++)t(e[r],(function(e,t){++n===o&&i(e,t)}))};var n=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;t.retrievePrecedingIdentifier=function(e,t,i){i=i||n;for(var o=[],r=t-1;r>=0&&i.test(e[r]);r--)o.push(e[r]);return o.reverse().join("")},t.retrieveFollowingIdentifier=function(e,t,i){i=i||n;for(var o=[],r=t;r<e.length&&i.test(e[r]);r++)o.push(e[r]);return o},t.getCompletionPrefix=function(e){var t,i=e.getCursorPosition(),n=e.session.getLine(i.row);return e.completers.forEach(function(e){e.identifierRegexps&&e.identifierRegexps.forEach(function(e){!t&&e&&(t=this.retrievePrecedingIdentifier(n,i.column,e))}.bind(this))}.bind(this)),t||this.retrievePrecedingIdentifier(n,i.column)},t.triggerAutocomplete=function(e,t){t=null==t?e.session.getPrecedingCharacter():t;return e.completers.some((function(e){if(e.triggerCharacters&&Array.isArray(e.triggerCharacters))return e.triggerCharacters.includes(t)}))}})),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],(function(e,t,i){"use strict";var n=e("./keyboard/hash_handler").HashHandler,o=e("./autocomplete/popup").AcePopup,r=e("./autocomplete/inline").AceInline,s=e("./autocomplete/popup").getAriaId,a=e("./autocomplete/util"),p=e("./lib/lang"),c=e("./lib/dom"),l=e("./snippets").snippetManager,h=e("./config"),u=e("./lib/event"),d=e("./lib/scroll").preventParentScroll,f=function(e,t){t.completer&&t.completer.destroy()},g=function(){function e(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new n,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=p.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=p.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=p.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=p.delayedCall(function(){this.stickySelection=!0}.bind(this),this.stickySelectionDelay),this.$firstOpenTimer=p.delayedCall(function(){var t=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!t||0===this.editor.completers.length||(this.completions=new v(e.completionsForLoading),this.openPopup(this.editor,t.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}.bind(this),this.stickySelectionDelay)}return Object.defineProperty(e,"completionsForLoading",{get:function(){return[{caption:h.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),e.prototype.$init=function(){return this.popup=new o(this.parentNode||document.body||document.documentElement),this.popup.on("click",function(e){this.insertMatch(),e.stop()}.bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),u.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},e.prototype.$initInline=function(){if(this.inlineEnabled&&!this.inlineRenderer)return this.inlineRenderer=new r,this.inlineRenderer},e.prototype.getPopup=function(){return this.popup||this.$init()},e.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},e.prototype.$seen=function(e){!this.hasSeen.has(e)&&e&&e.completer&&e.completer.onSeen&&"function"==typeof e.completer.onSeen&&(e.completer.onSeen(this.editor,e),this.hasSeen.add(e))},e.prototype.$onPopupChange=function(e){if(this.inlineRenderer&&this.inlineEnabled){var t=e?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(t),this.popup.isMouseOver&&this.setSelectOnHover)return void this.tooltipTimer.call(null,null);this.popupTimer.schedule(),this.tooltipTimer.schedule()}else this.popupTimer.call(null,null),this.tooltipTimer.call(null,null)},e.prototype.$updateGhostText=function(e){var t=this.base.row,i=this.base.column,n=this.editor.getCursorPosition().column,o=this.editor.session.getLine(t).slice(i,n);this.inlineRenderer.show(this.editor,e,o)?this.$seen(e):this.inlineRenderer.hide()},e.prototype.$onPopupRender=function(){var e=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var t=this.popup.getFirstVisibleRow();t<=this.popup.getLastVisibleRow();t++){var i=this.popup.getData(t);i&&(!e||i.hideInlinePreview)&&this.$seen(i)}},e.prototype.$onPopupShow=function(e){this.$onPopupChange(e),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},e.prototype.observeLayoutChanges=function(){if(!this.$elements&&this.editor){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var e=this.editor.container.parentNode,t=[];e;)t.push(e),e.addEventListener("scroll",this.onLayoutChange,{passive:!0}),e=e.parentNode;this.$elements=t}},e.prototype.unObserveLayoutChanges=function(){var e=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach((function(t){t.removeEventListener("scroll",e.onLayoutChange,{passive:!0})})),this.$elements=null},e.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},e.prototype.$updatePopupPosition=function(){var e=this.editor,t=e.renderer,i=t.layerConfig.lineHeight,n=t.$cursorLayer.getPixelPosition(this.base,!0);n.left-=this.popup.getTextLeftOffset();var o=e.container.getBoundingClientRect();n.top+=o.top-t.layerConfig.offset,n.left+=o.left-e.renderer.scrollLeft,n.left+=t.gutterWidth;var r={top:n.top,left:n.left};t.$ghostText&&t.$ghostTextWidget&&this.base.row===t.$ghostText.position.row&&(r.top+=t.$ghostTextWidget.el.offsetHeight);var s=e.container.getBoundingClientRect().bottom-i,a=s<r.top?{top:s,left:r.left}:r;this.popup.tryShow(a,i,"bottom")||this.popup.tryShow(n,i,"top")||this.popup.show(n,i)},e.prototype.openPopup=function(e,t,i){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var n,o=this.popup.getRow(),r=this.popup.data[o];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:s(this.popup.getRow()),inline:this.inlineEnabled}),e.keyBinding.addKeyboardHandler(this.keyboardHandler),this.stickySelection&&(n=this.popup.data.indexOf(r)),n&&-1!==n||(n=0),this.popup.setRow(this.autoSelect?n:-1),n===o&&r!==this.completions.filtered[n]&&this.$onPopupChange();var a=this.inlineRenderer&&this.inlineEnabled;if(n===o&&a){var p=this.popup.getData(this.popup.getRow());this.$updateGhostText(p)}i||(this.popup.setTheme(e.getTheme()),this.popup.setFontSize(e.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},e.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},e.prototype.changeListener=function(e){var t=this.editor.selection.lead;(t.row!=this.base.row||t.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},e.prototype.blurListener=function(e){var t=document.activeElement,i=this.editor.textInput.getElement(),n=e.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(e.relatedTarget),o=this.popup&&this.popup.container;t!=i&&t.parentNode!=o&&!n&&t!=this.tooltipNode&&e.relatedTarget!=i&&this.detach()},e.prototype.mousedownListener=function(e){this.detach()},e.prototype.mousewheelListener=function(e){this.popup&&!this.popup.isMouseOver&&this.detach()},e.prototype.mouseOutListener=function(e){this.popup.isOpen&&this.$updatePopupPosition()},e.prototype.goTo=function(e){this.popup.goTo(e)},e.prototype.insertMatch=function(e,t){if(e||(e=this.popup.getData(this.popup.getRow())),!e)return!1;if(""===e.value)return this.detach();var i=this.completions,n=this.getCompletionProvider().insertMatch(this.editor,e,i.filterText,t);return this.completions==i&&this.detach(),n},e.prototype.showPopup=function(e,t){this.editor&&this.detach(),this.activated=!0,this.editor=e,e.completer!=this&&(e.completer&&e.completer.detach(),e.completer=this),e.on("changeSelection",this.changeListener),e.on("blur",this.blurListener),e.on("mousedown",this.mousedownListener),e.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,t)},e.prototype.getCompletionProvider=function(e){return this.completionProvider||(this.completionProvider=new m(e)),this.completionProvider},e.prototype.gatherCompletions=function(e,t){return this.getCompletionProvider().gatherCompletions(e,t)},e.prototype.updateCompletions=function(t,i){if(t&&this.base&&this.completions){var n=this.editor.getCursorPosition();if((r=this.editor.session.getTextRange({start:this.base,end:n}))==this.completions.filterText)return;return this.completions.setFilter(r),this.completions.filtered.length?1!=this.completions.filtered.length||this.completions.filtered[0].value!=r||this.completions.filtered[0].snippet?void this.openPopup(this.editor,r,t):this.detach():this.detach()}if(i&&i.matches){n=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(n.row,n.column),this.base.$insertRight=!0,this.completions=new v(i.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",t)}var o=this.editor.getSession(),r=(n=this.editor.getCursorPosition(),a.getCompletionPrefix(this.editor));this.base=o.doc.createAnchor(n.row,n.column-r.length),this.base.$insertRight=!0;var s={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:r,pos:n}).provideCompletions(this.editor,s,function(i,n,o){var r=n.filtered,s=a.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),o){if(!r.length){var p=!this.autoShown&&this.emptyMessage;if("function"==typeof p&&(p=this.emptyMessage(s)),p){var c=[{caption:p,value:""}];return this.completions=new v(c),this.openPopup(this.editor,s,t),this.popup.renderer.setStyle("ace_loading",!1),void this.popup.renderer.setStyle("ace_empty-message",!0)}return this.detach()}if(1==r.length&&r[0].value==s&&!r[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&1==r.length)return this.insertMatch(r[0])}this.completions=!o&&this.showLoadingState?new v(e.completionsForLoading.concat(r),n.filterText):n,this.openPopup(this.editor,s,t),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!o)}.bind(this)),this.showLoadingState&&!this.autoShown&&(!this.popup||!this.popup.isOpen)&&this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},e.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},e.prototype.updateDocTooltip=function(){var e=this.popup,t=this.completions&&this.completions.filtered,i=t&&(t[e.getHoveredRow()]||t[e.getRow()]),n=null;if(!i||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var o=this.editor.completers.length,r=0;r<o;r++){var s=this.editor.completers[r];if(s.getDocTooltip&&i.completerId===s.id){n=s.getDocTooltip(i);break}}if(!n&&"string"!=typeof i&&(n=i),"string"==typeof n&&(n={docText:n}),!n||!n.docHTML&&!n.docText)return this.hideDocTooltip();this.showDocTooltip(n)},e.prototype.showDocTooltip=function(e){this.tooltipNode||(this.tooltipNode=c.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",d));var t=this.editor.renderer.theme;this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(t.isDark?"ace_dark ":"")+(t.cssClass||"");var i=this.tooltipNode;e.docHTML?i.innerHTML=e.docHTML:e.docText&&(i.textContent=e.docText),i.parentNode||this.popup.container.appendChild(this.tooltipNode);var n=this.popup,o=n.container.getBoundingClientRect(),r=400,s=300,a=n.renderer.scrollBar.width||10,p=o.left,l=window.innerWidth-o.right-a,h=n.isTopdown?window.innerHeight-a-o.bottom:o.top,u=[Math.min(l/r,1),Math.min(p/r,1),.9*Math.min(h/s,1)],f=Math.max.apply(Math,u),g=i.style;g.display="block",f==u[0]||u[0]>=1?(g.left=o.right+1+"px",g.right="",g.maxWidth=r*f+"px",g.top=o.top+"px",g.bottom="",g.maxHeight=Math.min(window.innerHeight-a-o.top,s)+"px"):f==u[1]||u[1]>=1?(g.right=window.innerWidth-o.left+"px",g.left="",g.maxWidth=r*f+"px",g.top=o.top+"px",g.bottom="",g.maxHeight=Math.min(window.innerHeight-a-o.top,s)+"px"):f==u[2]&&(g.left=o.left+"px",g.right="",g.maxWidth=Math.min(r,window.innerWidth-o.left)+"px",n.isTopdown?(g.top=o.bottom+"px",g.bottom="",g.maxHeight=Math.min(window.innerHeight-a-o.bottom,s)+"px"):(g.top="",g.bottom=window.innerHeight-o.top+"px",g.maxHeight=Math.min(o.top,s)+"px")),c.$fixPositionBug(i)},e.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),this.tooltipNode){var e=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==e&&this.editor.focus(),this.tooltipNode=null,e.parentNode&&e.parentNode.removeChild(e)}},e.prototype.onTooltipClick=function(e){for(var t=e.target;t&&t!=this.tooltipNode;){if("A"==t.nodeName&&t.href){t.rel="noreferrer",t.target="_blank";break}t=t.parentNode}},e.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var e=this.popup.container;e&&e.parentNode&&e.parentNode.removeChild(e)}this.editor&&this.editor.completer==this&&(this.editor.off("destroy",f),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},e.for=function(t){return t.completer instanceof e||(t.completer&&(t.completer.destroy(),t.completer=null),h.get("sharedPopups")?(e.$sharedInstance||(e.$sharedInstance=new e),t.completer=e.$sharedInstance):(t.completer=new e,t.once("destroy",f))),t.completer},e}();g.prototype.commands={Up:function(e){e.completer.goTo("up")},Down:function(e){e.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(e){e.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(e){e.completer.goTo("end")},Esc:function(e){e.completer.detach()},Return:function(e){return e.completer.insertMatch()},"Shift-Return":function(e){e.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(e){var t=e.completer.insertMatch();if(t||e.tabstopManager)return t;e.completer.goTo("down")},Backspace:function(e){e.execCommand("backspace"),!a.getCompletionPrefix(e)&&e.completer&&e.completer.detach()},PageUp:function(e){e.completer.popup.gotoPageUp()},PageDown:function(e){e.completer.popup.gotoPageDown()}},g.startCommand={name:"startAutocomplete",exec:function(e,t){var i=g.for(e);i.autoInsert=!1,i.autoSelect=!0,i.autoShown=!1,i.showPopup(e,t),i.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var m=function(){function e(e){this.initialPosition=e,this.active=!0}return e.prototype.insertByIndex=function(e,t,i){return!(!this.completions||!this.completions.filtered)&&this.insertMatch(e,this.completions.filtered[t],i)},e.prototype.insertMatch=function(e,t,i){if(!t)return!1;if(e.startOperation({command:{name:"insertMatch"}}),t.completer&&t.completer.insertMatch)t.completer.insertMatch(e,t);else{if(!this.completions)return!1;var n=this.completions.filterText.length,o=0;if(t.range&&t.range.start.row===t.range.end.row&&(n-=this.initialPosition.prefix.length,n+=this.initialPosition.pos.column-t.range.start.column,o+=t.range.end.column-this.initialPosition.pos.column),n||o){var r;r=e.selection.getAllRanges?e.selection.getAllRanges():[e.getSelectionRange()];for(var s,a=0;s=r[a];a++)s.start.column-=n,s.end.column+=o,e.session.remove(s)}t.snippet?l.insertSnippet(e,t.snippet):this.$insertString(e,t),t.completer&&t.completer.onInsert&&"function"==typeof t.completer.onInsert&&t.completer.onInsert(e,t),t.command&&"startAutocomplete"===t.command&&e.execCommand(t.command)}return e.endOperation(),!0},e.prototype.$insertString=function(e,t){var i=t.value||t;e.execCommand("insertstring",i)},e.prototype.gatherCompletions=function(e,t){var i=e.getSession(),n=e.getCursorPosition(),o=a.getCompletionPrefix(e),r=[];this.completers=e.completers;var s=e.completers.length;return e.completers.forEach((function(p,c){p.getCompletions(e,i,n,o,(function(i,n){p.hideInlinePreview&&(n=n.map((function(e){return Object.assign(e,{hideInlinePreview:p.hideInlinePreview})}))),!i&&n&&(r=r.concat(n)),t(null,{prefix:a.getCompletionPrefix(e),matches:r,finished:0==--s})}))})),!0},e.prototype.provideCompletions=function(e,t,i){var n=function(e){var n=e.prefix,o=e.matches;this.completions=new v(o),t.exactMatch&&(this.completions.exactMatch=!0),t.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(n),(e.finished||this.completions.filtered.length)&&i(null,this.completions,e.finished)}.bind(this),o=!0,r=null;if(this.gatherCompletions(e,function(e,t){this.active&&(e&&(i(e,[],!0),this.detach()),0===t.prefix.indexOf(t.prefix)&&(o?r=t:n(t)))}.bind(this)),o=!1,r){var s=r;r=null,n(s)}},e.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach((function(e){"function"==typeof e.cancel&&e.cancel()}))},e}(),v=function(){function e(e,t){this.all=e,this.filtered=e,this.filterText=t||"",this.exactMatch=!1,this.ignoreCaption=!1}return e.prototype.setFilter=function(e){if(e.length>this.filterText&&0===e.lastIndexOf(this.filterText,0))var t=this.filtered;else t=this.all;this.filterText=e,t=(t=this.filterCompletions(t,this.filterText)).sort((function(e,t){return t.exactMatch-e.exactMatch||t.$score-e.$score||(e.caption||e.value).localeCompare(t.caption||t.value)}));var i=null;t=t.filter((function(e){var t=e.snippet||e.caption||e.value;return t!==i&&(i=t,!0)})),this.filtered=t},e.prototype.filterCompletions=function(e,t){var i=[],n=t.toUpperCase(),o=t.toLowerCase();e:for(var r,s=0;r=e[s];s++)if(r.skipFilter)r.$score=r.score,i.push(r);else{var a=!this.ignoreCaption&&r.caption||r.value||r.snippet;if(a){var p,c,l=-1,h=0,u=0;if(this.exactMatch){if(t!==a.substr(0,t.length))continue e}else{var d=a.toLowerCase().indexOf(o);if(d>-1)u=d;else for(var f=0;f<t.length;f++){var g=a.indexOf(o[f],l+1),m=a.indexOf(n[f],l+1);if((p=g>=0&&(m<0||g<m)?g:m)<0)continue e;(c=p-l-1)>0&&(-1===l&&(u+=10),u+=c,h|=1<<f),l=p}}r.matchMask=h,r.exactMatch=u?0:1,r.$score=(r.score||0)-u,i.push(r)}}return i},e}();t.Autocomplete=g,t.CompletionProvider=m,t.FilteredList=v})),ace.define("ace/marker_group",["require","exports","module"],(function(e,t,i){"use strict";var n=function(){function e(e,t){t&&(this.markerType=t.markerType),this.markers=[],this.session=e,e.addDynamicMarker(this)}return e.prototype.getMarkerAtPosition=function(e){return this.markers.find((function(t){return t.range.contains(e.row,e.column)}))},e.prototype.markersComparator=function(e,t){return e.range.start.row-t.range.start.row},e.prototype.setMarkers=function(e){this.markers=e.sort(this.markersComparator).slice(0,this.MAX_MARKERS),this.session._signal("changeBackMarker")},e.prototype.update=function(e,t,i,n){if(this.markers&&this.markers.length)for(var o,r=n.firstRow,s=n.lastRow,a=0,p=0,c=0;c<this.markers.length;c++){var l=this.markers[c];if(!(l.range.end.row<r)&&!(l.range.start.row>s||(l.range.start.row===p?a++:(p=l.range.start.row,a=0),a>200))){var h=l.range.clipRows(r,s);if(h.start.row!==h.end.row||h.start.column!==h.end.column){var u=h.toScreenRange(i);u.isEmpty()?(o=i.getNextFoldLine(h.end.row,o))&&o.end.row>h.end.row&&(r=o.end.row):"fullLine"===this.markerType?t.drawFullLineMarker(e,u,l.className,n):u.isMultiLine()?"line"===this.markerType?t.drawMultiLineMarker(e,u,l.className,n):t.drawTextMarker(e,u,l.className,n):t.drawSingleLineMarker(e,u,l.className+" ace_br15",n)}}}},e}();n.prototype.MAX_MARKERS=1e4,t.MarkerGroup=n})),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],(function(e,t,i){function n(e,t){return e.getTextRange(r.fromPoints({row:0,column:0},t)).split(s).length-1}function o(e,t){var i=n(e,t),o=e.getValue().split(s),r=Object.create(null),a=o[i];return o.forEach((function(e,t){if(e&&e!==a){var n=Math.abs(i-t),s=o.length-n;r[e]?r[e]=Math.max(s,r[e]):r[e]=s}})),r}var r=e("../range").Range,s=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;t.id="textCompleter",t.getCompletions=function(e,t,i,n,r){var s=o(t,i);r(null,Object.keys(s).map((function(e){return{caption:e,value:e,score:s[e],meta:"local"}})))}})),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/marker_group","ace/autocomplete/text_completer","ace/editor","ace/config"],(function(e,t,i){"use strict";var n=e("../snippets").snippetManager,o=e("../autocomplete").Autocomplete,r=e("../config"),s=e("../lib/lang"),a=e("../autocomplete/util"),p=e("../marker_group").MarkerGroup,c=e("../autocomplete/text_completer"),l={getCompletions:function(e,t,i,n,o){if(t.$mode.completer)return t.$mode.completer.getCompletions(e,t,i,n,o);var r=e.session.getState(i.row),s=t.$mode.getCompletions(r,t,i,n);s=s.map((function(e){return e.completerId=l.id,e})),o(null,s)},id:"keywordCompleter"},h=function(e){var t={};return e.replace(/\${(\d+)(:(.*?))?}/g,(function(e,i,n,o){return t[i]=o||""})).replace(/\$(\d+?)/g,(function(e,i){return t[i]}))},u={getCompletions:function(e,t,i,o,r){var s=[],a=t.getTokenAt(i.row,i.column);a&&a.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?s.push("html-tag"):s=n.getActiveScopes(e);var p=n.snippetMap,c=[];s.forEach((function(e){for(var t=p[e]||[],i=t.length;i--;){var n=t[i],o=n.name||n.tabTrigger;o&&c.push({caption:o,snippet:n.content,meta:n.tabTrigger&&!n.name?n.tabTrigger+"⇥ ":"snippet",completerId:u.id})}}),this),r(null,c)},getDocTooltip:function(e){e.snippet&&!e.docHTML&&(e.docHTML=["<b>",s.escapeHTML(e.caption),"</b>","<hr></hr>",s.escapeHTML(h(e.snippet))].join(""))},id:"snippetCompleter"},d=[u,c,l];t.setCompleters=function(e){d.length=0,e&&d.push.apply(d,e)},t.addCompleter=function(e){d.push(e)},t.textCompleter=c,t.keyWordCompleter=l,t.snippetCompleter=u;var f,g={name:"expandSnippet",exec:function(e){return n.expandWithTab(e)},bindKey:"Tab"},m=function(e,t){v(t.session.$mode)},v=function(e){"string"==typeof e&&(e=r.$modes[e]),e&&(n.files||(n.files={}),b(e.$id,e.snippetFileId),e.modes&&e.modes.forEach(v))},b=function(e,t){t&&e&&!n.files[e]&&(n.files[e]={},r.loadModule(t,(function(t){t&&(n.files[e]=t,!t.snippets&&t.snippetText&&(t.snippets=n.parseSnippetFile(t.snippetText)),n.register(t.snippets||[],t.scope),t.includeScopes&&(n.snippetMap[t.scope].includeScopes=t.includeScopes,t.includeScopes.forEach((function(e){v("ace/mode/"+e)}))))})))},x=function(e){var t=e.editor,i=t.completer&&t.completer.activated;if("backspace"===e.command.name)i&&!a.getCompletionPrefix(t)&&t.completer.detach();else if("insertstring"===e.command.name&&!i){f=e;var n=e.editor.$liveAutocompletionDelay;n?y.delay(n):w(e)}},y=s.delayedCall((function(){w(f)}),0),w=function(e){var t=e.editor,i=a.getCompletionPrefix(t),n=e.args,r=a.triggerAutocomplete(t,n);if(i&&i.length>=t.$liveAutocompletionThreshold||r){var s=o.for(t);s.autoShown=!0,s.showPopup(t)}},T=e("../editor").Editor;e("../config").defineOptions(T.prototype,"editor",{enableBasicAutocompletion:{set:function(e){e?(o.for(this),this.completers||(this.completers=Array.isArray(e)?e:d),this.commands.addCommand(o.startCommand)):this.commands.removeCommand(o.startCommand)},value:!1},enableLiveAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:d),this.commands.on("afterExec",x)):this.commands.off("afterExec",x)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(e){e?(this.commands.addCommand(g),this.on("changeMode",m),m(0,this)):(this.commands.removeCommand(g),this.off("changeMode",m))},value:!1}}),t.MarkerGroup=p})),ace.require(["ace/ext/language_tools"],(function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)}));
@@ -0,0 +1 @@
1
+ @font-face{font-family:LiaSourceSansPro;font-style:normal;font-weight:400;src:url(source-sans-pro-v14-latin-regular.097b8a44.eot);src:local("."),url(source-sans-pro-v14-latin-regular.097b8a44.eot#iefix)format("embedded-opentype"),url(source-sans-pro-v14-latin-regular.bc1deea3.woff2)format("woff2"),url(source-sans-pro-v14-latin-regular.d3d258d8.woff)format("woff"),url(source-sans-pro-v14-latin-regular.89fa7c31.ttf)format("truetype"),url(source-sans-pro-v14-latin-regular.32b4dc53.svg#SourceSansPro)format("svg");font-display:swap}@font-face{font-family:LiaSourceSansPro;font-style:normal;font-weight:600;src:url(source-sans-pro-v14-latin-600.65fc2f67.eot);src:local("."),url(source-sans-pro-v14-latin-600.65fc2f67.eot#iefix)format("embedded-opentype"),url(source-sans-pro-v14-latin-600.8fb77535.woff2)format("woff2"),url(source-sans-pro-v14-latin-600.b5f40659.woff)format("woff"),url(source-sans-pro-v14-latin-600.d8df00af.ttf)format("truetype"),url(source-sans-pro-v14-latin-600.234ae412.svg#SourceSansPro)format("svg");font-display:swap}@font-face{font-family:LiaSourceSansPro;font-style:normal;font-weight:700;src:url(source-sans-pro-v14-latin-700.43d19605.eot);src:local("."),url(source-sans-pro-v14-latin-700.43d19605.eot#iefix)format("embedded-opentype"),url(source-sans-pro-v14-latin-700.19d2a757.woff2)format("woff2"),url(source-sans-pro-v14-latin-700.783891dd.woff)format("woff"),url(source-sans-pro-v14-latin-700.a5afadf4.ttf)format("truetype"),url(source-sans-pro-v14-latin-700.df9681de.svg#SourceSansPro)format("svg");font-display:swap}@font-face{font-family:LiaSourceSerifPro;font-style:normal;font-weight:600;src:url(source-serif-pro-v10-latin-600.b4666fd2.eot);src:local("."),url(source-serif-pro-v10-latin-600.b4666fd2.eot#iefix)format("embedded-opentype"),url(source-serif-pro-v10-latin-600.b852e510.woff2)format("woff2"),url(source-serif-pro-v10-latin-600.a3a31a14.woff)format("woff"),url(source-serif-pro-v10-latin-600.a6ed946c.ttf)format("truetype"),url(source-serif-pro-v10-latin-600.a8e70b44.svg#SourceSerifPro)format("svg");font-display:swap}@font-face{font-family:LiaSourceSerifPro;font-style:normal;font-weight:700;src:url(source-serif-pro-v10-latin-700.38c57352.eot);src:local("."),url(source-serif-pro-v10-latin-700.38c57352.eot#iefix)format("embedded-opentype"),url(source-serif-pro-v10-latin-700.05c6e580.woff2)format("woff2"),url(source-serif-pro-v10-latin-700.8d76004a.woff)format("woff"),url(source-serif-pro-v10-latin-700.ca4bf240.ttf)format("truetype"),url(source-serif-pro-v10-latin-700.90cffcb9.svg#SourceSerifPro)format("svg");font-display:swap}@font-face{font-family:LiaSourceCodePro;font-style:normal;font-weight:400;src:url(source-code-pro-v13-latin-regular.c2e0862c.eot);src:local("."),url(source-code-pro-v13-latin-regular.c2e0862c.eot#iefix)format("embedded-opentype"),url(source-code-pro-v13-latin-regular.21a33c48.woff2)format("woff2"),url(source-code-pro-v13-latin-regular.81f5593d.woff)format("woff"),url(source-code-pro-v13-latin-regular.d61437b4.ttf)format("truetype"),url(source-code-pro-v13-latin-regular.91afd03e.svg#SourceCodePro)format("svg");font-display:swap}@font-face{font-family:LiaSourceCodePro;font-style:normal;font-weight:600;src:url(source-code-pro-v13-latin-600.880fd07b.eot);src:local("."),url(source-code-pro-v13-latin-600.880fd07b.eot#iefix)format("embedded-opentype"),url(source-code-pro-v13-latin-600.92aac5ff.woff2)format("woff2"),url(source-code-pro-v13-latin-600.adab8c0f.woff)format("woff"),url(source-code-pro-v13-latin-600.2ae57109.ttf)format("truetype"),url(source-code-pro-v13-latin-600.15f00b22.svg#SourceCodePro)format("svg");font-display:swap}.icon{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-variant:normal;text-rendering:auto;font-style:normal;line-height:1;display:inline-block}.icon-lg{vertical-align:-.0667em;font-size:1.33333em;line-height:.75em}.icon-xs{font-size:.75em}.icon-sm{font-size:.875em}.icon-1x{font-size:1em}.icon-2x{font-size:2em}.icon-3x{font-size:3em}.icon-4x{font-size:4em}.icon-5x{font-size:5em}.icon-6x{font-size:6em}.icon-7x{font-size:7em}.icon-8x{font-size:8em}.icon-9x{font-size:9em}.icon-10x{font-size:10em}.icon-fw{text-align:center;width:1.25em}.icon-ul{margin-left:2.5em;padding-left:0;list-style-type:none}.icon-ul>li{position:relative}.icon-li{text-align:center;width:2em;line-height:inherit;position:absolute;left:-2em}.icon-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.icon-pull-left{float:left}.icon-pull-right{float:right}.icon.icon-pull-left{margin-right:.3em}.icon.icon-pull-right{margin-left:.3em}.icon-spin{animation:2s linear infinite icon-spin}.icon-pulse{animation:1s steps(8,end) infinite icon-spin}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.icon-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.icon-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.icon-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.icon-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.icon-flip-vertical{transform:scaleY(-1)}.icon-flip-both,.icon-flip-horizontal.icon-flip-vertical,.icon-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.icon-flip-both,.icon-flip-horizontal.icon-flip-vertical{transform:scale(-1)}:root .icon-flip-both,:root .icon-flip-horizontal,:root .icon-flip-vertical,:root .icon-rotate-90,:root .icon-rotate-180,:root .icon-rotate-270{-webkit-filter:none;filter:none}.icon-stack{height:2em;vertical-align:middle;width:2.5em;line-height:2em;display:inline-block;position:relative}.icon-stack-1x,.icon-stack-2x{text-align:center;width:100%;position:absolute;left:0}.icon-stack-1x{line-height:inherit}.icon-stack-2x{font-size:2em}.icon-inverse{color:#fff}.icon-arrow-down:before{content:""}.icon-arrow-left:before{content:""}.icon-arrow-right:before{content:""}.icon-arrow-up:before{content:""}.icon-barchart:before{content:""}.icon-book:before{content:""}.icon-boxplot:before{content:""}.icon-chat-close:before{content:""}.icon-chat-new:before{content:""}.icon-chat-open:before{content:""}.icon-check:before{content:""}.icon-chevron-double-left:before{content:""}.icon-chevron-double-right:before{content:""}.icon-chevron-down:before{content:""}.icon-chevron-left:before{content:""}.icon-chevron-right:before{content:""}.icon-chevron-up:before{content:""}.icon-class-off:before{content:""}.icon-class-on:before{content:""}.icon-clock:before{content:""}.icon-close:before{content:""}.icon-code:before{content:""}.icon-compile-circle:before{content:""}.icon-copy:before{content:""}.icon-darkmode:before{content:""}.icon-download:before{content:""}.icon-edit:before{content:""}.icon-edrys:before{content:""}.icon-end-left:before{content:""}.icon-end-right:before{content:""}.icon-funnel:before{content:""}.icon-graph:before{content:""}.icon-grid:before{content:""}.icon-gundb:before{content:""}.icon-heatmap:before{content:""}.icon-hint:before{content:""}.icon-info:before{content:""}.icon-ipfs:before{content:""}.icon-lightmode:before{content:""}.icon-lineplot:before{content:""}.icon-list-1:before{content:""}.icon-list-2:before{content:""}.icon-list-3:before{content:""}.icon-login:before{content:""}.icon-mail:before{content:""}.icon-map:before{content:""}.icon-minus:before{content:""}.icon-more:before{content:""}.icon-mqtt:before{content:""}.icon-nostr:before{content:""}.icon-p2pt:before{content:""}.icon-parallel:before{content:""}.icon-pencil:before{content:""}.icon-person:before{content:""}.icon-piechart:before{content:""}.icon-play-circle:before{content:""}.icon-plus:before{content:""}.icon-presentation:before{content:""}.icon-pubnub:before{content:""}.icon-radar:before{content:""}.icon-refresh:before{content:""}.icon-resolve:before{content:""}.icon-sankey:before{content:""}.icon-scatterplot:before{content:""}.icon-search:before{content:""}.icon-send:before{content:""}.icon-settings:before{content:""}.icon-slides:before{content:""}.icon-social:before{content:""}.icon-sort-asc:before{content:""}.icon-sort-desc:before{content:""}.icon-sound-off:before{content:""}.icon-sound-on:before{content:""}.icon-stop-circle:before{content:""}.icon-table:before{content:""}.icon-torrent:before{content:""}.icon-trash:before{content:""}.icon-warning:before{content:""}.icon-websocket:before{content:""}.icon-zoom-out:before{content:""}.icon-zoom:before{content:""}@font-face{font-family:icon;font-style:normal;font-weight:900;font-display:block;src:url(icon.6d9357fc.eot);src:url(icon.6d9357fc.eot#iefix)format("embedded-opentype"),url(icon.af2e29ca.woff2)format("woff2"),url(icon.e0075ddc.woff)format("woff"),url(icon.6da941f8.ttf)format("truetype"),url(icon.4a3ee2fd.svg#icon)format("svg");font-display:swap}.icon{font-family:icon;font-weight:900}html{font-size:62.5%}body{background-color:rgb(var(--color-background));color:rgb(var(--color-text));font-size:calc(var(--global-font-size,1.5rem)*var(--font-size-multiplier));font-weight:400;line-height:1.47}body,button,input,optgroup,select,textarea{font-family:var(--global-font-family,"LiaSourceSansPro")}a,button{cursor:pointer}@keyframes shake{0%{transform:translate(0)}10%{transform:translate(-5px)}20%{transform:translate(5px)}30%{transform:translate(-5px)}40%{transform:translate(5px)}50%{transform:translate(-5px)}60%{transform:translate(5px)}70%{transform:translate(-5px)}80%{transform:translate(5px)}90%{transform:translate(-5px)}to{transform:translate(0)}}.shake{animation-name:shake;animation-duration:1s;animation-iteration-count:1;animation-delay:0s}body,h1,h2,h3,h4,h5,h6,blockquote,p,pre,dl,dd,ol,ul,figure,hr,fieldset,legend,output{margin:0;padding:0}li>ol,li>ul{margin-block-end:0}table{border-collapse:collapse;border-spacing:0}fieldset{min-width:0;border:0}body{box-sizing:border-box}*,:after,:before{box-sizing:inherit}span{font-style:inherit;font-weight:inherit}input[type=search]::-ms-clear{width:0;height:0;display:none}input[type=search]::-ms-reveal{width:0;height:0;display:none}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}header:focus{outline:none}h1,h2,h3,h4,h5,h6{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}optgroup{background-color:rgb(var(--color-background))}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;max-width:100%;white-space:normal;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}address,h1,h2,h3,h4,h5,h6,blockquote,p,pre,dl,ol,ul,fieldset{margin-block-end:1rem}button,.lia-btn,input,.lia-input,select,.lia-select,textarea,.lia-textarea,.lia-dropdown{box-shadow:none;color:currentColor;vertical-align:top;border:1px solid #0000;border-radius:.8rem;justify-content:flex-start;align-items:center;padding:.8rem;display:inline-flex;position:relative}button[disabled],button--disabled,input[disabled],input--disabled,select[disabled],select--disabled,textarea[disabled],textarea--disabled{cursor:not-allowed}.lia-btn,.lia-input,.lia-radio,.lia-checkbox,.lia-select,.lia-textarea,.lia-dropdown{background-color:#0000}.lia-btn[disabled],.lia-btn--disabled,.lia-btn.is-disabled,.lia-input[disabled],.lia-input--disabled,.lia-input.is-disabled,.lia-radio[disabled],.lia-radio--disabled,.lia-radio.is-disabled,.lia-checkbox[disabled],.lia-checkbox--disabled,.lia-checkbox.is-disabled,.lia-select[disabled],.lia-select--disabled,.lia-select.is-disabled,.lia-textarea[disabled],.lia-textarea--disabled,.lia-textarea.is-disabled,.lia-dropdown[disabled],.lia-dropdown--disabled,.lia-dropdown.is-disabled{cursor:not-allowed}kbd{font:1rem var(--global-font-mono);vertical-align:middle;background-color:rgba(var(--color-highlight),.15);border:solid 1px rgba(var(--color-highlight-dark),.15);box-shadow:inset 0 1px 0 rgb(var(--color-border));border-radius:6px;padding:3px 5px;line-height:1rem;display:inline-block}:focus-visible{outline-color:var(--focus-ring-color);outline-offset:var(--focus-ring-offset);outline-style:var(--focus-ring-style);outline-width:var(--focus-ring-width);border-radius:var(--focus-ring-radius)}.lia-btn{background-color:rgb(var(--color-highlight));color:rgb(var(--lia-white));border:none;align-items:center;padding:.5rem .6rem;line-height:1.47;display:inline-block}.lia-btn:focus:not(:focus-visible){outline:none;box-shadow:none!important}.lia-btn:focus-visible{outline-color:var(--focus-ring-color);outline-offset:var(--focus-ring-offset);outline-style:var(--focus-ring-style);outline-width:var(--focus-ring-width)}.lia-btn--warning{background-color:rgb(var(--lia-yellow));color:rgb(var(--lia-white));border-color:#0000}.lia-btn--failure{background-color:rgb(var(--lia-red));color:rgb(var(--lia-white));border-color:#0000}.lia-btn--success{background-color:rgb(var(--lia-success));color:rgb(var(--lia-white));border-color:#0000}.lia-btn[disabled],.lia-btn--disabled{background-color:rgb(var(--lia-grey-light));border-color:rgb(var(--lia-grey));color:rgb(var(--lia-grey))}.lia-btn--tag{border-radius:0}.lia-btn--small-tag{border-radius:0;padding:.2rem .4rem;font-size:small}.lia-btn--outline{color:rgb(var(--color-highlight));background-color:rgb(var(--color-background));border:1px solid rgb(var(--color-highlight))}html.lia-variant-dark .lia-btn--outline{border-color:rgb(from rgb(var(--color-highlight))calc(r*2.2)calc(g*2.2)calc(b*2.2));color:rgb(from rgb(var(--color-highlight))calc(r*2.5)calc(g*2.5)calc(b*2.5))}html.lia-variant-dark .lia-btn--outline[disabled],html.lia-variant-dark .lia-btn--outline.lia-btn--disabled{border-color:rgb(var(--lia-grey));color:rgb(var(--lia-grey))}.lia-btn--outline.lia-btn--warning{border-color:rgb(var(--lia-yellow));color:rgb(var(--lia-yellow));background-color:#0000}.lia-btn--outline.lia-btn--failure{border-color:rgb(var(--lia-red));color:rgb(var(--lia-red));background-color:#0000}.lia-btn--outline.lia-btn--success{border-color:rgb(var(--lia-success));color:rgb(var(--lia-success));background-color:#0000}.lia-btn--outline[disabled],.lia-btn--outline.lia-btn--disabled{border-color:rgb(var(--lia-grey));color:rgb(var(--lia-grey));background-color:#0000}.lia-btn--transparent{color:currentColor;background-color:#0000;border:none}html.lia-variant-dark .lia-btn--transparent{filter:brightness(1.8)contrast(1.1)}.lia-btn--transparent[disabled],.lia-btn--transparent.lia-btn--disabled{background-color:#0000}.lia-btn>.lia-btn__icon{line-height:inherit;vertical-align:middle}.lia-btn>.lia-btn__text{vertical-align:middle;margin-inline-start:1rem}.lia-btn>.icon{vertical-align:middle}a.lia-btn{text-decoration:none}.lia-code{margin-block-end:2rem;font-family:LiaSourceCodePro}.lia-code--block>:not(:last-child){margin-block-end:1rem}.lia-code--inline{border:1px solid rgb(var(--color-highlight-dark));color:rgb(var(--color-highlight-dark));word-break:break-word;margin-block-end:0;padding:0 .5rem}html.lia-variant-dark .lia-code--inline{border-color:rgb(from rgb(var(--color-highlight))calc(r*2.2)calc(g*2.2)calc(b*2.2));color:rgb(from rgb(var(--color-highlight))calc(r*2.5)calc(g*2.5)calc(b*2.5))}.lia-code-control{color:rgb(var(--color-highlight));align-items:center;padding:0 .5rem;font-size:1.8rem;display:flex}.lia-code-control__action{margin-inline-end:auto}.lia-code-control__version{align-items:center;display:flex}.lia-code-control__version>:not(:last-child){margin-inline-end:.5rem}.lia-code-terminal{background-color:rgb(var(--lia-black));flex-direction:column;display:flex}.lia-code-terminal__input{background-color:rgba(var(--lia-white),.1);border:1px solid rgba(var(--lia-white),.5);color:rgb(var(--lia-white));border-radius:.8rem;align-items:center;margin:1rem 1.6rem;padding:0 .8rem;display:flex}.lia-code-terminal__input input{color:rgb(var(--lia-white));line-height:inherit;width:100%;background-color:#0000;border:0}.lia-code-terminal__output{background:linear-gradient(135deg,rgb(var(--lia-black)),rgb(var(--lia-black))calc(100% - 1.25rem),rgb(var(--color-highlight-dark))0%);max-height:20rem;resize:vertical;white-space:pre;margin:0;padding:1rem 1.6rem;overflow-y:auto}.lia-code-terminal__output::-webkit-resizer{background:linear-gradient(135deg,rgb(var(--lia-anthracite)),rgb(var(--lia-anthracite))50%,rgb(var(--color-highlight-dark))0%)}.lia-code__input{border:1px solid rgb(var(--color-highlight));position:relative}.lia-code__min-max{color:rgb(var(--color-highlight));z-index:10;font-size:2rem;position:absolute;bottom:0;right:2rem}.lia-code__copy{z-index:90;color:rgb(var(--color-highlight),.4);padding:0 .25rem;font-size:2rem;position:absolute;top:.1rem;right:1.5rem}.lia-code__copy:hover{color:rgb(var(--color-highlight));font-size:2.2rem;top:0}.lia-code__copy--inverted{z-index:90;color:rgb(var(--color-background),.4);padding:0 .25rem;font-size:2rem;top:.1rem;right:1.5rem}.lia-code__copy--inverted:hover{color:#fff;font-size:2.2rem;top:0}.ace_editor{max-height:calc(var(--max-editor-line-count)*var(--global-font-size,1.5rem)*var(--font-size-multiplier)*1.47)!important;font-size:calc(var(--global-font-size,1.5rem)*var(--font-size-multiplier))!important;height:auto!important}.ace_mobile-menu{display:none!important}details{border:1px solid rgb(var(--color-border));border-radius:.8rem;margin-bottom:1.5rem;overflow:hidden}details[open] summary{border-bottom:1px solid rgb(var(--color-border));margin-bottom:1rem}details[open] summary:after{transform:rotate(90deg)}details[open]>:not(summary){animation:.4s ease-out slideDown}details>:not(summary){padding:0 1.5rem 1.5rem}details>:not(summary):last-child{margin-bottom:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}summary{background-color:rgba(var(--color-highlight),.05);color:rgb(var(--color-highlight-dark));cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:1rem 1.5rem;font-family:LiaSourceSansPro;font-weight:600;list-style:none;transition:all .25s ease-out;display:flex;position:relative}html.lia-variant-dark summary{background-color:rgba(var(--color-highlight),.1);color:rgb(from rgb(var(--color-highlight))calc(r*2.5)calc(g*2.5)calc(b*2.5))}summary::-webkit-details-marker,summary::marker{display:none}summary:after{content:"›";color:rgb(var(--color-highlight));margin-left:auto;font-size:2rem;font-weight:700;transition:transform .4s ease-out}html.lia-variant-dark summary:after{color:rgb(from rgb(var(--color-highlight))calc(r*2.2)calc(g*2.2)calc(b*2.2))}summary:hover{background-color:rgba(var(--color-highlight),.1)}html.lia-variant-dark summary:hover{background-color:rgba(var(--color-highlight),.15)}summary:focus:not(:focus-visible){box-shadow:none;outline:none}summary:focus-visible{outline-offset:-3px;box-shadow:none}h1,h2,h3{font-family:LiaSourceSerifPro;line-height:1.47}h4,h5,h6{font-family:LiaSourceSansPro;line-height:1.38}h1{font-size:calc(2.3rem*var(--font-size-multiplier))}@media screen and (min-width:64em){h1{font-size:calc(4rem*var(--font-size-multiplier))}.lia-mode--textbook h1{font-size:calc(3.7rem*var(--font-size-multiplier))}}h2{font-size:calc(2rem*var(--font-size-multiplier))}@media screen and (min-width:64em){h2{font-size:calc(2.9rem*var(--font-size-multiplier))}}h3{font-size:calc(2.3rem*var(--font-size-multiplier))}@media screen and (min-width:64em){h3{font-size:calc(2.3rem*var(--font-size-multiplier))}}h4,h5,h6{font-size:calc(1.6rem*var(--font-size-multiplier))}.lia-divider{background-color:rgb(var(--color-border));height:1px;border:0;margin:1.5rem 0}.lia-input{max-width:100%;width:100%}html.lia-variant-dark .lia-input{filter:brightness(1.8)contrast(1.1)}.lia-input.is-failure{border-color:rgb(var(--lia-red))}.lia-input.is-warning{border-color:rgb(var(--lia-yellow))}.lia-input.is-success{border-color:rgb(var(--lia-success))}.lia-input.is-disabled{border-color:rgb(var(--lia-grey))}input[type=search]::-ms-clear{width:0;height:0;display:none}input[type=search]::-ms-reveal{width:0;height:0;display:none}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}.lia-form-check{align-items:center;display:flex}.lia-form-check .lia-checkbox{margin-inline-end:.75rem}.lia-checkbox[type=checkbox],.lia-radio[type=radio]{-webkit-appearance:none;appearance:none;-webkit-print-color-adjust:exact;border:1px solid rgb(var(--color-highlight));color-adjust:exact;cursor:pointer;height:2.4rem;vertical-align:middle;width:2.4rem;background-position:50%;background-repeat:no-repeat;background-size:contain;transition:all .125s ease-out;position:relative}.lia-checkbox[type=checkbox].is-failure,.lia-radio[type=radio].is-failure{border-color:rgb(var(--lia-red))}.lia-checkbox[type=checkbox].is-warning,.lia-radio[type=radio].is-warning{border-color:rgb(var(--lia-yellow))}.lia-checkbox[type=checkbox].is-success,.lia-checkbox[type=checkbox].is-success:checked,.lia-checkbox[type=checkbox].is-success[disabled]:checked,.lia-radio[type=radio].is-success,.lia-radio[type=radio].is-success:checked,.lia-radio[type=radio].is-success[disabled]:checked{border-color:rgb(var(--lia-success))}.lia-checkbox[type=checkbox].is-disabled,.lia-radio[type=radio].is-disabled{border-color:rgb(var(--lia-grey))}.lia-checkbox[type=checkbox]{border-radius:.8rem}.lia-checkbox[type=checkbox]:after{color:#fff;content:"";opacity:0;font-family:icon;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lia-checkbox[type=checkbox]:checked{background-color:rgb(var(--color-highlight))}.lia-checkbox[type=checkbox]:checked:after{opacity:1}.lia-checkbox[type=checkbox].is-turquoise{background-color:rgb(var(--lia-turquoise));border-color:rgb(var(--lia-turquoise))}.lia-checkbox[type=checkbox].is-red{background-color:rgb(var(--lia-red));border-color:rgb(var(--lia-red))}.lia-checkbox[type=checkbox].is-blue{background-color:rgb(var(--lia-blue));border-color:rgb(var(--lia-blue))}.lia-checkbox[type=checkbox].is-yellow{background-color:rgb(var(--lia-yellow));border-color:rgb(var(--lia-yellow))}.lia-checkbox[type=checkbox][disabled]{border-color:rgb(var(--lia-grey))}.lia-checkbox[type=checkbox][disabled]:checked{background-color:rgb(var(--lia-grey));border-color:rgb(var(--lia-grey))}.lia-checkbox[type=checkbox].is-success:checked{background-color:rgb(var(--lia-success))}.lia-checkbox[type=checkbox].is-failure:checked{background-color:rgb(var(--lia-red))}.lia-radio[type=radio]{border-radius:100%}.lia-radio[type=radio]:checked{border:.8rem solid rgb(var(--color-highlight))}.lia-radio[type=radio].is-red,.lia-radio[type=radio].is-red:checked{border-color:rgb(var(--lia-turquoise))}.lia-radio[type=radio].is-blue,.lia-radio[type=radio].is-blue:checked{border-color:rgb(var(--lia-blue))}.lia-radio[type=radio].is-yellow,.lia-radio[type=radio].is-yellow:checked{border-color:rgb(var(--lia-yellow))}.lia-radio[type=radio][disabled],.lia-radio[type=radio][disabled]:checked{border-color:rgb(var(--lia-grey))}.lia-radio[type=radio].is-failure:checked{border-color:rgb(var(--lia-red))}.lia-radio-group.lia-settings-theme-colors{width:100%;justify-content:space-evenly;margin-inline-start:.4rem;padding:.4rem 0;display:flex}.lia-radio-group.lia-settings-theme-colors>:not(:last-child){margin-inline-end:.75rem}.lia-radio-group.lia-settings-theme-colors .lia-radio[type=radio]{height:1.8rem;width:1.8rem;background-color:rgb(var(--lia-grey-light));border:none}.lia-radio-group.lia-settings-theme-colors .lia-radio[type=radio].is-turquoise{background-color:rgb(var(--lia-turquoise))}.lia-radio-group.lia-settings-theme-colors .lia-radio[type=radio].is-red{background-color:rgb(var(--lia-red))}.lia-radio-group.lia-settings-theme-colors .lia-radio[type=radio].is-blue{background-color:rgb(var(--lia-blue))}.lia-radio-group.lia-settings-theme-colors .lia-radio[type=radio].is-yellow{background-color:rgb(var(--lia-yellow))}.lia-radio-group.lia-settings-theme-colors .lia-radio[type=radio].is-custom{background:linear-gradient(to right,rgb(var(--lia-blue)),rgb(var(--lia-red)))}.lia-radio-group.lia-settings-theme-colors .lia-radio[type=radio]:checked:before{content:"";height:2.4rem;width:2.4rem;border:1px solid #000;border-radius:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}html.lia-variant-dark .lia-radio-group.lia-settings-theme-colors .lia-radio[type=radio]:checked:before{border-color:rgb(var(--lia-white))}[type=range],.lia-range{-webkit-appearance:none;width:100%;background:0 0}[type=range]::-moz-focus-outer,.lia-range::-moz-focus-outer{border:0}[type=range]:active,.lia-range:active{cursor:grabbing}[type=range]:focus::-webkit-slider-runnable-track,.lia-range:focus::-webkit-slider-runnable-track{background:rgb(var(--color-highlight))}[type=range]:focus::-ms-fill-lower,.lia-range:focus::-ms-fill-lower{background:rgba(var(--color-highlight),.2)}[type=range]:focus::-ms-fill-upper,.lia-range:focus::-ms-fill-upper{background:rgb(var(--color-highlight))}[type=range]::-webkit-slider-runnable-track,.lia-range::-webkit-slider-runnable-track{cursor:default;height:3px;width:100%;background:rgba(var(--color-highlight),.2);border-radius:.8rem;transition:all .2s}[type=range]::-webkit-slider-thumb,.lia-range::-webkit-slider-thumb{background:rgb(var(--color-highlight));border:4px solid rgb(var(--lia-white));box-sizing:border-box;cursor:grab;height:16px;width:16px;-webkit-appearance:none;border-radius:8px;margin-block-start:-8px;box-shadow:0 0 10px #0000001a,0 0 #0d0d0d1a}[type=range]::-moz-range-track,.lia-range::-moz-range-track{cursor:default;height:3px;width:100%;background:rgba(var(--color-highlight),.2);border:2px solid rgb(var(--lia-white));height:1.5px;border-radius:5px;transition:all .2s}[type=range]::-moz-range-thumb,.lia-range::-moz-range-thumb{background:rgb(var(--color-highlight));border:4px solid rgb(var(--lia-white));box-sizing:border-box;cursor:grab;height:16px;width:16px;border-radius:8px;box-shadow:0 0 10px #0000001a,0 0 #0d0d0d1a}[type=range]::-ms-track,.lia-range::-ms-track{cursor:default;height:3px;width:100%;color:#0000;background:0 0;border-width:8px 0;border-color:#0000;transition:all .2s}[type=range]::-ms-fill-lower,.lia-range::-ms-fill-lower{background:rgb(var(--color-highlight));border:2px solid rgb(var(--lia-white));border-radius:10px;box-shadow:1px 1px 1px #0003,0 0 1px #0d0d0d33}[type=range]::-ms-fill-upper,.lia-range::-ms-fill-upper{background:rgba(var(--color-highlight),.2);border:2px solid rgb(var(--lia-white));border-radius:10px;box-shadow:1px 1px 1px #0003,0 0 1px #0d0d0d33}[type=range]::-ms-thumb,.lia-range::-ms-thumb{background:rgb(var(--color-highlight));border:4px solid rgb(var(--lia-white));box-sizing:border-box;cursor:grab;height:16px;width:16px;border-radius:8px;margin-block-start:.75px;box-shadow:0 0 10px #0000001a,0 0 #0d0d0d1a}[type=range]:disabled::-webkit-slider-thumb,[type=range]:disabled::-moz-range-thumb,[type=range]:disabled::-ms-thumb,[type=range]:disabled::-webkit-slider-runnable-track,[type=range]:disabled::-ms-fill-lower,[type=range]:disabled::-ms-fill-upper,.lia-range:disabled::-webkit-slider-thumb,.lia-range:disabled::-moz-range-thumb,.lia-range:disabled::-ms-thumb,.lia-range:disabled::-webkit-slider-runnable-track,.lia-range:disabled::-ms-fill-lower,.lia-range:disabled::-ms-fill-upper{cursor:not-allowed}.lia-label{align-items:center;display:inline-flex}.lia-label>.lia-radio,.lia-label>.lia-checkbox{min-width:2.4rem;margin-inline-end:1rem}html.lia-variant-dark .lia-label{color:rgb(from rgb(var(--color-highlight))calc(r*1.8)calc(g*1.8)calc(b*1.8))}a,.lia-link{color:rgb(var(--color-highlight));word-break:break-word}a:focus:not(:focus-visible),.lia-link:focus:not(:focus-visible){outline:none;box-shadow:none!important}a:link,a:visited,.lia-link:link,.lia-link:visited{color:rgb(var(--color-highlight))}a:hover,.lia-link:hover{color:rgb(var(--color-highlight-dark))}html.lia-variant-dark .lia-link{border-color:rgb(from rgb(var(--color-highlight))calc(r*2.2)calc(g*2.2)calc(b*2.2));color:rgb(from rgb(var(--color-highlight))calc(r*2.5)calc(g*2.5)calc(b*2.5))}.lia-list--unordered,.lia-list--ordered{padding-inline-start:2rem}.lia-list--unordered>li::marker,.lia-list--ordered>li::marker{color:rgb(var(--color-highlight-dark));padding-inline-start:2rem}html.lia-variant-dark .lia-list--unordered>li::marker,html.lia-variant-dark .lia-list--ordered>li::marker{color:rgb(from rgb(var(--color-highlight-dark))calc(r*2.5)calc(g*2.5)calc(b*2.5))}img{height:auto;max-width:100%;vertical-align:middle;max-height:80vh;font-style:italic}figure{margin-block-end:2rem}figure figcaption{margin:.25rem 0;font-size:small}.lia-video-wrapper,.lia-iframe-wrapper{height:0;padding-block-end:56.25%;position:relative}.lia-iframe-wrapper iframe{width:100%;height:100%;border:0;position:absolute;top:0;left:0}.lia-video-wrapper video{width:100%;height:100%;max-height:80vh;max-width:100%;border:0;position:absolute;top:0;left:0}:root{--lia-anthracite:75,75,75;--lia-blue-darker:0,72,113;--lia-blue-dark:3,81,112;--lia-blue:10,100,136;--lia-grey-dark:50,50,50;--lia-grey-light:240,240,240;--lia-grey-lighter:249,249,249;--lia-grey:174,174,174;--lia-red-darker:104,0,0;--lia-red-dark:155,27,9;--lia-red:191,44,26;--lia-success:140,201,111;--lia-turquoise-darker:15,54,69;--lia-turquoise-dark:16,116,117;--lia-turquoise:20,115,117;--lia-warning:244,195,67;--lia-white:255,255,255;--lia-yellow-darker:124,60,0;--lia-yellow-dark:132,80,5;--lia-yellow:134,95,7;--lia-black:0,0,0;--color-background:var(--lia-white);--color-border:var(--lia-grey-light);--color-highlight-dark:var(--lia-turquoise-dark);--color-highlight-menu:var(--lia-turquoise);--color-highlight:var(--lia-turquoise);--color-text:var(--lia-anthracite)}:root.lia-variant-dark{--color-background:var(--lia-grey-dark);--color-border:var(--lia-anthracite);--color-text:var(--lia-white)}:root.lia-theme-turquoise{--color-highlight-dark:var(--lia-turquoise-dark);--color-highlight:var(--lia-turquoise);--color-highlight-menu:var(--lia-white)}:root.lia-theme-red{--color-highlight-dark:var(--lia-red-dark);--color-highlight:var(--lia-red);--color-highlight-menu:var(--lia-white)}:root.lia-theme-blue{--color-highlight-dark:var(--lia-blue-dark);--color-highlight:var(--lia-blue);--color-highlight-menu:var(--lia-white)}:root.lia-theme-yellow{--color-highlight-dark:var(--lia-yellow-dark);--color-highlight:var(--lia-yellow);--color-highlight-menu:var(--lia-white)}:root{--global-font-family:LiaSourceSansPro;--global-font-mono:LiaSourceCodePro;--global-font-headline:LiaSourceSerifPro;--global-font-size:1.5rem;--font-size-multiplier:1;--max-editor-line-count:16}:root.lia-font-scale-2{--font-size-multiplier:1.25}:root.lia-font-scale-3{--font-size-multiplier:1.5}:root{--focus-ring-width:3px;--focus-ring-color:rgb(var(--color-text,0,0,0));--focus-ring-offset:2px;--focus-ring-style:solid;--focus-ring-radius:.8rem}html{height:100%}.lia-select{border:1px solid rgb(var(--lia-grey-light));width:100%;word-wrap:normal;padding:.5rem}.lia-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%}.lia-table-responsive{max-height:80vh;width:100%;margin-block-end:3rem;display:block;overflow:auto}.lia-table-responsive.has-thead-sticky .lia-table__head{z-index:3;position:sticky}.lia-table-responsive.has-thead-sticky .lia-table__head th{z-index:1;position:sticky;top:0}.lia-table-responsive.has-thead-sticky.has-first-col-sticky .lia-table__head th:first-child{z-index:2;position:sticky;left:0}.lia-table-responsive.has-thead-sticky.has-first-col-sticky .is-alternating .lia-table__row:nth-child(2n) td:first-child:before{background-color:rgb(var(--lia-grey-lighter))}html.lia-variant-dark .lia-table-responsive.has-thead-sticky.has-first-col-sticky .is-alternating .lia-table__row:nth-child(2n) td:first-child:before{background-color:rgba(var(--lia-grey),.3)}.lia-table-responsive.has-thead-sticky.has-first-col-sticky .is-alternating .lia-table__row:nth-child(2n):hover td:first-child:before{background-color:rgba(var(--color-highlight),.1)}html.lia-variant-dark .lia-table-responsive.has-thead-sticky.has-first-col-sticky .is-alternating .lia-table__row:nth-child(2n):hover td:first-child:before{background-color:rgba(var(--color-highlight),.15)}.lia-table-responsive.has-thead-sticky.has-last-col-sticky .lia-table__head th:last-child{z-index:2;position:sticky;right:0}.lia-table-responsive.has-thead-sticky.has-last-col-sticky .is-alternating .lia-table__row:nth-child(2n) td:last-child:before{background-color:rgb(var(--lia-grey-lighter))}html.lia-variant-dark .lia-table-responsive.has-thead-sticky.has-last-col-sticky .is-alternating .lia-table__row:nth-child(2n) td:last-child:before{background-color:rgba(var(--lia-grey),.3)}.lia-table-responsive.has-thead-sticky.has-last-col-sticky .is-alternating .lia-table__row:nth-child(2n):hover td:last-child:before{background-color:rgba(var(--color-highlight),.1)}html.lia-variant-dark .lia-table-responsive.has-thead-sticky.has-last-col-sticky .is-alternating .lia-table__row:nth-child(2n):hover td:last-child:before{background-color:rgba(var(--color-highlight),.15)}.lia-table-responsive.has-first-col-sticky .lia-table__data:first-child{border-inline-start:1px solid rgb(var(--color-border));border-inline-end:1px solid rgb(var(--color-border));z-index:2;position:sticky;left:0}.lia-table-responsive.has-first-col-sticky .lia-table__data:first-child:before,.lia-table-responsive.has-first-col-sticky .lia-table__data:first-child:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0}.lia-table-responsive.has-first-col-sticky .lia-table__data:first-child:before{z-index:-1}.lia-table-responsive.has-first-col-sticky .lia-table__data:first-child:after{z-index:-2}.lia-table-responsive.has-first-col-sticky .lia-table__row:hover>td:first-child:before{background-color:rgba(var(--color-highlight),.1)}.lia-table-responsive.has-last-col-sticky .lia-table__data:first-child{border-inline-end:1px solid rgb(var(--color-border))}.lia-table-responsive.has-last-col-sticky .lia-table__data:last-child{border-inline-start:1px solid rgb(var(--color-border));border-inline-end:1px solid rgb(var(--color-border));z-index:2;position:sticky;right:0}.lia-table-responsive.has-last-col-sticky .lia-table__data:last-child:before,.lia-table-responsive.has-last-col-sticky .lia-table__data:last-child:after{content:"";width:100%;background-color:rgb(var(--color-background));height:100%;position:absolute;top:0;left:0}.lia-table-responsive.has-last-col-sticky .lia-table__data:last-child:before{z-index:-1}.lia-table-responsive.has-last-col-sticky .lia-table__data:last-child:after{z-index:-2}.lia-table-responsive.has-last-col-sticky .lia-table__row:hover>td:last-child:before{background-color:rgba(var(--color-highlight),.1)}.lia-table__head{border-block-end:1px solid rgb(var(--color-border))}.lia-table__head th,.lia-table__row td{background-color:rgb(var(--color-background))}.lia-table__row:first-of-type>td{border-block-start:0}.lia-table__row:last-child>td{border-block-end:1px solid rgb(var(--color-border))}.lia-table__row:hover,.lia-table__row:hover>td{background-color:rgba(var(--color-highlight),.05)}.lia-table__header{border-inline-start:1px solid rgb(var(--color-border));border-inline-start:1px solid rgb(var(--color-border));border-block-end:1px solid rgb(var(--color-border));border-inline-end:0;padding:1.3rem 3.2rem 1.3rem 1.6rem;position:relative}.lia-table__header:first-child{border-inline-start:1px solid rgb(var(--color-border));border-inline-end:1px solid rgb(var(--color-border))}.lia-table__header:nth-child(2){border-inline-start:0}.lia-table__header:last-child{border-inline-end:1px solid rgb(var(--color-border))}.lia-table__data{border-block-start:1px solid rgb(var(--color-border));border-inline-start:1px solid rgb(var(--color-border));border-block-end:0;border-inline-end:0;padding:1rem 3.2rem 1rem 1.6rem}.lia-table__data:last-child{border-inline-end:1px solid rgb(var(--color-border))}.lia-table__data .has-first-col-sticky:nth-child(2){border-inline-start:0}.lia-table__header,.lia-table__data{max-width:50vw;min-width:13.5rem;word-wrap:break-word}.lia-table__sort{margin-inline-start:auto;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.lia-table__sort.active{color:rgb(var(--color-highlight))}.lia-table.is-alternating .lia-table__row:nth-child(2n) td{background-color:rgba(var(--lia-grey-lighter))}html.lia-variant-dark .lia-table.is-alternating .lia-table__row:nth-child(2n) td{background-color:rgba(var(--lia-grey),.3)}.lia-table.is-alternating .lia-table__row:nth-child(2n):hover td,.lia-table.is-alternating .lia-table__row:nth-child(2n):hover td:last-child:before{background-color:rgba(var(--color-highlight),.05)}html.lia-variant-dark .lia-table.is-alternating .lia-table__row:nth-child(2n):hover td,html.lia-variant-dark .lia-table.is-alternating .lia-table__row:nth-child(2n):hover td:last-child:before{background-color:rgba(var(--color-highlight),.1)}b,strong{font-weight:600}.lia-paragraph>figure:first-child{max-width:50%;float:left;margin:0 2rem 2rem 0}.lia-textarea{max-width:100%;width:100%;border:none;transition:border-block-end-color .5s ease-out}.lia-textarea:not([disabled]){border-block-end:1.5px solid}.lia-textarea[disabled]{border-block-end:1.5px dotted}@keyframes rotating{to{transform:rotate(360deg)}}.rotating{animation:1s linear infinite rotating}@keyframes show-comment{0%{left:calc(100% + 3rem);right:calc(3rem - 100%)}to{left:3rem;right:3rem}}.show-comment{animation:show-comment}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in{opacity:1;transition:opacity .3s ease-out;animation:2s fade-in}#lia-tts-videos video{opacity:0;transition:opacity .3s ease-out}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.fade-out{animation:2s fade-out}.lia-canvas{background-color:rgb(var(--color-background));height:100vh;width:100vw;flex-direction:column;transition:left .25s ease-out,right .25s ease-out,width .25s ease-out;display:flex;position:relative;left:0;overflow:hidden}.lia-canvas .lia-skip-nav{z-index:1000;background-color:rgb(var(--color-background));border:1px solid rgb(var(--color-border));color:rgb(var(--color-highlight));padding:.5rem 1.5rem;position:absolute}html.lia-variant-dark .lia-canvas .lia-skip-nav{color:rgb(from rgb(var(--color-highlight))calc(r*2.5)calc(g*2.5)calc(b*2.5))}.lia-canvas .lia-skip-nav{transition:transform .325s ease-in;top:-10rem;left:50%;transform:translate(-50%,-120%)}.lia-canvas .lia-skip-nav:focus{top:1rem;left:50%;transform:translate(-50%)}@media screen and (max-width:47.9375em){.lia-canvas.lia-toc--visible .lia-support-menu__toggler,[dir=rtl] .lia-canvas.lia-toc--visible .lia-support-menu__toggler,.lia-canvas.lia-support--visible #lia-btn-toc,[dir=rtl] .lia-canvas.lia-support--visible #lia-btn-toc{transform:translateY(-50%)}.lia-canvas.lia-toc--visible.lia-support--visible #lia-btn-toc,.lia-canvas.lia-toc--visible.lia-support--visible .lia-support-menu__toggler{transform:translate(-3rem,-50%)}[dir=rtl] .lia-canvas.lia-toc--visible.lia-support--visible #lia-btn-toc,[dir=rtl] .lia-canvas.lia-toc--visible.lia-support--visible .lia-support-menu__toggler{transform:translate(3rem,-50%)}}@media screen and (min-width:48em){.lia-canvas.lia-toc--visible{left:28.5rem}}@media screen and (min-width:48em) and (min-width:48em){.lia-canvas.lia-toc--visible{width:100%;width:calc(100% - 28.5rem)}}@media screen and (min-width:48em){[dir=rtl] .lia-canvas.lia-toc--visible{left:-28.5rem;right:auto}.lia-canvas.lia-toc--visible .lia-header{left:28.5rem}[dir=rtl] .lia-canvas.lia-toc--visible .lia-header{left:0;right:28.5rem}.lia-canvas.lia-support--visible{width:calc(100% - 21.6rem)}}@media screen and (min-width:48em) and (min-width:64em){.lia-canvas.lia-support--visible{width:100%}}@media screen and (min-width:48em){.lia-canvas.lia-support--visible .lia-header{right:21.6rem}[dir=rtl] .lia-canvas.lia-support--visible .lia-header{left:21.6rem;right:0}}@media screen and (min-width:48em) and (min-width:64em){[dir=rtl] .lia-canvas.lia-support--visible .lia-header{left:0}}@media screen and (min-width:48em){.lia-canvas.lia-toc--visible.lia-support--visible{width:calc(100% - 50.1rem)}.lia-canvas.lia-toc--visible.lia-support--visible .lia-header{right:21.6rem}[dir=rtl] .lia-canvas.lia-toc--visible.lia-support--visible .lia-header{left:21.6rem;right:28.5rem}}@media screen and (min-width:90em){.lia-canvas{flex-direction:row}.lia-canvas.lia-support--visible{width:auto}}.lia-canvas.lia-mode--slides .lia-slide{height:calc(100vh - 7.2rem)}@media screen and (min-width:90em){.lia-canvas.lia-mode--slides .lia-header{right:31.5rem}[dir=rtl] .lia-canvas.lia-mode--slides .lia-header{left:31.5rem;right:28.5rem}.lia-canvas.lia-mode--slides .lia-slide{height:100vh;max-width:calc(100% - 31.5rem)}}.lia-canvas.lia-mode--textbook .lia-slide__content{max-width:93.1rem;padding-inline-start:3rem!important}@media screen and (min-width:48em){.lia-canvas.lia-mode--textbook .lia-slide__content{margin:1.25rem 0 2rem}}@media screen and (min-width:64em){.lia-canvas.lia-mode--textbook .lia-slide__content{margin:4.5rem 0 2rem}}.lia-canvas.lia-mode--textbook .lia-slide__container{justify-content:center;display:flex}@media screen and (min-width:64em){.lia-canvas.lia-mode--textbook .lia-slide__content{padding-inline-start:19rem}.lia-canvas.lia-mode--textbook .lia-pagination{margin-block-end:2rem}}.lia-canvas.lia-mode--presentation .lia-slide__content{max-width:124.6rem}.preview-grid{grid-gap:2rem;grid-template-columns:1fr;margin:2rem 0;display:grid}@media screen and (min-width:64em){.preview-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:90em){.preview-grid{grid-template-columns:repeat(auto-fill,minmax(41.6rem,1fr))}}.flow>*+*{margin-block-start:var(--flow-space,1em)}.lia-accordion__header{background-color:rgb(var(--color-highlight));align-items:center;padding-inline-start:.25rem;display:flex}.lia-accordion__headline{color:rgb(var(--lia-white));margin:0 auto 0 0;font-family:LiaSourceSansPro;font-size:1.5rem}.lia-accordion__toggle{color:rgb(var(--lia-white));font-size:2rem}.lia-card{background-color:rgb(var(--color-background));border:.4rem solid rgb(var(--color-highlight));color:rgb(var(--color-text));flex-direction:column;margin-block-start:2rem;display:flex;position:relative}@media (max-width:240px){.lia-card__logo{display:none}}.lia-card__icon{height:3rem;object-fit:cover;width:3rem;border-radius:50%;position:absolute;top:.5rem;right:.5rem}.lia-card__content{height:100%;flex-direction:column;padding:2rem 0 1rem;display:flex}@media screen and (min-width:47.9375em) and (max-width:63.9375em){.lia-card__content{height:auto;margin-block-start:4rem;padding-block-start:0}}.lia-card__version{position:absolute;top:-1rem;left:1rem}[dir=rtl] .lia-card__version{left:auto;right:1rem}.lia-card__version>:not(:last-child){margin-inline-end:1rem}@media (max-width:360px){.lia-card__version{font-size:xx-small}}.lia-card__header{padding:0 2.4rem}.lia-card__title{margin:0 0 2rem;display:inline-block;position:relative}.lia-card__title:before{background-color:rgb(var(--color-highlight));content:"";height:1px;width:80%;position:absolute;bottom:-.5rem}.lia-card__controls{justify-content:center;margin:auto 2.4rem 1rem;font-size:1.8rem;display:flex}@media (max-width:240px){.lia-card__controls{margin:0 2rem}}@media (max-width:310px){.lia-card__controls>:nth-child(3){display:none}}@media (max-width:360px){.lia-card__controls>:nth-child(4){display:none}}.lia-card__controls>:not(:last-child){margin-inline-end:1rem}.lia-card__controls>:not(:last-child):hover{box-shadow:0 0 1rem #0003}.lia-card__controls>:last-child{margin-inline-start:auto}.lia-card__controls>:last-child:hover{box-shadow:0 0 1rem #0003}.lia-card__subtitle{color:rgb(var(--lia-anthracite));margin:0 0 1rem}.lia-card__body{margin-block-end:1rem;padding:0 2.4rem}@media (max-width:240px){.lia-card__body{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}}.lia-card__footer{justify-content:space-between;align-items:center;padding:0 2.4rem;display:flex}@media (max-width:240px){.lia-card__footer{display:none}}.lia-card__author{color:gray;font-size:small;text-decoration:none}.lia-dropdown{border:1px solid rgb(var(--color-highlight));cursor:pointer;display:inline-block;overflow:hidden}.lia-dropdown__selected{align-items:center;display:flex}.lia-dropdown__selected span{margin-inline-end:auto}.lia-dropdown__selected .icon{margin-inline-start:2rem;font-size:2rem}.lia-dropdown__options{max-height:0;overflow-y:auto}.lia-dropdown__options.is-visible{max-height:20rem}.lia-dropdown__option{padding:.5rem 1rem}.lia-dropdown__option:first-child{margin-block-start:1rem}.lia-dropdown__option:not(:last-child){margin-block-end:1rem}.lia-dropdown__option:hover{background-color:rgba(var(--color-highlight),.1)}.lia-dropdown.is-disabled{border-color:rgb(var(--lia-grey))}.lia-dropdown.is-failure{border-color:rgb(var(--lia-red))}.lia-dropdown.is-success{border-color:rgb(var(--lia-success))}.lia-effect__content{display:block}.lia-effect__circle{background-color:rgb(var(--color-highlight));color:rgb(var(--lia-white));height:2rem;text-align:center;width:2rem;border-radius:50%;font-size:1.5rem;font-weight:400;line-height:1.3;display:inline-block;position:absolute;transform:translate(-124%)}[dir=rtl] .lia-effect__circle{transform:translate(124%)}.lia-effect__circle.animated{left:-3.75rem}.lia-effect__circle--inline{width:1.8rem;height:1.8rem;vertical-align:middle;font-size:1.2rem;line-height:1.8rem;position:relative;transform:none;font-family:var(--global-font-family)!important}.lia-effect__circle--inline.animated{left:-2.7rem}.lia-effect--inline{vertical-align:baseline;border:1px solid rgba(var(--color-highlight),.2);border-radius:6px;padding:.25rem .5rem;transition:all .2s;display:inline-block}.lia-effect--inline label{vertical-align:middle;margin:0;display:inline-block}.lia-effect--inline button{vertical-align:middle}.lia-effect--inline.lia-effect--speaking{border:1px solid rgb(var(--color-highlight));background:rgba(var(--color-highlight),.1)}.lia-effect--playback-float{margin:2.5rem 0 1rem;position:relative}.lia-effect--playback-float>button:first-child{border:1px solid rgba(var(--color-highlight),.2);z-index:1;padding:.25rem 1.5rem;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background-color:rgb(var(--color-background))!important}.lia-effect--playback-float.lia-effect--speaking>button:first-child,.lia-effect--playback-float.lia-effect--speaking .lia-effect__playback-content{border:1px solid rgb(var(--color-highlight))}.lia-effect__playback-content{border:1px solid rgba(var(--color-highlight),.2);text-align:initial;border-radius:8px;margin-top:0;padding:2rem 1rem 1rem;position:relative}.lia-fontscale{width:100%;justify-content:space-between;align-items:center;display:flex}.lia-fontscale>:not(:last-child){margin-inline-end:1rem}.lia-fontscale__lvl-1{font-size:var(--global-font-size)}.lia-fontscale__lvl-2{font-weight:600;font-size:calc(var(--global-font-size)*1.25)}.lia-fontscale__lvl-3{font-weight:700;font-size:calc(var(--global-font-size)*1.5)}.lia-gallery{scroll-snap-type:x mandatory;width:100%;margin-block-end:2rem;display:flex;overflow-x:auto;overflow-y:hidden}.lia-gallery .lia-lightbox{scroll-snap-align:start;flex:0 0 25rem}.lia-gallery .lia-figure__media{width:25rem;height:25rem;background-color:#000000d9;display:inline-block}.lia-gallery .lia-figure__media img,.lia-gallery .lia-figure__media video,.lia-gallery .lia-figure__media div{height:100%;object-fit:cover;width:100%}.lia-gallery .lia-figure__media audio{width:100%;height:55%}.lia-gallery>*{margin-inline-end:3.2rem}#google_translate_element{width:100%;overflow:hidden}#google_translate_element .goog-te-combo{border:1px solid rgb(var(--lia-grey-light));width:100%;word-wrap:normal;padding:.5rem;margin:0 0 .5rem!important;padding:.5rem 0!important}.lia-header{background-color:rgb(var(--color-background));border-block-end:1px solid rgb(var(--color-border));height:5.6rem;z-index:100;flex-direction:row;align-items:center;padding:1rem 0;display:flex;position:fixed;top:0;left:0;right:0}@media screen and (min-width:64em){.lia-header{height:7.8rem;margin:0 3rem}}.lia-header>*{flex:1}.lia-header__middle{height:100%;justify-content:center;display:flex}.lia-header__middle img{height:100%}.lia-header__right,.lia-lightbox{position:relative}.lia-lightbox__clickarea{cursor:pointer;height:25rem;width:25rem;position:absolute;top:0;left:0}.lia-lightbox__icon{color:#fff;text-shadow:1px 1px 5px #0003;font-size:2rem;position:absolute;top:1rem;right:1rem}.lia-modal{--color-text:white;--color-background:var(--lia-grey-dark);--color-border:var(--lia-grey-light);--focus-ring-color:white;color:var(--color-text);height:100%;pointer-events:auto;width:100vw;z-index:9000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.lia-modal__outer{height:100vh;width:100vw;background-color:#000000e6;position:absolute;top:0;left:0}.lia-modal__inner{height:100%;flex-direction:column;justify-content:center;display:flex;position:absolute;top:0;left:0;overflow-y:auto}.lia-modal__close,.lia-modal__controls{padding:0 .5rem;font-size:3rem}.lia-modal__close{height:4rem;text-align:right;width:100%;z-index:9001;justify-content:flex-end;align-items:center;display:flex;position:sticky;top:0}@media screen and (min-width:48em){.lia-modal__close{margin:0;position:absolute;top:.5rem;right:1rem}}.lia-modal__controls{color:#fff;height:4rem;width:100%;z-index:9001;flex-direction:row-reverse;justify-content:space-between;display:flex}@media screen and (min-width:48em){.lia-modal__controls{position:absolute;top:50%;transform:translateY(-50%)}}.lia-modal__ctrl-next{right:0}@media screen and (min-width:48em){.lia-modal__ctrl-next{right:1rem}}.lia-modal__ctrl-prev{left:0}@media screen and (min-width:48em){.lia-modal__ctrl-prev{left:1rem}}.lia-modal__content{height:100%;max-height:100%;width:100vw;scrollbar-width:none;-ms-overflow-style:none;justify-content:center;display:flex;overflow-y:auto}.lia-modal__content::-webkit-scrollbar{display:none}@media screen and (min-width:48em){.lia-modal__content{max-width:100vw;width:calc(100vw - 10rem);margin:1rem 6rem}.lia-modal__content figcaption{padding:0}}.lia-modal__content>*{z-index:9001;margin:0}.lia-modal .lia-figure{height:100%;flex-direction:column;justify-content:center;align-items:center;display:flex}.lia-modal .lia-figure__zoom{width:500px;background-position:50%;position:relative;overflow:hidden}.lia-modal .lia-figure__zoom img{opacity:1;transition:opacity .5s;display:block}.lia-modal .lia-figure__zoom img:hover{opacity:0}.lia-modal .lia-figure__media{width:100%;flex-direction:column;justify-content:center;align-items:center;display:flex}.lia-modal .lia-figure__media[data-media-type=image]{height:auto}.lia-modal .lia-figure__media[data-media-type=image] img{min-height:0}.lia-modal .lia-figure__media[data-media-type=iframe]{height:100%}.lia-modal .lia-figure figcaption{max-width:65ch;min-height:0;margin:1rem auto;padding:0 1rem}@media screen and (min-width:48em){.lia-modal .lia-figure figcaption{padding:0}}.lia-modal .lia-video-wrapper{height:100%;align-items:center;padding:0;display:flex}.lia-modal .lia-video-wrapper video{height:auto;width:auto;position:relative}.lia-modal .lia-iframe-wrapper{width:100vw;flex-grow:1;padding:0}@media screen and (min-width:48em){.lia-modal .lia-iframe-wrapper{width:calc(100vw - 12rem)}}.lia-modal .lia-video-wrapper,.lia-modal .lia-iframe-wrapper{padding-block-end:56.25%;position:relative}.nav{margin:0;padding:0;list-style-type:none;display:flex}.nav__item{align-items:center;padding:0 .5rem;display:flex;position:relative}.nav__item>.lia-btn__icon{font-size:2rem}.nav__divider{background:rgb(var(--lia-grey-light));height:1px;width:100%;border:none}.lia-notes{background-color:rgb(var(--lia-grey-light));height:100%;max-height:14.2rem;max-width:144rem;width:auto;flex-direction:column;display:flex;position:relative;overflow:auto}@media screen and (min-width:90em){.lia-notes{z-index:100}}html.lia-variant-dark .lia-notes{background-color:rgb(var(--lia-anthracite))}@media screen and (min-width:48em){.lia-notes{height:7.2rem}}@media screen and (min-width:64em){.lia-notes{margin:0 3rem}}@media screen and (min-width:90em){.lia-notes{height:auto;max-height:100%;width:100%;background-color:#0000;margin:0}}.lia-notes__content{background-color:rgb(var(--lia-grey-light));padding:0 2.3rem 2.3rem}html.lia-variant-dark .lia-notes__content{background-color:rgb(var(--lia-anthracite))}@media screen and (min-width:90em){.lia-notes__content{padding-block-start:2.3rem}}.lia-notes__content:nth-child(2n){padding:0 2.3rem}.lia-notes__content:last-child{padding-block-end:2.3rem!important}.lia-notes__content.active{color:rgb(var(--color-highlight))}.lia-notes__content>:last-child{margin-block-end:0}.lia-notes__counter{border-block-end:1px solid rgb(var(--lia-grey));color:rgb(var(--lia-grey));margin-block-end:.5rem;display:inline-block}@media screen and (min-width:90em){.lia-notes{border-inline-start:1px solid rgb(var(--color-border));max-width:31.5rem}}.lia-pagination{--focus-ring-offset:-4px;--focus-ring-color:white;width:100%;display:inline-block}@media screen and (min-width:64em){.lia-pagination{width:auto;margin-block-end:2rem}}@media screen and (min-width:90em){.lia-pagination{width:auto;margin-block-end:0;margin-inline-end:2rem}}.lia-pagination__content{background:rgb(var(--color-highlight));color:#fff;white-space:nowrap;flex-flow:row-reverse;justify-content:space-between;align-items:center;font-size:1.8rem;font-weight:700;display:flex}@media screen and (min-width:64em){.lia-pagination__content{width:auto;border-radius:.8rem}}[dir=rtl] .lia-pagination__content .lia-btn__icon{transition:transform .3s ease-out;transform:scaleX(-1)}.lia-pagination__current{margin:0 1rem}.lia-quiz{margin-block-end:2rem}.lia-quiz__answers{flex-direction:column;display:flex;position:relative}.lia-quiz__answers>:not(:last-child){margin-block-end:1rem}.lia-quiz__control{align-self:flex-start;align-items:center;display:flex}.lia-quiz__control>:not(:last-child){margin-inline-end:1rem}@media screen and (min-width:64em){.lia-quiz__control{grid-column-start:2}}.lia-quiz__input{border:1px solid rgb(var(--color-highlight));width:100%}.lia-quiz__check{flex-shrink:0}.lia-quiz__resolve,.lia-quiz__hint{color:rgb(var(--color-highlight));padding:0;font-size:3rem;line-height:1}.lia-quiz__sync,.lia-quiz__hints,.lia-quiz__solution{grid-column-start:1}.lia-quiz__feedback{align-items:center;display:flex}.lia-quiz-text{grid-gap:2rem;grid-template-columns:1fr;display:grid}.lia-quiz-single-choice>:not(:last-child),.lia-quiz-multiple-choice>:not(:last-child),.lia-quiz-select>:not(:last-child){margin-block-end:2rem}.lia-quiz-matrix{width:100%;flex-wrap:wrap;display:flex}.lia-quiz-matrix>.lia-quiz__answers{width:100%}.lia-quiz-matrix>.lia-quiz__control{margin-inline-end:1rem}.lia-quiz-matrix>.lia-quiz__solution{width:100%;margin-top:2rem}.lia-quiz [class^=lia-list]{margin-inline-start:0}.lia-quote{background-color:rgba(var(--color-highlight),.15);padding:2.4rem}.lia-quote[cite]{padding:2.4rem 4.8rem}.lia-quote>:last-child{margin-block-end:0}.lia-quote__text{color:rgb(var(--color-highlight-dark));text-align:center;font-family:LiaSourceSerifPro;font-size:1.6rem;font-weight:600}html.lia-variant-dark .lia-quote__text{color:rgb(from rgb(var(--color-highlight-dark))calc(r*4.8)calc(g*4.8)calc(b*4.8))}.lia-quote__cite{text-align:center;margin-block-start:2rem;font-style:normal;display:block}.lia-responsive-voice{background-color:rgb(var(--lia-grey-light));color:rgb(var(--color-highlight));width:100%;flex-direction:column;justify-content:center;align-items:flex-start;padding:2rem;display:flex}.lia-responsive-voice__control{width:100%;justify-content:space-between;align-items:center;display:flex}@media screen and (min-width:30em){.lia-responsive-voice__control{width:auto;justify-content:flex-start}}.lia-responsive-voice__info{text-align:center}html.lia-variant-dark .lia-responsive-voice{background-color:rgb(var(--lia-anthracite))}@media screen and (min-width:30em){.lia-responsive-voice{height:7rem;flex-direction:row;align-items:center;padding:0}}@media screen and (min-width:64em){.lia-responsive-voice{border-start-start-radius:.8rem;border-start-end-radius:.8rem}}.lia-script{vertical-align:middle;background-color:rgba(var(--color-highlight),.1);border-radius:.8rem;display:inline-flex;overflow:hidden}.lia-script--with-border{border:1px solid rgb(var(--color-highlight))}.lia-script--border{border:1px solid rgb(var(--color-highlight));background-color:unset}.lia-script__refresh{background-color:rgb(var(--lia-grey-light));border-block:0;border-inline-start:0;border-inline-end:1px solid rgb(var(--color-highlight));color:rgb(var(--lia-anthracite));border-radius:0}.lia-script>*{width:-webkit-fit-content;width:-moz-fit-content;width:-moz-fit-content;width:-moz-fit-content;width:fit-content}.lia-script>:not(:last-child){margin-inline-end:1rem}.lia-script input,.lia-script select,.lia-script textarea{background-color:#0000;border:none;border-radius:0}.lia-script input[type=color]{width:10rem;height:auto;-webkit-appearance:none;border:none}.lia-script input[type=color]::-webkit-color-swatch-wrapper{padding:0}.lia-script input[type=color]::-webkit-color-swatch{border:none}.lia-script textarea{min-width:25vw;max-width:50vw;resize:vertical;min-height:5rem}.lia-script output{background-color:rgb(var(--lia-anthracite));border-inline-start:1px solid rgb(var(--color-highlight));color:rgb(var(--lia-white));width:100%;align-items:center;padding:0 .5rem;display:flex}.lia-script output i{margin-inline-end:.5rem}output.lia-script{cursor:pointer;padding:0 .5rem}.lia-slide-animation{margin-inline:4px;padding-inline:5px;transition:max-height .2s ease-out;overflow-y:auto}.lia-slide{height:100vh;width:100%;flex-direction:column;display:flex;position:relative}.lia-slide__footer{width:100%;z-index:50;flex-direction:column;align-items:flex-start;display:flex}@media screen and (min-width:64em){.lia-slide__footer{align-items:center;padding:0 3rem}}@media screen and (min-width:90em){.lia-slide__footer{flex-direction:row;align-items:flex-start}}.lia-slide__container{height:100%;margin-block-start:5.6rem;position:relative;overflow:auto}@media screen and (min-width:64em){.lia-slide__container{margin-block-start:7.8rem}}.lia-slide__content{max-width:144rem;width:100%;padding:0 3rem}@media screen and (min-width:64em){.lia-slide__content{margin:.8rem 0 2rem}}.lia-support-menu{background-color:rgb(var(--color-background));border-inline-start:1px solid rgb(var(--color-border));height:100%;-webkit-user-select:none;user-select:none;width:100%;z-index:100;flex-direction:column;padding-block-start:6rem;transition:width .25s ease-out,transform .25s ease-out;display:flex;position:fixed;top:0;right:0}[dir=rtl] .lia-support-menu{left:0;right:auto}.lia-support-menu--closed{transform:translate(100%)}[dir=rtl] .lia-support-menu--closed{transform:translate(-100%)}.lia-support-menu--closed .lia-support-menu__toggler{transform:translate(-6.5rem,-50%)}[dir=rtl] .lia-support-menu--closed .lia-support-menu__toggler{transform:translate(6.5rem,-50%)}@media screen and (min-width:48em){.lia-support-menu{width:21.6rem;padding-block-start:0}}@media screen and (min-width:64em){.lia-support-menu{height:100%;width:100%;border:none;position:relative}.lia-support-menu--closed{transform:translate(0)}[dir=rtl] .lia-support-menu--closed .lia-support-menu__nav{transform:translate(100%)}.lia-support-menu--closed .lia-support-menu__toggler{transform:translate(-6.5rem,-50%)}[dir=rtl] .lia-support-menu--closed .lia-support-menu__toggler{transform:translate(6.5rem,-50%)}}.lia-support-menu__toggler{color:rgb(var(--color-highlight));visibility:visible;font-size:2rem;transition:transform .25s ease-out;display:block;position:absolute;top:2.9rem;left:0;transform:translate(-6.5rem,-50%)}[dir=rtl] .lia-support-menu__toggler{left:auto;right:0;transform:translate(6.5rem,-50%)}@media screen and (max-width:47.9375em){.lia-support-menu__toggler{transform:translate(2.1rem,-50%)}[dir=rtl] .lia-support-menu__toggler{transform:translate(-2.1rem,-50%)}}@media screen and (max-width:63.9375em){.lia-support-menu__toggler--closed{transform:translate(100%)}[dir=rtl] .lia-support-menu__toggler--closed{transform:translate(-100%)}}@media screen and (min-width:64em){.lia-support-menu__toggler{visibility:hidden;display:none}}.lia-support-menu__collapse{height:100%;display:block}.lia-support-menu__nav{height:100%;padding:1.7rem 2.1rem;display:block;overflow:auto}.lia-support-menu__nav:focus{box-shadow:none!important}@media screen and (min-width:64em){.lia-support-menu__nav{--flow-space:0;flex-direction:row;justify-content:flex-end;align-items:center;padding:0;display:flex;overflow:visible}}.lia-support-menu__item{color:rgb(var(--color-highlight));flex-direction:column;align-items:flex-start;padding:1em 0 0;display:flex}html.lia-variant-dark .lia-support-menu__item{color:rgb(from rgb(var(--color-highlight))calc(r*1.8)calc(g*1.8)calc(b*1.8))}.lia-support-menu__item:not(:first-child){border-block-start:1px solid rgb(var(--color-border))}.lia-support-menu__item>.icon{margin-block-end:1.8rem}.lia-support-menu__item>button{font-size:2rem}.lia-support-menu__item>button.icon:before{vertical-align:middle}.lia-support-menu__item--info .lia-support-menu__submenu{width:-webkit-max-content;width:-moz-max-content;width:max-content}@media screen and (min-width:64em){.lia-support-menu__item{padding:0 .75rem}.lia-support-menu__item:not(:first-child){border-block-start:none}.lia-support-menu__item>.icon{margin-block-end:0}}.lia-support-menu__submenu{--flow-space:1em;background-color:rgb(var(--color-background));box-shadow:none;color:rgb(var(--color-text));max-width:100%;width:100%;flex-direction:column;padding:0;display:flex;position:relative;top:0;right:0}[dir=rtl] .lia-support-menu__submenu{left:0;right:auto}html.lia-variant-dark .lia-support-menu__submenu{background-color:rgb(var(--lia-grey-dark))}.lia-support-menu__submenu .lia-link{text-decoration:none}.lia-support-menu__submenu .lia-link:not(.active){color:rgb(var(--color-text))}.lia-support-menu__submenu .lia-btn[aria-checked=true]{color:rgb(var(--color-highlight))}.lia-support-menu__submenu svg{height:15rem}.lia-support-menu__submenu .lia-settings-editor label{flex-direction:column;align-items:flex-start;display:flex}@media screen and (min-width:48em){.lia-support-menu__submenu{align-items:flex-start}}@media screen and (min-width:64em){.lia-support-menu__submenu{z-index:100;max-width:30rem;width:max-content;border-radius:.8rem;padding:1.4rem;display:none;position:absolute;top:5.9rem;box-shadow:0 0 1rem #80808033}.lia-support-menu__submenu.active{display:flex}}.lia-survey-matrix__header{border-block-start:0;padding:1.3rem 1.6rem}.lia-survey-matrix__header:last-child{border-inline-end:0}.lia-survey-matrix__header:first-child{border-inline-start:0}.lia-survey-matrix__data{border-block:0;padding:1rem}.lia-survey-matrix__data:not(:last-child){text-align:center;max-width:5rem;padding:2rem}.lia-survey-matrix__row:last-child>td{border-block-end:0}.lia-survey-matrix__row td:first-child{border-inline-start:0}.lia-survey-matrix__row td:last-child{max-width:50rem;min-width:20rem;border-inline-end:0}.lia-toc{background-color:rgb(var(--color-background));border-inline-end:1px solid rgb(var(--color-border));height:100%;width:100%;z-index:200;flex-direction:column;padding:3rem 0 1rem;transition:left .25s ease-out,width .25s ease-out,transform .25s ease-out;display:flex;position:fixed;left:0}[dir=rtl] .lia-toc{right:0}.lia-toc #lia-btn-toc{color:rgb(var(--color-highlight));font-size:2rem;transition:all .25s ease-out;position:absolute;top:4rem;right:0;transform:translate(6.5rem,-50%)}[dir=rtl] .lia-toc #lia-btn-toc{left:0;right:auto;transform:translate(-6.5rem,-50%)}@media screen and (max-width:47.9375em){.lia-toc #lia-btn-toc{transform:translate(-3rem,-50%)}[dir=rtl] .lia-toc #lia-btn-toc{transform:translate(3rem,-50%)}}@media screen and (max-width:63.9375em) and (max-width:63.9375em){.lia-toc #lia-btn-toc{top:2.9rem}}@media screen and (min-width:48em){.lia-toc{width:28.5rem}}.lia-toc--closed{transform:translate(-100%)}[dir=rtl] .lia-toc--closed{transform:translate(100%)}.lia-toc--closed #lia-btn-toc{transform:translate(6.5rem,-50%)}[dir=rtl] .lia-toc--closed #lia-btn-toc{transform:translate(-6.5rem,-50%)}@media screen and (max-width:47.9375em){.lia-toc{padding-block-start:6rem}}.lia-toc__search{margin:0 3rem 3rem;display:inline-block;position:relative}.lia-toc__search input{background-color:rgba(var(--lia-grey-light),.1);padding-inline:3rem 3.75rem;transition:left .25s ease-out}.lia-toc__search .icon-search{transform-origin:50%;font-size:2rem;position:absolute;top:50%;left:.5rem;transform:translateY(-50%)}[dir=rtl] .lia-toc__search .icon-search{left:auto;right:.5rem}.lia-toc__search .lia-toc__clear-index{height:3rem;transform-origin:50%;-webkit-user-select:none;user-select:none;width:3rem;background:0 0;border:0;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}[dir=rtl] .lia-toc__search .lia-toc__clear-index{left:.5rem;right:auto}.lia-toc__content{flex-direction:column;display:flex;overflow:auto}.lia-toc__content a{width:100%;color:inherit;padding:.8rem .8rem .8rem 3rem;text-decoration:none;position:relative}.lia-toc__content a.lia-active{color:rgb(var(--color-highlight))}.lia-toc__content a.lia-active:before{content:"";background-color:rgb(var(--color-highlight));width:5px;background-color:rgb(var(--color-highlight));position:absolute;top:0;bottom:0;left:0}[dir=rtl] .lia-toc__content a.lia-active:before{left:auto;right:0}.lia-toc__content a.lia-toc__link--is-lvl-1{font-size:calc(2rem*var(--font-size-multiplier));font-weight:700}[dir=rtl] .lia-toc__content a.lia-toc__link--is-lvl-1{padding-inline-start:3rem}.lia-toc__content a.lia-toc__link--is-lvl-2{font-weight:600;font-size:calc(1.7rem*var(--font-size-multiplier));padding-inline-start:4.5rem;position:relative}.lia-toc__content a.lia-toc__link--is-lvl-2:after{content:"";background-color:rgb(var(--lia-grey-light));height:1px;display:inline-block;position:absolute;top:0;left:3rem;right:3rem}.lia-toc__content a.lia-toc__link--is-lvl-3{padding-inline-start:6rem}.lia-toc__content a.lia-toc__link--is-lvl-4{padding-inline-start:7.5rem}.lia-toc__content a.lia-toc__link--is-lvl-5{padding-inline-start:9rem}.lia-toc__content a.lia-toc__link--is-lvl-6{padding-inline-start:10.5rem}.lia-toc__link{--focus-ring-offset:-.25lh}.lia-toc__bottom{margin:0 3rem;padding-top:1rem;position:relative}.lia-toc__bottom>*{font-weight:600}.lia-toc__bottom:after{content:"";background-color:rgb(var(--lia-grey-light));height:1px;display:inline-block;position:absolute;top:0;left:0;right:0}html:not([class*=lia-theme-default]) .lia-toc--visible #lia-btn-toc{color:rgb(var(--lia-white))}@media screen and (min-width:48em){html:not([class*=lia-theme-default]) .lia-toc--visible #lia-btn-toc{color:rgb(var(--color-highlight))}}html:not([class*=lia-theme-default]) .lia-toc{background-color:rgb(var(--color-highlight));color:rgb(var(--lia-white));--focus-ring-color:rgb(var(--color-highlight-menu))}@media screen and (min-width:48em){html:not([class*=lia-theme-default]) .lia-toc #lia-btn-toc{--focus-ring-color:rgb(var(--color-text))}}html:not([class*=lia-theme-default]) .lia-toc--closed #lia-btn-toc{--focus-ring-color:rgb(var(--color-text))}html:not([class*=lia-theme-default]) .lia-toc__search input{background-color:rgba(var(--lia-grey-light),.1)}html:not([class*=lia-theme-default]) .lia-toc__search input::-webkit-input-placeholder{color:rgb(var(--lia-white))}html:not([class*=lia-theme-default]) .lia-toc__search input::-moz-placeholder{color:rgb(var(--lia-white))}html:not([class*=lia-theme-default]) .lia-toc__search input:-ms-input-placeholder{color:rgb(var(--lia-white))}html:not([class*=lia-theme-default]) .lia-toc__search input::-moz-placeholder{color:rgb(var(--lia-white))}html:not([class*=lia-theme-default]) .lia-toc__search input,html:not([class*=lia-theme-default]) .lia-toc__search input::placeholder,html:not([class*=lia-theme-default]) .lia-toc__search .lia-toc__clear-index{color:rgb(var(--lia-white))}html:not([class*=lia-theme-default]) .lia-toc__content a *{color:rgb(var(--lia-white));border-color:rgb(var(--lia-white))}html:not([class*=lia-theme-default]) .lia-toc__content a.lia-toc__link--is-lvl-2:after{background-color:rgb(var(--lia-white))}html:not([class*=lia-theme-default]) .lia-toc__content a.lia-active,html:not([class*=lia-theme-default]) .lia-toc__content a.lia-active>*{color:rgb(var(--color-highlight-menu));background-color:rgba(var(--color-highlight-menu),.1);border-radius:.3rem;font-weight:700}html:not([class*=lia-theme-default]) .lia-toc__content a.lia-active:before,html:not([class*=lia-theme-default]) .lia-toc__content a.lia-active>:before{background-color:rgb(var(--color-highlight-menu))}html:not([class*=lia-theme-default]) .lia-toc__content a__bottom{color:rgb(var(--color-highlight-menu))}.lia-tooltip{display:inline-block;position:relative}.lia-tooltip .lia-tooltiptext{visibility:hidden;color:#fff;text-align:left;z-index:1;background-color:#000;border-radius:6px;margin-inline-start:-60px;padding:15px;position:absolute;top:100%;left:50%}.lia-tooltip:hover .lia-tooltiptext{visibility:visible}.lia-progress{height:.125rem;background:rgb(var(--color-highlight));transition:all .4s linear;position:absolute;bottom:0;overflow:hidden}@media (min-width:1800px){.lia-progress{height:2px}}.align-middle{vertical-align:middle}.clearfix:before,.clearfix:after{content:" ";display:flow-root}.clearfix:after{clear:both}.bg-anthracite{background-color:rgb(var(--lia-anthracite))}.text-anthracite{color:rgb(var(--lia-anthracite))}.border-anthracite{border:1px solid rgb(var(--lia-anthracite))}.bg-blue-darker{background-color:rgb(var(--lia-blue-darker))}.text-blue-darker{color:rgb(var(--lia-blue-darker))}.border-blue-darker{border:1px solid rgb(var(--lia-blue-darker))}.bg-blue-dark{background-color:rgb(var(--lia-blue-dark))}.text-blue-dark{color:rgb(var(--lia-blue-dark))}.border-blue-dark{border:1px solid rgb(var(--lia-blue-dark))}.bg-blue{background-color:rgb(var(--lia-blue))}.text-blue{color:rgb(var(--lia-blue))}.border-blue{border:1px solid rgb(var(--lia-blue))}.bg-grey-dark{background-color:rgb(var(--lia-grey-dark))}.text-grey-dark{color:rgb(var(--lia-grey-dark))}.border-grey-dark{border:1px solid rgb(var(--lia-grey-dark))}.bg-grey-light{background-color:rgb(var(--lia-grey-light))}.text-grey-light{color:rgb(var(--lia-grey-light))}.border-grey-light{border:1px solid rgb(var(--lia-grey-light))}.bg-grey-lighter{background-color:rgb(var(--lia-grey-lighter))}.text-grey-lighter{color:rgb(var(--lia-grey-lighter))}.border-grey-lighter{border:1px solid rgb(var(--lia-grey-lighter))}.bg-grey{background-color:rgb(var(--lia-grey))}.text-grey{color:rgb(var(--lia-grey))}.border-grey{border:1px solid rgb(var(--lia-grey))}.bg-red-darker{background-color:rgb(var(--lia-red-darker))}.text-red-darker{color:rgb(var(--lia-red-darker))}.border-red-darker{border:1px solid rgb(var(--lia-red-darker))}.bg-red-dark{background-color:rgb(var(--lia-red-dark))}.text-red-dark{color:rgb(var(--lia-red-dark))}.border-red-dark{border:1px solid rgb(var(--lia-red-dark))}.bg-red{background-color:rgb(var(--lia-red))}.text-red{color:rgb(var(--lia-red))}.border-red{border:1px solid rgb(var(--lia-red))}.bg-success{background-color:rgb(var(--lia-success))}.text-success{color:rgb(var(--lia-success))}.border-success{border:1px solid rgb(var(--lia-success))}.bg-turquoise-darker{background-color:rgb(var(--lia-turquoise-darker))}.text-turquoise-darker{color:rgb(var(--lia-turquoise-darker))}.border-turquoise-darker{border:1px solid rgb(var(--lia-turquoise-darker))}.bg-turquoise-dark{background-color:rgb(var(--lia-turquoise-dark))}.text-turquoise-dark{color:rgb(var(--lia-turquoise-dark))}.border-turquoise-dark{border:1px solid rgb(var(--lia-turquoise-dark))}.bg-turquoise{background-color:rgb(var(--lia-turquoise))}.text-turquoise{color:rgb(var(--lia-turquoise))}.border-turquoise{border:1px solid rgb(var(--lia-turquoise))}.bg-warning{background-color:rgb(var(--lia-warning))}.text-warning{color:rgb(var(--lia-warning))}.border-warning{border:1px solid rgb(var(--lia-warning))}.bg-white{background-color:rgb(var(--lia-white))}.text-white{color:rgb(var(--lia-white))}.border-white{border:1px solid rgb(var(--lia-white))}.bg-yellow-darker{background-color:rgb(var(--lia-yellow-darker))}.text-yellow-darker{color:rgb(var(--lia-yellow-darker))}.border-yellow-darker{border:1px solid rgb(var(--lia-yellow-darker))}.bg-yellow-dark{background-color:rgb(var(--lia-yellow-dark))}.text-yellow-dark{color:rgb(var(--lia-yellow-dark))}.border-yellow-dark{border:1px solid rgb(var(--lia-yellow-dark))}.bg-yellow{background-color:rgb(var(--lia-yellow))}.text-yellow{color:rgb(var(--lia-yellow))}.border-yellow{border:1px solid rgb(var(--lia-yellow))}.bg-black{background-color:rgb(var(--lia-black))}.text-black{color:rgb(var(--lia-black))}.border-black{border:1px solid rgb(var(--lia-black))}.bg-highlight{background-color:rgb(var(--color-highlight))}.text-highlight{color:rgb(var(--color-highlight))}.border-highlight{border-color:rgb(var(--color-highlight))}.d-block{display:block}.d-inline-block{display:inline-block}.flex{display:flex}.items-center{align-items:center}.headless{border-start-start-radius:.5rem!important;border-start-end-radius:.5rem!important}.h1,.h2,.h3{font-family:LiaSourceSerifPro;line-height:1.47}.h1{font-size:calc(2.3rem*var(--font-size-multiplier))!important}@media screen and (min-width:64em){.h1{font-size:calc(4rem*var(--font-size-multiplier))!important}.lia-mode--textbook .h1{font-size:calc(3.7rem*var(--font-size-multiplier))!important}}.h2{font-size:calc(2rem*var(--font-size-multiplier))!important}@media screen and (min-width:64em){.h2{font-size:calc(2.9rem*var(--font-size-multiplier))!important}}.h3{font-size:calc(2.3rem*var(--font-size-multiplier))!important}@media screen and (min-width:64em){.h3{font-size:calc(2.3rem*var(--font-size-multiplier))!important}}.h4,.h5{font-family:LiaSourceSansPro;line-height:1.38;font-size:calc(1.6rem*var(--font-size-multiplier))!important}.hidden-visually{clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;white-space:nowrap!important;width:1px!important;border:0!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.hide{display:none!important}@media (min-width:30em){.hide-xs-up{display:none!important}}@media (max-width:29.9375em){.hide-xs-down{display:none!important}}@media (min-width:48em){.hide-sm-up{display:none!important}}@media (max-width:47.9375em){.hide-sm-down{display:none!important}}@media (min-width:64em){.hide-md-up{display:none!important}}@media (max-width:63.9375em){.hide-md-down{display:none!important}}@media (min-width:90em){.hide-lg-up{display:none!important}}@media (max-width:89.9375em){.hide-lg-down{display:none!important}}@media (min-width:105em){.hide-xl-up{display:none!important}}@media (max-width:104.938em){.hide-xl-down{display:none!important}}.m-0{margin:0}.mt-0{margin-block-start:0}.mr-0{margin-inline-end:0}.mb-0{margin-block-end:0}.ml-0{margin-inline-start:0}.mx-0{margin-inline:0}.my-0{margin-block:0}.m-1{margin:1rem}.mt-1{margin-block-start:1rem}.mr-1{margin-inline-end:1rem}.mb-1{margin-block-end:1rem}.ml-1{margin-inline-start:1rem}.mx-1{margin-inline:1rem}.my-1{margin-block:1rem}.m-2{margin:2rem}.mt-2{margin-block-start:2rem}.mr-2{margin-inline-end:2rem}.mb-2{margin-block-end:2rem}.ml-2{margin-inline-start:2rem}.mx-2{margin-inline:2rem}.my-2{margin-block:2rem}.m-3{margin:3rem}.mt-3{margin-block-start:3rem}.mr-3{margin-inline-end:3rem}.mb-3{margin-block-end:3rem}.ml-3{margin-inline-start:3rem}.mx-3{margin-inline:3rem}.my-3{margin-block:3rem}.m-4{margin:4rem}.mt-4{margin-block-start:4rem}.mr-4{margin-inline-end:4rem}.mb-4{margin-block-end:4rem}.ml-4{margin-inline-start:4rem}.mx-4{margin-inline:4rem}.my-4{margin-block:4rem}.m-5{margin:5rem}.mt-5{margin-block-start:5rem}.mr-5{margin-inline-end:5rem}.mb-5{margin-block-end:5rem}.ml-5{margin-inline-start:5rem}.mx-5{margin-inline:5rem}.my-5{margin-block:5rem}.m-6{margin:6rem}.mt-6{margin-block-start:6rem}.mr-6{margin-inline-end:6rem}.mb-6{margin-block-end:6rem}.ml-6{margin-inline-start:6rem}.mx-6{margin-inline:6rem}.my-6{margin-block:6rem}.m-7{margin:7rem}.mt-7{margin-block-start:7rem}.mr-7{margin-inline-end:7rem}.mb-7{margin-block-end:7rem}.ml-7{margin-inline-start:7rem}.mx-7{margin-inline:7rem}.my-7{margin-block:7rem}.p-0{padding:0}.pt-0{padding-block-start:0}.pr-0{padding-inline-end:0}.pb-0{padding-block-end:0}.pl-0{padding-inline-start:0}.px-0{padding-inline:0}.py-0{padding-block:0}.p-1{padding:1rem}.pt-1{padding-block-start:1rem}.pr-1{padding-inline-end:1rem}.pb-1{padding-block-end:1rem}.pl-1{padding-inline-start:1rem}.px-1{padding-inline:1rem}.py-1{padding-block:1rem}.p-2{padding:2rem}.pt-2{padding-block-start:2rem}.pr-2{padding-inline-end:2rem}.pb-2{padding-block-end:2rem}.pl-2{padding-inline-start:2rem}.px-2{padding-inline:2rem}.py-2{padding-block:2rem}.p-3{padding:3rem}.pt-3{padding-block-start:3rem}.pr-3{padding-inline-end:3rem}.pb-3{padding-block-end:3rem}.pl-3{padding-inline-start:3rem}.px-3{padding-inline:3rem}.py-3{padding-block:3rem}.p-4{padding:4rem}.pt-4{padding-block-start:4rem}.pr-4{padding-inline-end:4rem}.pb-4{padding-block-end:4rem}.pl-4{padding-inline-start:4rem}.px-4{padding-inline:4rem}.py-4{padding-block:4rem}.p-5{padding:5rem}.pt-5{padding-block-start:5rem}.pr-5{padding-inline-end:5rem}.pb-5{padding-block-end:5rem}.pl-5{padding-inline-start:5rem}.px-5{padding-inline:5rem}.py-5{padding-block:5rem}.p-6{padding:6rem}.pt-6{padding-block-start:6rem}.pr-6{padding-inline-end:6rem}.pb-6{padding-block-end:6rem}.pl-6{padding-inline-start:6rem}.px-6{padding-inline:6rem}.py-6{padding-block:6rem}.p-7{padding:7rem}.pt-7{padding-block-start:7rem}.pr-7{padding-inline-end:7rem}.pb-7{padding-block-end:7rem}.pl-7{padding-inline-start:7rem}.px-7{padding-inline:7rem}.py-7{padding-block:7rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-400{font-weight:400}.text-debug{color:#add8e6}.text-info{color:rgb(var(--lia-white))}.text-warning{color:#ff0}.text-error{color:red}.text-disabled{color:rgb(var(--lia-grey))}.text-success{color:rgb(var(--lia-success))}.max-w-0{max-width:0}.max-w-full{max-width:100%}.max-w-50{max-width:25%;max-width:50%}.max-w-75{max-width:75%}.max-w-xs{max-width:29.9375em}.max-w-sm{max-width:47.9375em}.max-w-md{max-width:63.9375em}.max-w-lg{max-width:89.9375em}.max-w-xl{max-width:104.938em}.lia-svg{padding-inline:1rem;overflow:auto}.lia-print-only{display:none}@media print{.lia-print-only{z-index:1000;background-color:#fff;padding:1rem;position:absolute;display:inline-block!important}.lia-print-only:before{content:"↪︎ "}.lia-slide{height:unset!important}.lia-toc,.lia-support-menu--open,.lia-slide__footer,.lia-quiz__control,.lia-code-control,.lia-plot__switch,.lia-table__sort,.lia-code__min-max,.lia-code__copy,#lia-toolbar-nav{width:0!important;display:none!important}main,.lia-canvas,.lia-slide{width:unset!important;height:unset!important;margin-block-start:unset!important;overflow:hidden!important}.lia-code-terminal__output{height:-moz-fit-content!important;height:-moz-fit-content!important;height:fit-content!important;max-height:800px!important}table,ul,ol,figure,blockquote,.lia-quiz,.lia-code-terminal__output{break-inside:avoid}.lia-gallery{flex-flow:wrap}.lia-lightbox__icon{display:none}.lia-table-responsive{max-height:-moz-fit-content!important;max-height:-moz-fit-content!important;max-height:fit-content!important}.ace_gutter-active-line{background-color:unset!important}.ace_hidden-cursors{opacity:0}.ace_text-input{orphans:3;widows:3;break-inside:auto!important}label{page-break-after:avoid}}.ace-multi-cursor{pointer-events:auto;z-index:10;position:absolute}.ace-multi-cursor:before{content:"";width:6px;height:5px;background:inherit;margin-top:-5px;margin-left:-2px;display:block}.ace-multi-cursor-tooltip{white-space:nowrap;color:#fff;text-shadow:0 0 1px #000;opacity:1;-o-transition:opacity .5s ease-out;padding:2px;font-family:sans-serif;font-size:12px;transition:opacity .5s ease-out;position:absolute}.ace-multi-selection{pointer-events:auto;z-index:10;opacity:.3;position:absolute}.ace-radar-view{min-width:6px;position:relative}.ace-radar-view-scroll-indicator{cursor:pointer;border-style:double;border-width:3px;border-radius:4px;position:absolute;left:0;right:0}.ace-radar-view-cursor-indicator{height:4px;cursor:pointer;border:1px solid #000;border-radius:3px;position:absolute;left:0;right:0}.ace-radar-view-wrapper{float:left;height:100%;width:6px;margin-right:4px;position:relative}