ace.define("ace/ext/menu_tools/settings_menu.css",["require","exports","module"],function(t,g,s){s.exports="#ace_settingsmenu, #kbshortcutmenu {\n    background-color: #F7F7F7;\n    color: black;\n    box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);\n    padding: 1em 0.5em 2em 1em;\n    overflow: auto;\n    position: absolute;\n    margin: 0;\n    bottom: 0;\n    right: 0;\n    top: 0;\n    z-index: 9991;\n    cursor: default;\n}\n\n.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {\n    box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);\n    background-color: rgba(255, 255, 255, 0.6);\n    color: black;\n}\n\n.ace_optionsMenuEntry:hover {\n    background-color: rgba(100, 100, 100, 0.1);\n    transition: all 0.3s\n}\n\n.ace_closeButton {\n    background: rgba(245, 146, 146, 0.5);\n    border: 1px solid #F48A8A;\n    border-radius: 50%;\n    padding: 7px;\n    position: absolute;\n    right: -8px;\n    top: -8px;\n    z-index: 100000;\n}\n.ace_closeButton{\n    background: rgba(245, 146, 146, 0.9);\n}\n.ace_optionsMenuKey {\n    color: darkslateblue;\n    font-weight: bold;\n}\n.ace_optionsMenuCommand {\n    color: darkcyan;\n    font-weight: normal;\n}\n.ace_optionsMenuEntry input, .ace_optionsMenuEntry button {\n    vertical-align: middle;\n}\n\n.ace_optionsMenuEntry button[ace_selected_button=true] {\n    background: #e7e7e7;\n    box-shadow: 1px 0px 2px 0px #adadad inset;\n    border-color: #adadad;\n}\n.ace_optionsMenuEntry button {\n    background: white;\n    border: 1px solid lightgray;\n    margin: 0px;\n}\n.ace_optionsMenuEntry button:hover{\n    background: #f0f0f0;\n}"}),ace.define("ace/ext/menu_tools/overlay_page",["require","exports","module","ace/lib/dom","ace/ext/menu_tools/settings_menu.css"],function(t,g,s){"use strict";var p=t("../../lib/dom"),b=t("./settings_menu.css");p.importCssString(b,"settings_menu.css",!1),s.exports.overlayPage=function(n,r,l){var e=document.createElement("div"),i=!1;function c(u){27===u.keyCode&&a()}function a(){!e||(document.removeEventListener("keydown",c),e.parentNode.removeChild(e),n&&n.focus(),e=null,l&&l())}return e.style.cssText="margin: 0; padding: 0; position: fixed; top:0; bottom:0; left:0; right:0;z-index: 9990; "+(n?"background-color: rgba(0, 0, 0, 0.3);":""),e.addEventListener("click",function(u){i||a()}),document.addEventListener("keydown",c),r.addEventListener("click",function(u){u.stopPropagation()}),e.appendChild(r),document.body.appendChild(e),n&&n.blur(),{close:a,setIgnoreFocusOut:function o(u){i=u,u&&(e.style.pointerEvents="none",r.style.pointerEvents="auto")}}}}),ace.define("ace/ext/menu_tools/get_editor_keyboard_shortcuts",["require","exports","module","ace/lib/keys"],function(t,g,s){"use strict";t("../../lib/keys"),s.exports.getEditorKeybordShortcuts=function(b){var n=[],r={};return b.keyBinding.$handlers.forEach(function(l){var e=l.commandKeyBinding;for(var i in e){var c=i.replace(/(^|-)\w/g,function(o){return o.toUpperCase()}),a=e[i];Array.isArray(a)||(a=[a]),a.forEach(function(o){"string"!=typeof o&&(o=o.name),r[o]?r[o].key+="|"+c:(r[o]={key:c,command:o},n.push(r[o]))})}}),n}}),ace.define("ace/ext/keybinding_menu",["require","exports","module","ace/editor","ace/ext/menu_tools/overlay_page","ace/ext/menu_tools/get_editor_keyboard_shortcuts"],function(t,g,s){"use strict";var p=t("../editor").Editor;s.exports.init=function(d){p.prototype.showKeyboardShortcuts=function(){!function b(d){if(!document.getElementById("kbshortcutmenu")){var n=t("./menu_tools/overlay_page").overlayPage,l=(0,t("./menu_tools/get_editor_keyboard_shortcuts").getEditorKeybordShortcuts)(d),e=document.createElement("div"),i=l.reduce(function(c,a){return c+'<div class="ace_optionsMenuEntry"><span class="ace_optionsMenuCommand">'+a.command+'</span> : <span class="ace_optionsMenuKey">'+a.key+"</span></div>"},"");e.id="kbshortcutmenu",e.innerHTML="<h1>Keyboard Shortcuts</h1>"+i+"</div>",n(d,e)}}(this)},d.commands.addCommands([{name:"showKeyboardShortcuts",bindKey:{win:"Ctrl-Alt-h",mac:"Command-Alt-h"},exec:function(n,r){n.showKeyboardShortcuts()}}])}}),ace.require(["ace/ext/keybinding_menu"],function(t){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=t)});