ace.define( 'ace/ext/menu_tools/overlay_page', ['require', 'exports', 'module', 'ace/lib/dom'], function (e, t, n) { 'use strict' var r = e('../../lib/dom'), i = '#ace_settingsmenu, #kbshortcutmenu {background-color: #F7F7F7;color: black;box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);padding: 1em 0.5em 2em 1em;overflow: auto;position: absolute;margin: 0;bottom: 0;right: 0;top: 0;z-index: 9991;cursor: default;}.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);background-color: rgba(255, 255, 255, 0.6);color: black;}.ace_optionsMenuEntry:hover {background-color: rgba(100, 100, 100, 0.1);transition: all 0.3s}.ace_closeButton {background: rgba(245, 146, 146, 0.5);border: 1px solid #F48A8A;border-radius: 50%;padding: 7px;position: absolute;right: -8px;top: -8px;z-index: 100000;}.ace_closeButton{background: rgba(245, 146, 146, 0.9);}.ace_optionsMenuKey {color: darkslateblue;font-weight: bold;}.ace_optionsMenuCommand {color: darkcyan;font-weight: normal;}.ace_optionsMenuEntry input, .ace_optionsMenuEntry button {vertical-align: middle;}.ace_optionsMenuEntry button[ace_selected_button=true] {background: #e7e7e7;box-shadow: 1px 0px 2px 0px #adadad inset;border-color: #adadad;}.ace_optionsMenuEntry button {background: white;border: 1px solid lightgray;margin: 0px;}.ace_optionsMenuEntry button:hover{background: #f0f0f0;}' r.importCssString(i), (n.exports.overlayPage = function (t, n, r) { function o(e) { e.keyCode === 27 && u() } function u() { if (!i) return document.removeEventListener('keydown', o), i.parentNode.removeChild(i), t && t.focus(), (i = null), r && r() } function a(e) { ;(s = e), e && ((i.style.pointerEvents = 'none'), (n.style.pointerEvents = 'auto')) } var i = document.createElement('div'), s = !1 return ( (i.style.cssText = 'margin: 0; padding: 0; position: fixed; top:0; bottom:0; left:0; right:0;z-index: 9990; ' + (t ? 'background-color: rgba(0, 0, 0, 0.3);' : '')), i.addEventListener('click', function (e) { s || u() }), document.addEventListener('keydown', o), n.addEventListener('click', function (e) { e.stopPropagation() }), i.appendChild(n), document.body.appendChild(i), t && t.blur(), { close: u, setIgnoreFocusOut: a } ) }) } ), ace.define('ace/ext/modelist', ['require', 'exports', 'module'], function (e, t, n) { 'use strict' function i(e) { var t = a.text, n = e.split(/[\/\\]/).pop() for (var i = 0; i < r.length; i++) if (r[i].supportsFile(n)) { t = r[i] break } return t } var r = [], s = function (e, t, n) { ;(this.name = e), (this.caption = t), (this.mode = 'ace/mode/' + e), (this.extensions = n) var r ;/\^/.test(n) ? (r = n.replace(/\|(\^)?/g, function (e, t) { return '$|' + (t ? '^' : '^.*\\.') }) + '$') : (r = '^.*\\.(' + n + ')$'), (this.extRe = new RegExp(r, 'gi')) } s.prototype.supportsFile = function (e) { return e.match(this.extRe) } var o = { ABAP: ['abap'], ABC: ['abc'], ActionScript: ['as'], ADA: ['ada|adb'], Alda: ['alda'], Apache_Conf: ['^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd'], Apex: ['apex|cls|trigger|tgr'], AQL: ['aql'], AsciiDoc: ['asciidoc|adoc'], ASL: ['dsl|asl'], Assembly_x86: ['asm|a'], AutoHotKey: ['ahk'], BatchFile: ['bat|cmd'], C_Cpp: ['cpp|c|cc|cxx|h|hh|hpp|ino'], C9Search: ['c9search_results'], Cirru: ['cirru|cr'], Clojure: ['clj|cljs'], Cobol: ['CBL|COB'], coffee: ['coffee|cf|cson|^Cakefile'], ColdFusion: ['cfm'], Crystal: ['cr'], CSharp: ['cs'], Csound_Document: ['csd'], Csound_Orchestra: ['orc'], Csound_Score: ['sco'], CSS: ['css'], Curly: ['curly'], D: ['d|di'], Dart: ['dart'], Diff: ['diff|patch'], Dockerfile: ['^Dockerfile'], Dot: ['dot'], Drools: ['drl'], Edifact: ['edi'], Eiffel: ['e|ge'], EJS: ['ejs'], Elixir: ['ex|exs'], Elm: ['elm'], Erlang: ['erl|hrl'], Forth: ['frt|fs|ldr|fth|4th'], Fortran: ['f|f90'], FSharp: ['fsi|fs|ml|mli|fsx|fsscript'], FSL: ['fsl'], FTL: ['ftl'], Gcode: ['gcode'], Gherkin: ['feature'], Gitignore: ['^.gitignore'], Glsl: ['glsl|frag|vert'], Gobstones: ['gbs'], golang: ['go'], GraphQLSchema: ['gql'], Groovy: ['groovy'], HAML: ['haml'], Handlebars: ['hbs|handlebars|tpl|mustache'], Haskell: ['hs'], Haskell_Cabal: ['cabal'], haXe: ['hx'], Hjson: ['hjson'], HTML: ['html|htm|xhtml|vue|we|wpy'], HTML_Elixir: ['eex|html.eex'], HTML_Ruby: ['erb|rhtml|html.erb'], INI: ['ini|conf|cfg|prefs'], Io: ['io'], Jack: ['jack'], Jade: ['jade|pug'], Java: ['java'], JavaScript: ['js|jsm|jsx'], JSON: ['json'], JSON5: ['json5'], JSONiq: ['jq'], JSP: ['jsp'], JSSM: ['jssm|jssm_state'], JSX: ['jsx'], Julia: ['jl'], Kotlin: ['kt|kts'], LaTeX: ['tex|latex|ltx|bib'], LESS: ['less'], Liquid: ['liquid'], Lisp: ['lisp'], LiveScript: ['ls'], LogiQL: ['logic|lql'], LSL: ['lsl'], Lua: ['lua'], LuaPage: ['lp'], Lucene: ['lucene'], Makefile: ['^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make'], Markdown: ['md|markdown'], Mask: ['mask'], MATLAB: ['matlab'], Maze: ['mz'], MediaWiki: ['wiki|mediawiki'], MEL: ['mel'], MIXAL: ['mixal'], MUSHCode: ['mc|mush'], MySQL: ['mysql'], Nginx: ['nginx|conf'], Nim: ['nim'], Nix: ['nix'], NSIS: ['nsi|nsh'], Nunjucks: ['nunjucks|nunjs|nj|njk'], ObjectiveC: ['m|mm'], OCaml: ['ml|mli'], Pascal: ['pas|p'], Perl: ['pl|pm'], Perl6: ['p6|pl6|pm6'], pgSQL: ['pgsql'], PHP: ['php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module'], PHP_Laravel_blade: ['blade.php'], Pig: ['pig'], Powershell: ['ps1'], Praat: ['praat|praatscript|psc|proc'], Prisma: ['prisma'], Prolog: ['plg|prolog'], Properties: ['properties'], Protobuf: ['proto'], Puppet: ['epp|pp'], Python: ['py'], QML: ['qml'], R: ['r'], Razor: ['cshtml|asp'], RDoc: ['Rd'], Red: ['red|reds'], RHTML: ['Rhtml'], RST: ['rst'], Ruby: ['rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile'], Rust: ['rs'], SASS: ['sass'], SCAD: ['scad'], Scala: ['scala|sbt'], Scheme: ['scm|sm|rkt|oak|scheme'], SCSS: ['scss'], SH: ['sh|bash|^.bashrc'], SJS: ['sjs'], Slim: ['slim|skim'], Smarty: ['smarty|tpl'], snippets: ['snippets'], Soy_Template: ['soy'], Space: ['space'], SQL: ['sql'], SQLServer: ['sqlserver'], Stylus: ['styl|stylus'], SVG: ['svg'], Swift: ['swift'], Tcl: ['tcl'], Terraform: ['tf', 'tfvars', 'terragrunt'], Tex: ['tex'], Text: ['txt'], Textile: ['textile'], Toml: ['toml'], TSX: ['tsx'], Twig: ['latte|twig|swig'], Typescript: ['ts|typescript|str'], Vala: ['vala'], VBScript: ['vbs|vb'], Velocity: ['vm'], Verilog: ['v|vh|sv|svh'], VHDL: ['vhd|vhdl'], Visualforce: ['vfp|component|page'], Wollok: ['wlk|wpgm|wtest'], XML: ['xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml'], XQuery: ['xq'], YAML: ['yaml|yml'], Zeek: ['zeek|bro'], Django: ['html'], }, u = { ObjectiveC: 'Objective-C', CSharp: 'C#', golang: 'Go', C_Cpp: 'C and C++', Csound_Document: 'Csound Document', Csound_Orchestra: 'Csound', Csound_Score: 'Csound Score', coffee: 'CoffeeScript', HTML_Ruby: 'HTML (Ruby)', HTML_Elixir: 'HTML (Elixir)', FTL: 'FreeMarker', PHP_Laravel_blade: 'PHP (Blade Template)', Perl6: 'Perl 6', AutoHotKey: 'AutoHotkey / AutoIt', }, a = {} for (var f in o) { var l = o[f], c = (u[f] || f).replace(/_/g, ' '), h = f.toLowerCase(), p = new s(h, c, l[0]) ;(a[h] = p), r.push(p) } n.exports = { getModeForPath: i, modes: r, modesByName: a } }), ace.define('ace/ext/themelist', ['require', 'exports', 'module'], function (e, t, n) { 'use strict' var r = [ ['Chrome'], ['Clouds'], ['Crimson Editor'], ['Dawn'], ['Dreamweaver'], ['Eclipse'], ['GitHub'], ['IPlastic'], ['Solarized Light'], ['TextMate'], ['Tomorrow'], ['Xcode'], ['Kuroir'], ['KatzenMilch'], ['SQL Server', 'sqlserver', 'light'], ['Ambiance', 'ambiance', 'dark'], ['Chaos', 'chaos', 'dark'], ['Clouds Midnight', 'clouds_midnight', 'dark'], ['Dracula', '', 'dark'], ['Cobalt', 'cobalt', 'dark'], ['Gruvbox', 'gruvbox', 'dark'], ['Green on Black', 'gob', 'dark'], ['idle Fingers', 'idle_fingers', 'dark'], ['krTheme', 'kr_theme', 'dark'], ['Merbivore', 'merbivore', 'dark'], ['Merbivore Soft', 'merbivore_soft', 'dark'], ['Mono Industrial', 'mono_industrial', 'dark'], ['Monokai', 'monokai', 'dark'], ['Nord Dark', 'nord_dark', 'dark'], ['Pastel on dark', 'pastel_on_dark', 'dark'], ['Solarized Dark', 'solarized_dark', 'dark'], ['Terminal', 'terminal', 'dark'], ['Tomorrow Night', 'tomorrow_night', 'dark'], ['Tomorrow Night Blue', 'tomorrow_night_blue', 'dark'], ['Tomorrow Night Bright', 'tomorrow_night_bright', 'dark'], ['Tomorrow Night 80s', 'tomorrow_night_eighties', 'dark'], ['Twilight', 'twilight', 'dark'], ['Vibrant Ink', 'vibrant_ink', 'dark'], ] ;(t.themesByName = {}), (t.themes = r.map(function (e) { var n = e[1] || e[0].replace(/ /g, '_').toLowerCase(), r = { caption: e[0], theme: 'ace/theme/' + n, isDark: e[2] == 'dark', name: n } return (t.themesByName[n] = r), r })) }), ace.define( 'ace/ext/options', [ 'require', 'exports', 'module', 'ace/ext/menu_tools/overlay_page', 'ace/lib/dom', 'ace/lib/oop', 'ace/config', 'ace/lib/event_emitter', 'ace/ext/modelist', 'ace/ext/themelist', ], function (e, t, n) { 'use strict' e('./menu_tools/overlay_page') var r = e('../lib/dom'), i = e('../lib/oop'), s = e('../config'), o = e('../lib/event_emitter').EventEmitter, u = r.buildDom, a = e('./modelist'), f = e('./themelist'), l = { Bright: [], Dark: [] } f.themes.forEach(function (e) { l[e.isDark ? 'Dark' : 'Bright'].push({ caption: e.caption, value: e.theme }) }) var c = a.modes.map(function (e) { return { caption: e.caption, value: e.mode } }), h = { Main: { Mode: { path: 'mode', type: 'select', items: c }, Theme: { path: 'theme', type: 'select', items: l }, Keybinding: { type: 'buttonBar', path: 'keyboardHandler', items: [ { caption: 'Ace', value: null }, { caption: 'Vim', value: 'ace/keyboard/vim' }, { caption: 'Emacs', value: 'ace/keyboard/emacs' }, { caption: 'Sublime', value: 'ace/keyboard/sublime' }, { caption: 'VSCode', value: 'ace/keyboard/vscode' }, ], }, 'Font Size': { path: 'fontSize', type: 'number', defaultValue: 12, defaults: [ { caption: '12px', value: 12 }, { caption: '24px', value: 24 }, ], }, 'Soft Wrap': { type: 'buttonBar', path: 'wrap', items: [ { caption: 'Off', value: 'off' }, { caption: 'View', value: 'free' }, { caption: 'margin', value: 'printMargin' }, { caption: '40', value: '40' }, ], }, 'Cursor Style': { path: 'cursorStyle', items: [ { caption: 'Ace', value: 'ace' }, { caption: 'Slim', value: 'slim' }, { caption: 'Smooth', value: 'smooth' }, { caption: 'Smooth And Slim', value: 'smooth slim' }, { caption: 'Wide', value: 'wide' }, ], }, Folding: { path: 'foldStyle', items: [ { caption: 'Manual', value: 'manual' }, { caption: 'Mark begin', value: 'markbegin' }, { caption: 'Mark begin and end', value: 'markbeginend' }, ], }, 'Soft Tabs': [ { path: 'useSoftTabs' }, { ariaLabel: 'Tab Size', path: 'tabSize', type: 'number', values: [2, 3, 4, 8, 16] }, ], Overscroll: { type: 'buttonBar', path: 'scrollPastEnd', items: [ { caption: 'None', value: 0 }, { caption: 'Half', value: 0.5 }, { caption: 'Full', value: 1 }, ], }, }, More: { 'Atomic soft tabs': { path: 'navigateWithinSoftTabs' }, 'Enable Behaviours': { path: 'behavioursEnabled' }, 'Wrap with quotes': { path: 'wrapBehavioursEnabled' }, 'Enable Auto Indent': { path: 'enableAutoIndent' }, 'Full Line Selection': { type: 'checkbox', values: 'text|line', path: 'selectionStyle', }, 'Highlight Active Line': { path: 'highlightActiveLine' }, 'Show Invisibles': { path: 'showInvisibles' }, 'Show Indent Guides': { path: 'displayIndentGuides' }, 'Persistent HScrollbar': { path: 'hScrollBarAlwaysVisible' }, 'Persistent VScrollbar': { path: 'vScrollBarAlwaysVisible' }, 'Animate scrolling': { path: 'animatedScroll' }, 'Show Gutter': { path: 'showGutter' }, 'Show Line Numbers': { path: 'showLineNumbers' }, 'Relative Line Numbers': { path: 'relativeLineNumbers' }, 'Fixed Gutter Width': { path: 'fixedWidthGutter' }, 'Show Print Margin': [ { path: 'showPrintMargin' }, { ariaLabel: 'Print Margin', type: 'number', path: 'printMarginColumn' }, ], 'Indented Soft Wrap': { path: 'indentedSoftWrap' }, 'Highlight selected word': { path: 'highlightSelectedWord' }, 'Fade Fold Widgets': { path: 'fadeFoldWidgets' }, 'Use textarea for IME': { path: 'useTextareaForIME' }, 'Merge Undo Deltas': { path: 'mergeUndoDeltas', items: [ { caption: 'Always', value: 'always' }, { caption: 'Never', value: 'false' }, { caption: 'Timed', value: 'true' }, ], }, 'Elastic Tabstops': { path: 'useElasticTabstops' }, 'Incremental Search': { path: 'useIncrementalSearch' }, 'Read-only': { path: 'readOnly' }, 'Copy without selection': { path: 'copyWithEmptySelection' }, 'Live Autocompletion': { path: 'enableLiveAutocompletion' }, }, }, p = function (e, t) { ;(this.editor = e), (this.container = t || document.createElement('div')), (this.groups = []), (this.options = {}) } ;(function () { i.implement(this, o), (this.add = function (e) { e.Main && i.mixin(h.Main, e.Main), e.More && i.mixin(h.More, e.More) }), (this.render = function () { ;(this.container.innerHTML = ''), u( [ 'table', { role: 'presentation', id: 'controls' }, this.renderOptionGroup(h.Main), [ 'tr', null, [ 'td', { colspan: 2 }, [ 'table', { role: 'presentation', id: 'more-controls' }, this.renderOptionGroup(h.More), ], ], ], ['tr', null, ['td', { colspan: 2 }, 'version ' + s.version]], ], this.container ) }), (this.renderOptionGroup = function (e) { return Object.keys(e) .map(function (t, n) { var r = e[t] return r.position || (r.position = n / 1e4), r.label || (r.label = t), r }) .sort(function (e, t) { return e.position - t.position }) .map(function (e) { return this.renderOption(e.label, e) }, this) }), (this.renderOptionControl = function (e, t) { var n = this if (Array.isArray(t)) return t.map(function (t) { return n.renderOptionControl(e, t) }) var r, i = n.getOption(t) t.values && t.type != 'checkbox' && (typeof t.values == 'string' && (t.values = t.values.split('|')), (t.items = t.values.map(function (e) { return { value: e, name: e } }))) if (t.type == 'buttonBar') r = [ 'div', { role: 'group', 'aria-labelledby': t.path + '-label' }, t.items.map(function (e) { return [ 'button', { value: e.value, ace_selected_button: i == e.value, 'aria-pressed': i == e.value, onclick: function () { n.setOption(t, e.value) var r = this.parentNode.querySelectorAll('[ace_selected_button]') for (var i = 0; i < r.length; i++) r[i].removeAttribute('ace_selected_button'), r[i].setAttribute('aria-pressed', !1) this.setAttribute('ace_selected_button', !0), this.setAttribute('aria-pressed', !0) }, }, e.desc || e.caption || e.name, ] }), ] else if (t.type == 'number') (r = [ 'input', { type: 'number', value: i || t.defaultValue, style: 'width:3em', oninput: function () { n.setOption(t, parseInt(this.value)) }, }, ]), t.ariaLabel ? (r[1]['aria-label'] = t.ariaLabel) : (r[1].id = e), t.defaults && (r = [ r, t.defaults.map(function (e) { return [ 'button', { onclick: function () { var t = this.parentNode.firstChild ;(t.value = e.value), t.oninput() }, }, e.caption, ] }), ]) else if (t.items) { var s = function (e) { return e.map(function (e) { return ['option', { value: e.value || e.name }, e.desc || e.caption || e.name] }) }, o = Array.isArray(t.items) ? s(t.items) : Object.keys(t.items).map(function (e) { return ['optgroup', { label: e }, s(t.items[e])] }) r = [ 'select', { id: e, value: i, onchange: function () { n.setOption(t, this.value) }, }, o, ] } else typeof t.values == 'string' && (t.values = t.values.split('|')), t.values && (i = i == t.values[1]), (r = [ 'input', { type: 'checkbox', id: e, checked: i || null, onchange: function () { var e = this.checked t.values && (e = t.values[e ? 1 : 0]), n.setOption(t, e) }, }, ]), t.type == 'checkedNumber' && (r = [r, []]) return r }), (this.renderOption = function (e, t) { if (t.path && !t.onchange && !this.editor.$options[t.path]) return var n = Array.isArray(t) ? t[0].path : t.path this.options[n] = t var r = '-' + n, i = n + '-label', s = this.renderOptionControl(r, t) return [ 'tr', { class: 'ace_optionsMenuEntry' }, ['td', ['label', { for: r, id: i }, e]], ['td', s], ] }), (this.setOption = function (e, t) { typeof e == 'string' && (e = this.options[e]), t == 'false' && (t = !1), t == 'true' && (t = !0), t == 'null' && (t = null), t == 'undefined' && (t = undefined), typeof t == 'string' && parseFloat(t).toString() == t && (t = parseFloat(t)), e.onchange ? e.onchange(t) : e.path && this.editor.setOption(e.path, t), this._signal('setOption', { name: e.path, value: t }) }), (this.getOption = function (e) { return e.getValue ? e.getValue() : this.editor.getOption(e.path) }) }).call(p.prototype), (t.OptionPanel = p) } ) ;(function () { ace.require(['ace/ext/options'], function (m) { if (typeof module == 'object' && typeof exports == 'object' && module) { module.exports = m } }) })()