From 85100e9fb47b0f36d6c70b57a29485c17b18db16 Mon Sep 17 00:00:00 2001 From: jos Date: Thu, 29 May 2014 14:22:50 +0200 Subject: [PATCH] Removed web application from the project --- .gitignore | 1 + .npmignore | 1 + Jakefile.js | 160 +- README.md | 11 +- app/chrome/documentation.txt | 12 - app/chrome/manifest.json | 25 - app/web/ajax.js | 43 - app/web/app.css | 292 - app/web/app.js | 384 - app/web/beta/index.html | 17 - app/web/cache.manifest | 31 - app/web/datapolicy.txt | 48 - app/web/doc/doc.css | 60 - app/web/doc/img/actions_menu.png | Bin 15459 -> 0 bytes app/web/doc/img/button_actions_menu.png | Bin 142 -> 0 bytes app/web/doc/img/button_dragarea.png | Bin 144 -> 0 bytes app/web/doc/img/code_editor.png | Bin 10824 -> 0 bytes app/web/doc/img/main_menu.png | Bin 3541 -> 0 bytes app/web/doc/img/splitter.png | Bin 1713 -> 0 bytes app/web/doc/img/tree_editor.png | Bin 9838 -> 0 bytes app/web/doc/index.html | 201 - app/web/favicon.ico | Bin 1150 -> 0 bytes app/web/fileretriever.css | 63 - app/web/fileretriever.js | 575 -- app/web/fileretriever.php | 125 - app/web/googlea47c4a0b36d11021.html | 1 - app/web/hash.js | 133 - app/web/img/description.txt | 20 - app/web/img/header_background.png | Bin 187 -> 0 bytes app/web/img/icon_128.png | Bin 3159 -> 0 bytes app/web/img/icon_16.png | Bin 601 -> 0 bytes app/web/img/icon_gray.svg | 151 - app/web/img/icon_gray_16.svg | 150 - app/web/img/icon_orange.svg | 151 - app/web/img/logo.png | Bin 1858 -> 0 bytes app/web/img/logo.xcf | Bin 32426 -> 0 bytes app/web/img/logo_app.png | Bin 1368 -> 0 bytes app/web/img/logo_app.xcf | Bin 32426 -> 0 bytes app/web/index.html | 190 - app/web/notify.js | 149 - app/web/queryparams.js | 71 - app/web/robots.txt | 0 app/web/splitter.js | 181 - app/web/test.html | 227 - jsoneditor-min.css | 2 +- jsoneditor-min.js | 12 +- jsoneditor.js | 11 +- jsoneditor/js/header.js | 4 - lib/ace/ace.js | 2 +- lib/ace/ext-searchbox.js | 2 +- lib/ace/mode-json.js | 2 +- lib/ace/theme-textmate.js | 164 +- lib/ace/worker-json.js | 2 +- .../codeeditor_640x400.png => codeeditor.png} | Bin misc/jsoneditor.png | Bin 0 -> 19919 bytes misc/screenshots/actionsmenu_640x400.png | Bin 41731 -> 0 bytes misc/screenshots/description.json | 17 - misc/screenshots/jsoneditoronline.png | Bin 46813 -> 0 bytes misc/screenshots/jsoneditoronline_640x400.png | Bin 125854 -> 0 bytes misc/screenshots/search_640x400.png | Bin 42578 -> 0 bytes misc/screenshots/small_tile.xcf | Bin 909557 -> 0 bytes misc/screenshots/small_tile_440x280.png | Bin 39333 -> 0 bytes misc/todo.txt | 3 +- test/bootstrap/css/bootstrap-responsive.css | 1109 --- .../css/bootstrap-responsive.min.css | 9 - test/bootstrap/css/bootstrap.css | 6167 ----------------- test/bootstrap/css/bootstrap.min.css | 9 - .../img/glyphicons-halflings-white.png | Bin 8777 -> 0 bytes test/bootstrap/img/glyphicons-halflings.png | Bin 12799 -> 0 bytes test/bootstrap/index.html | 113 - test/bootstrap/js/bootstrap.js | 2280 ------ test/bootstrap/js/bootstrap.min.js | 6 - 72 files changed, 24 insertions(+), 13363 deletions(-) delete mode 100644 app/chrome/documentation.txt delete mode 100644 app/chrome/manifest.json delete mode 100644 app/web/ajax.js delete mode 100644 app/web/app.css delete mode 100644 app/web/app.js delete mode 100644 app/web/beta/index.html delete mode 100644 app/web/cache.manifest delete mode 100644 app/web/datapolicy.txt delete mode 100644 app/web/doc/doc.css delete mode 100644 app/web/doc/img/actions_menu.png delete mode 100644 app/web/doc/img/button_actions_menu.png delete mode 100644 app/web/doc/img/button_dragarea.png delete mode 100644 app/web/doc/img/code_editor.png delete mode 100644 app/web/doc/img/main_menu.png delete mode 100644 app/web/doc/img/splitter.png delete mode 100644 app/web/doc/img/tree_editor.png delete mode 100644 app/web/doc/index.html delete mode 100644 app/web/favicon.ico delete mode 100644 app/web/fileretriever.css delete mode 100644 app/web/fileretriever.js delete mode 100644 app/web/fileretriever.php delete mode 100644 app/web/googlea47c4a0b36d11021.html delete mode 100644 app/web/hash.js delete mode 100644 app/web/img/description.txt delete mode 100644 app/web/img/header_background.png delete mode 100644 app/web/img/icon_128.png delete mode 100644 app/web/img/icon_16.png delete mode 100644 app/web/img/icon_gray.svg delete mode 100644 app/web/img/icon_gray_16.svg delete mode 100644 app/web/img/icon_orange.svg delete mode 100644 app/web/img/logo.png delete mode 100644 app/web/img/logo.xcf delete mode 100644 app/web/img/logo_app.png delete mode 100644 app/web/img/logo_app.xcf delete mode 100644 app/web/index.html delete mode 100644 app/web/notify.js delete mode 100644 app/web/queryparams.js delete mode 100644 app/web/robots.txt delete mode 100644 app/web/splitter.js delete mode 100644 app/web/test.html rename misc/{screenshots/codeeditor_640x400.png => codeeditor.png} (100%) create mode 100644 misc/jsoneditor.png delete mode 100644 misc/screenshots/actionsmenu_640x400.png delete mode 100644 misc/screenshots/description.json delete mode 100644 misc/screenshots/jsoneditoronline.png delete mode 100644 misc/screenshots/jsoneditoronline_640x400.png delete mode 100644 misc/screenshots/search_640x400.png delete mode 100644 misc/screenshots/small_tile.xcf delete mode 100644 misc/screenshots/small_tile_440x280.png delete mode 100644 test/bootstrap/css/bootstrap-responsive.css delete mode 100644 test/bootstrap/css/bootstrap-responsive.min.css delete mode 100644 test/bootstrap/css/bootstrap.css delete mode 100644 test/bootstrap/css/bootstrap.min.css delete mode 100644 test/bootstrap/img/glyphicons-halflings-white.png delete mode 100644 test/bootstrap/img/glyphicons-halflings.png delete mode 100644 test/bootstrap/index.html delete mode 100644 test/bootstrap/js/bootstrap.js delete mode 100644 test/bootstrap/js/bootstrap.min.js diff --git a/.gitignore b/.gitignore index 3567b39..fa8de69 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea build +dist downloads node_modules diff --git a/.npmignore b/.npmignore index 5b376e7..33f9f3c 100644 --- a/.npmignore +++ b/.npmignore @@ -1,6 +1,7 @@ app bower.json build +dist downloads jsoneditor misc diff --git a/Jakefile.js b/Jakefile.js index 1a2cdfc..06c4d0b 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -2,7 +2,6 @@ * Jake build script */ var jake = require('jake'), - path = require('path'), CleanCSS = require('clean-css'), archiver = require('archiver'), fs = require('fs'); @@ -14,13 +13,13 @@ var JSONEDITOR = './jsoneditor.js', JSONEDITOR_CSS = './jsoneditor.css', JSONEDITOR_MIN = './jsoneditor-min.js', JSONEDITOR_CSS_MIN = './jsoneditor-min.css', - BUILD = './build'; + DIST = './dist'; /** * default task */ desc('Execute all tasks'); -task('default', ['clear', 'build', 'minify', 'zip', 'webapp', 'chromeapp'], function () { +task('default', ['clear', 'build', 'minify', 'zip'], function () { console.log('Done'); }); @@ -29,7 +28,7 @@ task('default', ['clear', 'build', 'minify', 'zip', 'webapp', 'chromeapp'], func */ desc('Clear the build directory'); task('clear', function () { - jake.rmRf(BUILD); + jake.rmRf(DIST); }); /** @@ -111,10 +110,9 @@ task('minify', ['build'], function () { */ desc('Zip the library'); task('zip', ['build', 'minify'], {async: true}, function () { - var zipfolder = BUILD + '/lib'; var pkg = 'jsoneditor-' + version(); - var zipfile = zipfolder + '/' + pkg + '.zip'; - jake.mkdirP(zipfolder); + var zipfile = DIST + '/' + pkg + '.zip'; + jake.mkdirP(DIST); var output = fs.createWriteStream(zipfile); var archive = archiver('zip'); @@ -157,154 +155,6 @@ task('zip', ['build', 'minify'], {async: true}, function () { }); }); -/** - * build the web app - */ -desc('Build web app'); -task('webapp', ['build', 'minify'], function () { - var webAppSrc = './app/web/'; - var libSrc = './lib/'; - var webApp = BUILD + '/app/web/'; - var webAppLib = webApp + 'lib/'; - var webAppAce = webAppLib + 'ace/'; - var webAppImg = webApp + 'img/'; - var appJs = webApp + 'app.js'; - var appCss = webApp + 'app.css'; - var appCssMin = webApp + 'app-min.css'; - var appJsMin = webApp + 'app-min.js'; - - // create directories - // TODO: should be created automatically... - jake.mkdirP(webApp); - jake.mkdirP(webAppLib); - jake.mkdirP(webAppLib + 'ace/'); - jake.mkdirP(webAppLib + 'jsoneditor/'); - jake.mkdirP(webAppLib + 'jsoneditor/img/'); - jake.mkdirP(webAppLib + 'jsonlint/'); - jake.mkdirP(webAppImg); - - // concatenate the javascript files - concat({ - src: [ - webAppSrc + 'queryparams.js', - webAppSrc + 'ajax.js', - webAppSrc + 'fileretriever.js', - webAppSrc + 'notify.js', - webAppSrc + 'splitter.js', - webAppSrc + 'app.js' - ], - dest: appJs, - separator: '\n' - }); - - // minify javascript - minify({ - src: appJs, - dest: appJsMin - }); - - // concatenate the css files - concat({ - src: [ - webAppSrc + 'fileretriever.css', - webAppSrc + 'app.css' - ], - dest: appCss, - separator: '\n' - }); - - // minify css file - write(appCssMin, new CleanCSS().minify(String(read(appCss)))); - - // remove non minified javascript and css file - fs.unlinkSync(appJs); - fs.unlinkSync(appCss); - - // copy files - jake.cpR('./README.md', webApp); - jake.cpR('./HISTORY.md', webApp); - jake.cpR('./NOTICE', webApp); - jake.cpR('./LICENSE', webApp); - jake.cpR('./LICENSE', webApp); - jake.cpR(webAppSrc + 'cache.manifest', webApp); - jake.cpR(webAppSrc + 'robots.txt', webApp); - jake.cpR(webAppSrc + 'datapolicy.txt', webApp); - jake.cpR(webAppSrc + 'index.html', webApp); - jake.cpR(webAppSrc + 'favicon.ico', webApp); - jake.cpR(webAppSrc + 'fileretriever.php', webApp); - jake.cpR(webAppSrc + 'googlea47c4a0b36d11021.html', webApp); - jake.cpR(webAppSrc + 'img/logo.png', webAppImg); - jake.cpR(webAppSrc + 'img/header_background.png', webAppImg); - jake.cpR(webAppSrc + 'doc/', webApp); - - // update date and verison in index.html - replacePlaceholders(webApp + 'index.html'); - replacePlaceholders(webApp + 'index.html'); // TODO: fix bug in replace, should replace all occurrences - replacePlaceholders(webApp + 'cache.manifest'); - - // concatenate and copy ace files - concat({ - src: [ - libSrc + 'ace/ace.js', - libSrc + 'ace/mode-json.js', - libSrc + 'ace/theme-textmate.js', - libSrc + 'ace/theme-jsoneditor.js', - libSrc + 'ace/ext-searchbox.js' - ], - dest: webAppAce + 'ace-min.js', - separator: '\n' - }); - jake.cpR(libSrc + 'ace/worker-json.js', webAppAce); - - // copy json lint file - jake.cpR(libSrc + 'jsonlint/jsonlint.js', webAppLib + 'jsonlint/') - - // copy jsoneditor files - jake.cpR(JSONEDITOR_MIN, webAppLib + 'jsoneditor/'); - jake.cpR(JSONEDITOR_CSS_MIN, webAppLib + 'jsoneditor/'); - jake.cpR('img', webAppLib + 'jsoneditor/'); - -}); - -/** - * build the chrome app - */ -desc('Build chrome app'); -task('chromeapp', {async: true}, function () { - var folder = BUILD + '/app/'; - var file = folder + 'chrome.zip'; - jake.mkdirP(folder); - - var output = fs.createWriteStream(file); - var archive = archiver('zip'); - - archive.on('error', function(err) { - throw err; - }); - - // create a temporary manifest file with version number - var manifestTmp = folder + 'manifest.json.tmp'; - jake.cpR('./app/chrome/manifest.json', manifestTmp); - replacePlaceholders(manifestTmp); - - archive.pipe(output); - archive.append(fs.createReadStream(manifestTmp), {name: 'manifest.json'}); - archive.append(fs.createReadStream('./app/web/img/icon_16.png'), {name: 'icon_16.png'}); - archive.append(fs.createReadStream('./app/web/img/icon_128.png'), {name: 'icon_128.png'}); - - // cleanup temporary manifest file - fs.unlinkSync(manifestTmp); - - archive.finalize(function(err, written) { - if (err) { - throw err; - } - - console.log('Created chrome app ' + file); - complete(); - }); -}); - /** * replace version, date, and name placeholders in the provided file * @param {String} filename diff --git a/README.md b/README.md index c111066..254a792 100644 --- a/README.md +++ b/README.md @@ -13,15 +13,8 @@ can be loaded as CommonJS module, AMD module, or as a regular javascript file. Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 9+. -### Screenshot - -The web application shows two panels side by side: a code editor on the left, -and a tree editor on the right. Files and urls can be loaded via the main menu. - - - jsoneditor - +json editor +code editor ### Features diff --git a/app/chrome/documentation.txt b/app/chrome/documentation.txt deleted file mode 100644 index 9e2a0ce..0000000 --- a/app/chrome/documentation.txt +++ /dev/null @@ -1,12 +0,0 @@ -Chrome App - -https://developers.google.com/chrome/web-store/articles/launching -https://developers.google.com/chrome/web-store/articles/launching#pre-launch-checklist -https://developers.google.com/chrome/web-store/docs/publish - -http://developer.chrome.com/extensions/apps.html -http://developer.chrome.com/trunk/extensions/apps/about_apps.html - -Tutorial -http://ohboard.com/blog/chrome-web-app-development-guide/ - diff --git a/app/chrome/manifest.json b/app/chrome/manifest.json deleted file mode 100644 index a7d1bcf..0000000 --- a/app/chrome/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "manifest_version": 2, - "name": "JSON Editor", - "version": "@@version", - "description": "JSON Editor is a tool to view, edit, and format JSON. It shows your data in an editable treeview and in a code editor.", - "app": { - "urls": [ - "http://jsoneditoronline.org/", - "http://jsoneditoronline.org/index.html", - "http://jsoneditoronline.org/changelog.txt", - "http://jsoneditoronline.org/NOTICE" - ], - "launch": { - "web_url": "http://jsoneditoronline.org/index.html" - } - }, - "icons": { - "16": "icon_16.png", - "128": "icon_128.png" - }, - "permissions": [ - "unlimitedStorage" - ], - "offline_enabled": true -} diff --git a/app/web/ajax.js b/app/web/ajax.js deleted file mode 100644 index e5f23fc..0000000 --- a/app/web/ajax.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * ajax - * Utility to perform ajax get and post requests. Supported browsers: - * Chrome, Firefox, Opera, Safari, Internet Explorer 7+. - */ -var ajax = (function () { - function fetch (method, url, body, headers, callback) { - try { - var xhr = new XMLHttpRequest(); - xhr.onreadystatechange = function() { - if (xhr.readyState == 4) { - callback(xhr.responseText, xhr.status); - } - }; - xhr.open(method, url, true); - if (headers) { - for (var name in headers) { - if (headers.hasOwnProperty(name)) { - xhr.setRequestHeader(name, headers[name]); - } - } - } - xhr.send(body); - } - catch (err) { - callback(err, 0); - } - } - - function get (url, headers, callback) { - fetch('GET', url, null, headers, callback); - } - - function post (url, body, headers, callback) { - fetch('POST', url, body, headers, callback) - } - - return { - 'fetch': fetch, - 'get': get, - 'post': post - } -})(); diff --git a/app/web/app.css b/app/web/app.css deleted file mode 100644 index a27519b..0000000 --- a/app/web/app.css +++ /dev/null @@ -1,292 +0,0 @@ -body, html { - font-family: arial, sans-serif; - font-size: 11pt; - - width: 100%; - height: 100%; - margin: 0; - padding: 0; - - overflow: hidden; -} - -span.header-light { - color: gray; -} - -#header { - width: 100%; - height: 40px; - /* TODO - overflow: hidden; - */ - - background: #4D4D4D url('img/header_background.png'); - color: white; -} - -#logo { - height: 32px; - margin: 4px 10px; - border: none; -} - -#menu { - position: absolute; - top: 5px; - right: 15px; - font-size: 11pt; -} - -#menu ul { - list-style: none; - margin: 0; - padding: 0; - clear: both; -} - -#menu ul li { - color: #e6e6e6; - background: none; - border: none; - border-right: 1px solid #737373; - height: 30px; - padding: 0; - margin: 0; - float: left; - position: relative; - - text-decoration: none; -} - -#menu ul li:first-child { - border-left: 1px solid #737373; -} - -#menu ul li:hover { - color: white; - background-color: #737373; -} - -#menu ul li ul { - display: none; -} - -#menu ul li:hover > ul { - display: block; -} - -#menu ul li ul { - position: absolute; - top: 30px; - left: 0; - z-index: 999; - - background: #f5f5f5; - border: 1px solid lightgray; - box-shadow: 0 0 15px rgba(128, 128, 128, 0.5); -} - -#menu ul li ul li { - color: #737373; - background: none; - border: none; - margin: 0; - padding: 0; -} - -#menu ul li ul li:first-child { - border-left: none; -} - -#menu ul li ul li:hover { - background-color: white; -} - -#menu a { - padding: 6px 10px; - display: block; - cursor: pointer; - text-decoration: none; - color: white; -} - -#menu ul li ul li a { - color: #737373; - width: 80px; -} - - -#openMenuButton { - font-size: 75%; - margin-left: 2px; -} -#menu #open { - cursor: default; -} - -/* TODO: enable the menu with keys (when openMenuButton is active) */ - -#auto { - width: 100%; - height: 100%; - - margin: -40px 0 -24px 0; - padding: 40px 0 24px 0; - - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - - overflow: hidden; -} - -#contents { - width: 100%; - height: 100%; - overflow: hidden; -} - -#codeEditor, #treeEditor { - height: 100%; - width: 400px; - - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -#codeEditor { - float: left; - padding: 15px 0 15px 15px; -} - -#treeEditor { - float: left; - padding: 15px 15px 15px 0; -} - -#splitter { - text-align: center; - float: left; - height: 100%; - padding: 15px; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -#splitter #buttons { - margin: 0 0 15px 0; -} - -#splitter #toTree { - margin: 40px 0 0 0 ; -} - -#splitter #toCode { - margin: 20px 0 0 0 ; -} - -#splitter #drag { - font-size: 32px; - color: lightgray; - border-radius: 3px; - min-width: 24px; - cursor: col-resize; -} - -#splitter #drag:hover, -#splitter #drag.active { - color: gray; - background-color: #f5f5f5; - -} - -#footer { - width: 100%; - height: 23px; - font-size: 10pt; - - overflow: hidden; - color: #BFBFBF; - border-top: 1px solid lightgray; - text-align: center; - background-color: #F5F5F5; -} -#footer-inner { - margin: 4px; -} - -a.header { - color: white; - text-decoration: none; -} -a.footer { - color: #BFBFBF; - text-decoration: none; -} -a.footer:hover { - color: red; - text-decoration: underline; -} - -#ad { - float: right; - right: 15px; - padding: 15px 0 15px 0; - position: relative; -} - -#chromeAppInfo { - line-height: normal; - padding: 0 5px 20px 5px; -} - -div.error, div.notification { - border-radius: 2px; - padding: 5px; - margin: 5px; - box-shadow: 0 0 15px rgba(128, 128, 128, 0.5); - - /* TODO: add some transition effect */ -} -div.error { - color: red; - background-color: #FFC0CB; - border: 1px solid red; -} -div.notification { - color: #1a1a1a; - background-color: #FFFFAB; - border: 1px solid #e6d600; -} -pre.error { - margin: 0 0 10px 0; - white-space: pre-wrap; - font-family: droid sans mono, monospace, courier new, courier, sans-serif; - font-size: 10pt; -} -a.error { - color: red; - font-size: 8pt; -} - -button.convert { - cursor: default; - padding: 2px; -} - -div.convert-right, div.convert-left { - width: 24px; - height: 24px; - margin: 0; -} - -div.convert-right { - background: url('lib/jsoneditor/img/jsoneditor-icons.png') -0 -48px; -} - -div.convert-left { - background: url('lib/jsoneditor/img/jsoneditor-icons.png') -24px -48px; -} diff --git a/app/web/app.js b/app/web/app.js deleted file mode 100644 index 6a5f93b..0000000 --- a/app/web/app.js +++ /dev/null @@ -1,384 +0,0 @@ -/*! - * @file app.js - * - * @brief - * JSONEditor is an editor to display and edit JSON data in a treeview. - * - * Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 8+ - * - * @license - * This json editor is open sourced with the intention to use the editor as - * a component in your own application. Not to just copy and monetize the editor - * as it is. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy - * of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - * - * Copyright (C) 2011-2013 Jos de Jong, http://jsoneditoronline.org - * - * @author Jos de Jong, - * @date 2013-04-30 - */ - - -var treeEditor = null; -var codeEditor = null; - -var app = {}; - -/** - * Get the JSON from the code editor and load it in the tree editor - */ -app.CodeToTree = function() { - try { - treeEditor.set(codeEditor.get()); - } - catch (err) { - app.notify.showError(app.formatError(err)); - } -}; - -/** - * Get the JSON from the tree editor and load it into the code editor - */ -app.treeToCode = function () { - try { - codeEditor.set(treeEditor.get()); - } - catch (err) { - app.notify.showError(app.formatError(err)); - } -}; - -/** - * Load the interface (tree editor, code editor, splitter) - */ -// TODO: split the method load in multiple methods, it is too large -app.load = function() { - try { - // notification handler - app.notify = new Notify(); - - // retriever for loading/saving files - app.retriever = new FileRetriever({ - scriptUrl: 'fileretriever.php', - notify: app.notify - }); - - // default json document - var json = { - "array": [1, 2, 3], - "boolean": true, - "null": null, - "number": 123, - "object": {"a": "b", "c": "d", "e": "f"}, - "string": "Hello World" - }; - - // load url if query parameters contains a url - if (window.QueryParams) { - var qp = new QueryParams(); - var url = qp.getValue('url'); - if (url) { - json = {}; - app.openUrl(url); - } - } - - // Store whether tree editor or code editor is last changed - app.lastChanged = undefined; - - // code editor - var container = document.getElementById("codeEditor"); - codeEditor = new jsoneditor.JSONEditor(container, { - mode: 'code', - change: function () { - app.lastChanged = codeEditor; - }, - error: function (err) { - app.notify.showError(app.formatError(err)); - } - }); - codeEditor.set(json); - - // tree editor - container = document.getElementById("treeEditor"); - treeEditor = new jsoneditor.JSONEditor(container, { - mode: 'tree', - change: function () { - app.lastChanged = treeEditor; - }, - error: function (err) { - app.notify.showError(app.formatError(err)); - } - }); - treeEditor.set(json); - // TODO: automatically synchronize data of code and tree editor? (tree editor should keep its state though) - - // splitter - app.splitter = new Splitter({ - container: document.getElementById('drag'), - change: function () { - app.resize(); - } - }); - - // button Code-to-Tree - var toTree = document.getElementById('toTree'); - toTree.onclick = function () { - this.focus(); - app.CodeToTree(); - }; - - // button Tree-to-Code - var toCode = document.getElementById('toCode'); - toCode.onclick = function () { - this.focus(); - app.treeToCode(); - }; - - // web page resize handler - jsoneditor.util.addEventListener(window, 'resize', app.resize); - - // clear button - var domClear = document.getElementById('clear'); - domClear.onclick = app.clearFile; - - /* TODO: enable clicking on open to execute the default, "open file" - // open button - var domOpen = document.getElementById('open'); - var domOpenMenuButton = document.getElementById('openMenuButton'); - domOpen.onclick = function (event) { - var target = event.target || event.srcElement; - if (target == domOpenMenuButton || - (event.offsetX > domOpen.offsetWidth - domOpenMenuButton.offsetWidth)) { - // clicked on the menu button - } - else { - app.openFile(); - } - }; - */ - - // menu button open file - var domMenuOpenFile = document.getElementById('menuOpenFile'); - domMenuOpenFile.onclick = function (event) { - app.openFile(); - event.stopPropagation(); - event.preventDefault(); - }; - - // menu button open url - var domMenuOpenUrl = document.getElementById('menuOpenUrl'); - domMenuOpenUrl.onclick = function (event) { - app.openUrl(); - event.stopPropagation(); - event.preventDefault(); - }; - - // save button - var domSave = document.getElementById('save'); - domSave.onclick = app.saveFile; - - // set focus on the code editor - codeEditor.focus(); - - // enforce FireFox to not do spell checking on any input field - document.body.spellcheck = false; - } catch (err) { - try { - app.notify.showError(err); - } - catch (e) { - if (console && console.log) { - console.log(err); - } - alert(err); - } - } -}; - -/** - * Callback method called when a file or url is opened. - * @param {Error} err - * @param {String} data - */ -app.openCallback = function (err, data) { - if (!err) { - if (data != null) { - codeEditor.setText(data); - try { - var json = jsoneditor.util.parse(data); - treeEditor.set(json); - } - catch (err) { - treeEditor.set({}); - app.notify.showError(app.formatError(err)); - } - } - } - else { - app.notify.showError(err); - } -}; - -/** - * Open a file explorer to select a file and open the file - */ -app.openFile = function() { - app.retriever.loadFile(app.openCallback); -}; - -/** - * Open a url. If no url is provided as parameter, a dialog will be opened - * to select a url. - * @param {String} [url] - */ -app.openUrl = function (url) { - if (!url) { - app.retriever.loadUrlDialog(app.openCallback); - } - else { - app.retriever.loadUrl(url, app.openCallback); - } -}; - -/** - * Open a file explorer to save the file. - */ -app.saveFile = function () { - // first synchronize both editors contents - if (app.lastChanged == treeEditor) { - app.treeToCode(); - } - /* TODO: also sync from code to tree editor? will clear the history ... - if (app.lastChanged == codeEditor) { - app.CodeToEditor(); - } - */ - app.lastChanged = undefined; - - // save the text from the code editor - // TODO: show a 'saving...' notification - var data = codeEditor.getText(); - app.retriever.saveFile(data, function (err) { - if (err) { - app.notify.showError(err); - } - }); -}; - -/** - * Format a JSON parse/stringify error as HTML - * @param {Error} err - * @returns {string} - */ -app.formatError = function (err) { - var message = '
' + err.toString() + '
'; - if (typeof(jsonlint) != 'undefined') { - message += - '' + - 'validated by jsonlint' + - ''; - } - return message; -}; - -/** - * Clear the current file - */ -app.clearFile = function () { - var json = {}; - codeEditor.set(json); - treeEditor.set(json); -}; - -app.resize = function() { - var domMenu = document.getElementById('menu'); - var domTreeEditor = document.getElementById('treeEditor'); - var domCodeEditor = document.getElementById('codeEditor'); - var domSplitter = document.getElementById('splitter'); - var domSplitterButtons = document.getElementById('buttons'); - var domSplitterDrag = document.getElementById('drag'); - var domAd = document.getElementById('ad'); - - var margin = 15; - var width = (window.innerWidth || document.body.offsetWidth || - document.documentElement.offsetWidth); - var adWidth = domAd ? domAd.clientWidth : 0; - if (adWidth) { - width -= (adWidth + margin); - } - - if (app.splitter) { - app.splitter.setWidth(width); - - // calculate horizontal splitter position - var value = app.splitter.getValue(); - var showCodeEditor = (value > 0); - var showTreeEditor = (value < 1); - var showButtons = showCodeEditor && showTreeEditor; - domSplitterButtons.style.display = showButtons ? '' : 'none'; - - var splitterWidth = domSplitter.clientWidth; - var splitterLeft; - if (!showCodeEditor) { - // code editor not visible - splitterLeft = 0; - domSplitterDrag.innerHTML = '›'; - domSplitterDrag.title = 'Drag right to show the code editor'; - } - else if (!showTreeEditor) { - // tree editor not visible - splitterLeft = width * value - splitterWidth; - domSplitterDrag.innerHTML = '‹'; - domSplitterDrag.title = 'Drag left to show the tree editor'; - } - else { - // both tree and code editor visible - splitterLeft = width * value - splitterWidth / 2; - - // TODO: find a character with vertical dots that works on IE8 too, or use an image - var isIE8 = (jsoneditor.util.getInternetExplorerVersion() == 8); - domSplitterDrag.innerHTML = (!isIE8) ? '⋮' : '|'; - domSplitterDrag.title = 'Drag left or right to change the width of the panels'; - } - - // resize code editor - domCodeEditor.style.display = (value == 0) ? 'none' : ''; - domCodeEditor.style.width = Math.max(Math.round(splitterLeft), 0) + 'px'; - codeEditor.resize(); - - // resize the splitter - domSplitterDrag.style.height = (domSplitter.clientHeight - - domSplitterButtons.clientHeight - 2 * margin - - (showButtons ? margin : 0)) + 'px'; - domSplitterDrag.style.lineHeight = domSplitterDrag.style.height; - - // resize tree editor - // the width has a -1 to prevent the width from being just half a pixel - // wider than the window, causing the content elements to wrap... - domTreeEditor.style.display = (value == 1) ? 'none' : ''; - domTreeEditor.style.left = Math.round(splitterLeft + splitterWidth) + 'px'; - domTreeEditor.style.width = Math.max(Math.round(width - splitterLeft - splitterWidth - 2), 0) + 'px'; - } - - // align main menu with ads - if (domMenu) { - if (adWidth) { - domMenu.style.right = (margin + (adWidth + margin)) + 'px'; - } - else { - domMenu.style.right = margin + 'px'; - } - } -}; diff --git a/app/web/beta/index.html b/app/web/beta/index.html deleted file mode 100644 index 5b2adab..0000000 --- a/app/web/beta/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - JSON Editor Online - Beta - - - -
-

JSON Editor Online - Beta

-

- There is currently no beta version available. -

-

- Go to the current version -

-
- - \ No newline at end of file diff --git a/app/web/cache.manifest b/app/web/cache.manifest deleted file mode 100644 index ffc3608..0000000 --- a/app/web/cache.manifest +++ /dev/null @@ -1,31 +0,0 @@ -CACHE MANIFEST -#Version @@version - -CACHE: -favicon.ico -img/logo.png -img/header_background.png -app-min.js -datapolicy.txt -robots.txt -lib/ace/ace-min.js -lib/ace/worker-json.js -lib/jsonlint/jsonlint.js -lib/jsoneditor/img/jsoneditor-icons.png -lib/jsoneditor/jsoneditor-min.css -lib/jsoneditor/jsoneditor-min.js -index.html -app-min.css -doc/img/actions_menu.png -doc/img/button_actions_menu.png -doc/img/button_dragarea.png -doc/img/tree_editor.png -doc/img/main_menu.png -doc/img/code_editor.png -doc/img/splitter.png -doc/index.html -doc/doc.css - -# always load online resources like ads -NETWORK: -* diff --git a/app/web/datapolicy.txt b/app/web/datapolicy.txt deleted file mode 100644 index 2c1a520..0000000 --- a/app/web/datapolicy.txt +++ /dev/null @@ -1,48 +0,0 @@ -# JSON Editor online - Data policy - -http://jsoneditoronline.org - - -This file describes the data policy of JSON Editor Online. When using the -open/save functionality of the editor, files may need to be downloaded via the -server, therefore: - -**DO NOT LOAD OR SAVE SENSITIVE DATA VIA THE EDITORS OPEN/SAVE FUNCTIONALITY.** - -Files which are downloaded via the server are sent unsecured and unencrypted. - - -## 1. Opening files - -If the browser in use supports HTML5 FileReader, files are directly loaded -from disk into the editor. The files are not send to the server. - -If HTML5 is not supported, the files are first uploaded to the server and then -downloaded by the editor. The files are deleted from the server as soon as -they are downloaded once. If a file is not downloaded for some reason, it will -be deleted from the server after one hour. - - -## 2. Saving files - -If the browser in use supports HTML5 a.download, files are directly saved -from the browser to disk. The files are not send to the server. - -If HTML5 is not supported, the files are first uploaded to the server and then -downloaded to disk. The files are deleted from the server as soon as they are -downloaded once. If a file is not downloaded for some reason, it will be -deleted from the server after one hour. - - -## 3. Opening urls - -When opening an url, the editor first opens the url directly. If this fails -due to cross-domain restrictions, the url will be retrieved via the server. -In that case, the retrieved data is sent directly to the browser and is not -stored on the server. - - -## 4. Cutting/pasting clipboard data - -When cutting and pasting text in the editor using the system clipboard, no -data is sent via the server. diff --git a/app/web/doc/doc.css b/app/web/doc/doc.css deleted file mode 100644 index bc5c50d..0000000 --- a/app/web/doc/doc.css +++ /dev/null @@ -1,60 +0,0 @@ -body, td, th { - font-family: arial, sans-serif; - font-size: 11pt; - color: #4d4d4d; -} - -body, html { - width: 100%; - height: 100%; - padding: 0; - margin: 0; -} - -#container { - width: 600px; - margin: 0 auto; - padding: 20px 0 60px 0; -} - -h1 { - font-size: 14pt; - color: #4d4d4d; -} - -h2 { - font-size: 11pt; - color: #97B0F8; - padding-top: 20px; -} - -table { - border-collapse: collapse; -} - -th { - text-align: left; - background-color: #e5e5e5;; - -} - -td { - vertical-align: top; -} - -th, td { - border: 1px solid #e5e5e5; - padding: 4px 4px; -} - -a { - color: #4183C4; -} -a:hover { - color: red; -} - -img.icon { - vertical-align: middle; - margin: 0 5px; -} \ No newline at end of file diff --git a/app/web/doc/img/actions_menu.png b/app/web/doc/img/actions_menu.png deleted file mode 100644 index 795b9e7b6787ffce2fc6e68a7ffe267af0ab0ddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15459 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 diff --git a/app/web/doc/img/button_actions_menu.png b/app/web/doc/img/button_actions_menu.png deleted file mode 100644 index 8c3751866eaf16fc6b0dd25dd280e5a03171a477..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^JRmj)6Oa`0mJkI}oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E)$1{p3F_n20@^ZuBVG*h{WaOFJHf=DzMCu=wQ$h$hy4DH)84EKYuz*J10t* k2cF+`a7D+&tcy$x(lFVdQ&MBb@02!Dj_W%F@ diff --git a/app/web/doc/img/button_dragarea.png b/app/web/doc/img/button_dragarea.png deleted file mode 100644 index a7d32f63fd7e76962d47d6b749889833c2e96b89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^96-#^!2~43G9*)g6lZ})WHAE+w=f7ZGR&GI0Tg5} z@$_|NzstlSqN`_hxe26E-_yl0MB;Mtm#<$_6F}g`mP}!0=H~hHVp$oa69i9M-9F_7)XL!L>gTe~DWM4f+5#v_ diff --git a/app/web/doc/img/code_editor.png b/app/web/doc/img/code_editor.png deleted file mode 100644 index 0c2fdb904e424bde5eede17b1647d883c9b0a058..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10824 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
Rlvwc#XTidhmvM% zC*3;+V%3>npFQlFn5+TL6Ugeq48z^}L;~0`IlfiA#70SMe)-BGpj)wc5jR+6{7eCk zK3@EWYl$zi;D~3X#65pRk=K*0eLfsEup628;^rF@8GLF(T|Ps#lA0XysC(-W?jZ7^7xK< zdW*!^QEyn@49SQC6F$%uR#>Y^Iir{I_6*Gunu0u$O5E2GQVC`F?J?5Y4kUM% z@GW~XRnnK9-+udY6?$d*OI4v4`!n9)i>CVo!<}^DG9~Rp+KAG;*T!*smj)56u6nGQ z#0};GMW<>&!}aZ;!I9l^klV+Oj0paZ@M@-pm5ETtHV|UK_ORLZu|gqjxnF7Zv@Fcd z(q&tX1xhsPhC2>oZL}z)wrZd=>pW0qaANZIDSk$bVj*dy%o1f1Td!!+m%R|!qCet%9ZarTDcW5mSo*K6md^Jd(s-hL!8YXv6#x3B@~!jz$*3Qb`h z+V+Z2<<^%C!)hI;+#4COMXKd#E86sa8rq#GTFS2ZBH5a1^T*HNWfED2-H7MG({Py5 zW7ey0seJC{lGz8PU95+C07P$~8<5!~X{z=Vju2hmb%Sfr1M~M0kk)@GAE2&&J+yxl zqg0wi%84FEuG2`qy=Equ)Wa9_gU`4dSNS%>f~T+RH>&0yGMDTMZ?Eg15Do`msWV9Q z(}X6k<1c&;8Djr-zW70IviAaQGJw69x)IO{y?A}ZVm2lJBUfxj$y^KnPZHE@LQsQD zz5^#~jVlwr!tSU#G%UJ2a<=}^q%y+g2{D7Q_<#G;T<8hq4Xyg{hEYq5Mk|qy(O&6! zxg=BTwcdu5ot1h(j7l|nf^!VM*1M2?d{qk4FuEkoRcHjcfttdjP`0DY&aZyR$#A_JOBNY1g@Kg@A1XML^^I~W2HuCQMl$m1Hb~ny{-Mkm>S34UEx)(pw zAEK+_+GH6RMlK~-n^-Pf9fQ!dz66=4rG}fq4BZIX+QmnUPMZgWN-)}s;(3<&KAvr; zl>9YzXKICN>5Tu#B}CvGt}NE5{f;+w@%@O9Z>NGU6cVVC3f!A+)N3pJed%q--i1(@ zcP+8GlU3N9a7pSH+wTK<1?gBSpb zsp(-rR&nQ4aliRCia5XIao=F{L4^n;zK%vt1~<4Hb7&!5=JOUx2S%a^!sJVc22lO1 zRQV^A5$x;#ACf2zZV(y?&f{H62R*;ai@5;MDsZ$)+V|tQ|V}#wKwd9eZ>B zztsT|55oEa?^_SlBNd~w_MV65>v}^dc^gK@Eq-S$8EayL1qh@f;yfXpBw$a8!}8kt zG9V@<7^<3@gPBAe{n|!!m<+BCfW-s&FENPz12dUFLT39Lkw!RP zGhO;6C&cr2Ob&$YR&D>VT%8E40@!>$%l#75#HNe+JiR65hcV5}%rVmzhL!jQ`?DId z1al#CAs)-Q9#o;*Fi_Gp7?Bs%Z zh-xnF;8yp>>y9M&=F0A#9OY*YZz0yO;Jg8 z<(7^MBlYQH#Rm2z_PD#yy4$c@@bfC?85As3VXd11b8|7yz7<%PcWNSfy2%Ne#H!PL zF~`vM$JgkY2?16(d-dbl*$9I;ofl+zWHa^UUBk3IF}c|6{SwM^E-2&@3u~k}{pt@& z>JEUpN{BtYjt)nlZIv)6BxKn|s?4D)d+oo)@uuFKBi{Bl=)Dj+Xg@uJ+1r14Za!zQ?!ch_j380<$ b=4msyzcZZfjWFWQCz6VShJ1yrX~6#jIFOs6 diff --git a/app/web/doc/img/main_menu.png b/app/web/doc/img/main_menu.png deleted file mode 100644 index cb5e568f00dd51269af802735df0e439114aba9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3541 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 P00000NkvXXu0mjfHHPCJ diff --git a/app/web/doc/img/splitter.png b/app/web/doc/img/splitter.png deleted file mode 100644 index aa125b31c0430f1631be7de6905d44c93f0950bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1713 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 - - - JSON Editor Online - Documentation - - - - -
-

JSON Editor Online - Documentation

- -

Introduction

-

- JSON Editor Online is a web-based tool to view, edit, and format JSON. - It shows your data side by side in a clear, editable treeview and in - a code editor. -

-

- Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 8+. -

-

- Website: - http://jsoneditoronline.org. -

-

- Contents: -

- - - -

- The applications main menu contains options to clear, load and save the - JSON contents of the application. Files can be loaded from disk or url, - and can be saved to disk. Please note that due to security restrictions, - the application can only open files from public websites, not from an - intranet. The data policy is described - here. -

- Main menu - -

Panels

-

- The application contains two panels: a code editor on the left, - and a Tree Editor on the right. -

-

- There is a splitter between the two panels, allowing to change the - width of both panels according to ones needs. - To copy the contents from one panel to an other, the two copy buttons - between the panels can be used. -

- - -

Code editor

-

- The code editor displays JSON data in a code editor. - The editor is capable of formatting, compacting, and inspecting JSON. -

- -

- The menu of the code editor contains the following buttons: -

-
    -
  • - Format. - Format the JSON data, make the data readable by applying indentation - and returns. -
  • -
  • - Compact. - Compact the JSON data, remove all unnecessary characters like - whitespaces and returns. -
  • -
- -

Tree editor

-

- The Tree editor displays the JSON data in an editable tree. - The editor makes it easy to create, duplicate, remove fields, - and to edit the contents of the fields. -

- -

- The menu of the tree editor contains the following functions: -

-
    -
  • - Expand all. Expand all fields in the editor. -
  • -
  • - Collapse all. Collapse all fields in the editor. -
  • -
  • - Undo. Undo last action. -
  • -
  • - Redo. Redo last action. -
  • -
  • - Search. Search for text in the tree editor. - Search results will be highlighted, and can be iterated by - repeatedly pressing Enter or Shift+Enter. - The right side of the search box two buttons to go to the next or - previous search result. -
  • -
- -

- The field values in the editor are editable input fields. - The fields can be dragged up and down using the dragarea - - on the left side of the fields. When a field is the last item of the - childs of an array or object, the field can also be dragged horizontally - to move it in or out of the array or object. -

- -

- Right from the dragarea is a button - - to open the actions menu. - Depending on the type of field, the following functionality is - available in the actions menu: -

-
    -
  • - Type. Change the type of the field. Choose from: -
      -
    • - auto The field type is automatically determined from - the value and can be a string, number, boolean, or null. -
    • -
    • - object An unordered set of key/value pairs. -
    • -
    • - array An ordered collection of values. -
    • -
    • - string Field type is not determined from the value, - but always returned as string. -
    • -
    -
  • -
  • - Sort. Sort the childs of an array or object. - For an array, the values of the childs will be sorted. In case of - an object, the childs will be sorted by key. - Arrays and objects can be sorted ascending or descending. -
  • -
  • - Insert. Insert a new field before current field. - Available types are auto (default), object, array, and string. -
  • -
  • - Append. Insert a new field after current field. - Available types are the same as the insert action. -
  • -
  • - Duplicate. Duplicate the field including all childs. -
  • -
  • - Remove. Remove the field including all childs. -
  • -
- -

Shortcut keys

-

- The tree editor supports shortcut keys for all available actions. - The editor can be used by just a keyboard. - The following short cut keys are available: -

- - - - - - - - - - - - - - - - - - - - -
KeyDescription
Alt+ArrowsMove the caret up/down/left/right between fields
Shift+Alt+ArrowsMove field up/down/left/right
Ctrl+DDuplicate field
Ctrl+DelRemove field
Ctrl+EnterOpen link when on a field containing an url
Ctrl+InsInsert a new field with type auto
Ctrl+Shift+InsAppend a new field with type auto
Ctrl+EExpand or collapse field
Alt+EndMove the caret to the last field
Ctrl+FFind
F3, Ctrl+G
Find next
Shift+F3, Ctrl+Shift+GFind previous
Alt+HomeMove the caret to the first field
Ctrl+MShow actions menu
Ctrl+ZUndo last action
Ctrl+Shift+ZRedo
-
- - diff --git a/app/web/favicon.ico b/app/web/favicon.ico deleted file mode 100644 index e5350759bffc629d0fcc12e383023913dfa8d244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmbVMyNUua6wShZfYsJp?$7u_RBTifVHy!zYYVGo5Jvm~8$m=6v9huev=Ko>(M}Mt z&_=|8V{VoVx$A7ulS$@=hibB$G*|qw}TKZnsqpv>&8NBod%L)is;Va5|mXJ)pZnUJ5$< z(P-p-Yh35eW`o^s=kcbOG;}|v)2YX6ALVQ|3%Vb4ekN}A>3pcsJSI;2qxY@X>oLyM t6^li5Ivw=;eWocC3Tj=gRtx!jo^jIenq$1!cjdaAe~zKNzCVQ*zz55cQ+@yd diff --git a/app/web/fileretriever.css b/app/web/fileretriever.css deleted file mode 100644 index 4f4607b..0000000 --- a/app/web/fileretriever.css +++ /dev/null @@ -1,63 +0,0 @@ - -div.fileretriever-overlay, div.fileretriever-background { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 999; -} - -div.fileretriever-overlay { - background-color: gray; - opacity: 0.2; - filter: alpha(opacity = 20); -} - -div.fileretriever-border { - width: 410px; - margin: 100px auto; - padding: 20px; - background-color: white; - border: 1px solid gray; - border-radius: 2px; - - -moz-box-shadow: 2px 2px 12px rgba(128, 128, 128, 0.3); - -webkit-box-shadow: 2px 2px 12px rgba(128, 128, 128, 0.3); - box-shadow: 2px 2px 12px rgba(128, 128, 128, 0.3); -} - -form.fileretriever-form { -} - -div.fileretriever-title { - font-weight: bold; -} - -div.fileretriever-description { - color: gray; - margin: 30px 0 0 0; -} - -div.fileretriever-contents { - margin: 30px 0; -} - -div.fileretriever-buttons { - text-align: right; -} - -input.fileretriever-field[type="file"] { - width: 400px; - padding: 3px; -} -input.fileretriever-field[type="text"] { - width: 400px; - border: 1px solid lightgray; - border-radius: 2px; - padding: 3px; -} - -input.fileretriever-submit, input.fileretriever-cancel { - margin-left: 10px; -} diff --git a/app/web/fileretriever.js b/app/web/fileretriever.js deleted file mode 100644 index 4646d89..0000000 --- a/app/web/fileretriever.js +++ /dev/null @@ -1,575 +0,0 @@ -/** - * @file fileretriever.js - * - * FileRetriever manages client side loading and saving of files. - * It requires a server script (fileretriever.php). Loading and saving - * files is done purely clientside using HTML5 techniques when supported - * by the browser. - * - * Requires ajax.js. - * - * Supported browsers: Chrome, Firefox, Opera, Safari, - * Internet Explorer 8+. - * - * Example usage: - * var retriever = new FileRetriever({ - * 'serverUrl': 'fileretriever.php' - * }); - * retriever.loadFile(function (err, data) { - * console.log('file loaded:', data); - * }); - * retriever.loadUrl(function (err, data) { - * console.log('url loaded:', data); - * }); - * retriever.saveFile("some text"); - * - * @constructor FileRetriever - * @param {String} options Available options: - * {string} serverUrl Server side script for - * handling files, for - * example "fileretriever.php" - * {Number} [maxSize] Maximum allowed file size - * in bytes. (this should - * be the same as maximum - * size allowed by the server - * side script). Default is - * 1024 * 1024 bytes. - * {Number} [timeout] Timeout in milliseconds. - * 30000 ms by default. - * {Boolean} [html5] Use HTML5 solutions - * to load/save files when - * supported by the browser. - * True by default. - * {Notify} [notify] A handler for notifications - * If provided, messages like - * "loading" and "saving" are created. - * - * @license - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy - * of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - * - * Copyright (c) 2013 Jos de Jong, http://jsoneditoronline.org - * - * @author Jos de Jong, - * @date 2013-01-01 - */ -var FileRetriever = function (options) { - // set options and variables - options = options || {}; - this.options = { - maxSize: ((options.maxSize != undefined) ? options.maxSize : 1024 * 1024), - html5: ((options.html5 != undefined) ? options.html5 : true) - }; - this.timeout = Number(options.timeout) || 30000; - this.headers = {'Accept': 'application/json'}; // headers for ajax requests - this.scriptUrl = options.scriptUrl || 'fileretriever.php'; - this.notify = options.notify || undefined; - this.defaultFilename = 'document.json'; - this.dom = {}; -}; - -/** - * make an HTML DOM element invisible - * @param {Element} elem - * @private - */ -FileRetriever.prototype._hide = function (elem) { - elem.style.visibility = 'hidden'; - elem.style.position = 'absolute'; - elem.style.left = '-1000px'; - elem.style.top = '-1000px'; - elem.style.width = '0'; - elem.style.height = '0'; -}; - -/** - * Delete all HTML DOM elements created by the FileRetriever. - * The FileRetriever cannot be used after its DOM elements are deleted. - */ -FileRetriever.prototype.remove = function () { - var dom = this.dom; - for (var prop in dom) { - if (dom.hasOwnProperty(prop)) { - var elem = dom[prop]; - if (elem.parentNode) { - elem.parentNode.removeChild(elem); - } - } - } - this.dom = {}; -}; - -/** - * get a filename from a path or url. - * For example "http://site.com/files/example.json" will return "example.json" - * @param {String} path A filename, path, or url - * @return {String} filename - * @private - */ -FileRetriever.prototype._getFilename = function (path) { - // http://stackoverflow.com/a/423385/1262753 - return path ? path.replace(/^.*[\\\/]/, '') : ''; -}; - -/** - * Set the last url - * @param {String} url - */ -FileRetriever.prototype.setUrl = function (url) { - this.url = url; -}; - -/** - * Get last filename - * @return {String} filename - */ -FileRetriever.prototype.getFilename = function () { - return this.defaultFilename; -}; - -/** - * Get the last url - * @return {String | undefined} url - */ -FileRetriever.prototype.getUrl = function () { - return this.url; -}; - -/** - * Load a url - * @param {String} url The url to be retrieved - * @param {function} callback Callback method, called with parameters: - * {Error} error - * {string} data - */ -FileRetriever.prototype.loadUrl = function (url, callback) { - // set current filename (will be used when saving a file again) - this.setUrl(url); - - // loading notification - var loading = undefined; - if (this.notify) { - loading = this.notify.showNotification('loading url...'); - } - - // method to ensure the callback is only executed once - var me = this; - var callbackOnce = function (error, data) { - if (callback) { - callback(error, data); - callback = undefined; - } - if (me.notify && loading) { - me.notify.removeMessage(loading); - loading = undefined; - } - }; - - // try to fetch to the url directly (may result in a cross-domain error) - var scriptUrl = this.scriptUrl; - ajax.get(url, me.headers, function(data, status) { - if (status == 200) { - // success. great. no cross-domain error - callbackOnce(null, data); - } - else { - // cross-domain error (or other). retrieve the url via the server - var indirectUrl = scriptUrl + '?url=' + encodeURIComponent(url); - var err; - ajax.get(indirectUrl, me.headers, function(data, status) { - if (status == 200) { - callbackOnce(null, data); - } - else if (status == 404) { - console.log('Error: url "' + url + '" not found', status, data); - err = new Error('Error: url "' + url + '" not found'); - callbackOnce(err, null); - } - else { - console.log('Error: failed to load url "' + url + '"', status, data); - err = new Error('Error: failed to load url "' + url + '"'); - callbackOnce(err, null); - } - }); - } - }); - - // safety mechanism: callback after a timeout - setTimeout(function () { - callbackOnce(new Error('Error loading url (time out)')); - }, this.timeout); -}; - -/** - * Load a file from disk. - * A file explorer will be opened to select a file and press ok. - * In case of Internet Explorer, an upload form will be shown where the - * user has to select a file via a file explorer after that click load. - * @param {function} [callback] Callback method, called with parameters: - * {Error} error - * {string} data - */ -FileRetriever.prototype.loadFile = function (callback) { - // loading notification - var loading = undefined; - var me = this; - - var startLoading = function () { - if (me.notify && !loading) { - loading = me.notify.showNotification('loading file...'); - } - - // safety mechanism: callback after a timeout - setTimeout(function () { - callbackOnce(new Error('Error loading url (time out)')); - }, me.timeout); - }; - - // method to ensure the callback is only executed once - var callbackOnce = function (error, data) { - if (callback) { - callback(error, data); - callback = undefined; - } - if (me.notify && loading) { - me.notify.removeMessage(loading); - loading = undefined; - } - }; - - // create a form to select a file and submit - var useFileReader = (me.options.html5 && window.File && window.FileReader); - - if (useFileReader) { - this.prompt({ - title: 'Open file', - titleSubmit: 'Open', - description: 'Select a file on your computer.', - inputType: 'file', - inputName: 'file', - callback: function (value, field) { - if (value) { - if (useFileReader) { - // load file via HTML5 FileReader (no size limits) - var file = field.files[0]; - var reader = new FileReader(); - reader.onload = function(event) { - var data = event.target.result; - callbackOnce(null, data); - }; - - // Read in the image file as a data URL. - reader.readAsText(file); - } - - startLoading(); - } - } - }); - // TODO: handle a cancel - } - else { - // no html5 filereader available - - // create an iframe for uploading files - // the iframe must have an unique name, allowing multiple - // FileRetrievers. The name is needed as target for the uploadForm - var iframeName = 'fileretriever-upload-' + Math.round(Math.random() * 1E15); - var iframe = document.createElement('iframe'); - iframe.name = iframeName; - me._hide(iframe); - iframe.onload = function () { - // when a downloaded file is retrieved, send a callback with - // the retrieved data - var id = iframe.contentWindow.document.body.innerHTML; - if (id) { - var url = me.scriptUrl + '?id=' + id + '&filename=' + me.getFilename(); - ajax.get(url, me.headers, function (data, status) { - if (status == 200) { - callbackOnce(null, data); - } - else { - var err = new Error('Error loading file ' + me.getFilename()); - callbackOnce(err, null); - } - - // cleanup the frame again - if (iframe.parentNode === document.body) { - document.body.removeChild(iframe); - } - }); - } - }; - document.body.appendChild(iframe); - - this.prompt({ - title: 'Open file', - titleSubmit: 'Open', - description: 'Select a file on your computer.', - inputType: 'file', - inputName: 'file', - formAction: this.scriptUrl, - formMethod: 'POST', - formTarget: iframeName, - callback: function (value) { - if (value) { - startLoading(); - } - } - }); - // TODO: handle a cancel - } -}; - -/** - * Show a dialog to select and load an url. - * @param {function} callback Callback method, called with parameters: - * {Error} error - * {String} data - */ -FileRetriever.prototype.loadUrlDialog = function (callback) { - var me = this; - this.prompt({ - title: 'Open url', - titleSubmit: 'Open', - description: 'Enter a public url. ' + - 'Urls which need authentication or are located on an intranet cannot be loaded.', - inputType: 'text', - inputName: 'url', - inputDefault: this.getUrl(), - callback: function (url) { - if (url) { - me.loadUrl(url, callback); - } - else { - // cancel - callback(); - } - } - }); -}; - -/** - * Show a prompt. - * The propmt can either: - * - Post a form when formAction, and formMethod are provided. - * Will call callback on submit. - * - Call the callback method "callback" with the entered value as first parameter and the created DOM field as second. - * This happens when a callback parameter is provided. - * @param {Object} params Available parameters: - * {String} title - * {String} titleSubmit - * {String} titleCancel - * {String} description - * {String} inputType - * {String} inputName - * {String} inputDefault - * {String} formTarget - * {String} formAction - * {String} formMethod - * {function} callback - */ -FileRetriever.prototype.prompt = function (params) { - var removeDialog = function () { - // remove the form - if (background.parentNode) { - background.parentNode.removeChild(background); - } - if (overlay.parentNode) { - overlay.parentNode.removeChild(overlay); - } - - jsoneditor.util.removeEventListener(document, 'keydown', onKeyDown); - }; - - var onCancel = function () { - removeDialog(); - if(params.callback) { - params.callback(null); - } - }; - - var onKeyDown = jsoneditor.util.addEventListener(document, 'keydown', function (event) { - var keynum = event.which; - if (keynum == 27) { // ESC - onCancel(); - event.preventDefault(); - event.stopPropagation(); - } - }); - - var overlay = document.createElement('div'); - overlay.className = 'fileretriever-overlay'; - document.body.appendChild(overlay); - - var form = document.createElement('form'); - form.className = 'fileretriever-form'; - form.target = params.formTarget || ''; - form.action = params.formAction || ''; - form.method = params.formMethod || 'POST'; - form.enctype = 'multipart/form-data'; - form.encoding = 'multipart/form-data'; // needed for IE8 and older - form.onsubmit = function () { - if (field.value) { - setTimeout(function () { - // remove *after* the submit has taken place! - removeDialog(); - }, 0); - if (params.callback) { - params.callback(field.value, field); - } - return (params.formAction != undefined && params.formMethod != undefined); - } - else { - alert('Enter a ' + params.inputName + ' first...'); - return false; - } - }; - - var title = document.createElement('div'); - title.className = 'fileretriever-title'; - title.appendChild(document.createTextNode(params.title || 'Dialog')); - form.appendChild(title); - - if (params.description) { - var description = document.createElement('div'); - description.className = 'fileretriever-description'; - description.appendChild(document.createTextNode(params.description)); - form.appendChild(description); - } - - var field = document.createElement('input'); - field.className = 'fileretriever-field'; - field.type = params.inputType || 'text'; - field.name = params.inputName || 'text'; - field.value = params.inputDefault || ''; - - var contents = document.createElement('div'); - contents.className = 'fileretriever-contents'; - contents.appendChild(field); - form.appendChild(contents); - - var cancel = document.createElement('input'); - cancel.className = 'fileretriever-cancel'; - cancel.type = 'button'; - cancel.value = params.titleCancel || 'Cancel'; - cancel.onclick = onCancel; - - var submit = document.createElement('input'); - submit.className = 'fileretriever-submit'; - submit.type = 'submit'; - submit.value = params.titleSubmit || 'Ok'; - - var buttons = document.createElement('div'); - buttons.className = 'fileretriever-buttons'; - buttons.appendChild(cancel); - buttons.appendChild(submit); - form.appendChild(buttons); - - var border = document.createElement('div'); - border.className = 'fileretriever-border'; - border.appendChild(form); - - var background = document.createElement('div'); - background.className = 'fileretriever-background'; - background.appendChild(border); - background.onclick = function (event) { - var target = event.target; - if (target == background) { - onCancel(); - } - }; - document.body.appendChild(background); - - field.focus(); - field.select(); -}; - -/** - * Save data to disk - * @param {String} data - * @param {function} [callback] Callback when the file is saved, called - * with parameter: - * {Error} error - */ -FileRetriever.prototype.saveFile = function (data, callback) { - // saving notification - var saving = undefined; - if (this.notify) { - saving = this.notify.showNotification('saving file...'); - } - - // method to ensure the callback is only executed once - var me = this; - var callbackOnce = function (error) { - if (callback) { - callback(error); - callback = undefined; - } - if (me.notify && saving) { - me.notify.removeMessage(saving); - saving = undefined; - } - }; - - // create an anchor to save files to disk (if supported by the browser) - // Note: save file using a.download is disabled in Firefox because of a - // a bug in Firefox, which breaks the cut/paste functionality of - // editable divs on the page. - var a = document.createElement('a'); - if (this.options.html5 && a.download != undefined && !util.isFirefox()) { - // save file directly using a data URL - a.style.display = 'none'; - a.href = 'data:application/json;charset=utf-8,' + encodeURIComponent(data); - a.download = this.getFilename(); - - // attach the element to the DOM, invoke a click action, and remove it again - document.body.appendChild(a); - a.click(); - document.body.removeChild(a); - - callbackOnce(); - } - else { - // save file by uploading it to the server and then downloading - // it via an iframe - if (data.length < this.options.maxSize) { - ajax.post(me.scriptUrl, data, me.headers, function(id, status) { - if (status == 200) { - var iframe = document.createElement('iframe'); - iframe.src = me.scriptUrl + '?id=' + id + '&filename=' + me.getFilename(); - me._hide(iframe); - document.body.appendChild(iframe); - /* TODO: send callback after the iframe is loaded. Problem: iframe.onload does not work on IE - iframe.onload = function () { - callbackOnce(); - }; - //*/ - callbackOnce(); - // TODO: cleanup the iframe after the file is saved. Problem: we cannot know when the save dialog is closed. - } - else { - callbackOnce(new Error('Error saving file')); - } - }); - } - else { - callbackOnce(new Error('Maximum allowed file size exceeded (' + - this.options.maxSize + ' bytes)')); - } - } - - // safety mechanism: callback after a timeout - setTimeout(function () { - callbackOnce(new Error('Error saving file (time out)')); - }, this.timeout); -}; diff --git a/app/web/fileretriever.php b/app/web/fileretriever.php deleted file mode 100644 index f3664e6..0000000 --- a/app/web/fileretriever.php +++ /dev/null @@ -1,125 +0,0 @@ - array( - 'method' => 'GET', - 'header' => "Accept: application/json\r\n" - ) - )); - if (preg_match('/^https?:\/\//', $url)) { // only allow to fetch http:// and https:// urls - $body = file_get_contents($url, false, $context); - if ($body != false) { - header("Content-Disposition: attachment; filename=\"$filename\""); - header('Content-type: application/json'); - echo $body; - } - else { - header('HTTP/1.1 404 Not Found'); - } - } - else { - header('HTTP/1.1 403 Forbidden'); - } - } - else if (isset($_GET['id'])) { - // retrieve the file with given id from disk, return it, - // and remove it from disk - $id = $_GET['id']; - $body = file_get_contents(getFilename($id)); - if ($body !== false) { - header("Content-Disposition: attachment; filename=\"$filename\""); - header('Content-type: application/json'); - echo $body; - unlink(getFilename($id)); - } - else { - header('HTTP/1.1 404 Not Found'); - } - } - else { - // TODO: error - } -} -else if ($method == 'POST') { - // retrieve the data, save it on disk with a random id, - // and return the id. - - if (isset($_FILES['file'])) { - // read body from uploaded form - $file = $_FILES['file']; - $id = uniqid(); - $filename = getFilename($id); - move_uploaded_file($file['tmp_name'], $filename); - echo $id; - } - else { - // read raw body from post request - $body = @file_get_contents('php://input'); - if ($body === false) { - $body = ''; - } - $id = uniqid(); - file_put_contents(getFilename($id), $body); - echo $id; - } -} - -// cleanup files older than 1 hour -// http://stackoverflow.com/q/6411451/1262753 -if ($dir = opendir($tmp)) { - $now = time(); - while (false !== ($file = readdir($dir))) { - $filename = "$tmp/$file"; - if (is_file($filename) && filemtime($filename) <= ($now - 60 * 60) ) { - unlink($filename); - } - } - closedir($dir); -} - -?> diff --git a/app/web/googlea47c4a0b36d11021.html b/app/web/googlea47c4a0b36d11021.html deleted file mode 100644 index 9ac6df3..0000000 --- a/app/web/googlea47c4a0b36d11021.html +++ /dev/null @@ -1 +0,0 @@ -google-site-verification: googlea47c4a0b36d11021.html \ No newline at end of file diff --git a/app/web/hash.js b/app/web/hash.js deleted file mode 100644 index 0ef51df..0000000 --- a/app/web/hash.js +++ /dev/null @@ -1,133 +0,0 @@ - -/** - * @prototype Hash - * This prototype contains methods to manipulate the hash of the web page - */ -function Hash() {} - -/** - * get an object value with all parameters in the hash - * @return {Object} query object containing key/values - */ -Hash.prototype.getQuery = function () { - var hash = window.location.hash.substring(1); // skip the # character - var params = hash.split('&'); - var query = {}; - for (var i = 0, iMax = params.length; i < iMax; i++) { - var keyvalue = params[i].split('='); - if (keyvalue.length == 2) { - var key = decodeURIComponent(keyvalue[0]); - var value = decodeURIComponent(keyvalue[1]); - query[key] = value; - } - } - return query; -}; - -/** - * Register a callback function which will be called when the hash of the web - * page changes. - * @param {String} key - * @param {function} callback Will be called with the new value as parameter - */ -Hash.prototype.onChange = function (key, callback) { - this.prevHash = ''; - var me = this; - if (!me.callbacks) { - me.callbacks = []; - } - me.callbacks.push({ - 'key': key, - 'value': undefined, - 'callback': callback - }); - - function checkForChanges() { - for (var i = 0; i < me.callbacks.length; i++) { - var obj = me.callbacks[i]; - var value = me.getValue(obj.key); - var changed = (value !== obj.value); - obj.value = value; - if (changed) { - obj.callback(value); - } - } - } - - // source: http://stackoverflow.com/questions/2161906/handle-url-anchor-change-event-in-js - if ('onhashchange' in window) { - window.onhashchange = function () { - checkForChanges(); - } - } - else { - // onhashchange event not supported - me.prevHash = window.location.hash; - window.setInterval(function () { - var hash = window.location.hash; - if (hash != me.prevHash) { - me.prevHash = hash; - checkForChanges(); - } - }, 500); - } -}; - - -/** - * Set hash parameters - * @param {Object} query object with strings - */ -Hash.prototype.setQuery = function (query) { - var hash = ''; - - for (var key in query) { - if (query.hasOwnProperty(key)) { - var value = query[key]; - if (value != undefined) { - if (hash.length) { - hash += '&'; - } - hash += encodeURIComponent(key); - hash += '='; - hash += encodeURIComponent(query[key]); - } - } - } - - window.location.hash = (hash.length ? ('#' + hash) : ''); -}; - - -/** - * Retrieve a parameter value from the hash - * @param {String} key - * @return {String | undefined} value undefined when the value is not found - */ -Hash.prototype.getValue = function (key) { - var query = this.getQuery(); - return query[key]; -}; - -/** - * Set an hash parameter - * @param {String} key - * @param {String} value - */ -Hash.prototype.setValue = function (key, value) { - var query = this.getQuery(); - query[key] = value; - this.setQuery(query); -}; - -/** - * Remove an hash parameter - * @param {String} key - */ -Hash.prototype.removeValue = function (key) { - var query = this.getQuery(); - if (query[key]) { - delete query[key]; - this.setQuery(query); - } -}; diff --git a/app/web/img/description.txt b/app/web/img/description.txt deleted file mode 100644 index 215eb62..0000000 --- a/app/web/img/description.txt +++ /dev/null @@ -1,20 +0,0 @@ -JSON Editor Online Logo - -font: Source Sans Pro, 19.2pt (24px) - "JSON Editor" -> "Source Sans Pro" - "Online" -> "Source Sans Pro Light" - -color: white - -logo size: 32x200 px - - -JSON Editor Online Icon - -Icon 128x128px - background is 100x100px, color #4d4d4d, border radius 10px - glass is white, opacity 10% - text "{ }" is Arial, 78px, white - -Icon 16x16px - background full 16x16px. Scaled down from the 128x128px icon diff --git a/app/web/img/header_background.png b/app/web/img/header_background.png deleted file mode 100644 index df756d2d6f960cc2278fe7994f86f1fdadb8259f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 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 E0ih=HFaQ7m diff --git a/app/web/img/icon_16.png b/app/web/img/icon_16.png deleted file mode 100644 index f1b2b91d7c203457b4accec8197608f207183577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 601 zcmV-f0;c_mP)A%gfi!|(V__H4#7^62 z71%}_3v2&D;1>RdfTdk33k$KaUlH3Z$}W->bv?JZH|iltaqo2V&b-fIm^n(L(fB2V zcm_27EdoVR`s#n00W=}RvwCSxBob7sRcf`G)ENqeczSx`{{9|a*CmLQS(e4^?Jc%# z%TH+<#bS{}B0($`V=x$;YU*WUI-O=Zozm;|B!KVxv|243$KmGYMyjboh*M%12A=1A zJFpM}*L8`<msK5(w nQV)lNWQIQ%w_2^fn1PqyGR4HstueNW00000NkvXXu0mjft3?SZ diff --git a/app/web/img/icon_gray.svg b/app/web/img/icon_gray.svg deleted file mode 100644 index 443dc40..0000000 --- a/app/web/img/icon_gray.svg +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - { } - diff --git a/app/web/img/icon_gray_16.svg b/app/web/img/icon_gray_16.svg deleted file mode 100644 index d947eca..0000000 --- a/app/web/img/icon_gray_16.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - { } - diff --git a/app/web/img/icon_orange.svg b/app/web/img/icon_orange.svg deleted file mode 100644 index e1fc668..0000000 --- a/app/web/img/icon_orange.svg +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - { } - diff --git a/app/web/img/logo.png b/app/web/img/logo.png deleted file mode 100644 index dae856d6625a23bb59b2b399f84cade1ad3be60d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1858 zcmZuydpr{e9N$CC7}f(DW0pMf$lJ}rw(Mq?S4qrs9*3wylo;7|NG6m*d9*q%?`ODd zxsf~~vb;(j-FZus7UIUa|L^}=_WnE0^Cvm`iFBkrHG023_8);noq}uop;QdT zktFp2q69}m5$S2S_lq4AJHokZ?^g@xX>KId?uD>lmcy2p!@}~Pea>w^UlOXDnig87 zFwWLAaDes2is6r{LpLJZV~M5T(MP2li8qa8^yuH0{pX?+-F|NlYyIvy=A0z5HZB~% zZhqiyPIb=9Ijzd2+YK_L?xr~HgONIWHb$#1AW^4F6(qfhDhXfYy(3ieJyq_ab z4k%w59-i6Ns#FKsI`Bj7_3J8sn35%^lKpMo5EDOGqD*LTsS@Z!dCtVvy6n@mHINIf z7kYR8QBr5J4fy0eUDj+s%WIOjsg7G?9{d{h&xx>0hQ zLZKwze-5E`X8NcAD={pu(c}Fr`n4*-Bw#a!cIeH?i~7uO`~-6LmPGlvQ?;4Y0mxE> zsi|BSoPEK0hFYMl%e=ie7J$K(y8rb zUKTo#nS#IdiW(~R^o+MQt6MB=hK^rYt(!awF>&0R0w*98|8b!OQTm$)fxdEOLc>-3 zW}kU@+0$1F?pPG7#FK3MZR7?1kb&|TFan^$jDM$Pe-q=rh(qXP=!9g&;JV8i*_OH( zh=8Cs{lObYxylJVH|RADwN~T4_arTV#%wc zf@xXV%y+v${s3d!0#FSWX@kN|?Xt(OgpO4MtWvJ&r~{qnG5ub$38Ao8SQ3UMi-V7C zN<4_`WH*qc`o7|K^poQ%L86EEE>hCjlq*Py`;S|5Q+x6#HrQnJ-vJx#QJm8blL0d< zN2`$$jNP8r3@sIMkSj-1bWt42WbS6u&&wC%Eid_uggM+wu;w1kBAE}n`#y@%%TXw4 zI{)frlV;BbV>%ZgZW0KKF$BXBf`U->Dm{&NV^#&M<$A^2)~mVcX8DB6+(I`t5^TVH z;7~;PYgA*bBH9j@&IrV2_3P+wwKk>0z93+441UD6#MxXo@j8sG`Es>dpX*`USHn_O znDw~R>S@1Ae}m9Wv2g1`99o*_n!ADyB>6H=~QmS z-M05O$t%z(v*UL(a){Z-4n#d}~YF zcugYG&7NwxGp)8XIZ7za%Bl-2jM>-`FG7@luP0X52EBV3@7U}J%bp|IRd#gz`Q)6h zFXLiG5Sw_Bsvk!+@Tm&_Id(xa{+NJUZ}HhV)4R%K=C#9}!2Ar4xk<*#`~>&SgZZ}) zt3*(EW#+M!vTNpi55G2>^PiG(QHr_F)_qp9n@&R^>a{waj*8M}kMB5vVz*e(m7^Uz z|0P?>uql4jo^1y+5@^%UEz!jhFV7xJTXz7p!DQa9sC|s)@S1Zh$r2aJ+Lj*bvdn;O zEf};{b-{Y#t~Lbv;(bdynOPeXH4mqyII8Li(UXvgtRt}#AKhp!NR5TfWyen$Gsk*|%Jf6_{IPC@5rZl4l2Dd;rJT30V%aiYjb?yilj2vV-+#u^3&FRw>s ze9m8Q;$|E^<9DE@M}cshDfbSOCg84gB~~b|T6v1Npg!?tNR(B%@mitQ3If*oIBgRv z&8h9+N|{kMfWnnj(`770Wrk!OQ6spuCC|?&%MNTfqOM%5MR;svgr0U;Rn{KaFyW}J zMWsvhf{VwFE$fQinNz@_inw^JPpOcX7Dc&_wjtIi3=OiAD;aI@IKh3M>5)>seno<& u9w0be1Bb~9Df*oM9{K;HA$4O9u?xzbIXQSW&~I^n-~beolU)sw#`+h2yhptN diff --git a/app/web/img/logo.xcf b/app/web/img/logo.xcf deleted file mode 100644 index 3dce68c4d5a698e561acb0526c34c8a34a7a0f43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32426 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 z z2g{eUjRB75SNCs~NEOf!{0pgH?U1l>EAr9xzC(dQ&?EJx-Gsm-!{{xTF#-dqHQ;A( zjyl=#h_mYc5wOt{eVp+dNH|I23L;7OuP(U&;>P*eJ!jAoc`V^{13wx9k(hc%cx4V$-QK%N-P7!qTb7`Gq~pkp|4e@s#v41$CKs5XnQX5+jT(pE59^C4rHW9{H^s zcUsw}gj9z z$%?U6=K71@dl^>f)i%~0{?*oBzTVnu!?ha7xpRAY;1`!(HprptjWGM-@vr6$OO`g~ z>x-k@H7^q`iSH#8ybSXdx5Y#~>RZ$5)fowt=?P9mu92=ebd?FO8cS!AoWf93M-Gc4 z9IylZr_}@Yp&>utz-ww1jRe2d<{xCjT2odzROCA|Rt1R~#u zpu2slo2iw!0{AsU_$VX2Lm2v2`FTADBQ<=*>XHjaYZ9E!KX3}-iK=cC+f#rwr3h^C zq-2pOTT1wt~ga4~mqS9^qfHtbs+v&!xm3O*%Aw6u86` z8i}vqm@p9?#kB_6Wxo@ut$I7!6fSZ42(nLV`6gQl>Ar>Xgtrt z6(P}k#Q&W;q~>zTh$NWBs~?LgPe42;5ln`}kgGAVRS7^nlt`sALlvJ~Xxojwv zyGXx8yebr=ft;FO6+~9MciA8ZTdR{;v#!j~>h1Y-pHc68y>q{Yx)zv&x}RWAuZr%> zS8@vGjdD~DmE>`)n8K=?%&N<|yA`QlL-#O3mFv~p^XZ!5Su*NXs+{}HXmTA3Vu-8W za;*AclzD?=S<**T;y1n2VWm@*y}I3F)#^^@L9=dMPmLAyu1VeBozdfLZ)cpU-kY5_ u$`1`N4w7DRX>)H)P_AQeYob>(x_qC(|Gud4e|paU2RVOsW0U_f`~LyAf6jXV diff --git a/app/web/img/logo_app.png b/app/web/img/logo_app.png deleted file mode 100644 index 41cd0ce954b86f3144fe4a32b669e2f904ec8168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1368 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 y>b=={qx{eS;~?o3mp1p-1my+>w - - - - - - JSON Editor Online - view, edit and format JSON online - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- -
-
- -
-
-
-
-
- -
- - - - -
-
- - - - - - - - - diff --git a/app/web/notify.js b/app/web/notify.js deleted file mode 100644 index 27153f3..0000000 --- a/app/web/notify.js +++ /dev/null @@ -1,149 +0,0 @@ -/** - * Utility to display notifications and error messages. - * The messages are displayed on the top center of the web page - * @constructor Notify - */ -function Notify () { - this.dom = {}; - - // TODO: attach the event as soon as there are one or multiple messages displayed, - // remove it as soon as they are all gone - var me = this; - jsoneditor.util.addEventListener(document, 'keydown', function (event) { - me.onKeyDown(event); - }); -} - -/** - * Show a notification - * @param {String} message - * @return {Element} messageObject - */ -Notify.prototype.showNotification = function (message) { - return this.showMessage({ - type: 'notification', - message: message, - closeButton: false - }); -}; - -/** - * Show an error message - * @param {Error} error - * @return {Element} messageObject - */ -Notify.prototype.showError = function (error) { - return this.showMessage({ - type: 'error', - message: (error.message ? 'Error: ' + error.message : error.toString()), - closeButton: true - }); -}; - -/** - * Show a message - * @param {Object} params Available parameters: - * {String} message - * {String} type 'error', 'notification' - * {Boolean} closeButton - * @return {Element} messageObject - */ -Notify.prototype.showMessage = function (params) { - var frame = this.dom.frame; - if (!frame) { - var width = 500; - var top = 5; - var windowWidth = document.body.offsetWidth || window.innerWidth; - frame = document.createElement('div'); - frame.style.position = 'absolute'; - frame.style.left = (windowWidth - width) / 2 + 'px'; - frame.style.width = width + 'px'; - frame.style.top = top + 'px'; - frame.style.zIndex = '999'; - document.body.appendChild(frame); - this.dom.frame = frame; - } - - var type = params.type || 'notification'; - var closeable = (params.closeButton !== false); - var divMessage = document.createElement('div'); - divMessage.className = type; - divMessage.type = type; - divMessage.closeable = closeable; - divMessage.style.position = 'relative'; - frame.appendChild(divMessage); - - var table = document.createElement('table'); - table.style.width = '100%'; - divMessage.appendChild(table); - var tbody = document.createElement('tbody'); - table.appendChild(tbody); - var tr = document.createElement('tr'); - tbody.appendChild(tr); - - var tdMessage = document.createElement('td'); - tdMessage.innerHTML = params.message || ''; - tr.appendChild(tdMessage); - - if (closeable) { - var tdClose = document.createElement('td'); - tdClose.style.textAlign = 'right'; - tdClose.style.verticalAlign = 'top'; - tr.appendChild(tdClose); - - var closeDiv = document.createElement('button'); - closeDiv.innerHTML = '×'; - closeDiv.title = 'Close message (ESC)'; - tdClose.appendChild(closeDiv); - var me = this; - closeDiv.onclick = function () { - me.removeMessage(divMessage); - } - } - - return divMessage; -}; - -/** - * Remove a message from the list with messages - * @param {Element} [message] The HTML DOM of a message - * If undefined, the first closeable message will - * closed. - */ -Notify.prototype.removeMessage = function (message) { - var frame = this.dom.frame; - if (!message && frame) { - // find the first closable message in the list with displayed messages - var child = frame.firstChild; - while (child && !child.closeable) { - child = child.nextSibling; - } - if (child && child.closeable) { - message = child; - } - } - - if (message && message.parentNode == frame) { - message.parentNode.removeChild(message); - } - - if (frame && frame.childNodes.length == 0) { - frame.parentNode.removeChild(frame); - delete this.dom.frame; - } -}; - -/** - * Handle key down event. - * @param {Event} event - * @private - */ -Notify.prototype.onKeyDown = function (event) { - var keynum = event.which; - if (keynum == 27) { // ESC - // remove the oldest open and closeable message - this.removeMessage(); - event.preventDefault(); - event.stopPropagation(); - } -}; diff --git a/app/web/queryparams.js b/app/web/queryparams.js deleted file mode 100644 index ffd7568..0000000 --- a/app/web/queryparams.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * @prototype QueryParams - * This prototype contains methods to manipulate the query parameters of the - * web pages url - */ -function QueryParams () {} - -/** - * get an object value with all parameters in the query params - * @return {Object} query object containing key/values - */ -QueryParams.prototype.getQuery = function () { - var search = window.location.search.substring(1); // skip the ? character - var params = search.split('&'); - var query = {}; - for (var i = 0, iMax = params.length; i < iMax; i++) { - var keyvalue = params[i].split('='); - if (keyvalue.length == 2) { - var key = decodeURIComponent(keyvalue[0]); - var value = decodeURIComponent(keyvalue[1]); - query[key] = value; - } - } - return query; -}; - -/** - * Set query parameters parameters - * @param {Object} query object with strings - */ -QueryParams.prototype.setQuery = function (query) { - var search = ''; - - for (var key in query) { - if (query.hasOwnProperty(key)) { - var value = query[key]; - if (value != undefined) { - if (search.length) { - search += '&'; - } - search += encodeURIComponent(key); - search += '='; - search += encodeURIComponent(query[key]); - } - } - } - - window.location.search = (search.length ? ('#' + search) : ''); -}; - - -/** - * Retrieve a parameter value from the query params - * @param {String} key - * @return {String} value undefined when the value is not found - */ -QueryParams.prototype.getValue = function (key) { - var query = this.getQuery(); - return query[key]; -}; - -/** - * Set an query parameter - * @param {String} key - * @param {String} value - */ -QueryParams.prototype.setValue = function (key, value) { - var query = this.getQuery(); - query[key] = value; - this.setQuery(query); -}; diff --git a/app/web/robots.txt b/app/web/robots.txt deleted file mode 100644 index e69de29..0000000 diff --git a/app/web/splitter.js b/app/web/splitter.js deleted file mode 100644 index bb0a566..0000000 --- a/app/web/splitter.js +++ /dev/null @@ -1,181 +0,0 @@ -/** - * A splitter control. - * Turns an existing HTML element into an horizontal splitter control. - * @constructor Splitter - * @param {Object} params Available parameters: - * {Element} container HTML container representing - * the splitter - * {Number} [snap] Number of pixels to snap to - * the edges (0 or 1) - * {function} [change] Callback method called when - * the splitter value has changed. - * The callback is called with - * the new value as parameter - */ -function Splitter (params) { - if (!params || !params.container) { - throw new Error('params.container undefined in Splitter constructor'); - } - - var me = this; - jsoneditor.util.addEventListener(params.container, "mousedown", function (event) { - me.onMouseDown(event); - }); - - this.container = params.container; - this.snap = Number(params.snap) || 200; // px - this.width = undefined; - this.value = undefined; - this.onChange = (params.change) ? params.change : function () {}; - this.params = {}; -} - -/** - * Handle mouse down event. Start dragging the splitter. - * @param {Event} event - * @private - */ -Splitter.prototype.onMouseDown = function (event) { - var me = this; - var leftButtonDown = event.which ? (event.which == 1) : (event.button == 1); - if (!leftButtonDown) { - return; - } - jsoneditor.util.addClassName(this.container, 'active'); - - if (!this.params.mousedown) { - this.params.mousedown = true; - this.params.mousemove = - jsoneditor.util.addEventListener(document, 'mousemove', function (event) { - me.onMouseMove(event); - }); - this.params.mouseup = - jsoneditor.util.addEventListener(document, 'mouseup', function (event) { - me.onMouseUp(event); - }); - this.params.screenX = event.screenX; - this.params.changed = false; - this.params.value = this.getValue(); - } - event.preventDefault(); - event.stopPropagation(); -}; - -/** - * Handle on mouse move event. Used to drag the splitter - * @param {Event} event - * @private - */ -Splitter.prototype.onMouseMove = function (event) { - if (this.width != undefined) { - var diff = event.screenX - this.params.screenX; - - var value = this.params.value + diff / this.width; - value = this.setValue(value); - - if (value != this.params.value) { - // value has been changed - this.params.changed = true; - } - - this.onChange(value); - } - - event.preventDefault(); - event.stopPropagation(); -}; - -/** - * Handle on mouse up event - * @param {Event} event - * @private - */ -Splitter.prototype.onMouseUp = function (event) { - jsoneditor.util.removeClassName(this.container, 'active'); - - if (this.params.mousedown) { - jsoneditor.util.removeEventListener(document, 'mousemove', this.params.mousemove); - jsoneditor.util.removeEventListener(document, 'mouseup', this.params.mouseup); - this.params.mousemove = undefined; - this.params.mouseup = undefined; - this.params.mousedown = false; - - var value = this.getValue(); - if (!this.params.changed) { - // value is unchanged -> unsnap when currently snapped - if (value == 0) { - value = this.setValue(0.2); - this.onChange(value); - } - if (value == 1) { - value = this.setValue(0.8); - this.onChange(value); - } - } - } - event.preventDefault(); - event.stopPropagation(); -}; - -/** - * Set the window width for the splitter - * @param {Number} width - */ -Splitter.prototype.setWidth = function (width) { - this.width = width; -}; - -/** - * Set a value for the splitter (UI is not adjusted) - * @param {Number} value A number between 0 and 1 - * @return {Number} value The stored value - */ -Splitter.prototype.setValue = function (value) { - value = Number(value); - - // snap to 0 or 1 when close - if (this.width != undefined && this.width > this.snap) { - if (value < this.snap / this.width) { - value = 0; - } - if (value > (this.width - this.snap) / this.width) { - value = 1; - } - } - - this.value = value; - - try { - localStorage['splitterValue'] = value; - } - catch (e) { - if (console && console.log) { - console.log(e); - } - } - return value; -}; - -/** - * Get the splitter value from local storage - * @return {Number} value A value between 0.1 and 0.9 - */ -Splitter.prototype.getValue = function () { - var value = this.value; - if (value == undefined) { - // read from localStorage once - try { - if (localStorage['splitterValue'] != undefined) { - value = Number(localStorage['splitterValue']); // read - value = this.setValue(value); // verify and store - } - } - catch (e) { - console.log(e); - } - } - if (value == undefined) { - value = this.setValue(0.5); - } - return value; -}; diff --git a/app/web/test.html b/app/web/test.html deleted file mode 100644 index ce61006..0000000 --- a/app/web/test.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - JSON Editor Online - view, edit and format JSON online - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- -
-
- -
-
-
-
-
- -
- - - - -
-
- - - - - - - diff --git a/jsoneditor-min.css b/jsoneditor-min.css index 997371f..ea5a02b 100644 --- a/jsoneditor-min.css +++ b/jsoneditor-min.css @@ -1 +1 @@ -.jsoneditor .field,.jsoneditor .readonly,.jsoneditor .value{border:1px solid transparent;min-height:16px;min-width:32px;padding:2px;margin:1px;word-wrap:break-word;float:left}.jsoneditor .field p,.jsoneditor .value p{margin:0}.jsoneditor .value{word-break:break-word}.jsoneditor .readonly{min-width:16px;color:gray}.jsoneditor .empty{border-color:#d3d3d3;border-style:dashed;border-radius:2px}.jsoneditor .field.empty{background-image:url(img/jsoneditor-icons.png);background-position:0 -144px}.jsoneditor .value.empty{background-image:url(img/jsoneditor-icons.png);background-position:-48px -144px}.jsoneditor .value.url{color:green;text-decoration:underline}.jsoneditor a.value.url:focus,.jsoneditor a.value.url:hover{color:red}.jsoneditor .separator{padding:3px 0;vertical-align:top;color:gray}.jsoneditor .field.highlight,.jsoneditor .field[contenteditable=true]:focus,.jsoneditor .field[contenteditable=true]:hover,.jsoneditor .value.highlight,.jsoneditor .value[contenteditable=true]:focus,.jsoneditor .value[contenteditable=true]:hover{background-color:#FFFFAB;border:1px solid #ff0;border-radius:2px}.jsoneditor .field.highlight-active,.jsoneditor .field.highlight-active:focus,.jsoneditor .field.highlight-active:hover,.jsoneditor .value.highlight-active,.jsoneditor .value.highlight-active:focus,.jsoneditor .value.highlight-active:hover{background-color:#fe0;border:1px solid #ffc700;border-radius:2px}.jsoneditor div.tree button{width:24px;height:24px;padding:0;margin:0;border:0;cursor:pointer;background:transparent url(img/jsoneditor-icons.png)}.jsoneditor div.tree button.collapsed{background-position:0 -48px}.jsoneditor div.tree button.expanded{background-position:0 -72px}.jsoneditor div.tree button.contextmenu{background-position:-48px -72px}.jsoneditor div.tree button.contextmenu.selected,.jsoneditor div.tree button.contextmenu:focus,.jsoneditor div.tree button.contextmenu:hover{background-position:-48px -48px}.jsoneditor div.tree :focus{outline:0}.jsoneditor div.tree button:focus{background-color:#f5f5f5;outline:#e5e5e5 solid 1px}.jsoneditor div.tree button.invisible{visibility:hidden;background:0 0}.jsoneditor{color:#1A1A1A;border:1px solid #97B0F8;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;overflow:auto;position:relative;padding:0;line-height:100%}.jsoneditor div.tree table.tree{border-collapse:collapse;border-spacing:0;width:100%;margin:0}.jsoneditor div.outer{width:100%;height:100%;margin:-35px 0 0 0;padding:35px 0 0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.jsoneditor div.tree{width:100%;height:100%;position:relative;overflow:auto}.jsoneditor textarea.text{width:100%;height:100%;margin:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:0;background-color:#fff;resize:none}.jsoneditor tr.highlight{background-color:#FFFFAB}.jsoneditor div.tree button.dragarea{background:url(img/jsoneditor-icons.png) -72px -72px;cursor:move}.jsoneditor div.tree button.dragarea:focus,.jsoneditor div.tree button.dragarea:hover{background-position:-72px -48px}.jsoneditor td,.jsoneditor th,.jsoneditor tr{padding:0;margin:0}.jsoneditor td,.jsoneditor td.tree{vertical-align:top}.jsoneditor .field,.jsoneditor .value,.jsoneditor td,.jsoneditor textarea,.jsoneditor th{font-family:droid sans mono,monospace,courier new,courier,sans-serif;font-size:10pt;color:#1A1A1A}.jsoneditor-contextmenu{position:absolute;z-index:99999}.jsoneditor-contextmenu ul{position:relative;left:0;top:0;width:124px;background:#fff;border:1px solid #d3d3d3;box-shadow:2px 2px 12px rgba(128,128,128,.3);list-style:none;margin:0;padding:0}.jsoneditor-contextmenu ul li button{padding:0;margin:0;width:124px;height:24px;border:0;cursor:pointer;color:#4d4d4d;background:0 0;line-height:26px;text-align:left}.jsoneditor-contextmenu ul li button::-moz-focus-inner{padding:0;border:0}.jsoneditor-contextmenu ul li button:focus,.jsoneditor-contextmenu ul li button:hover{color:#1a1a1a;background-color:#f5f5f5;outline:0}.jsoneditor-contextmenu ul li button.default{width:92px}.jsoneditor-contextmenu ul li button.expand{float:right;width:32px;height:24px;border-left:1px solid #e5e5e5}.jsoneditor-contextmenu div.icon{float:left;width:24px;height:24px;border:0;padding:0;margin:0;background-image:url(img/jsoneditor-icons.png)}.jsoneditor-contextmenu ul li button div.expand{float:right;width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(img/jsoneditor-icons.png) 0 -72px;opacity:.4}.jsoneditor-contextmenu ul li button.expand:focus div.expand,.jsoneditor-contextmenu ul li button.expand:hover div.expand,.jsoneditor-contextmenu ul li button:focus div.expand,.jsoneditor-contextmenu ul li button:hover div.expand,.jsoneditor-contextmenu ul li.selected div.expand{opacity:1}.jsoneditor-contextmenu .separator{height:0;border-top:1px solid #e5e5e5;padding-top:5px;margin-top:5px}.jsoneditor-contextmenu button.remove>.icon{background-position:-24px -24px}.jsoneditor-contextmenu button.remove:focus>.icon,.jsoneditor-contextmenu button.remove:hover>.icon{background-position:-24px 0}.jsoneditor-contextmenu button.append>.icon{background-position:0 -24px}.jsoneditor-contextmenu button.append:focus>.icon,.jsoneditor-contextmenu button.append:hover>.icon{background-position:0 0}.jsoneditor-contextmenu button.insert>.icon{background-position:0 -24px}.jsoneditor-contextmenu button.insert:focus>.icon,.jsoneditor-contextmenu button.insert:hover>.icon{background-position:0 0}.jsoneditor-contextmenu button.duplicate>.icon{background-position:-48px -24px}.jsoneditor-contextmenu button.duplicate:focus>.icon,.jsoneditor-contextmenu button.duplicate:hover>.icon{background-position:-48px 0}.jsoneditor-contextmenu button.sort-asc>.icon{background-position:-168px -24px}.jsoneditor-contextmenu button.sort-asc:focus>.icon,.jsoneditor-contextmenu button.sort-asc:hover>.icon{background-position:-168px 0}.jsoneditor-contextmenu button.sort-desc>.icon{background-position:-192px -24px}.jsoneditor-contextmenu button.sort-desc:focus>.icon,.jsoneditor-contextmenu button.sort-desc:hover>.icon{background-position:-192px 0}.jsoneditor-contextmenu ul li .selected{background-color:#D5DDF6}.jsoneditor-contextmenu ul li{overflow:hidden}.jsoneditor-contextmenu ul li ul{display:none;position:relative;left:-10px;top:0;border:0;box-shadow:inset 0 0 10px rgba(128,128,128,.5);padding:0 10px;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.jsoneditor-contextmenu ul li ul li button{padding-left:24px}.jsoneditor-contextmenu ul li ul li button:focus,.jsoneditor-contextmenu ul li ul li button:hover{background-color:#f5f5f5}.jsoneditor-contextmenu button.type-string>.icon{background-position:-144px -24px}.jsoneditor-contextmenu button.type-string.selected>.icon,.jsoneditor-contextmenu button.type-string:focus>.icon,.jsoneditor-contextmenu button.type-string:hover>.icon{background-position:-144px 0}.jsoneditor-contextmenu button.type-auto>.icon{background-position:-120px -24px}.jsoneditor-contextmenu button.type-auto.selected>.icon,.jsoneditor-contextmenu button.type-auto:focus>.icon,.jsoneditor-contextmenu button.type-auto:hover>.icon{background-position:-120px 0}.jsoneditor-contextmenu button.type-object>.icon{background-position:-72px -24px}.jsoneditor-contextmenu button.type-object.selected>.icon,.jsoneditor-contextmenu button.type-object:focus>.icon,.jsoneditor-contextmenu button.type-object:hover>.icon{background-position:-72px 0}.jsoneditor-contextmenu button.type-array>.icon{background-position:-96px -24px}.jsoneditor-contextmenu button.type-array.selected>.icon,.jsoneditor-contextmenu button.type-array:focus>.icon,.jsoneditor-contextmenu button.type-array:hover>.icon{background-position:-96px 0}.jsoneditor-contextmenu button.type-modes>.icon{background-image:none;width:6px}.jsoneditor .menu{width:100%;height:35px;padding:2px;margin:0;overflow:hidden;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;color:#1A1A1A;background-color:#D5DDF6;border-bottom:1px solid #97B0F8}.jsoneditor .menu button{width:26px;height:26px;margin:2px;padding:0;border-radius:2px;border:1px solid #aec0f8;background:#e3eaf6 url(img/jsoneditor-icons.png);color:#4D4D4D;opacity:.8;font-family:arial,sans-serif;font-size:10pt;float:left}.jsoneditor .menu button:hover{background-color:#f0f2f5}.jsoneditor .menu button:active{background-color:#fff}.jsoneditor .menu button:disabled{background-color:#e3eaf6}.jsoneditor .menu button.collapse-all{background-position:0 -96px}.jsoneditor .menu button.expand-all{background-position:0 -120px}.jsoneditor .menu button.undo{background-position:-24px -96px}.jsoneditor .menu button.undo:disabled{background-position:-24px -120px}.jsoneditor .menu button.redo{background-position:-48px -96px}.jsoneditor .menu button.redo:disabled{background-position:-48px -120px}.jsoneditor .menu button.compact{background-position:-72px -96px}.jsoneditor .menu button.format{background-position:-72px -120px}.jsoneditor .menu button.modes{background-image:none;width:auto;padding-left:6px;padding-right:6px}.jsoneditor .menu button.separator{margin-left:10px}.jsoneditor .menu a{font-family:arial,sans-serif;font-size:10pt;color:#97B0F8;vertical-align:middle}.jsoneditor .menu a:hover{color:red}.jsoneditor .menu a.poweredBy{font-size:8pt;position:absolute;right:0;top:0;padding:10px}.jsoneditor .search .results,.jsoneditor .search input{font-family:arial,sans-serif;font-size:10pt;color:#1A1A1A}.jsoneditor .search{position:absolute;right:2px;top:2px}.jsoneditor .search .frame{border:1px solid #97B0F8;background-color:#fff;padding:0 2px;margin:0}.jsoneditor .search .frame table{border-collapse:collapse}.jsoneditor .search input{width:120px;border:0;outline:0;margin:1px}.jsoneditor .search .results{color:#4d4d4d;padding-right:5px;line-height:24px}.jsoneditor .search button{width:16px;height:24px;padding:0;margin:0;border:0;background:url(img/jsoneditor-icons.png);vertical-align:top}.jsoneditor .search button:hover{background-color:transparent}.jsoneditor .search button.refresh{width:18px;background-position:-99px -73px}.jsoneditor .search button.next{cursor:pointer;background-position:-124px -73px}.jsoneditor .search button.next:hover{background-position:-124px -49px}.jsoneditor .search button.previous{cursor:pointer;background-position:-148px -73px;margin-right:2px}.jsoneditor .search button.previous:hover{background-position:-148px -49px} \ No newline at end of file +.jsoneditor .field,.jsoneditor .readonly,.jsoneditor .value{border:1px solid transparent;min-height:16px;min-width:32px;padding:2px;margin:1px;word-wrap:break-word;float:left}.jsoneditor .field p,.jsoneditor .value p{margin:0}.jsoneditor .value{word-break:break-word}.jsoneditor .readonly{min-width:16px;color:gray}.jsoneditor .empty{border-color:#d3d3d3;border-style:dashed;border-radius:2px}.jsoneditor .field.empty{background-image:url(img/jsoneditor-icons.png);background-position:0 -144px}.jsoneditor .value.empty{background-image:url(img/jsoneditor-icons.png);background-position:-48px -144px}.jsoneditor .value.url{color:green;text-decoration:underline}.jsoneditor a.value.url:focus,.jsoneditor a.value.url:hover{color:red}.jsoneditor .separator{padding:3px 0;vertical-align:top;color:gray}.jsoneditor .field.highlight,.jsoneditor .field[contenteditable=true]:focus,.jsoneditor .field[contenteditable=true]:hover,.jsoneditor .value.highlight,.jsoneditor .value[contenteditable=true]:focus,.jsoneditor .value[contenteditable=true]:hover{background-color:#FFFFAB;border:1px solid #ff0;border-radius:2px}.jsoneditor .field.highlight-active,.jsoneditor .field.highlight-active:focus,.jsoneditor .field.highlight-active:hover,.jsoneditor .value.highlight-active,.jsoneditor .value.highlight-active:focus,.jsoneditor .value.highlight-active:hover{background-color:#fe0;border:1px solid #ffc700;border-radius:2px}.jsoneditor div.tree button{width:24px;height:24px;padding:0;margin:0;border:none;cursor:pointer;background:transparent url(img/jsoneditor-icons.png)}.jsoneditor div.tree button.collapsed{background-position:0 -48px}.jsoneditor div.tree button.expanded{background-position:0 -72px}.jsoneditor div.tree button.contextmenu{background-position:-48px -72px}.jsoneditor div.tree button.contextmenu.selected,.jsoneditor div.tree button.contextmenu:focus,.jsoneditor div.tree button.contextmenu:hover{background-position:-48px -48px}.jsoneditor div.tree :focus{outline:0}.jsoneditor div.tree button:focus{background-color:#f5f5f5;outline:#e5e5e5 solid 1px}.jsoneditor div.tree button.invisible{visibility:hidden;background:0 0}.jsoneditor{color:#1A1A1A;border:1px solid #97B0F8;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;overflow:auto;position:relative;padding:0;line-height:100%}.jsoneditor div.tree table.tree{border-collapse:collapse;border-spacing:0;width:100%;margin:0}.jsoneditor div.outer{width:100%;height:100%;margin:-35px 0 0 0;padding:35px 0 0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.jsoneditor div.tree{width:100%;height:100%;position:relative;overflow:auto}.jsoneditor textarea.text{width:100%;height:100%;margin:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;background-color:#fff;resize:none}.jsoneditor tr.highlight{background-color:#FFFFAB}.jsoneditor div.tree button.dragarea{background:url(img/jsoneditor-icons.png) -72px -72px;cursor:move}.jsoneditor div.tree button.dragarea:focus,.jsoneditor div.tree button.dragarea:hover{background-position:-72px -48px}.jsoneditor td,.jsoneditor th,.jsoneditor tr{padding:0;margin:0}.jsoneditor td,.jsoneditor td.tree{vertical-align:top}.jsoneditor .field,.jsoneditor .value,.jsoneditor td,.jsoneditor textarea,.jsoneditor th{font-family:droid sans mono,monospace,courier new,courier,sans-serif;font-size:10pt;color:#1A1A1A}.jsoneditor-contextmenu{position:absolute;z-index:99999}.jsoneditor-contextmenu ul{position:relative;left:0;top:0;width:124px;background:#fff;border:1px solid #d3d3d3;box-shadow:2px 2px 12px rgba(128,128,128,.3);list-style:none;margin:0;padding:0}.jsoneditor-contextmenu ul li button{padding:0;margin:0;width:124px;height:24px;border:none;cursor:pointer;color:#4d4d4d;background:0 0;line-height:26px;text-align:left}.jsoneditor-contextmenu ul li button::-moz-focus-inner{padding:0;border:0}.jsoneditor-contextmenu ul li button:focus,.jsoneditor-contextmenu ul li button:hover{color:#1a1a1a;background-color:#f5f5f5;outline:0}.jsoneditor-contextmenu ul li button.default{width:92px}.jsoneditor-contextmenu ul li button.expand{float:right;width:32px;height:24px;border-left:1px solid #e5e5e5}.jsoneditor-contextmenu div.icon{float:left;width:24px;height:24px;border:none;padding:0;margin:0;background-image:url(img/jsoneditor-icons.png)}.jsoneditor-contextmenu ul li button div.expand{float:right;width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(img/jsoneditor-icons.png) 0 -72px;opacity:.4}.jsoneditor-contextmenu ul li button.expand:focus div.expand,.jsoneditor-contextmenu ul li button.expand:hover div.expand,.jsoneditor-contextmenu ul li button:focus div.expand,.jsoneditor-contextmenu ul li button:hover div.expand,.jsoneditor-contextmenu ul li.selected div.expand{opacity:1}.jsoneditor-contextmenu .separator{height:0;border-top:1px solid #e5e5e5;padding-top:5px;margin-top:5px}.jsoneditor-contextmenu button.remove>.icon{background-position:-24px -24px}.jsoneditor-contextmenu button.remove:focus>.icon,.jsoneditor-contextmenu button.remove:hover>.icon{background-position:-24px 0}.jsoneditor-contextmenu button.append>.icon{background-position:0 -24px}.jsoneditor-contextmenu button.append:focus>.icon,.jsoneditor-contextmenu button.append:hover>.icon{background-position:0 0}.jsoneditor-contextmenu button.insert>.icon{background-position:0 -24px}.jsoneditor-contextmenu button.insert:focus>.icon,.jsoneditor-contextmenu button.insert:hover>.icon{background-position:0 0}.jsoneditor-contextmenu button.duplicate>.icon{background-position:-48px -24px}.jsoneditor-contextmenu button.duplicate:focus>.icon,.jsoneditor-contextmenu button.duplicate:hover>.icon{background-position:-48px 0}.jsoneditor-contextmenu button.sort-asc>.icon{background-position:-168px -24px}.jsoneditor-contextmenu button.sort-asc:focus>.icon,.jsoneditor-contextmenu button.sort-asc:hover>.icon{background-position:-168px 0}.jsoneditor-contextmenu button.sort-desc>.icon{background-position:-192px -24px}.jsoneditor-contextmenu button.sort-desc:focus>.icon,.jsoneditor-contextmenu button.sort-desc:hover>.icon{background-position:-192px 0}.jsoneditor-contextmenu ul li .selected{background-color:#D5DDF6}.jsoneditor-contextmenu ul li{overflow:hidden}.jsoneditor-contextmenu ul li ul{display:none;position:relative;left:-10px;top:0;border:none;box-shadow:inset 0 0 10px rgba(128,128,128,.5);padding:0 10px;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.jsoneditor-contextmenu ul li ul li button{padding-left:24px}.jsoneditor-contextmenu ul li ul li button:focus,.jsoneditor-contextmenu ul li ul li button:hover{background-color:#f5f5f5}.jsoneditor-contextmenu button.type-string>.icon{background-position:-144px -24px}.jsoneditor-contextmenu button.type-string.selected>.icon,.jsoneditor-contextmenu button.type-string:focus>.icon,.jsoneditor-contextmenu button.type-string:hover>.icon{background-position:-144px 0}.jsoneditor-contextmenu button.type-auto>.icon{background-position:-120px -24px}.jsoneditor-contextmenu button.type-auto.selected>.icon,.jsoneditor-contextmenu button.type-auto:focus>.icon,.jsoneditor-contextmenu button.type-auto:hover>.icon{background-position:-120px 0}.jsoneditor-contextmenu button.type-object>.icon{background-position:-72px -24px}.jsoneditor-contextmenu button.type-object.selected>.icon,.jsoneditor-contextmenu button.type-object:focus>.icon,.jsoneditor-contextmenu button.type-object:hover>.icon{background-position:-72px 0}.jsoneditor-contextmenu button.type-array>.icon{background-position:-96px -24px}.jsoneditor-contextmenu button.type-array.selected>.icon,.jsoneditor-contextmenu button.type-array:focus>.icon,.jsoneditor-contextmenu button.type-array:hover>.icon{background-position:-96px 0}.jsoneditor-contextmenu button.type-modes>.icon{background-image:none;width:6px}.jsoneditor .menu{width:100%;height:35px;padding:2px;margin:0;overflow:hidden;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;color:#1A1A1A;background-color:#D5DDF6;border-bottom:1px solid #97B0F8}.jsoneditor .menu button{width:26px;height:26px;margin:2px;padding:0;border-radius:2px;border:1px solid #aec0f8;background:#e3eaf6 url(img/jsoneditor-icons.png);color:#4D4D4D;opacity:.8;font-family:arial,sans-serif;font-size:10pt;float:left}.jsoneditor .menu button:hover{background-color:#f0f2f5}.jsoneditor .menu button:active{background-color:#fff}.jsoneditor .menu button:disabled{background-color:#e3eaf6}.jsoneditor .menu button.collapse-all{background-position:0 -96px}.jsoneditor .menu button.expand-all{background-position:0 -120px}.jsoneditor .menu button.undo{background-position:-24px -96px}.jsoneditor .menu button.undo:disabled{background-position:-24px -120px}.jsoneditor .menu button.redo{background-position:-48px -96px}.jsoneditor .menu button.redo:disabled{background-position:-48px -120px}.jsoneditor .menu button.compact{background-position:-72px -96px}.jsoneditor .menu button.format{background-position:-72px -120px}.jsoneditor .menu button.modes{background-image:none;width:auto;padding-left:6px;padding-right:6px}.jsoneditor .menu button.separator{margin-left:10px}.jsoneditor .menu a{font-family:arial,sans-serif;font-size:10pt;color:#97B0F8;vertical-align:middle}.jsoneditor .menu a:hover{color:red}.jsoneditor .menu a.poweredBy{font-size:8pt;position:absolute;right:0;top:0;padding:10px}.jsoneditor .search .results,.jsoneditor .search input{font-family:arial,sans-serif;font-size:10pt;color:#1A1A1A}.jsoneditor .search{position:absolute;right:2px;top:2px}.jsoneditor .search .frame{border:1px solid #97B0F8;background-color:#fff;padding:0 2px;margin:0}.jsoneditor .search .frame table{border-collapse:collapse}.jsoneditor .search input{width:120px;border:none;outline:0;margin:1px}.jsoneditor .search .results{color:#4d4d4d;padding-right:5px;line-height:24px}.jsoneditor .search button{width:16px;height:24px;padding:0;margin:0;border:none;background:url(img/jsoneditor-icons.png);vertical-align:top}.jsoneditor .search button:hover{background-color:transparent}.jsoneditor .search button.refresh{width:18px;background-position:-99px -73px}.jsoneditor .search button.next{cursor:pointer;background-position:-124px -73px}.jsoneditor .search button.next:hover{background-position:-124px -49px}.jsoneditor .search button.previous{cursor:pointer;background-position:-148px -73px;margin-right:2px}.jsoneditor .search button.previous:hover{background-position:-148px -49px} \ No newline at end of file diff --git a/jsoneditor-min.js b/jsoneditor-min.js index b20da71..2483873 100644 --- a/jsoneditor-min.js +++ b/jsoneditor-min.js @@ -8,10 +8,6 @@ * Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 8+ * * @license - * This json editor is open sourced with the intention to use the editor as - * a component in your own application. Not to just copy and monetize the editor - * as it is. - * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at @@ -27,8 +23,8 @@ * Copyright (c) 2011-2013 Jos de Jong, http://jsoneditoronline.org * * @author Jos de Jong, - * @version 2.3.6 - * @date 2014-01-03 + * @version 2.3.7-SNAPSHOT + * @date 2014-05-29 */ -!function(){function e(t,i,o){if(!(this instanceof e))throw new Error('JSONEditor constructor called without "new".');var n=util.getInternetExplorerVersion();if(-1!=n&&9>n)throw new Error("Unsupported browser, IE9 or newer required. Please install the newest version of your browser.");arguments.length&&this._create(t,i,o)}function t(e,i,o){if(!(this instanceof t))throw new Error('TreeEditor constructor called without "new".');this._create(e,i,o)}function i(e,t,o){if(!(this instanceof i))throw new Error('TextEditor constructor called without "new".');this._create(e,t,o)}function o(e,t){this.editor=e,this.dom={},this.expanded=!1,t&&t instanceof Object?(this.setField(t.field,t.fieldEditable),this.setValue(t.value,t.type)):(this.setField(""),this.setValue(null))}function n(e){this.editor=e,this.dom={}}function s(e,t){function i(e,t,n){n.forEach(function(n){if("separator"==n.type){var s=document.createElement("div");s.className="separator",a=document.createElement("li"),a.appendChild(s),e.appendChild(a)}else{var r={},a=document.createElement("li");e.appendChild(a);var l=document.createElement("button");if(l.className=n.className,r.button=l,n.title&&(l.title=n.title),n.click&&(l.onclick=function(){o.hide(),n.click()}),a.appendChild(l),n.submenu){var d=document.createElement("div");d.className="icon",l.appendChild(d),l.appendChild(document.createTextNode(n.text));var h;if(n.click){l.className+=" default";var c=document.createElement("button");r.buttonExpand=c,c.className="expand",c.innerHTML='
',a.appendChild(c),n.submenuTitle&&(c.title=n.submenuTitle),h=c}else{var u=document.createElement("div");u.className="expand",l.appendChild(u),h=l}h.onclick=function(){o._onExpandItem(r),h.focus()};var p=[];r.subItems=p;var m=document.createElement("ul");r.ul=m,m.className="menu",m.style.height="0",a.appendChild(m),i(m,p,n.submenu)}else l.innerHTML='
'+n.text;t.push(r)}})}this.dom={};var o=this,n=this.dom;this.anchor=void 0,this.items=e,this.eventListeners={},this.selection=void 0,this.visibleSubmenu=void 0,this.onClose=t?t.close:void 0;var s=document.createElement("div");s.className="jsoneditor-contextmenu",n.menu=s;var r=document.createElement("ul");r.className="menu",s.appendChild(r),n.list=r,n.items=[];var a=document.createElement("button");n.focusButton=a;var l=document.createElement("li");l.style.overflow="hidden",l.style.height="0",l.appendChild(a),r.appendChild(l),i(r,this.dom.items,e),this.maxHeight=0,e.forEach(function(t){var i=24*(e.length+(t.submenu?t.submenu.length:0));o.maxHeight=Math.max(o.maxHeight,i)})}function r(e){this.editor=e,this.clear(),this.actions={editField:{undo:function(e){e.node.updateField(e.oldValue)},redo:function(e){e.node.updateField(e.newValue)}},editValue:{undo:function(e){e.node.updateValue(e.oldValue)},redo:function(e){e.node.updateValue(e.newValue)}},appendNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.appendChild(e.node)}},insertBeforeNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.insertBefore(e.node,e.beforeNode)}},insertAfterNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.insertAfter(e.node,e.afterNode)}},removeNode:{undo:function(e){var t=e.parent,i=t.childs[e.index]||t.append;t.insertBefore(e.node,i)},redo:function(e){e.parent.removeChild(e.node)}},duplicateNode:{undo:function(e){e.parent.removeChild(e.clone)},redo:function(e){e.parent.insertAfter(e.clone,e.node)}},changeType:{undo:function(e){e.node.changeType(e.oldType)},redo:function(e){e.node.changeType(e.newType)}},moveNode:{undo:function(e){e.startParent.moveTo(e.node,e.startIndex)},redo:function(e){e.endParent.moveTo(e.node,e.endIndex)}},sort:{undo:function(e){var t=e.node;t.hideChilds(),t.sort=e.oldSort,t.childs=e.oldChilds,t.showChilds()},redo:function(e){var t=e.node;t.hideChilds(),t.sort=e.newSort,t.childs=e.newChilds,t.showChilds()}}}}function a(e,t,i){function o(t){e.setMode(t);var i=e.dom&&e.dom.modeBox;i&&i.focus()}for(var n={code:{text:"Code",title:"Switch to code highlighter",click:function(){o("code")}},form:{text:"Form",title:"Switch to form editor",click:function(){o("form")}},text:{text:"Text",title:"Switch to plain text editor",click:function(){o("text")}},tree:{text:"Tree",title:"Switch to tree editor",click:function(){o("tree")}},view:{text:"View",title:"Switch to tree view",click:function(){o("view")}}},r=[],a=0;ae&&i.scrollTop>0?(o+r-e)/3:e>s-r&&n+i.scrollTop3?(i.scrollTop+=n/3,o.animateCallback=t,o.animateTimeout=setTimeout(a,50)):(t&&t(!0),i.scrollTop=r,delete o.animateTimeout,delete o.animateCallback)};a()}else t&&t(!1)},t.prototype._createFrame=function(){this.frame=document.createElement("div"),this.frame.className="jsoneditor",this.container.appendChild(this.frame);var e=this,t=function(t){e._onEvent(t)};this.frame.onclick=function(e){var i=e.target;t(e),"BUTTON"==i.nodeName&&e.preventDefault()},this.frame.oninput=t,this.frame.onchange=t,this.frame.onkeydown=t,this.frame.onkeyup=t,this.frame.oncut=t,this.frame.onpaste=t,this.frame.onmousedown=t,this.frame.onmouseup=t,this.frame.onmouseover=t,this.frame.onmouseout=t,util.addEventListener(this.frame,"focus",t,!0),util.addEventListener(this.frame,"blur",t,!0),this.frame.onfocusin=t,this.frame.onfocusout=t,this.menu=document.createElement("div"),this.menu.className="menu",this.frame.appendChild(this.menu);var i=document.createElement("button");i.className="expand-all",i.title="Expand all fields",i.onclick=function(){e.expandAll()},this.menu.appendChild(i);var o=document.createElement("button");if(o.title="Collapse all fields",o.className="collapse-all",o.onclick=function(){e.collapseAll()},this.menu.appendChild(o),this.history){var n=document.createElement("button");n.className="undo separator",n.title="Undo last action (Ctrl+Z)",n.onclick=function(){e._onUndo()},this.menu.appendChild(n),this.dom.undo=n;var s=document.createElement("button");s.className="redo",s.title="Redo (Ctrl+Shift+Z)",s.onclick=function(){e._onRedo()},this.menu.appendChild(s),this.dom.redo=s,this.history.onChange=function(){n.disabled=!e.history.canUndo(),s.disabled=!e.history.canRedo()},this.history.onChange()}if(this.options&&this.options.modes&&this.options.modes.length){var r=a(this,this.options.modes,this.options.mode);this.menu.appendChild(r),this.dom.modeBox=r}this.options.search&&(this.searchBox=new l(this,this.menu))},t.prototype._onUndo=function(){this.history&&(this.history.undo(),this.options.change&&this.options.change())},t.prototype._onRedo=function(){this.history&&(this.history.redo(),this.options.change&&this.options.change())},t.prototype._onEvent=function(e){var i=e.target;"keydown"==e.type&&this._onKeyDown(e),"focus"==e.type&&(t.domFocus=i);var n=o.getNodeFromTarget(i);n&&n.onEvent(e)},t.prototype._onKeyDown=function(e){var i=e.which||e.keyCode,o=e.ctrlKey,n=e.shiftKey,s=!1;if(9==i&&setTimeout(function(){util.selectContentEditable(t.domFocus)},0),this.searchBox)if(o&&70==i)this.searchBox.dom.search.focus(),this.searchBox.dom.search.select(),s=!0;else if(114==i||o&&71==i){var r=!0;n?this.searchBox.previous(r):this.searchBox.next(r),s=!0}this.history&&(o&&!n&&90==i?(this._onUndo(),s=!0):o&&n&&90==i&&(this._onRedo(),s=!0)),s&&(e.preventDefault(),e.stopPropagation())},t.prototype._createTable=function(){var e=document.createElement("div");e.className="outer",this.contentOuter=e,this.content=document.createElement("div"),this.content.className="tree",e.appendChild(this.content),this.table=document.createElement("table"),this.table.className="tree",this.content.appendChild(this.table);var t;this.colgroupContent=document.createElement("colgroup"),this.mode.edit&&(t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t)),t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t),t=document.createElement("col"),this.colgroupContent.appendChild(t),this.table.appendChild(this.colgroupContent),this.tbody=document.createElement("tbody"),this.table.appendChild(this.tbody),this.frame.appendChild(e)},e.modes.tree={editor:t,data:"json"},e.modes.view={editor:t,data:"json"},e.modes.form={editor:t,data:"json"},e.modes.editor={editor:t,data:"json"},e.modes.viewer={editor:t,data:"json"},i.prototype._create=function(e,t,i){t=t||{},this.options=t,this.indentation=t.indentation?Number(t.indentation):2,this.mode="code"==t.mode?"code":"text","code"==this.mode&&"undefined"==typeof ace&&(this.mode="text",util.log("WARNING: Cannot load code editor, Ace library not loaded. Falling back to plain text editor"));var o=this;this.container=e,this.dom={},this.editor=void 0,this.textarea=void 0,this.width=e.clientWidth,this.height=e.clientHeight,this.frame=document.createElement("div"),this.frame.className="jsoneditor",this.frame.onclick=function(e){e.preventDefault()},this.menu=document.createElement("div"),this.menu.className="menu",this.frame.appendChild(this.menu);var n=document.createElement("button");n.className="format",n.title="Format JSON data, with proper indentation and line feeds",this.menu.appendChild(n),n.onclick=function(){try{o.format()}catch(e){o._onError(e)}};var s=document.createElement("button");if(s.className="compact",s.title="Compact JSON data, remove all whitespaces",this.menu.appendChild(s),s.onclick=function(){try{o.compact()}catch(e){o._onError(e)}},this.options&&this.options.modes&&this.options.modes.length){var r=a(this,this.options.modes,this.options.mode);this.menu.appendChild(r),this.dom.modeBox=r}if(this.content=document.createElement("div"),this.content.className="outer",this.frame.appendChild(this.content),this.container.appendChild(this.frame),"code"==this.mode){this.editorDom=document.createElement("div"),this.editorDom.style.height="100%",this.editorDom.style.width="100%",this.content.appendChild(this.editorDom);var l=ace.edit(this.editorDom);l.setTheme("ace/theme/jsoneditor"),l.setShowPrintMargin(!1),l.setFontSize(13),l.getSession().setMode("ace/mode/json"),l.getSession().setUseSoftTabs(!0),l.getSession().setUseWrapMode(!0),this.editor=l;var d=document.createElement("a");d.appendChild(document.createTextNode("powered by ace")),d.href="http://ace.ajax.org",d.target="_blank",d.className="poweredBy",d.onclick=function(){window.open(d.href,d.target)},this.menu.appendChild(d),t.change&&l.on("change",function(){t.change()})}else{var h=document.createElement("textarea");h.className="text",h.spellcheck=!1,this.content.appendChild(h),this.textarea=h,t.change&&(null===this.textarea.oninput?this.textarea.oninput=function(){t.change()}:this.textarea.onchange=function(){t.change()})}"string"==typeof i?this.setText(i):this.set(i)},i.prototype._delete=function(){this.frame&&this.container&&this.frame.parentNode==this.container&&this.container.removeChild(this.frame)},i.prototype._onError=function(e){if("function"==typeof this.onError&&(util.log("WARNING: JSONEditor.onError is deprecated. Use options.error instead."),this.onError(e)),!this.options||"function"!=typeof this.options.error)throw e;this.options.error(e)},i.prototype.compact=function(){var e=util.parse(this.getText());this.setText(JSON.stringify(e))},i.prototype.format=function(){var e=util.parse(this.getText());this.setText(JSON.stringify(e,null,this.indentation))},i.prototype.focus=function(){this.textarea&&this.textarea.focus(),this.editor&&this.editor.focus()},i.prototype.resize=function(){if(this.editor){var e=!1;this.editor.resize(e)}},i.prototype.set=function(e){this.setText(JSON.stringify(e,null,this.indentation))},i.prototype.get=function(){return util.parse(this.getText())},i.prototype.getText=function(){return this.textarea?this.textarea.value:this.editor?this.editor.getValue():""},i.prototype.setText=function(e){this.textarea&&(this.textarea.value=e),this.editor&&this.editor.setValue(e,-1)},e.modes.text={editor:i,data:"text",load:i.prototype.format},e.modes.code={editor:i,data:"text",load:i.prototype.format},o.prototype.setParent=function(e){this.parent=e},o.prototype.setField=function(e,t){this.field=e,this.fieldEditable=1==t},o.prototype.getField=function(){return void 0===this.field&&this._getDomField(),this.field},o.prototype.setValue=function(e,t){var i,n,s=this.childs;if(s)for(;s.length;)this.removeChild(s[0]);if(this.type=this._getType(e),t&&t!=this.type){if("string"!=t||"auto"!=this.type)throw new Error('Type mismatch: cannot cast value of type "'+this.type+' to the specified type "'+t+'"');this.type=t}if("array"==this.type){this.childs=[];for(var r=0,a=e.length;a>r;r++)i=e[r],void 0===i||i instanceof Function||(n=new o(this.editor,{value:i}),this.appendChild(n));this.value=""}else if("object"==this.type){this.childs=[];for(var l in e)e.hasOwnProperty(l)&&(i=e[l],void 0===i||i instanceof Function||(n=new o(this.editor,{field:l,value:i}),this.appendChild(n)));this.value=""}else this.childs=void 0,this.value=e},o.prototype.getValue=function(){if("array"==this.type){var e=[];return this.childs.forEach(function(t){e.push(t.getValue())}),e}if("object"==this.type){var t={};return this.childs.forEach(function(e){t[e.getField()]=e.getValue()}),t}return void 0===this.value&&this._getDomValue(),this.value},o.prototype.getLevel=function(){return this.parent?this.parent.getLevel()+1:0},o.prototype.clone=function(){var e=new o(this.editor);if(e.type=this.type,e.field=this.field,e.fieldInnerText=this.fieldInnerText,e.fieldEditable=this.fieldEditable,e.value=this.value,e.valueInnerText=this.valueInnerText,e.expanded=this.expanded,this.childs){var t=[];this.childs.forEach(function(i){var o=i.clone();o.setParent(e),t.push(o)}),e.childs=t}else e.childs=void 0;return e},o.prototype.expand=function(e){this.childs&&(this.expanded=!0,this.dom.expand&&(this.dom.expand.className="expanded"),this.showChilds(),0!=e&&this.childs.forEach(function(t){t.expand(e)}))},o.prototype.collapse=function(e){this.childs&&(this.hideChilds(),0!=e&&this.childs.forEach(function(t){t.collapse(e)}),this.dom.expand&&(this.dom.expand.className="collapsed"),this.expanded=!1)},o.prototype.showChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.dom.tr,i=t?t.parentNode:void 0;if(i){var o=this.getAppend(),n=t.nextSibling;n?i.insertBefore(o,n):i.appendChild(o),this.childs.forEach(function(e){i.insertBefore(e.getDom(),o),e.showChilds()})}}},o.prototype.hide=function(){var e=this.dom.tr,t=e?e.parentNode:void 0;t&&t.removeChild(e),this.hideChilds()},o.prototype.hideChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.getAppend();t.parentNode&&t.parentNode.removeChild(t),this.childs.forEach(function(e){e.hide()})}},o.prototype.appendChild=function(e){if(this._hasChilds()){if(e.setParent(this),e.fieldEditable="object"==this.type,"array"==this.type&&(e.index=this.childs.length),this.childs.push(e),this.expanded){var t=e.getDom(),i=this.getAppend(),o=i?i.parentNode:void 0;i&&o&&o.insertBefore(t,i),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},o.prototype.moveBefore=function(e,t){if(this._hasChilds()){var i=this.dom.tr?this.dom.tr.parentNode:void 0;if(i){var o=document.createElement("tr");o.style.height=i.clientHeight+"px",i.appendChild(o)}e.parent&&e.parent.removeChild(e),t instanceof n?this.appendChild(e):this.insertBefore(e,t),i&&i.removeChild(o)}},o.prototype.moveTo=function(e,t){if(e.parent==this){var i=this.childs.indexOf(e);t>i&&t++}var o=this.childs[t]||this.append;this.moveBefore(e,o)},o.prototype.insertBefore=function(e,t){if(this._hasChilds()){if(t==this.append)e.setParent(this),e.fieldEditable="object"==this.type,this.childs.push(e);else{var i=this.childs.indexOf(t);if(-1==i)throw new Error("Node not found");e.setParent(this),e.fieldEditable="object"==this.type,this.childs.splice(i,0,e)}if(this.expanded){var o=e.getDom(),n=t.getDom(),s=n?n.parentNode:void 0;n&&s&&s.insertBefore(o,n),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},o.prototype.insertAfter=function(e,t){if(this._hasChilds()){var i=this.childs.indexOf(t),o=this.childs[i+1];o?this.insertBefore(e,o):this.appendChild(e)}},o.prototype.search=function(e){var t,i=[],o=e?e.toLowerCase():void 0;if(delete this.searchField,delete this.searchValue,void 0!=this.field){var n=String(this.field).toLowerCase();t=n.indexOf(o),-1!=t&&(this.searchField=!0,i.push({node:this,elem:"field"})),this._updateDomField()}if(this._hasChilds()){if(this.childs){var s=[];this.childs.forEach(function(t){s=s.concat(t.search(e))}),i=i.concat(s)}if(void 0!=o){var r=!1;0==s.length?this.collapse(r):this.expand(r)}}else{if(void 0!=this.value){var a=String(this.value).toLowerCase();t=a.indexOf(o),-1!=t&&(this.searchValue=!0,i.push({node:this,elem:"value"}))}this._updateDomValue()}return i},o.prototype.scrollTo=function(e){if(!this.dom.tr||!this.dom.tr.parentNode)for(var t=this.parent,i=!1;t;)t.expand(i),t=t.parent;this.dom.tr&&this.dom.tr.parentNode&&this.editor.scrollTo(this.dom.tr.offsetTop,e)},o.focusElement=void 0,o.prototype.focus=function(e){if(o.focusElement=e,this.dom.tr&&this.dom.tr.parentNode){var t=this.dom;switch(e){case"drag":t.drag?t.drag.focus():t.menu.focus();break;case"menu":t.menu.focus();break;case"expand":this._hasChilds()?t.expand.focus():t.field&&this.fieldEditable?(t.field.focus(),util.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),util.selectContentEditable(t.value)):t.menu.focus();break;case"field":t.field&&this.fieldEditable?(t.field.focus(),util.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),util.selectContentEditable(t.value)):this._hasChilds()?t.expand.focus():t.menu.focus();break;case"value":default:t.value&&!this._hasChilds()?(t.value.focus(),util.selectContentEditable(t.value)):t.field&&this.fieldEditable?(t.field.focus(),util.selectContentEditable(t.field)):this._hasChilds()?t.expand.focus():t.menu.focus()}}},o.select=function(e){setTimeout(function(){util.selectContentEditable(e)},0)},o.prototype.blur=function(){this._getDomValue(!1),this._getDomField(!1)},o.prototype._duplicate=function(e){var t=e.clone();return this.insertAfter(t,e),t},o.prototype.containsNode=function(e){if(this==e)return!0;var t=this.childs;if(t)for(var i=0,o=t.length;o>i;i++)if(t[i].containsNode(e))return!0;return!1},o.prototype._move=function(e,t){if(e!=t){if(e.containsNode(this))throw new Error("Cannot move a field into a child of itself");e.parent&&e.parent.removeChild(e);var i=e.clone();e.clearDom(),t?this.insertBefore(i,t):this.appendChild(i)}},o.prototype.removeChild=function(e){if(this.childs){var t=this.childs.indexOf(e);if(-1!=t){e.hide(),delete e.searchField,delete e.searchValue;var i=this.childs.splice(t,1)[0];return this.updateDom({updateIndexes:!0}),i}}return void 0},o.prototype._remove=function(e){this.removeChild(e)},o.prototype.changeType=function(e){var t=this.type;if(t!=e){if("string"!=e&&"auto"!=e||"string"!=t&&"auto"!=t){var i,o=this.dom.tr?this.dom.tr.parentNode:void 0;i=this.expanded?this.getAppend():this.getDom();var n=i&&i.parentNode?i.nextSibling:void 0;this.hide(),this.clearDom(),this.type=e,"object"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e){e.clearDom(),delete e.index,e.fieldEditable=!0,void 0==e.field&&(e.field="")}),("string"==t||"auto"==t)&&(this.expanded=!0)):"array"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e,t){e.clearDom(),e.fieldEditable=!1,e.index=t}),("string"==t||"auto"==t)&&(this.expanded=!0)):this.expanded=!1,o&&(n?o.insertBefore(this.getDom(),n):o.appendChild(this.getDom())),this.showChilds()}else this.type=e;("auto"==e||"string"==e)&&(this.value="string"==e?String(this.value):this._stringCast(String(this.value)),this.focus()),this.updateDom({updateIndexes:!0})}},o.prototype._getDomValue=function(e){if(this.dom.value&&"array"!=this.type&&"object"!=this.type&&(this.valueInnerText=util.getInnerText(this.dom.value)),void 0!=this.valueInnerText)try{var t;if("string"==this.type)t=this._unescapeHTML(this.valueInnerText);else{var i=this._unescapeHTML(this.valueInnerText);t=this._stringCast(i)}if(t!==this.value){var o=this.value;this.value=t,this.editor._onAction("editValue",{node:this,oldValue:o,newValue:t,oldSelection:this.editor.selection,newSelection:this.editor.getSelection()})}}catch(n){if(this.value=void 0,1!=e)throw n}},o.prototype._updateDomValue=function(){var e=this.dom.value;if(e){var t=this.value,i="auto"==this.type?util.type(t):this.type,o="string"==i&&util.isUrl(t),n="";n=o&&!this.editor.mode.edit?"":"string"==i?"green":"number"==i?"red":"boolean"==i?"darkorange":this._hasChilds()?"":null===t?"#004ED0":"black",e.style.color=n;var s=""==String(this.value)&&"array"!=this.type&&"object"!=this.type;if(s?util.addClassName(e,"empty"):util.removeClassName(e,"empty"),o?util.addClassName(e,"url"):util.removeClassName(e,"url"),"array"==i||"object"==i){var r=this.childs?this.childs.length:0;e.title=this.type+" containing "+r+" items"}else"string"==i&&util.isUrl(t)?this.editor.mode.edit&&(e.title="Ctrl+Click or Ctrl+Enter to open url in new window"):e.title="";this.searchValueActive?util.addClassName(e,"highlight-active"):util.removeClassName(e,"highlight-active"),this.searchValue?util.addClassName(e,"highlight"):util.removeClassName(e,"highlight"),util.stripFormatting(e)}},o.prototype._updateDomField=function(){var e=this.dom.field;if(e){var t=""==String(this.field)&&"array"!=this.parent.type;t?util.addClassName(e,"empty"):util.removeClassName(e,"empty"),this.searchFieldActive?util.addClassName(e,"highlight-active"):util.removeClassName(e,"highlight-active"),this.searchField?util.addClassName(e,"highlight"):util.removeClassName(e,"highlight"),util.stripFormatting(e)}},o.prototype._getDomField=function(e){if(this.dom.field&&this.fieldEditable&&(this.fieldInnerText=util.getInnerText(this.dom.field)),void 0!=this.fieldInnerText)try{var t=this._unescapeHTML(this.fieldInnerText);if(t!==this.field){var i=this.field;this.field=t,this.editor._onAction("editField",{node:this,oldValue:i,newValue:t,oldSelection:this.editor.selection,newSelection:this.editor.getSelection()})}}catch(o){if(this.field=void 0,1!=e)throw o}},o.prototype.clearDom=function(){this.dom={}},o.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;if(e.tr=document.createElement("tr"),e.tr.node=this,this.editor.mode.edit){var t=document.createElement("td");if(this.parent){var i=document.createElement("button");e.drag=i,i.className="dragarea",i.title="Drag to move this field (Alt+Shift+Arrows)",t.appendChild(i)}e.tr.appendChild(t);var o=document.createElement("td"),n=document.createElement("button");e.menu=n,n.className="contextmenu",n.title="Click to open the actions menu (Ctrl+M)",o.appendChild(e.menu),e.tr.appendChild(o)}var s=document.createElement("td");return e.tr.appendChild(s),e.tree=this._createDomTree(),s.appendChild(e.tree),this.updateDom({updateIndexes:!0}),e.tr},o.prototype._onDragStart=function(e){var t=this;this.mousemove||(this.mousemove=util.addEventListener(document,"mousemove",function(e){t._onDrag(e)})),this.mouseup||(this.mouseup=util.addEventListener(document,"mouseup",function(e){t._onDragEnd(e)})),this.editor.highlighter.lock(),this.drag={oldCursor:document.body.style.cursor,startParent:this.parent,startIndex:this.parent.childs.indexOf(this),mouseX:e.pageX,level:this.getLevel()},document.body.style.cursor="move",e.preventDefault()},o.prototype._onDrag=function(e){var t,i,s,r,a,l,d,h,c,u,p,m,f,v,g=e.pageY,y=e.pageX,x=!1;if(t=this.dom.tr,c=util.getAbsoluteTop(t),m=t.offsetHeight,c>g){i=t;do i=i.previousSibling,d=o.getNodeFromTarget(i),u=i?util.getAbsoluteTop(i):0;while(i&&u>g);d&&!d.parent&&(d=void 0),d||(l=t.parentNode.firstChild,i=l?l.nextSibling:void 0,d=o.getNodeFromTarget(i),d==this&&(d=void 0)),d&&(i=d.dom.tr,u=i?util.getAbsoluteTop(i):0,g>u+m&&(d=void 0)),d&&(d.parent.moveBefore(this,d),x=!0)}else if(a=this.expanded&&this.append?this.append.getDom():this.dom.tr,r=a?a.nextSibling:void 0){p=util.getAbsoluteTop(r),s=r;do h=o.getNodeFromTarget(s),s&&(f=s.nextSibling?util.getAbsoluteTop(s.nextSibling):0,v=s?f-p:0,1==h.parent.childs.length&&h.parent.childs[0]==this&&(c+=23)),s=s.nextSibling;while(s&&g>c+v);if(h&&h.parent){var C=y-this.drag.mouseX,b=Math.round(C/24/2),N=this.drag.level+b,E=h.getLevel();for(i=h.dom.tr.previousSibling;N>E&&i;){if(d=o.getNodeFromTarget(i),d==this||d._isChildOf(this));else{if(!(d instanceof n))break;var _=d.parent.childs;if(!(_.length>1||1==_.length&&_[0]!=this))break;h=o.getNodeFromTarget(i),E=h.getLevel()}i=i.previousSibling}a.nextSibling!=h.dom.tr&&(h.parent.moveBefore(this,h),x=!0) -}}x&&(this.drag.mouseX=y,this.drag.level=this.getLevel()),this.editor.startAutoScroll(g),e.preventDefault()},o.prototype._onDragEnd=function(e){var t={node:this,startParent:this.drag.startParent,startIndex:this.drag.startIndex,endParent:this.parent,endIndex:this.parent.childs.indexOf(this)};(t.startParent!=t.endParent||t.startIndex!=t.endIndex)&&this.editor._onAction("moveNode",t),document.body.style.cursor=this.drag.oldCursor,this.editor.highlighter.unlock(),delete this.drag,this.mousemove&&(util.removeEventListener(document,"mousemove",this.mousemove),delete this.mousemove),this.mouseup&&(util.removeEventListener(document,"mouseup",this.mouseup),delete this.mouseup),this.editor.stopAutoScroll(),e.preventDefault()},o.prototype._isChildOf=function(e){for(var t=this.parent;t;){if(t==e)return!0;t=t.parent}return!1},o.prototype._createDomField=function(){return document.createElement("div")},o.prototype.setHighlight=function(e){this.dom.tr&&(this.dom.tr.className=e?"highlight":"",this.append&&this.append.setHighlight(e),this.childs&&this.childs.forEach(function(t){t.setHighlight(e)}))},o.prototype.updateValue=function(e){this.value=e,this.updateDom()},o.prototype.updateField=function(e){this.field=e,this.updateDom()},o.prototype.updateDom=function(e){var t=this.dom.tree;t&&(t.style.marginLeft=24*this.getLevel()+"px");var i=this.dom.field;if(i){1==this.fieldEditable?(i.contentEditable=this.editor.mode.edit,i.spellcheck=!1,i.className="field"):i.className="readonly";var o;o=void 0!=this.index?this.index:void 0!=this.field?this.field:this._hasChilds()?this.type:"",i.innerHTML=this._escapeHTML(o)}var n=this.dom.value;if(n){var s=this.childs?this.childs.length:0;n.innerHTML="array"==this.type?"["+s+"]":"object"==this.type?"{"+s+"}":this._escapeHTML(this.value)}this._updateDomField(),this._updateDomValue(),e&&1==e.updateIndexes&&this._updateDomIndexes(),e&&1==e.recurse&&this.childs&&this.childs.forEach(function(t){t.updateDom(e)}),this.append&&this.append.updateDom()},o.prototype._updateDomIndexes=function(){var e=this.dom.value,t=this.childs;e&&t&&("array"==this.type?t.forEach(function(e,t){e.index=t;var i=e.dom.field;i&&(i.innerHTML=t)}):"object"==this.type&&t.forEach(function(e){void 0!=e.index&&(delete e.index,void 0==e.field&&(e.field=""))}))},o.prototype._createDomValue=function(){var e;return"array"==this.type?(e=document.createElement("div"),e.className="readonly",e.innerHTML="[...]"):"object"==this.type?(e=document.createElement("div"),e.className="readonly",e.innerHTML="{...}"):!this.editor.mode.edit&&util.isUrl(this.value)?(e=document.createElement("a"),e.className="value",e.href=this.value,e.target="_blank",e.innerHTML=this._escapeHTML(this.value)):(e=document.createElement("div"),e.contentEditable=!this.editor.mode.view,e.spellcheck=!1,e.className="value",e.innerHTML=this._escapeHTML(this.value)),e},o.prototype._createDomExpandButton=function(){var e=document.createElement("button");return this._hasChilds()?(e.className=this.expanded?"expanded":"collapsed",e.title="Click to expand/collapse this field (Ctrl+E). \nCtrl+Click to expand/collapse including all childs."):(e.className="invisible",e.title=""),e},o.prototype._createDomTree=function(){var e=this.dom,t=document.createElement("table"),i=document.createElement("tbody");t.style.borderCollapse="collapse",t.className="values",t.appendChild(i);var o=document.createElement("tr");i.appendChild(o);var n=document.createElement("td");n.className="tree",o.appendChild(n),e.expand=this._createDomExpandButton(),n.appendChild(e.expand),e.tdExpand=n;var s=document.createElement("td");s.className="tree",o.appendChild(s),e.field=this._createDomField(),s.appendChild(e.field),e.tdField=s;var r=document.createElement("td");r.className="tree",o.appendChild(r),"object"!=this.type&&"array"!=this.type&&(r.appendChild(document.createTextNode(":")),r.className="separator"),e.tdSeparator=r;var a=document.createElement("td");return a.className="tree",o.appendChild(a),e.value=this._createDomValue(),a.appendChild(e.value),e.tdValue=a,t},o.prototype.onEvent=function(e){var t,i=e.type,o=e.target||e.srcElement,n=this.dom,s=this,r=this._hasChilds();if((o==n.drag||o==n.menu)&&("mouseover"==i?this.editor.highlighter.highlight(this):"mouseout"==i&&this.editor.highlighter.unhighlight()),"mousedown"==i&&o==n.drag&&this._onDragStart(e),"click"==i&&o==n.menu){var a=s.editor.highlighter;a.highlight(s),a.lock(),util.addClassName(n.menu,"selected"),this.showContextMenu(n.menu,function(){util.removeClassName(n.menu,"selected"),a.unlock(),a.unhighlight()})}if("click"==i&&o==n.expand&&r){var l=e.ctrlKey;this._onExpand(l)}var d=n.value;if(o==d)switch(i){case"focus":t=this;break;case"blur":case"change":this._getDomValue(!0),this._updateDomValue(),this.value&&(d.innerHTML=this._escapeHTML(this.value));break;case"input":this._getDomValue(!0),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"click":e.ctrlKey&&this.editor.mode.edit&&util.isUrl(this.value)&&window.open(this.value,"_blank");break;case"keyup":this._getDomValue(!0),this._updateDomValue();break;case"cut":case"paste":setTimeout(function(){s._getDomValue(!0),s._updateDomValue()},1)}var h=n.field;if(o==h)switch(i){case"focus":t=this;break;case"blur":case"change":this._getDomField(!0),this._updateDomField(),this.field&&(h.innerHTML=this._escapeHTML(this.field));break;case"input":this._getDomField(!0),this._updateDomField();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"keyup":this._getDomField(!0),this._updateDomField();break;case"cut":case"paste":setTimeout(function(){s._getDomField(!0),s._updateDomField()},1)}var c=n.tree;if(o==c.parentNode)switch(i){case"click":var u=void 0!=e.offsetX?e.offsetX<24*(this.getLevel()+1):e.pageXo[i]?t:e[i]/g,">").replace(/ /g,"  ").replace(/^ /," ").replace(/ $/," "),i=JSON.stringify(t);return i.substring(1,i.length-1)},o.prototype._unescapeHTML=function(e){var t='"'+this._escapeJSON(e)+'"',i=util.parse(t);return i.replace(/</g,"<").replace(/>/g,">").replace(/ |\u00A0/g," ")},o.prototype._escapeJSON=function(e){for(var t="",i=0,o=e.length;o>i;){var n=e.charAt(i);"\n"==n?t+="\\n":"\\"==n?(t+=n,i++,n=e.charAt(i),-1=='"\\/bfnrtu'.indexOf(n)&&(t+="\\"),t+=n):t+='"'==n?'\\"':n,i++}return t},n.prototype=new o,n.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;var t=document.createElement("tr");if(t.node=this,e.tr=t,this.editor.mode.edit){e.tdDrag=document.createElement("td");var i=document.createElement("td");e.tdMenu=i;var o=document.createElement("button");o.className="contextmenu",o.title="Click to open the actions menu (Ctrl+M)",e.menu=o,i.appendChild(e.menu)}var n=document.createElement("td"),s=document.createElement("div");return s.innerHTML="(empty)",s.className="readonly",n.appendChild(s),e.td=n,e.text=s,this.updateDom(),t},n.prototype.updateDom=function(){var e=this.dom,t=e.td;t&&(t.style.paddingLeft=24*this.getLevel()+26+"px");var i=e.text;i&&(i.innerHTML="(empty "+this.parent.type+")");var o=e.tr;this.isVisible()?e.tr.firstChild||(e.tdDrag&&o.appendChild(e.tdDrag),e.tdMenu&&o.appendChild(e.tdMenu),o.appendChild(t)):e.tr.firstChild&&(e.tdDrag&&o.removeChild(e.tdDrag),e.tdMenu&&o.removeChild(e.tdMenu),o.removeChild(t))},n.prototype.isVisible=function(){return 0==this.parent.childs.length},n.prototype.showContextMenu=function(e,t){var i=this,n=o.TYPE_TITLES,r=[{text:"Append",title:"Append a new field with type 'auto' (Ctrl+Shift+Ins)",submenuTitle:"Select the type of the field to be appended",className:"insert",click:function(){i._onAppend("","","auto")},submenu:[{text:"Auto",className:"type-auto",title:n.auto,click:function(){i._onAppend("","","auto")}},{text:"Array",className:"type-array",title:n.array,click:function(){i._onAppend("",[])}},{text:"Object",className:"type-object",title:n.object,click:function(){i._onAppend("",{})}},{text:"String",className:"type-string",title:n.string,click:function(){i._onAppend("","","string")}}]}],a=new s(r,{close:t});a.show(e)},n.prototype.onEvent=function(e){var t=e.type,i=e.target||e.srcElement,o=this.dom,n=o.menu;if(i==n&&("mouseover"==t?this.editor.highlighter.highlight(this.parent):"mouseout"==t&&this.editor.highlighter.unhighlight()),"click"==t&&i==o.menu){var s=this.editor.highlighter;s.highlight(this.parent),s.lock(),util.addClassName(o.menu,"selected"),this.showContextMenu(o.menu,function(){util.removeClassName(o.menu,"selected"),s.unlock(),s.unhighlight()})}"keydown"==t&&this.onKeyDown(e)},s.prototype._getVisibleButtons=function(){var e=[],t=this;return this.dom.items.forEach(function(i){e.push(i.button),i.buttonExpand&&e.push(i.buttonExpand),i.subItems&&i==t.expandedItem&&i.subItems.forEach(function(t){e.push(t.button),t.buttonExpand&&e.push(t.buttonExpand)})}),e},s.visibleMenu=void 0,s.prototype.show=function(e){this.hide();var t=window.innerHeight,i=window.pageYOffset||document.scrollTop||0,o=t+i,n=e.offsetHeight,r=this.maxHeight,a=util.getAbsoluteLeft(e),l=util.getAbsoluteTop(e);o>l+n+r?(this.dom.menu.style.left=a+"px",this.dom.menu.style.top=l+n+"px",this.dom.menu.style.bottom=""):(this.dom.menu.style.left=a+"px",this.dom.menu.style.top="",this.dom.menu.style.bottom=t-l+"px"),document.body.appendChild(this.dom.menu);var d=this,h=this.dom.list;this.eventListeners.mousedown=util.addEventListener(document,"mousedown",function(e){var t=e.target;t==h||d._isChildOf(t,h)||(d.hide(),e.stopPropagation(),e.preventDefault())}),this.eventListeners.mousewheel=util.addEventListener(document,"mousewheel",function(e){e.stopPropagation(),e.preventDefault()}),this.eventListeners.keydown=util.addEventListener(document,"keydown",function(e){d._onKeyDown(e)}),this.selection=util.getSelection(),this.anchor=e,setTimeout(function(){d.dom.focusButton.focus()},0),s.visibleMenu&&s.visibleMenu.hide(),s.visibleMenu=this},s.prototype.hide=function(){this.dom.menu.parentNode&&(this.dom.menu.parentNode.removeChild(this.dom.menu),this.onClose&&this.onClose());for(var e in this.eventListeners)if(this.eventListeners.hasOwnProperty(e)){var t=this.eventListeners[e];t&&util.removeEventListener(document,e,t),delete this.eventListeners[e]}s.visibleMenu==this&&(s.visibleMenu=void 0)},s.prototype._onExpandItem=function(e){var t=this,i=e==this.expandedItem,o=this.expandedItem;if(o&&(o.ul.style.height="0",o.ul.style.padding="",setTimeout(function(){t.expandedItem!=o&&(o.ul.style.display="",util.removeClassName(o.ul.parentNode,"selected"))},300),this.expandedItem=void 0),!i){var n=e.ul;n.style.display="block";{n.clientHeight}setTimeout(function(){t.expandedItem==e&&(n.style.height=24*n.childNodes.length+"px",n.style.padding="5px 10px")},0),util.addClassName(n.parentNode,"selected"),this.expandedItem=e}},s.prototype._onKeyDown=function(e){var t,i,o,n,s=e.target,r=e.which,a=!1;27==r?(this.selection&&util.setSelection(this.selection),this.anchor&&this.anchor.focus(),this.hide(),a=!0):9==r?e.shiftKey?(t=this._getVisibleButtons(),i=t.indexOf(s),0==i&&(t[t.length-1].focus(),a=!0)):(t=this._getVisibleButtons(),i=t.indexOf(s),i==t.length-1&&(t[0].focus(),a=!0)):37==r?("expand"==s.className&&(t=this._getVisibleButtons(),i=t.indexOf(s),o=t[i-1],o&&o.focus()),a=!0):38==r?(t=this._getVisibleButtons(),i=t.indexOf(s),o=t[i-1],o&&"expand"==o.className&&(o=t[i-2]),o||(o=t[t.length-1]),o&&o.focus(),a=!0):39==r?(t=this._getVisibleButtons(),i=t.indexOf(s),n=t[i+1],n&&"expand"==n.className&&n.focus(),a=!0):40==r&&(t=this._getVisibleButtons(),i=t.indexOf(s),n=t[i+1],n&&"expand"==n.className&&(n=t[i+2]),n||(n=t[0]),n&&(n.focus(),a=!0),a=!0),a&&(e.stopPropagation(),e.preventDefault())},s.prototype._isChildOf=function(e,t){for(var i=e.parentNode;i;){if(i==t)return!0;i=i.parentNode}return!1},r.prototype.onChange=function(){},r.prototype.add=function(e,t){this.index++,this.history[this.index]={action:e,params:t,timestamp:new Date},this.index=0},r.prototype.canRedo=function(){return this.indexthis.results.length-1&&(t=0),this._setActiveResult(t,e)}},l.prototype.previous=function(e){if(void 0!=this.results){var t=this.results.length-1,i=void 0!=this.resultIndex?this.resultIndex-1:t;0>i&&(i=t),this._setActiveResult(i,e)}},l.prototype._setActiveResult=function(e,t){if(this.activeResult){var i=this.activeResult.node,o=this.activeResult.elem;"field"==o?delete i.searchFieldActive:delete i.searchValueActive,i.updateDom()}if(!this.results||!this.results[e])return this.resultIndex=void 0,this.activeResult=void 0,void 0;this.resultIndex=e;var n=this.results[this.resultIndex].node,s=this.results[this.resultIndex].elem;"field"==s?n.searchFieldActive=!0:n.searchValueActive=!0,this.activeResult=this.results[this.resultIndex],n.updateDom(),n.scrollTo(function(){t&&n.focus(s)})},l.prototype._clearDelay=function(){void 0!=this.timeout&&(clearTimeout(this.timeout),delete this.timeout)},l.prototype._onDelayedSearch=function(){this._clearDelay();var e=this;this.timeout=setTimeout(function(t){e._onSearch(t)},this.delay)},l.prototype._onSearch=function(e,t){this._clearDelay();var i=this.dom.search.value,o=i.length>0?i:void 0;if(o!=this.lastText||t)if(this.lastText=o,this.results=this.editor.search(o),this._setActiveResult(void 0),void 0!=o){var n=this.results.length;switch(n){case 0:this.dom.results.innerHTML="no results";break;case 1:this.dom.results.innerHTML="1 result";break;default:this.dom.results.innerHTML=n+" results"}}else this.dom.results.innerHTML=""},l.prototype._onKeyDown=function(e){var t=e.which;27==t?(this.dom.search.value="",this._onSearch(e),e.preventDefault(),e.stopPropagation()):13==t&&(e.ctrlKey?this._onSearch(e,!0):e.shiftKey?this.previous():this.next(),e.preventDefault(),e.stopPropagation())},l.prototype._onKeyUp=function(e){var t=e.keyCode;27!=t&&13!=t&&this._onDelayedSearch(e)},d.prototype.highlight=function(e){this.locked||(this.node!=e&&(this.node&&this.node.setHighlight(!1),this.node=e,this.node.setHighlight(!0)),this._cancelUnhighlight())},d.prototype.unhighlight=function(){if(!this.locked){var e=this;this.node&&(this._cancelUnhighlight(),this.unhighlightTimer=setTimeout(function(){e.node.setHighlight(!1),e.node=void 0,e.unhighlightTimer=void 0},0))}},d.prototype._cancelUnhighlight=function(){this.unhighlightTimer&&(clearTimeout(this.unhighlightTimer),this.unhighlightTimer=void 0)},d.prototype.lock=function(){this.locked=!0},d.prototype.unlock=function(){this.locked=!1},util={},util.parse=function(e){try{return JSON.parse(e)}catch(t){throw util.validate(e),t}},util.validate=function(e){"undefined"!=typeof jsonlint?jsonlint.parse(e):JSON.parse(e)},util.extend=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},util.clear=function(e){for(var t in e)e.hasOwnProperty(t)&&delete e[t];return e},util.log=function(){"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)},util.type=function(e){return null===e?"null":void 0===e?"undefined":e instanceof Number||"number"==typeof e?"number":e instanceof String||"string"==typeof e?"string":e instanceof Boolean||"boolean"==typeof e?"boolean":e instanceof RegExp||"regexp"==typeof e?"regexp":Array.isArray(e)?"array":"object"};var h=/^https?:\/\/\S+$/;util.isUrl=function(e){return("string"==typeof e||e instanceof String)&&h.test(e)},util.getAbsoluteLeft=function(e){var t=e.getBoundingClientRect();return t.left+window.pageXOffset||document.scrollLeft||0},util.getAbsoluteTop=function(e){var t=e.getBoundingClientRect();return t.top+window.pageYOffset||document.scrollTop||0},util.addClassName=function(e,t){var i=e.className.split(" ");-1==i.indexOf(t)&&(i.push(t),e.className=i.join(" "))},util.removeClassName=function(e,t){var i=e.className.split(" "),o=i.indexOf(t);-1!=o&&(i.splice(o,1),e.className=i.join(" "))},util.stripFormatting=function(e){for(var t=e.childNodes,i=0,o=t.length;o>i;i++){var n=t[i];n.style&&n.removeAttribute("style");var s=n.attributes;if(s)for(var r=s.length-1;r>=0;r--){var a=s[r];1==a.specified&&n.removeAttribute(a.name)}util.stripFormatting(n)}},util.setEndOfContentEditable=function(e){var t,i;document.createRange&&(t=document.createRange(),t.selectNodeContents(e),t.collapse(!1),i=window.getSelection(),i.removeAllRanges(),i.addRange(t))},util.selectContentEditable=function(e){if(e&&"DIV"==e.nodeName){var t,i;window.getSelection&&document.createRange&&(i=document.createRange(),i.selectNodeContents(e),t=window.getSelection(),t.removeAllRanges(),t.addRange(i))}},util.getSelection=function(){if(window.getSelection){var e=window.getSelection();if(e.getRangeAt&&e.rangeCount)return e.getRangeAt(0)}return null},util.setSelection=function(e){if(e&&window.getSelection){var t=window.getSelection();t.removeAllRanges(),t.addRange(e)}},util.getSelectionOffset=function(){var e=util.getSelection();return e&&"startOffset"in e&&"endOffset"in e&&e.startContainer&&e.startContainer==e.endContainer?{startOffset:e.startOffset,endOffset:e.endOffset,container:e.startContainer.parentNode}:null},util.setSelectionOffset=function(e){if(document.createRange&&window.getSelection){var t=window.getSelection();if(t){var i=document.createRange();i.setStart(e.container.firstChild,e.startOffset),i.setEnd(e.container.firstChild,e.endOffset),util.setSelection(i)}}},util.getInnerText=function(e,t){var i=void 0==t;if(i&&(t={text:"",flush:function(){var e=this.text;return this.text="",e},set:function(e){this.text=e}}),e.nodeValue)return t.flush()+e.nodeValue;if(e.hasChildNodes()){for(var o=e.childNodes,n="",s=0,r=o.length;r>s;s++){var a=o[s];if("DIV"==a.nodeName||"P"==a.nodeName){var l=o[s-1],d=l?l.nodeName:void 0;d&&"DIV"!=d&&"P"!=d&&"BR"!=d&&(n+="\n",t.flush()),n+=util.getInnerText(a,t),t.set("\n")}else"BR"==a.nodeName?(n+=t.flush(),t.set("\n")):n+=util.getInnerText(a,t)}return n}return"P"==e.nodeName&&-1!=util.getInternetExplorerVersion()?t.flush():""},util.getInternetExplorerVersion=function(){if(-1==c){var e=-1;if("Microsoft Internet Explorer"==navigator.appName){var t=navigator.userAgent,i=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");null!=i.exec(t)&&(e=parseFloat(RegExp.$1))}c=e}return c},util.isFirefox=function(){return-1!=navigator.userAgent.indexOf("Firefox")};var c=-1;util.addEventListener=function(e,t,i,o){if(e.addEventListener)return void 0===o&&(o=!1),"mousewheel"===t&&util.isFirefox()&&(t="DOMMouseScroll"),e.addEventListener(t,i,o),i;if(e.attachEvent){var n=function(){return i.call(e,window.event)};return e.attachEvent("on"+t,n),n}},util.removeEventListener=function(e,t,i,o){e.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===t&&util.isFirefox()&&(t="DOMMouseScroll"),e.removeEventListener(t,i,o)):e.detachEvent&&e.detachEvent("on"+t,i)};var u={JSONEditor:e,JSONFormatter:function(){throw new Error('JSONFormatter is deprecated. Use JSONEditor with mode "text" or "code" instead')},util:util},p=function(){for(var e=document.getElementsByTagName("script"),t=0;tn)throw new Error("Unsupported browser, IE9 or newer required. Please install the newest version of your browser.");arguments.length&&this._create(t,i,o)}function t(e,i,o){if(!(this instanceof t))throw new Error('TreeEditor constructor called without "new".');this._create(e,i,o)}function i(e,t,o){if(!(this instanceof i))throw new Error('TextEditor constructor called without "new".');this._create(e,t,o)}function o(e,t){this.editor=e,this.dom={},this.expanded=!1,t&&t instanceof Object?(this.setField(t.field,t.fieldEditable),this.setValue(t.value,t.type)):(this.setField(""),this.setValue(null))}function n(e){this.editor=e,this.dom={}}function s(e,t){function i(e,t,n){n.forEach(function(n){if("separator"==n.type){var s=document.createElement("div");s.className="separator",a=document.createElement("li"),a.appendChild(s),e.appendChild(a)}else{var r={},a=document.createElement("li");e.appendChild(a);var l=document.createElement("button");if(l.className=n.className,r.button=l,n.title&&(l.title=n.title),n.click&&(l.onclick=function(){o.hide(),n.click()}),a.appendChild(l),n.submenu){var d=document.createElement("div");d.className="icon",l.appendChild(d),l.appendChild(document.createTextNode(n.text));var h;if(n.click){l.className+=" default";var c=document.createElement("button");r.buttonExpand=c,c.className="expand",c.innerHTML='
',a.appendChild(c),n.submenuTitle&&(c.title=n.submenuTitle),h=c}else{var u=document.createElement("div");u.className="expand",l.appendChild(u),h=l}h.onclick=function(){o._onExpandItem(r),h.focus()};var p=[];r.subItems=p;var m=document.createElement("ul");r.ul=m,m.className="menu",m.style.height="0",a.appendChild(m),i(m,p,n.submenu)}else l.innerHTML='
'+n.text;t.push(r)}})}this.dom={};var o=this,n=this.dom;this.anchor=void 0,this.items=e,this.eventListeners={},this.selection=void 0,this.visibleSubmenu=void 0,this.onClose=t?t.close:void 0;var s=document.createElement("div");s.className="jsoneditor-contextmenu",n.menu=s;var r=document.createElement("ul");r.className="menu",s.appendChild(r),n.list=r,n.items=[];var a=document.createElement("button");n.focusButton=a;var l=document.createElement("li");l.style.overflow="hidden",l.style.height="0",l.appendChild(a),r.appendChild(l),i(r,this.dom.items,e),this.maxHeight=0,e.forEach(function(t){var i=24*(e.length+(t.submenu?t.submenu.length:0));o.maxHeight=Math.max(o.maxHeight,i)})}function r(e){this.editor=e,this.clear(),this.actions={editField:{undo:function(e){e.node.updateField(e.oldValue)},redo:function(e){e.node.updateField(e.newValue)}},editValue:{undo:function(e){e.node.updateValue(e.oldValue)},redo:function(e){e.node.updateValue(e.newValue)}},appendNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.appendChild(e.node)}},insertBeforeNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.insertBefore(e.node,e.beforeNode)}},insertAfterNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.insertAfter(e.node,e.afterNode)}},removeNode:{undo:function(e){var t=e.parent,i=t.childs[e.index]||t.append;t.insertBefore(e.node,i)},redo:function(e){e.parent.removeChild(e.node)}},duplicateNode:{undo:function(e){e.parent.removeChild(e.clone)},redo:function(e){e.parent.insertAfter(e.clone,e.node)}},changeType:{undo:function(e){e.node.changeType(e.oldType)},redo:function(e){e.node.changeType(e.newType)}},moveNode:{undo:function(e){e.startParent.moveTo(e.node,e.startIndex)},redo:function(e){e.endParent.moveTo(e.node,e.endIndex)}},sort:{undo:function(e){var t=e.node;t.hideChilds(),t.sort=e.oldSort,t.childs=e.oldChilds,t.showChilds()},redo:function(e){var t=e.node;t.hideChilds(),t.sort=e.newSort,t.childs=e.newChilds,t.showChilds()}}}}function a(e,t,i){function o(t){e.setMode(t);var i=e.dom&&e.dom.modeBox;i&&i.focus()}for(var n={code:{text:"Code",title:"Switch to code highlighter",click:function(){o("code")}},form:{text:"Form",title:"Switch to form editor",click:function(){o("form")}},text:{text:"Text",title:"Switch to plain text editor",click:function(){o("text")}},tree:{text:"Tree",title:"Switch to tree editor",click:function(){o("tree")}},view:{text:"View",title:"Switch to tree view",click:function(){o("view")}}},r=[],a=0;ae&&i.scrollTop>0?(o+r-e)/3:e>s-r&&n+i.scrollTop3?(i.scrollTop+=n/3,o.animateCallback=t,o.animateTimeout=setTimeout(a,50)):(t&&t(!0),i.scrollTop=r,delete o.animateTimeout,delete o.animateCallback)};a()}else t&&t(!1)},t.prototype._createFrame=function(){this.frame=document.createElement("div"),this.frame.className="jsoneditor",this.container.appendChild(this.frame);var e=this,t=function(t){e._onEvent(t)};this.frame.onclick=function(e){var i=e.target;t(e),"BUTTON"==i.nodeName&&e.preventDefault()},this.frame.oninput=t,this.frame.onchange=t,this.frame.onkeydown=t,this.frame.onkeyup=t,this.frame.oncut=t,this.frame.onpaste=t,this.frame.onmousedown=t,this.frame.onmouseup=t,this.frame.onmouseover=t,this.frame.onmouseout=t,util.addEventListener(this.frame,"focus",t,!0),util.addEventListener(this.frame,"blur",t,!0),this.frame.onfocusin=t,this.frame.onfocusout=t,this.menu=document.createElement("div"),this.menu.className="menu",this.frame.appendChild(this.menu);var i=document.createElement("button");i.className="expand-all",i.title="Expand all fields",i.onclick=function(){e.expandAll()},this.menu.appendChild(i);var o=document.createElement("button");if(o.title="Collapse all fields",o.className="collapse-all",o.onclick=function(){e.collapseAll()},this.menu.appendChild(o),this.history){var n=document.createElement("button");n.className="undo separator",n.title="Undo last action (Ctrl+Z)",n.onclick=function(){e._onUndo()},this.menu.appendChild(n),this.dom.undo=n;var s=document.createElement("button");s.className="redo",s.title="Redo (Ctrl+Shift+Z)",s.onclick=function(){e._onRedo()},this.menu.appendChild(s),this.dom.redo=s,this.history.onChange=function(){n.disabled=!e.history.canUndo(),s.disabled=!e.history.canRedo()},this.history.onChange()}if(this.options&&this.options.modes&&this.options.modes.length){var r=a(this,this.options.modes,this.options.mode);this.menu.appendChild(r),this.dom.modeBox=r}this.options.search&&(this.searchBox=new l(this,this.menu))},t.prototype._onUndo=function(){this.history&&(this.history.undo(),this.options.change&&this.options.change())},t.prototype._onRedo=function(){this.history&&(this.history.redo(),this.options.change&&this.options.change())},t.prototype._onEvent=function(e){var i=e.target;"keydown"==e.type&&this._onKeyDown(e),"focus"==e.type&&(t.domFocus=i);var n=o.getNodeFromTarget(i);n&&n.onEvent(e)},t.prototype._onKeyDown=function(e){var i=e.which||e.keyCode,o=e.ctrlKey,n=e.shiftKey,s=!1;if(9==i&&setTimeout(function(){util.selectContentEditable(t.domFocus)},0),this.searchBox)if(o&&70==i)this.searchBox.dom.search.focus(),this.searchBox.dom.search.select(),s=!0;else if(114==i||o&&71==i){var r=!0;n?this.searchBox.previous(r):this.searchBox.next(r),s=!0}this.history&&(o&&!n&&90==i?(this._onUndo(),s=!0):o&&n&&90==i&&(this._onRedo(),s=!0)),s&&(e.preventDefault(),e.stopPropagation())},t.prototype._createTable=function(){var e=document.createElement("div");e.className="outer",this.contentOuter=e,this.content=document.createElement("div"),this.content.className="tree",e.appendChild(this.content),this.table=document.createElement("table"),this.table.className="tree",this.content.appendChild(this.table);var t;this.colgroupContent=document.createElement("colgroup"),this.mode.edit&&(t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t)),t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t),t=document.createElement("col"),this.colgroupContent.appendChild(t),this.table.appendChild(this.colgroupContent),this.tbody=document.createElement("tbody"),this.table.appendChild(this.tbody),this.frame.appendChild(e)},e.modes.tree={editor:t,data:"json"},e.modes.view={editor:t,data:"json"},e.modes.form={editor:t,data:"json"},e.modes.editor={editor:t,data:"json"},e.modes.viewer={editor:t,data:"json"},i.prototype._create=function(e,t,i){t=t||{},this.options=t,this.indentation=t.indentation?Number(t.indentation):2,this.mode="code"==t.mode?"code":"text","code"==this.mode&&"undefined"==typeof ace&&(this.mode="text",util.log("WARNING: Cannot load code editor, Ace library not loaded. Falling back to plain text editor"));var o=this;this.container=e,this.dom={},this.editor=void 0,this.textarea=void 0,this.width=e.clientWidth,this.height=e.clientHeight,this.frame=document.createElement("div"),this.frame.className="jsoneditor",this.frame.onclick=function(e){e.preventDefault()},this.menu=document.createElement("div"),this.menu.className="menu",this.frame.appendChild(this.menu);var n=document.createElement("button");n.className="format",n.title="Format JSON data, with proper indentation and line feeds",this.menu.appendChild(n),n.onclick=function(){try{o.format()}catch(e){o._onError(e)}};var s=document.createElement("button");if(s.className="compact",s.title="Compact JSON data, remove all whitespaces",this.menu.appendChild(s),s.onclick=function(){try{o.compact()}catch(e){o._onError(e)}},this.options&&this.options.modes&&this.options.modes.length){var r=a(this,this.options.modes,this.options.mode);this.menu.appendChild(r),this.dom.modeBox=r}if(this.content=document.createElement("div"),this.content.className="outer",this.frame.appendChild(this.content),this.container.appendChild(this.frame),"code"==this.mode){this.editorDom=document.createElement("div"),this.editorDom.style.height="100%",this.editorDom.style.width="100%",this.content.appendChild(this.editorDom);var l=ace.edit(this.editorDom);l.setTheme("ace/theme/jsoneditor"),l.setShowPrintMargin(!1),l.setFontSize(13),l.getSession().setMode("ace/mode/json"),l.getSession().setTabSize(2),l.getSession().setUseSoftTabs(!0),l.getSession().setUseWrapMode(!0),this.editor=l;var d=document.createElement("a");d.appendChild(document.createTextNode("powered by ace")),d.href="http://ace.ajax.org",d.target="_blank",d.className="poweredBy",d.onclick=function(){window.open(d.href,d.target)},this.menu.appendChild(d),t.change&&l.on("change",function(){t.change()})}else{var h=document.createElement("textarea");h.className="text",h.spellcheck=!1,this.content.appendChild(h),this.textarea=h,t.change&&(null===this.textarea.oninput?this.textarea.oninput=function(){t.change()}:this.textarea.onchange=function(){t.change()})}"string"==typeof i?this.setText(i):this.set(i)},i.prototype._delete=function(){this.frame&&this.container&&this.frame.parentNode==this.container&&this.container.removeChild(this.frame)},i.prototype._onError=function(e){if("function"==typeof this.onError&&(util.log("WARNING: JSONEditor.onError is deprecated. Use options.error instead."),this.onError(e)),!this.options||"function"!=typeof this.options.error)throw e;this.options.error(e)},i.prototype.compact=function(){var e=util.parse(this.getText());this.setText(JSON.stringify(e))},i.prototype.format=function(){var e=util.parse(this.getText());this.setText(JSON.stringify(e,null,this.indentation))},i.prototype.focus=function(){this.textarea&&this.textarea.focus(),this.editor&&this.editor.focus()},i.prototype.resize=function(){if(this.editor){var e=!1;this.editor.resize(e)}},i.prototype.set=function(e){this.setText(JSON.stringify(e,null,this.indentation))},i.prototype.get=function(){return util.parse(this.getText())},i.prototype.getText=function(){return this.textarea?this.textarea.value:this.editor?this.editor.getValue():""},i.prototype.setText=function(e){this.textarea&&(this.textarea.value=e),this.editor&&this.editor.setValue(e,-1)},e.modes.text={editor:i,data:"text",load:i.prototype.format},e.modes.code={editor:i,data:"text",load:i.prototype.format},o.prototype.setParent=function(e){this.parent=e},o.prototype.setField=function(e,t){this.field=e,this.fieldEditable=1==t},o.prototype.getField=function(){return void 0===this.field&&this._getDomField(),this.field},o.prototype.setValue=function(e,t){var i,n,s=this.childs;if(s)for(;s.length;)this.removeChild(s[0]);if(this.type=this._getType(e),t&&t!=this.type){if("string"!=t||"auto"!=this.type)throw new Error('Type mismatch: cannot cast value of type "'+this.type+' to the specified type "'+t+'"');this.type=t}if("array"==this.type){this.childs=[];for(var r=0,a=e.length;a>r;r++)i=e[r],void 0===i||i instanceof Function||(n=new o(this.editor,{value:i}),this.appendChild(n));this.value=""}else if("object"==this.type){this.childs=[];for(var l in e)e.hasOwnProperty(l)&&(i=e[l],void 0===i||i instanceof Function||(n=new o(this.editor,{field:l,value:i}),this.appendChild(n)));this.value=""}else this.childs=void 0,this.value=e},o.prototype.getValue=function(){if("array"==this.type){var e=[];return this.childs.forEach(function(t){e.push(t.getValue())}),e}if("object"==this.type){var t={};return this.childs.forEach(function(e){t[e.getField()]=e.getValue()}),t}return void 0===this.value&&this._getDomValue(),this.value},o.prototype.getLevel=function(){return this.parent?this.parent.getLevel()+1:0},o.prototype.clone=function(){var e=new o(this.editor);if(e.type=this.type,e.field=this.field,e.fieldInnerText=this.fieldInnerText,e.fieldEditable=this.fieldEditable,e.value=this.value,e.valueInnerText=this.valueInnerText,e.expanded=this.expanded,this.childs){var t=[];this.childs.forEach(function(i){var o=i.clone();o.setParent(e),t.push(o)}),e.childs=t}else e.childs=void 0;return e},o.prototype.expand=function(e){this.childs&&(this.expanded=!0,this.dom.expand&&(this.dom.expand.className="expanded"),this.showChilds(),0!=e&&this.childs.forEach(function(t){t.expand(e)}))},o.prototype.collapse=function(e){this.childs&&(this.hideChilds(),0!=e&&this.childs.forEach(function(t){t.collapse(e)}),this.dom.expand&&(this.dom.expand.className="collapsed"),this.expanded=!1)},o.prototype.showChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.dom.tr,i=t?t.parentNode:void 0;if(i){var o=this.getAppend(),n=t.nextSibling;n?i.insertBefore(o,n):i.appendChild(o),this.childs.forEach(function(e){i.insertBefore(e.getDom(),o),e.showChilds()})}}},o.prototype.hide=function(){var e=this.dom.tr,t=e?e.parentNode:void 0;t&&t.removeChild(e),this.hideChilds()},o.prototype.hideChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.getAppend();t.parentNode&&t.parentNode.removeChild(t),this.childs.forEach(function(e){e.hide()})}},o.prototype.appendChild=function(e){if(this._hasChilds()){if(e.setParent(this),e.fieldEditable="object"==this.type,"array"==this.type&&(e.index=this.childs.length),this.childs.push(e),this.expanded){var t=e.getDom(),i=this.getAppend(),o=i?i.parentNode:void 0;i&&o&&o.insertBefore(t,i),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},o.prototype.moveBefore=function(e,t){if(this._hasChilds()){var i=this.dom.tr?this.dom.tr.parentNode:void 0;if(i){var o=document.createElement("tr");o.style.height=i.clientHeight+"px",i.appendChild(o)}e.parent&&e.parent.removeChild(e),t instanceof n?this.appendChild(e):this.insertBefore(e,t),i&&i.removeChild(o)}},o.prototype.moveTo=function(e,t){if(e.parent==this){var i=this.childs.indexOf(e);t>i&&t++}var o=this.childs[t]||this.append;this.moveBefore(e,o)},o.prototype.insertBefore=function(e,t){if(this._hasChilds()){if(t==this.append)e.setParent(this),e.fieldEditable="object"==this.type,this.childs.push(e);else{var i=this.childs.indexOf(t);if(-1==i)throw new Error("Node not found");e.setParent(this),e.fieldEditable="object"==this.type,this.childs.splice(i,0,e)}if(this.expanded){var o=e.getDom(),n=t.getDom(),s=n?n.parentNode:void 0;n&&s&&s.insertBefore(o,n),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},o.prototype.insertAfter=function(e,t){if(this._hasChilds()){var i=this.childs.indexOf(t),o=this.childs[i+1];o?this.insertBefore(e,o):this.appendChild(e)}},o.prototype.search=function(e){var t,i=[],o=e?e.toLowerCase():void 0;if(delete this.searchField,delete this.searchValue,void 0!=this.field){var n=String(this.field).toLowerCase();t=n.indexOf(o),-1!=t&&(this.searchField=!0,i.push({node:this,elem:"field"})),this._updateDomField()}if(this._hasChilds()){if(this.childs){var s=[];this.childs.forEach(function(t){s=s.concat(t.search(e))}),i=i.concat(s)}if(void 0!=o){var r=!1;0==s.length?this.collapse(r):this.expand(r)}}else{if(void 0!=this.value){var a=String(this.value).toLowerCase();t=a.indexOf(o),-1!=t&&(this.searchValue=!0,i.push({node:this,elem:"value"}))}this._updateDomValue()}return i},o.prototype.scrollTo=function(e){if(!this.dom.tr||!this.dom.tr.parentNode)for(var t=this.parent,i=!1;t;)t.expand(i),t=t.parent;this.dom.tr&&this.dom.tr.parentNode&&this.editor.scrollTo(this.dom.tr.offsetTop,e)},o.focusElement=void 0,o.prototype.focus=function(e){if(o.focusElement=e,this.dom.tr&&this.dom.tr.parentNode){var t=this.dom;switch(e){case"drag":t.drag?t.drag.focus():t.menu.focus();break;case"menu":t.menu.focus();break;case"expand":this._hasChilds()?t.expand.focus():t.field&&this.fieldEditable?(t.field.focus(),util.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),util.selectContentEditable(t.value)):t.menu.focus();break;case"field":t.field&&this.fieldEditable?(t.field.focus(),util.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),util.selectContentEditable(t.value)):this._hasChilds()?t.expand.focus():t.menu.focus();break;case"value":default:t.value&&!this._hasChilds()?(t.value.focus(),util.selectContentEditable(t.value)):t.field&&this.fieldEditable?(t.field.focus(),util.selectContentEditable(t.field)):this._hasChilds()?t.expand.focus():t.menu.focus()}}},o.select=function(e){setTimeout(function(){util.selectContentEditable(e)},0)},o.prototype.blur=function(){this._getDomValue(!1),this._getDomField(!1)},o.prototype._duplicate=function(e){var t=e.clone();return this.insertAfter(t,e),t},o.prototype.containsNode=function(e){if(this==e)return!0;var t=this.childs;if(t)for(var i=0,o=t.length;o>i;i++)if(t[i].containsNode(e))return!0;return!1},o.prototype._move=function(e,t){if(e!=t){if(e.containsNode(this))throw new Error("Cannot move a field into a child of itself");e.parent&&e.parent.removeChild(e);var i=e.clone();e.clearDom(),t?this.insertBefore(i,t):this.appendChild(i)}},o.prototype.removeChild=function(e){if(this.childs){var t=this.childs.indexOf(e);if(-1!=t){e.hide(),delete e.searchField,delete e.searchValue;var i=this.childs.splice(t,1)[0];return this.updateDom({updateIndexes:!0}),i}}return void 0},o.prototype._remove=function(e){this.removeChild(e)},o.prototype.changeType=function(e){var t=this.type;if(t!=e){if("string"!=e&&"auto"!=e||"string"!=t&&"auto"!=t){var i,o=this.dom.tr?this.dom.tr.parentNode:void 0;i=this.expanded?this.getAppend():this.getDom();var n=i&&i.parentNode?i.nextSibling:void 0;this.hide(),this.clearDom(),this.type=e,"object"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e){e.clearDom(),delete e.index,e.fieldEditable=!0,void 0==e.field&&(e.field="")}),("string"==t||"auto"==t)&&(this.expanded=!0)):"array"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e,t){e.clearDom(),e.fieldEditable=!1,e.index=t}),("string"==t||"auto"==t)&&(this.expanded=!0)):this.expanded=!1,o&&(n?o.insertBefore(this.getDom(),n):o.appendChild(this.getDom())),this.showChilds()}else this.type=e;("auto"==e||"string"==e)&&(this.value="string"==e?String(this.value):this._stringCast(String(this.value)),this.focus()),this.updateDom({updateIndexes:!0})}},o.prototype._getDomValue=function(e){if(this.dom.value&&"array"!=this.type&&"object"!=this.type&&(this.valueInnerText=util.getInnerText(this.dom.value)),void 0!=this.valueInnerText)try{var t;if("string"==this.type)t=this._unescapeHTML(this.valueInnerText);else{var i=this._unescapeHTML(this.valueInnerText);t=this._stringCast(i)}if(t!==this.value){var o=this.value;this.value=t,this.editor._onAction("editValue",{node:this,oldValue:o,newValue:t,oldSelection:this.editor.selection,newSelection:this.editor.getSelection()})}}catch(n){if(this.value=void 0,1!=e)throw n}},o.prototype._updateDomValue=function(){var e=this.dom.value;if(e){var t=this.value,i="auto"==this.type?util.type(t):this.type,o="string"==i&&util.isUrl(t),n="";n=o&&!this.editor.mode.edit?"":"string"==i?"green":"number"==i?"red":"boolean"==i?"darkorange":this._hasChilds()?"":null===t?"#004ED0":"black",e.style.color=n;var s=""==String(this.value)&&"array"!=this.type&&"object"!=this.type;if(s?util.addClassName(e,"empty"):util.removeClassName(e,"empty"),o?util.addClassName(e,"url"):util.removeClassName(e,"url"),"array"==i||"object"==i){var r=this.childs?this.childs.length:0;e.title=this.type+" containing "+r+" items"}else"string"==i&&util.isUrl(t)?this.editor.mode.edit&&(e.title="Ctrl+Click or Ctrl+Enter to open url in new window"):e.title="";this.searchValueActive?util.addClassName(e,"highlight-active"):util.removeClassName(e,"highlight-active"),this.searchValue?util.addClassName(e,"highlight"):util.removeClassName(e,"highlight"),util.stripFormatting(e)}},o.prototype._updateDomField=function(){var e=this.dom.field;if(e){var t=""==String(this.field)&&"array"!=this.parent.type;t?util.addClassName(e,"empty"):util.removeClassName(e,"empty"),this.searchFieldActive?util.addClassName(e,"highlight-active"):util.removeClassName(e,"highlight-active"),this.searchField?util.addClassName(e,"highlight"):util.removeClassName(e,"highlight"),util.stripFormatting(e)}},o.prototype._getDomField=function(e){if(this.dom.field&&this.fieldEditable&&(this.fieldInnerText=util.getInnerText(this.dom.field)),void 0!=this.fieldInnerText)try{var t=this._unescapeHTML(this.fieldInnerText);if(t!==this.field){var i=this.field;this.field=t,this.editor._onAction("editField",{node:this,oldValue:i,newValue:t,oldSelection:this.editor.selection,newSelection:this.editor.getSelection()})}}catch(o){if(this.field=void 0,1!=e)throw o}},o.prototype.clearDom=function(){this.dom={}},o.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;if(e.tr=document.createElement("tr"),e.tr.node=this,this.editor.mode.edit){var t=document.createElement("td");if(this.parent){var i=document.createElement("button");e.drag=i,i.className="dragarea",i.title="Drag to move this field (Alt+Shift+Arrows)",t.appendChild(i)}e.tr.appendChild(t);var o=document.createElement("td"),n=document.createElement("button");e.menu=n,n.className="contextmenu",n.title="Click to open the actions menu (Ctrl+M)",o.appendChild(e.menu),e.tr.appendChild(o)}var s=document.createElement("td");return e.tr.appendChild(s),e.tree=this._createDomTree(),s.appendChild(e.tree),this.updateDom({updateIndexes:!0}),e.tr},o.prototype._onDragStart=function(e){var t=this;this.mousemove||(this.mousemove=util.addEventListener(document,"mousemove",function(e){t._onDrag(e)})),this.mouseup||(this.mouseup=util.addEventListener(document,"mouseup",function(e){t._onDragEnd(e)})),this.editor.highlighter.lock(),this.drag={oldCursor:document.body.style.cursor,startParent:this.parent,startIndex:this.parent.childs.indexOf(this),mouseX:e.pageX,level:this.getLevel()},document.body.style.cursor="move",e.preventDefault()},o.prototype._onDrag=function(e){var t,i,s,r,a,l,d,h,c,u,p,m,f,v,g=e.pageY,y=e.pageX,x=!1;if(t=this.dom.tr,c=util.getAbsoluteTop(t),m=t.offsetHeight,c>g){i=t;do i=i.previousSibling,d=o.getNodeFromTarget(i),u=i?util.getAbsoluteTop(i):0;while(i&&u>g);d&&!d.parent&&(d=void 0),d||(l=t.parentNode.firstChild,i=l?l.nextSibling:void 0,d=o.getNodeFromTarget(i),d==this&&(d=void 0)),d&&(i=d.dom.tr,u=i?util.getAbsoluteTop(i):0,g>u+m&&(d=void 0)),d&&(d.parent.moveBefore(this,d),x=!0)}else if(a=this.expanded&&this.append?this.append.getDom():this.dom.tr,r=a?a.nextSibling:void 0){p=util.getAbsoluteTop(r),s=r;do h=o.getNodeFromTarget(s),s&&(f=s.nextSibling?util.getAbsoluteTop(s.nextSibling):0,v=s?f-p:0,1==h.parent.childs.length&&h.parent.childs[0]==this&&(c+=23)),s=s.nextSibling;while(s&&g>c+v);if(h&&h.parent){var C=y-this.drag.mouseX,b=Math.round(C/24/2),N=this.drag.level+b,E=h.getLevel();for(i=h.dom.tr.previousSibling;N>E&&i;){if(d=o.getNodeFromTarget(i),d==this||d._isChildOf(this));else{if(!(d instanceof n))break;var _=d.parent.childs;if(!(_.length>1||1==_.length&&_[0]!=this))break;h=o.getNodeFromTarget(i),E=h.getLevel()}i=i.previousSibling}a.nextSibling!=h.dom.tr&&(h.parent.moveBefore(this,h),x=!0) +}}x&&(this.drag.mouseX=y,this.drag.level=this.getLevel()),this.editor.startAutoScroll(g),e.preventDefault()},o.prototype._onDragEnd=function(e){var t={node:this,startParent:this.drag.startParent,startIndex:this.drag.startIndex,endParent:this.parent,endIndex:this.parent.childs.indexOf(this)};(t.startParent!=t.endParent||t.startIndex!=t.endIndex)&&this.editor._onAction("moveNode",t),document.body.style.cursor=this.drag.oldCursor,this.editor.highlighter.unlock(),delete this.drag,this.mousemove&&(util.removeEventListener(document,"mousemove",this.mousemove),delete this.mousemove),this.mouseup&&(util.removeEventListener(document,"mouseup",this.mouseup),delete this.mouseup),this.editor.stopAutoScroll(),e.preventDefault()},o.prototype._isChildOf=function(e){for(var t=this.parent;t;){if(t==e)return!0;t=t.parent}return!1},o.prototype._createDomField=function(){return document.createElement("div")},o.prototype.setHighlight=function(e){this.dom.tr&&(this.dom.tr.className=e?"highlight":"",this.append&&this.append.setHighlight(e),this.childs&&this.childs.forEach(function(t){t.setHighlight(e)}))},o.prototype.updateValue=function(e){this.value=e,this.updateDom()},o.prototype.updateField=function(e){this.field=e,this.updateDom()},o.prototype.updateDom=function(e){var t=this.dom.tree;t&&(t.style.marginLeft=24*this.getLevel()+"px");var i=this.dom.field;if(i){1==this.fieldEditable?(i.contentEditable=this.editor.mode.edit,i.spellcheck=!1,i.className="field"):i.className="readonly";var o;o=void 0!=this.index?this.index:void 0!=this.field?this.field:this._hasChilds()?this.type:"",i.innerHTML=this._escapeHTML(o)}var n=this.dom.value;if(n){var s=this.childs?this.childs.length:0;n.innerHTML="array"==this.type?"["+s+"]":"object"==this.type?"{"+s+"}":this._escapeHTML(this.value)}this._updateDomField(),this._updateDomValue(),e&&1==e.updateIndexes&&this._updateDomIndexes(),e&&1==e.recurse&&this.childs&&this.childs.forEach(function(t){t.updateDom(e)}),this.append&&this.append.updateDom()},o.prototype._updateDomIndexes=function(){var e=this.dom.value,t=this.childs;e&&t&&("array"==this.type?t.forEach(function(e,t){e.index=t;var i=e.dom.field;i&&(i.innerHTML=t)}):"object"==this.type&&t.forEach(function(e){void 0!=e.index&&(delete e.index,void 0==e.field&&(e.field=""))}))},o.prototype._createDomValue=function(){var e;return"array"==this.type?(e=document.createElement("div"),e.className="readonly",e.innerHTML="[...]"):"object"==this.type?(e=document.createElement("div"),e.className="readonly",e.innerHTML="{...}"):!this.editor.mode.edit&&util.isUrl(this.value)?(e=document.createElement("a"),e.className="value",e.href=this.value,e.target="_blank",e.innerHTML=this._escapeHTML(this.value)):(e=document.createElement("div"),e.contentEditable=!this.editor.mode.view,e.spellcheck=!1,e.className="value",e.innerHTML=this._escapeHTML(this.value)),e},o.prototype._createDomExpandButton=function(){var e=document.createElement("button");return this._hasChilds()?(e.className=this.expanded?"expanded":"collapsed",e.title="Click to expand/collapse this field (Ctrl+E). \nCtrl+Click to expand/collapse including all childs."):(e.className="invisible",e.title=""),e},o.prototype._createDomTree=function(){var e=this.dom,t=document.createElement("table"),i=document.createElement("tbody");t.style.borderCollapse="collapse",t.className="values",t.appendChild(i);var o=document.createElement("tr");i.appendChild(o);var n=document.createElement("td");n.className="tree",o.appendChild(n),e.expand=this._createDomExpandButton(),n.appendChild(e.expand),e.tdExpand=n;var s=document.createElement("td");s.className="tree",o.appendChild(s),e.field=this._createDomField(),s.appendChild(e.field),e.tdField=s;var r=document.createElement("td");r.className="tree",o.appendChild(r),"object"!=this.type&&"array"!=this.type&&(r.appendChild(document.createTextNode(":")),r.className="separator"),e.tdSeparator=r;var a=document.createElement("td");return a.className="tree",o.appendChild(a),e.value=this._createDomValue(),a.appendChild(e.value),e.tdValue=a,t},o.prototype.onEvent=function(e){var t,i=e.type,o=e.target||e.srcElement,n=this.dom,s=this,r=this._hasChilds();if((o==n.drag||o==n.menu)&&("mouseover"==i?this.editor.highlighter.highlight(this):"mouseout"==i&&this.editor.highlighter.unhighlight()),"mousedown"==i&&o==n.drag&&this._onDragStart(e),"click"==i&&o==n.menu){var a=s.editor.highlighter;a.highlight(s),a.lock(),util.addClassName(n.menu,"selected"),this.showContextMenu(n.menu,function(){util.removeClassName(n.menu,"selected"),a.unlock(),a.unhighlight()})}if("click"==i&&o==n.expand&&r){var l=e.ctrlKey;this._onExpand(l)}var d=n.value;if(o==d)switch(i){case"focus":t=this;break;case"blur":case"change":this._getDomValue(!0),this._updateDomValue(),this.value&&(d.innerHTML=this._escapeHTML(this.value));break;case"input":this._getDomValue(!0),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"click":e.ctrlKey&&this.editor.mode.edit&&util.isUrl(this.value)&&window.open(this.value,"_blank");break;case"keyup":this._getDomValue(!0),this._updateDomValue();break;case"cut":case"paste":setTimeout(function(){s._getDomValue(!0),s._updateDomValue()},1)}var h=n.field;if(o==h)switch(i){case"focus":t=this;break;case"blur":case"change":this._getDomField(!0),this._updateDomField(),this.field&&(h.innerHTML=this._escapeHTML(this.field));break;case"input":this._getDomField(!0),this._updateDomField();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"keyup":this._getDomField(!0),this._updateDomField();break;case"cut":case"paste":setTimeout(function(){s._getDomField(!0),s._updateDomField()},1)}var c=n.tree;if(o==c.parentNode)switch(i){case"click":var u=void 0!=e.offsetX?e.offsetX<24*(this.getLevel()+1):e.pageXo[i]?t:e[i]/g,">").replace(/ /g,"  ").replace(/^ /," ").replace(/ $/," "),i=JSON.stringify(t);return i.substring(1,i.length-1)},o.prototype._unescapeHTML=function(e){var t='"'+this._escapeJSON(e)+'"',i=util.parse(t);return i.replace(/</g,"<").replace(/>/g,">").replace(/ |\u00A0/g," ")},o.prototype._escapeJSON=function(e){for(var t="",i=0,o=e.length;o>i;){var n=e.charAt(i);"\n"==n?t+="\\n":"\\"==n?(t+=n,i++,n=e.charAt(i),-1=='"\\/bfnrtu'.indexOf(n)&&(t+="\\"),t+=n):t+='"'==n?'\\"':n,i++}return t},n.prototype=new o,n.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;var t=document.createElement("tr");if(t.node=this,e.tr=t,this.editor.mode.edit){e.tdDrag=document.createElement("td");var i=document.createElement("td");e.tdMenu=i;var o=document.createElement("button");o.className="contextmenu",o.title="Click to open the actions menu (Ctrl+M)",e.menu=o,i.appendChild(e.menu)}var n=document.createElement("td"),s=document.createElement("div");return s.innerHTML="(empty)",s.className="readonly",n.appendChild(s),e.td=n,e.text=s,this.updateDom(),t},n.prototype.updateDom=function(){var e=this.dom,t=e.td;t&&(t.style.paddingLeft=24*this.getLevel()+26+"px");var i=e.text;i&&(i.innerHTML="(empty "+this.parent.type+")");var o=e.tr;this.isVisible()?e.tr.firstChild||(e.tdDrag&&o.appendChild(e.tdDrag),e.tdMenu&&o.appendChild(e.tdMenu),o.appendChild(t)):e.tr.firstChild&&(e.tdDrag&&o.removeChild(e.tdDrag),e.tdMenu&&o.removeChild(e.tdMenu),o.removeChild(t))},n.prototype.isVisible=function(){return 0==this.parent.childs.length},n.prototype.showContextMenu=function(e,t){var i=this,n=o.TYPE_TITLES,r=[{text:"Append",title:"Append a new field with type 'auto' (Ctrl+Shift+Ins)",submenuTitle:"Select the type of the field to be appended",className:"insert",click:function(){i._onAppend("","","auto")},submenu:[{text:"Auto",className:"type-auto",title:n.auto,click:function(){i._onAppend("","","auto")}},{text:"Array",className:"type-array",title:n.array,click:function(){i._onAppend("",[])}},{text:"Object",className:"type-object",title:n.object,click:function(){i._onAppend("",{})}},{text:"String",className:"type-string",title:n.string,click:function(){i._onAppend("","","string")}}]}],a=new s(r,{close:t});a.show(e)},n.prototype.onEvent=function(e){var t=e.type,i=e.target||e.srcElement,o=this.dom,n=o.menu;if(i==n&&("mouseover"==t?this.editor.highlighter.highlight(this.parent):"mouseout"==t&&this.editor.highlighter.unhighlight()),"click"==t&&i==o.menu){var s=this.editor.highlighter;s.highlight(this.parent),s.lock(),util.addClassName(o.menu,"selected"),this.showContextMenu(o.menu,function(){util.removeClassName(o.menu,"selected"),s.unlock(),s.unhighlight()})}"keydown"==t&&this.onKeyDown(e)},s.prototype._getVisibleButtons=function(){var e=[],t=this;return this.dom.items.forEach(function(i){e.push(i.button),i.buttonExpand&&e.push(i.buttonExpand),i.subItems&&i==t.expandedItem&&i.subItems.forEach(function(t){e.push(t.button),t.buttonExpand&&e.push(t.buttonExpand)})}),e},s.visibleMenu=void 0,s.prototype.show=function(e){this.hide();var t=window.innerHeight,i=window.pageYOffset||document.scrollTop||0,o=t+i,n=e.offsetHeight,r=this.maxHeight,a=util.getAbsoluteLeft(e),l=util.getAbsoluteTop(e);o>l+n+r?(this.dom.menu.style.left=a+"px",this.dom.menu.style.top=l+n+"px",this.dom.menu.style.bottom=""):(this.dom.menu.style.left=a+"px",this.dom.menu.style.top="",this.dom.menu.style.bottom=t-l+"px"),document.body.appendChild(this.dom.menu);var d=this,h=this.dom.list;this.eventListeners.mousedown=util.addEventListener(document,"mousedown",function(e){var t=e.target;t==h||d._isChildOf(t,h)||(d.hide(),e.stopPropagation(),e.preventDefault())}),this.eventListeners.mousewheel=util.addEventListener(document,"mousewheel",function(e){e.stopPropagation(),e.preventDefault()}),this.eventListeners.keydown=util.addEventListener(document,"keydown",function(e){d._onKeyDown(e)}),this.selection=util.getSelection(),this.anchor=e,setTimeout(function(){d.dom.focusButton.focus()},0),s.visibleMenu&&s.visibleMenu.hide(),s.visibleMenu=this},s.prototype.hide=function(){this.dom.menu.parentNode&&(this.dom.menu.parentNode.removeChild(this.dom.menu),this.onClose&&this.onClose());for(var e in this.eventListeners)if(this.eventListeners.hasOwnProperty(e)){var t=this.eventListeners[e];t&&util.removeEventListener(document,e,t),delete this.eventListeners[e]}s.visibleMenu==this&&(s.visibleMenu=void 0)},s.prototype._onExpandItem=function(e){var t=this,i=e==this.expandedItem,o=this.expandedItem;if(o&&(o.ul.style.height="0",o.ul.style.padding="",setTimeout(function(){t.expandedItem!=o&&(o.ul.style.display="",util.removeClassName(o.ul.parentNode,"selected"))},300),this.expandedItem=void 0),!i){var n=e.ul;n.style.display="block";{n.clientHeight}setTimeout(function(){t.expandedItem==e&&(n.style.height=24*n.childNodes.length+"px",n.style.padding="5px 10px")},0),util.addClassName(n.parentNode,"selected"),this.expandedItem=e}},s.prototype._onKeyDown=function(e){var t,i,o,n,s=e.target,r=e.which,a=!1;27==r?(this.selection&&util.setSelection(this.selection),this.anchor&&this.anchor.focus(),this.hide(),a=!0):9==r?e.shiftKey?(t=this._getVisibleButtons(),i=t.indexOf(s),0==i&&(t[t.length-1].focus(),a=!0)):(t=this._getVisibleButtons(),i=t.indexOf(s),i==t.length-1&&(t[0].focus(),a=!0)):37==r?("expand"==s.className&&(t=this._getVisibleButtons(),i=t.indexOf(s),o=t[i-1],o&&o.focus()),a=!0):38==r?(t=this._getVisibleButtons(),i=t.indexOf(s),o=t[i-1],o&&"expand"==o.className&&(o=t[i-2]),o||(o=t[t.length-1]),o&&o.focus(),a=!0):39==r?(t=this._getVisibleButtons(),i=t.indexOf(s),n=t[i+1],n&&"expand"==n.className&&n.focus(),a=!0):40==r&&(t=this._getVisibleButtons(),i=t.indexOf(s),n=t[i+1],n&&"expand"==n.className&&(n=t[i+2]),n||(n=t[0]),n&&(n.focus(),a=!0),a=!0),a&&(e.stopPropagation(),e.preventDefault())},s.prototype._isChildOf=function(e,t){for(var i=e.parentNode;i;){if(i==t)return!0;i=i.parentNode}return!1},r.prototype.onChange=function(){},r.prototype.add=function(e,t){this.index++,this.history[this.index]={action:e,params:t,timestamp:new Date},this.index=0},r.prototype.canRedo=function(){return this.indexthis.results.length-1&&(t=0),this._setActiveResult(t,e)}},l.prototype.previous=function(e){if(void 0!=this.results){var t=this.results.length-1,i=void 0!=this.resultIndex?this.resultIndex-1:t;0>i&&(i=t),this._setActiveResult(i,e)}},l.prototype._setActiveResult=function(e,t){if(this.activeResult){var i=this.activeResult.node,o=this.activeResult.elem;"field"==o?delete i.searchFieldActive:delete i.searchValueActive,i.updateDom()}if(!this.results||!this.results[e])return this.resultIndex=void 0,void(this.activeResult=void 0);this.resultIndex=e;var n=this.results[this.resultIndex].node,s=this.results[this.resultIndex].elem;"field"==s?n.searchFieldActive=!0:n.searchValueActive=!0,this.activeResult=this.results[this.resultIndex],n.updateDom(),n.scrollTo(function(){t&&n.focus(s)})},l.prototype._clearDelay=function(){void 0!=this.timeout&&(clearTimeout(this.timeout),delete this.timeout)},l.prototype._onDelayedSearch=function(){this._clearDelay();var e=this;this.timeout=setTimeout(function(t){e._onSearch(t)},this.delay)},l.prototype._onSearch=function(e,t){this._clearDelay();var i=this.dom.search.value,o=i.length>0?i:void 0;if(o!=this.lastText||t)if(this.lastText=o,this.results=this.editor.search(o),this._setActiveResult(void 0),void 0!=o){var n=this.results.length;switch(n){case 0:this.dom.results.innerHTML="no results";break;case 1:this.dom.results.innerHTML="1 result";break;default:this.dom.results.innerHTML=n+" results"}}else this.dom.results.innerHTML=""},l.prototype._onKeyDown=function(e){var t=e.which;27==t?(this.dom.search.value="",this._onSearch(e),e.preventDefault(),e.stopPropagation()):13==t&&(e.ctrlKey?this._onSearch(e,!0):e.shiftKey?this.previous():this.next(),e.preventDefault(),e.stopPropagation())},l.prototype._onKeyUp=function(e){var t=e.keyCode;27!=t&&13!=t&&this._onDelayedSearch(e)},d.prototype.highlight=function(e){this.locked||(this.node!=e&&(this.node&&this.node.setHighlight(!1),this.node=e,this.node.setHighlight(!0)),this._cancelUnhighlight())},d.prototype.unhighlight=function(){if(!this.locked){var e=this;this.node&&(this._cancelUnhighlight(),this.unhighlightTimer=setTimeout(function(){e.node.setHighlight(!1),e.node=void 0,e.unhighlightTimer=void 0},0))}},d.prototype._cancelUnhighlight=function(){this.unhighlightTimer&&(clearTimeout(this.unhighlightTimer),this.unhighlightTimer=void 0)},d.prototype.lock=function(){this.locked=!0},d.prototype.unlock=function(){this.locked=!1},util={},util.parse=function(e){try{return JSON.parse(e)}catch(t){throw util.validate(e),t}},util.validate=function(e){"undefined"!=typeof jsonlint?jsonlint.parse(e):JSON.parse(e)},util.extend=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},util.clear=function(e){for(var t in e)e.hasOwnProperty(t)&&delete e[t];return e},util.log=function(){"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)},util.type=function(e){return null===e?"null":void 0===e?"undefined":e instanceof Number||"number"==typeof e?"number":e instanceof String||"string"==typeof e?"string":e instanceof Boolean||"boolean"==typeof e?"boolean":e instanceof RegExp||"regexp"==typeof e?"regexp":Array.isArray(e)?"array":"object"};var h=/^https?:\/\/\S+$/;util.isUrl=function(e){return("string"==typeof e||e instanceof String)&&h.test(e)},util.getAbsoluteLeft=function(e){var t=e.getBoundingClientRect();return t.left+window.pageXOffset||document.scrollLeft||0},util.getAbsoluteTop=function(e){var t=e.getBoundingClientRect();return t.top+window.pageYOffset||document.scrollTop||0},util.addClassName=function(e,t){var i=e.className.split(" ");-1==i.indexOf(t)&&(i.push(t),e.className=i.join(" "))},util.removeClassName=function(e,t){var i=e.className.split(" "),o=i.indexOf(t);-1!=o&&(i.splice(o,1),e.className=i.join(" "))},util.stripFormatting=function(e){for(var t=e.childNodes,i=0,o=t.length;o>i;i++){var n=t[i];n.style&&n.removeAttribute("style");var s=n.attributes;if(s)for(var r=s.length-1;r>=0;r--){var a=s[r];1==a.specified&&n.removeAttribute(a.name)}util.stripFormatting(n)}},util.setEndOfContentEditable=function(e){var t,i;document.createRange&&(t=document.createRange(),t.selectNodeContents(e),t.collapse(!1),i=window.getSelection(),i.removeAllRanges(),i.addRange(t))},util.selectContentEditable=function(e){if(e&&"DIV"==e.nodeName){var t,i;window.getSelection&&document.createRange&&(i=document.createRange(),i.selectNodeContents(e),t=window.getSelection(),t.removeAllRanges(),t.addRange(i))}},util.getSelection=function(){if(window.getSelection){var e=window.getSelection();if(e.getRangeAt&&e.rangeCount)return e.getRangeAt(0)}return null},util.setSelection=function(e){if(e&&window.getSelection){var t=window.getSelection();t.removeAllRanges(),t.addRange(e)}},util.getSelectionOffset=function(){var e=util.getSelection();return e&&"startOffset"in e&&"endOffset"in e&&e.startContainer&&e.startContainer==e.endContainer?{startOffset:e.startOffset,endOffset:e.endOffset,container:e.startContainer.parentNode}:null},util.setSelectionOffset=function(e){if(document.createRange&&window.getSelection){var t=window.getSelection();if(t){var i=document.createRange();i.setStart(e.container.firstChild,e.startOffset),i.setEnd(e.container.firstChild,e.endOffset),util.setSelection(i)}}},util.getInnerText=function(e,t){var i=void 0==t;if(i&&(t={text:"",flush:function(){var e=this.text;return this.text="",e},set:function(e){this.text=e}}),e.nodeValue)return t.flush()+e.nodeValue;if(e.hasChildNodes()){for(var o=e.childNodes,n="",s=0,r=o.length;r>s;s++){var a=o[s];if("DIV"==a.nodeName||"P"==a.nodeName){var l=o[s-1],d=l?l.nodeName:void 0;d&&"DIV"!=d&&"P"!=d&&"BR"!=d&&(n+="\n",t.flush()),n+=util.getInnerText(a,t),t.set("\n")}else"BR"==a.nodeName?(n+=t.flush(),t.set("\n")):n+=util.getInnerText(a,t)}return n}return"P"==e.nodeName&&-1!=util.getInternetExplorerVersion()?t.flush():""},util.getInternetExplorerVersion=function(){if(-1==c){var e=-1;if("Microsoft Internet Explorer"==navigator.appName){var t=navigator.userAgent,i=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");null!=i.exec(t)&&(e=parseFloat(RegExp.$1))}c=e}return c},util.isFirefox=function(){return-1!=navigator.userAgent.indexOf("Firefox")};var c=-1;util.addEventListener=function(e,t,i,o){if(e.addEventListener)return void 0===o&&(o=!1),"mousewheel"===t&&util.isFirefox()&&(t="DOMMouseScroll"),e.addEventListener(t,i,o),i;if(e.attachEvent){var n=function(){return i.call(e,window.event)};return e.attachEvent("on"+t,n),n}},util.removeEventListener=function(e,t,i,o){e.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===t&&util.isFirefox()&&(t="DOMMouseScroll"),e.removeEventListener(t,i,o)):e.detachEvent&&e.detachEvent("on"+t,i)};var u={JSONEditor:e,JSONFormatter:function(){throw new Error('JSONFormatter is deprecated. Use JSONEditor with mode "text" or "code" instead')},util:util},p=function(){for(var e=document.getElementsByTagName("script"),t=0;t - * @version 2.3.6 - * @date 2014-01-03 + * @version 2.3.7-SNAPSHOT + * @date 2014-05-29 */ (function () { @@ -1010,7 +1006,7 @@ JSONEditor.modes.viewer = { * "text" (default) * or "code". * {Number} indentation Number of indentation - * spaces. 4 by default. + * spaces. 2 by default. * {function} change Callback method * triggered on change * @param {JSON | String} [json] initial contents of the formatter @@ -1124,6 +1120,7 @@ TextEditor.prototype._create = function (container, options, json) { editor.setShowPrintMargin(false); editor.setFontSize(13); editor.getSession().setMode('ace/mode/json'); + editor.getSession().setTabSize(2); editor.getSession().setUseSoftTabs(true); editor.getSession().setUseWrapMode(true); this.editor = editor; diff --git a/jsoneditor/js/header.js b/jsoneditor/js/header.js index f55b310..fc4949d 100644 --- a/jsoneditor/js/header.js +++ b/jsoneditor/js/header.js @@ -8,10 +8,6 @@ * Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 8+ * * @license - * This json editor is open sourced with the intention to use the editor as - * a component in your own application. Not to just copy and monetize the editor - * as it is. - * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at diff --git a/lib/ace/ace.js b/lib/ace/ace.js index ef4ddb3..ce5e5a8 100644 --- a/lib/ace/ace.js +++ b/lib/ace/ace.js @@ -1,4 +1,4 @@ -(function(){function o(e){var i=function(e,t){return r("",e,t)},s=t;e&&(t[e]||(t[e]={}),s=t[e]);if(!s.define||!s.define.packaged)n.original=s.define,s.define=n,s.define.packaged=!0;if(!s.require||!s.require.packaged)r.original=s.require,s.require=i,s.require.packaged=!0}var e="",t=function(){return this}();if(!e&&typeof requirejs!="undefined")return;var n=function(e,t,r){if(typeof e!="string"){n.original?n.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=t),n.modules||(n.modules={}),n.modules[e]=r},r=function(e,t,n){if(Object.prototype.toString.call(t)==="[object Array]"){var i=[];for(var o=0,u=t.length;o1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function j(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function F(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function I(e){var t,n,r;if(F(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(F(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(F(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):q(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=j(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,j(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function R(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var R=[];for(var t in e)f(e,t)&&R.push(t);if(L)for(var n=0,r=O;n5||Math.abs(e.clientY-a)>5;if(!f||i)o=0;o+=1,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600)}o==1&&(u=e.clientX,a=e.clientY),r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)})},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return o(n,e,s)})}else{var u=null;r(e,"keydown",function(e){return u=e.keyIdentifier||e.keyCode,o(n,e,e.keyCode)})}};if(window.postMessage&&!i.isOldIE){var u=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+u;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=window.requestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame,t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,meta:8,command:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",188:",",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}};for(var t in e.FUNCTION_KEYS){var n=e.FUNCTION_KEYS[t].toLowerCase();e[n]=parseInt(t,10)}return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",e}();r.mixin(t,i),t.keyCodeToString=function(e){return(i[e]||String.fromCharCode(e)).toLowerCase()}}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n]},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/useragent",["require","exports","module"],function(e,t,n){t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};if(typeof navigator!="object")return;var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin=r=="win",t.isMac=r=="mac",t.isLinux=r=="linux",t.isIE=(navigator.appName=="Microsoft Internet Explorer"||navigator.appName.indexOf("MSAppHost")>=0)&&parseFloat(navigator.userAgent.match(/MSIE ([0-9]+[\.0-9]+)/)[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=window.controllers&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((navigator.userAgent.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config"],function(e,t,n){e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/useragent"),o=e("./keyboard/textinput").TextInput,u=e("./mouse/mouse_handler").MouseHandler,a=e("./mouse/fold_handler").FoldHandler,f=e("./keyboard/keybinding").KeyBinding,l=e("./edit_session").EditSession,c=e("./search").Search,h=e("./range").Range,p=e("./lib/event_emitter").EventEmitter,d=e("./commands/command_manager").CommandManager,v=e("./commands/default_commands").commands,m=e("./config"),g=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.commands=new d(s.isMac?"mac":"win",v),this.textInput=new o(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new f(this),this.$mouseHandler=new u(this),new a(this),this.$blockScrolling=0,this.$search=(new c).set({wrap:!0}),this.setSession(t||new l(""))};(function(){r.implement(this,p),this.setKeyboardHandler=function(e){if(typeof e=="string"&&e){this.$keybindingId=e;var t=this;m.loadModule(["keybinding",e],function(n){t.$keybindingId==e&&t.keyBinding.setKeyboardHandler(n&&n.handler)})}else delete this.$keybindingId,this.keyBinding.setKeyboardHandler(e)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;if(this.session){var t=this.session;this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeLeftTop",this.$onScrollLeftChange);var n=this.session.getSelection();n.removeEventListener("changeCursor",this.$onCursorChange),n.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull(),this._emit("changeSession",{session:e,oldSession:t})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e){this.renderer.setTheme(e)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.setFontSize=function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.renderer.updateFontSize()},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session.findMatchingBracket(e.getCursorPosition());if(t){var n=new h(t.row,t.column,t.row,t.column+1);e.session.$bracketHighlight=e.session.addMarker(n,"ace_bracket","text")}},50)},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus")},this.onBlur=function(){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur")},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=e.data,n=t.range,r;n.start.row==n.end.row&&t.action!="insertLines"&&t.action!="removeLines"?r=n.end.row:r=Infinity,this.renderer.updateLines(n.start.row,r),this._emit("change",e),this.$cursorChange()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||this.renderer.scrollCursorIntoView(),this.$highlightBrackets(),this.$updateHighlightActiveLine(),this._emit("changeSelection")},this.$updateHighlightActiveLine=function(){var e=this.getSession(),t;this.$highlightActiveLine&&(this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(t=this.getCursorPosition()),e.$highlightLineMarker&&!t?(e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null):!e.$highlightLineMarker&&t?e.$highlightLineMarker=e.highlightLines(t.row,t.row,"ace_active-line"):t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e._emit("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._emit("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(){this.renderer.updateText()},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getCopyText=function(){var e="";return this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange())),this._emit("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e){if(this.$readOnly)return;this._emit("paste",e),this.insert(e)},this.execCommand=function(e,t){this.commands.exec(e,this,t)},this.insert=function(e){var t=this.session,n=t.getMode(),r=this.getCursorPosition();if(this.getBehavioursEnabled()){var i=n.transformAction(t.getState(r.row),"insertion",this,t,e);i&&(e=i.text)}e=e.replace(" ",this.session.getTabString());if(!this.selection.isEmpty())r=this.session.remove(this.getSelectionRange()),this.clearSelection();else if(this.session.getOverwrite()){var s=new h.fromPoints(r,r);s.end.column+=e.length,this.session.remove(s)}this.clearSelection();var o=r.column,u=t.getState(r.row),a=t.getLine(r.row),f=n.checkOutdent(u,a,e),l=t.insert(r,e);i&&i.selection&&(i.selection.length==2?this.selection.setSelectionRange(new h(r.row,o+i.selection[0],r.row,o+i.selection[1])):this.selection.setSelectionRange(new h(r.row+i.selection[0],i.selection[1],r.row+i.selection[2],i.selection[3])));if(t.getDocument().isNewLine(e)){var c=n.getNextLineIndent(u,a.slice(0,r.column),t.getTabString());this.moveCursorTo(r.row+1,0);var p=t.getTabSize(),d=Number.MAX_VALUE;for(var v=r.row+1;v<=l.row;++v){var m=0;a=t.getLine(v);for(var g=0;g0;++g)a.charAt(g)==" "?y-=p:a.charAt(g)==" "&&(y-=1);t.remove(new h(v,0,v,g))}t.indentRows(r.row+1,l.row,c)}f&&n.autoOutdent(u,t,r.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.$mouseHandler.setScrollSpeed(e)},this.getScrollSpeed=function(){return this.$mouseHandler.getScrollSpeed()},this.setDragDelay=function(e){this.$mouseHandler.setDragDelay(e)},this.getDragDelay=function(){return this.$mouseHandler.getDragDelay()},this.$selectionStyle="line",this.setSelectionStyle=function(e){if(this.$selectionStyle==e)return;this.$selectionStyle=e,this.onSelectionChange(),this._emit("changeSelectionStyle",{data:e})},this.getSelectionStyle=function(){return this.$selectionStyle},this.$highlightActiveLine=!0,this.setHighlightActiveLine=function(e){if(this.$highlightActiveLine==e)return;this.$highlightActiveLine=e,this.$updateHighlightActiveLine()},this.getHighlightActiveLine=function(){return this.$highlightActiveLine},this.$highlightGutterLine=!0,this.setHighlightGutterLine=function(e){if(this.$highlightGutterLine==e)return;this.renderer.setHighlightGutterLine(e),this.$highlightGutterLine=e},this.getHighlightGutterLine=function(){return this.$highlightGutterLine},this.$highlightSelectedWord=!0,this.setHighlightSelectedWord=function(e){if(this.$highlightSelectedWord==e)return;this.$highlightSelectedWord=e,this.$onSelectionChange()},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.$readOnly=!1,this.setReadOnly=function(e){this.$readOnly=e,this.textInput.setReadOnly(e),this.renderer.$cursorLayer.setBlinking(!e)},this.getReadOnly=function(){return this.$readOnly},this.$modeBehaviours=!0,this.setBehavioursEnabled=function(e){this.$modeBehaviours=e},this.getBehavioursEnabled=function(){return this.$modeBehaviours},this.$modeWrapBehaviours=!0,this.setWrapBehavioursEnabled=function(e){this.$modeWrapBehaviours=e},this.getWrapBehavioursEnabled=function(){return this.$modeWrapBehaviours},this.setShowFoldWidgets=function(e){var t=this.renderer.$gutterLayer;if(t.getShowFoldWidgets()==e)return;this.renderer.$gutterLayer.setShowFoldWidgets(e),this.$showFoldWidgets=e,this.renderer.updateFull()},this.getShowFoldWidgets=function(){return this.renderer.$gutterLayer.getShowFoldWidgets()},this.setFadeFoldWidgets=function(e){this.renderer.setFadeFoldWidgets(e)},this.getFadeFoldWidgets=function(){return this.renderer.getFadeFoldWidgets()},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new h(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new h(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t==1?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t==0&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e){var t=this.getCursorPosition(),n=this.session.getBracketRange(t);if(!n){n=this.find({needle:/[{}()\[\]]/g,preventScroll:!0,start:{row:t.row,column:t.column-1}});if(!n)return;var r=n.start;r.row==t.row&&Math.abs(r.column-t.column)<2&&(n=this.session.getBracketRange(r))}r=n&&n.cursor||r,r&&(e?n&&n.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(r.row,r.column):(this.clearSelection(),this.moveCursorTo(r.row,r.column)))},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.navigateUp=function(e){this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(-e,0)},this.navigateDown=function(e){this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(e,0)},this.navigateLeft=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){var e=this.renderer.scrollTop;this.selection.moveCursorFileEnd(),this.clearSelection(),this.renderer.animateScrolling(e)},this.navigateFileStart=function(){var e=this.renderer.scrollTop;this.selection.moveCursorFileStart(),this.clearSelection(),this.renderer.animateScrolling(e)},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),n!==null&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;this.$blockScrolling+=1;var i=this.getSelectionRange();this.clearSelection(),this.selection.moveCursorTo(0,0);for(var s=n.length-1;s>=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!=0&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy()}}).call(g.prototype),t.Editor=g}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.startDrag=function(){var e=this.editor;this.setState("drag"),this.dragRange=e.getSelectionRange();var t=e.getSelectionStyle();this.dragSelectionMarker=e.session.addMarker(this.dragRange,"ace_selection",t),e.clearSelection(),r.addCssClass(e.container,"ace_dragging"),this.$dragKeybinding||(this.$dragKeybinding={handleKeyboard:function(e,t,n,r){if(n=="esc")return{command:this.command}},command:{exec:function(e){var t=e.$mouseHandler;t.dragCursor=null,t.dragEnd(),t.startSelect()}}}),e.keyBinding.addKeyboardHandler(this.$dragKeybinding)},this.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=(new Date).getTime();(e>s||t-this.mousedownEvent.time>this.$focusWaitTimout)&&this.startSelect()},this.dragWait=function(e){var t=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),n=(new Date).getTime(),r=this.editor;t>s?this.startSelect(this.mousedownEvent.getDocumentPosition()):n-this.mousedownEvent.time>r.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(e){this.mousedownEvent.domEvent=e,this.startSelect()},this.drag=function(){var e=this.editor;this.dragCursor=e.renderer.screenToTextCoordinates(this.x,this.y),e.moveCursorToPosition(this.dragCursor),e.renderer.scrollCursorIntoView()},this.dragEnd=function(e){var t=this.editor,n=this.dragCursor,i=this.dragRange;r.removeCssClass(t.container,"ace_dragging"),t.session.removeMarker(this.dragSelectionMarker),t.keyBinding.removeKeyboardHandler(this.$dragKeybinding);if(!n)return;t.clearSelection();if(e&&(e.ctrlKey||e.altKey)){var s=t.session,o=i;o.end=s.insert(n,s.getTextRange(i)),o.start=n}else{if(i.contains(n.row,n.column))return;var o=t.moveText(i,n)}if(!o)return;t.selection.setSelectionRange(o)},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);if(i){i.isEmpty()&&(i.start.column--,i.end.column++),this.$clickSelection=i,this.setState("select");return}this.$clickSelection=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines"),this.$clickSelection=n.selection.getLineRange(t.row)},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("null")},this.onMouseWheel=function(e){if(e.getShiftKey()||e.getAccelKey())return;var t=this.editor,n=t.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(n)this.$passScrollEvent=!1;else{if(this.$passScrollEvent)return;if(!this.$scrollStopTimeout){var r=this;this.$scrollStopTimeout=setTimeout(function(){r.$passScrollEvent=!0,r.$scrollStopTimeout=null},200)}}return t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.preventDefault()}}).call(o.prototype),t.DefaultHandlers=o}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event"],function(e,t,n){function s(e){function f(){u=r.createElement("div"),u.className="ace_gutter-tooltip",u.style.display="none",t.container.appendChild(u)}function l(){u||f();var e=o.getDocumentPosition().row,r=n.$annotations[e];if(!r)return c();var i=t.session.getLength();if(e==i){var s=t.renderer.pixelToScreenCoordinates(0,o.y).row,l=o.$pos;if(s>t.session.documentToScreenRow(l.row,l.column))return c()}if(a==r)return;a=r.text.join("
"),u.style.display="block",u.innerHTML=a,t.on("mousewheel",c),h(o)}function c(){s&&(s=clearTimeout(s)),a&&(u.style.display="none",a=null,t.removeEventListener("mousewheel",c))}function h(e){var n=t.renderer.$gutter.getBoundingClientRect();u.style.left=e.x+15+"px",e.y+3*t.renderer.lineHeight+150)return;return clearInterval(o),t.session.removeMarker(n),n=null,t.selection.setSelectionRange(u,a),r.preventDefault(e)}),r.addListener(c,"drop",function(e){if(t.getReadOnly())return;return l=0,clearInterval(o),t.session.removeMarker(n),n=null,u.end=t.session.insert(f,e.dataTransfer.getData("Text")),u.start=f,t.focus(),t.selection.setSelectionRange(u),r.preventDefault(e)})};t.DragdropHandler=i}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("guttermousedown",function(t){if(!e.isFocused())return;var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.foldWidgets;if(!s||s[r])return;var o=r-1,u;while(o>=0){var a=s[o];a==null&&(a=s[o]=i.getFoldWidget());if(a=="start"){var f=i.getFoldWidgetRange(o);u||(u=f);if(f&&f.end.row>=r)break}o--}o==-1&&(f=u);if(f){var r=f.start.row,l=i.getFoldAt(r,i.getLine(r).length,1);l?i.removeFold(l):(i.addFold("...",f),e.renderer.scrollCursorIntoView({row:f.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0),this.$data={editor:this.$editor}},this.setKeyboardHandler=function(e){if(this.$handlers[this.$handlers.length-1]==e)return;while(this.$handlers[1])this.removeKeyboardHandler(this.$handlers[1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=s.passEvent!=1:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&i.stopEvent(r);if(o)break}return o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/edit_session",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/lib/net","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,n){var r=e("./config"),i=e("./lib/oop"),s=e("./lib/lang"),o=e("./lib/net"),u=e("./lib/event_emitter").EventEmitter,a=e("./selection").Selection,f=e("./mode/text").Mode,l=e("./range").Range,c=e("./document").Document,h=e("./background_tokenizer").BackgroundTokenizer,p=e("./search_highlight").SearchHighlight,d=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.$foldData.toString=function(){var e="";return this.forEach(function(t){e+="\n"+t.toString()}),e},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof e!="object"||!e.getLine)e=new c(e);this.setDocument(e),this.selection=new a(this),this.setMode(t)};(function(){function g(e){return e<4352?!1:e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}i.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$getRowCacheIndex(this.$docRowCache,e)+1,n=this.$docRowCache.length;this.$docRowCache.splice(t,n),this.$screenRowCache.splice(t,n)},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t]}),t.$deltas=[]},this.$informUndoManager=s.deferredCall(this.$syncInformUndoManager)}},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?s.stringRepeat(" ",this.getTabSize()):" "},this.$useSoftTabs=!0,this.setUseSoftTabs=function(e){if(this.$useSoftTabs===e)return;this.$useSoftTabs=e},this.getUseSoftTabs=function(){return this.$useSoftTabs},this.$tabSize=4,this.setTabSize=function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._emit("changeTabSize")},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},this.$overwrite=!1,this.setOverwrite=function(e){if(this.$overwrite==e)return;this.$overwrite=e,this._emit("changeOverwrite")},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._emit("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._emit("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oo){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;r=this.doc.getLength()-1)return 0;var n=this.doc.removeLines(e,t);return this.doc.insertLines(e+1,n),1},this.duplicateLines=function(e,t){var e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t),n=this.getLines(e,t);this.doc.insertLines(e,n);var r=t-e+1;return r},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=[];for(var n=0;n0?(this.$wrapLimit=t,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._emit("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e){var t=this.$wrapLimitRange.min;t&&(e=Math.max(t,e));var n=this.$wrapLimitRange.max;return n&&(e=Math.min(n,e)),Math.max(1,e)},this.getWrapLimit=function(){return this.$wrapLimit},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n,r=e.data.action,i=e.data.range.start.row,s=e.data.range.end.row,o=e.data.range.start,u=e.data.range.end,a=null;r.indexOf("Lines")!=-1?(r=="insertLines"?s=i+e.data.lines.length:s=i,n=e.data.lines?e.data.lines.length:s-i):n=s-i;if(n!=0)if(r.indexOf("remove")!=-1){this[t?"$wrapData":"$rowLengthCache"].splice(i,n);var f=this.$foldData;a=this.getFoldsInRange(e.data.range),this.removeFolds(a);var l=this.getFoldLine(u.row),c=0;if(l){l.addRemoveChars(u.row,u.column,o.column-u.column),l.shiftRow(-n);var h=this.getFoldLine(i);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=u.row&&l.shiftRow(-n)}s=i}else{var p;if(t){p=[i,0];for(var d=0;d=i&&l.shiftRow(n)}}else{n=Math.abs(e.data.range.start.column-e.data.range.end.column),r.indexOf("remove")!=-1&&(a=this.getFoldsInRange(e.data.range),this.removeFolds(a),n=-n);var l=this.getFoldLine(i);l&&l.addRemoveChars(i,o.column,n)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),t?this.$updateWrapData(i,s):this.$updateRowLengthCache(i,s),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var n=this.doc.getAllLines(),r=this.getTabSize(),i=this.$wrapData,u=this.$wrapLimit,f,l,c=e;t=Math.min(t,n.length-1);while(c<=t){l=this.getFoldLine(c,l);if(!l)f=this.$getDisplayTokens(s.stringTrimRight(n[c])),i[c]=this.$computeWrapSplits(f,u,r),c++;else{f=[],l.walk(function(e,t,r,i){var s;if(e!=null){s=this.$getDisplayTokens(e,f.length),s[0]=o;for(var u=1;u=d)f.pop();i[l.start.row]=this.$computeWrapSplits(f,u,r),c=l.end.row+1}}};var t=1,n=2,o=3,a=4,c=9,d=10,v=11,m=12;this.$computeWrapSplits=function(e,t){function u(t){var r=e.slice(i,t),o=r.length;r.join("").replace(/12/g,function(){o-=1}).replace(/2/g,function(){o-=1}),s+=o,n.push(s),i=t}if(e.length==0)return[];var n=[],r=e.length,i=0,s=0;while(r-i>t){var f=i+t;if(e[f]>=d){while(e[f]>=d)f++;u(f);continue}if(e[f]==o||e[f]==a){for(f;f!=i-1;f--)if(e[f]==o)break;if(f>i){u(f);continue}f=i+t;for(f;fl&&e[f]l&&e[f]==c)f--;if(f>l){u(++f);continue}f=i+t,u(f)}return n},this.$getDisplayTokens=function(e,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(c):u>=4352&&g(u)?i.push(t,n):i.push(t)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&g(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.getRowLength=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(e<0)return{row:0,column:0};var n,r=0,i=0,s,o=0,u=0,a=this.$screenRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u-1>=e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}if(this.$useWrapMode){var v=this.$wrapData[r];v&&(s=v[e-o],e>o&&v.length&&(i=v[e-o-1]||v[v.length-1],n=n.substring(i)))}return i+=this.$getStringScreenWidth(n,t)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);if(this.$useWrapMode){var v=this.$wrapData[i],m=0;while(d.length>=v[m])r++,m++;d=d.substring(v[m-1]||0,d.length)}return{row:r,column:this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}return e}}).call(d.prototype),e("./edit_session/folding").Folding.call(d.prototype),e("./edit_session/bracket_match").BracketMatch.call(d.prototype),t.EditSession=d}),define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/event_emitter"],function(e,t,n){"no use strict";function f(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./lib/net"),o=e("./lib/event_emitter").EventEmitter,u=function(){return this}(),a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return a[e]},t.set=function(e,t){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);a[e]=t},t.all=function(){return r.copyObject(a)},i.implement(t,o),t.moduleUrl=function(e,t){if(a.$moduleUrls[e])return a.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var r=n[n.length-1].replace(t,"").replace(/(^[\-_])|([\-_]$)/,"");!r&&n.length>1&&(r=n[n.length-2]);var i=a[t+"Path"];return i==null&&(i=a.basePath),i&&i.slice(-1)!="/"&&(i+="/"),i+t+"-"+r+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i)return r(i);var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e}),r(e)})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=function(){a.packaged=e.packaged||n.packaged||u.define&&define.packaged;if(!u.document)return"";var r={},i="",s=document.getElementsByTagName("script");for(var o=0;ot.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column==0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<=1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e}}).call(u.prototype),t.Selection=u}),define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row==e.start.row&&this.end.row==e.end.row&&this.start.column==e.start.column&&this.end.column==e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};if(this.start.row>t)var i={row:t+1,column:0};if(this.start.row1&&(/\\\d/.test(a.regex)?f=a.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+s+1)}):(l=1,f=this.removeCapturingGroups(a.regex)),a.splitRegex||(a.splitRegex=this.createSplitterRegexp(a.regex,t))),o[s]=u,s+=l,i.push(f)}this.regExps[n]=new RegExp("("+i.join(")|(")+")|($)",t)}};(function(){this.$arrayTokens=function(e){if(!e)return[];var t=e.split(this.splitRegex),n=[],r=this.tokenArray;if(r.length!=t.length-2)return window.console&&console.error(r.length,t.length-2,e,this.splitRegex),[{type:"error.invalid",value:e}];for(var i=0;if){var v=e.substring(f,d-p.length);l.type==c?l.value+=v:(l.type&&a.push(l),l={type:c,value:v})}for(var m=0;m=t&&(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this.insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this.insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this.removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this.insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;ithis.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column;t.action==="insertText"?n.start.row===r&&n.start.column<=i?n.start.row===n.end.row?i+=n.end.column-n.start.column:(i-=n.start.column,r+=n.end.row-n.start.row):n.start.row!==n.end.row&&n.start.row=i?i=n.start.column:i=Math.max(0,i-(n.end.column-n.start.column)):n.start.row!==n.end.row&&n.start.row=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=5e3,o=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(!n.running)return;var e=new Date,t=n.currentLine,r=n.doc,i=0,s=r.getLength();while(n.currentLine20){n.fireUpdateEvent(t,n.currentLine-1),n.running=setTimeout(n.$worker,20);return}}n.running=!1,n.fireUpdateEvent(t,s-1)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._emit("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.$updateOnChange=function(e){var t=e.range,n=t.start.row,r=t.end.row-n;if(r===0)this.lines[n]=null;else if(e.action=="removeText"||e.action=="removeLines")this.lines.splice(n,r+1,null),this.states.splice(n,r+1,null);else{var i=Array(r+1);i.unshift(n,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(n,this.currentLine,this.doc.getLength()),this.stop(),this.running=setTimeout(this.$worker,700)},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1];if(t.length>s){var r={value:t.substr(s),type:"text"};t=t.slice(0,s)}var i=this.tokenizer.getLineTokens(t,n);return r&&(i.tokens.push(r),i.state="start"),this.states[e]+""!=i.state+""?(this.states[e]=i.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=i.tokens}}).call(o.prototype),t.BackgroundTokenizer=o}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i,null,this.type)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;var i=r.folds;for(var s=0;s=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:o=new s(t,e),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u==f&&l-a<2)throw"The range has to be at least 2 characters width";var c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);if(c&&!c.range.isStart(u,a)||h&&!h.range.isEnd(f,l))throw"A fold can't intersect already existing fold"+o.range+c.range;var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),o.subFolds=p);for(var d=0;dthis.endRow)throw"Can't add a fold to this FoldLine as it has no connection";this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw"Trying to add fold to FoldRow that doesn't have a matching row";this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f=this.$rowTokens.length){this.$row+=1;if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n}}).call(r.prototype),t.TokenIterator=r}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(aw&&o[c].end.row==n.end.row)c--;return o.slice(m,c+1)}return o},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=r.exec(e);if(!i||i[0].length!=e.length)return null;t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var s=Math.min(e.length,e.length);s--;){var o=e[s];o&&o.toLowerCase()!=o?t[s]=t[s].toUpperCase():t[s]=t[s].toLowerCase()}t=t.join("")}return t},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var i=this,o,u=t.backwards;if(t.$isMultiLine)var a=n.length,f=function(t,r,i){var u=t.search(n[0]);if(u==-1)return;for(var f=1;f=0;u--)if(o(s[u],t,i))return!0};else var f=function(e,t,i){var s=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../keyboard/hash_handler").HashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){this.platform=e,this.commands=this.byName={},this.commmandKeyBinding={},this.addCommands(t),this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var r=this._emit("exec",{editor:t,command:e,args:n});return r===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys"],function(e,t,n){function i(e,t){this.platform=t,this.commands={},this.commmandKeyBinding={},this.addCommands(e)}var r=e("../lib/keys");(function(){this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e){var t=typeof e=="string"?e:e.name;e=this.commands[t],delete this.commands[t];var n=this.commmandKeyBinding;for(var r in n)for(var i in n[r])n[r][i]==e&&delete n[r][i]},this.bindKey=function(e,t){if(!e)return;if(typeof t=="function"){this.addCommand({exec:t,bindKey:e,name:e});return}var n=this.commmandKeyBinding;e.split("|").forEach(function(e){var r=this.parseKeys(e,t),i=r.hashId;(n[i]||(n[i]={}))[r.key]=t},this)},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n}),n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){var t=e.bindKey;if(!t)return;var n=typeof t=="string"?t:t[this.platform];this.bindKey(n,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)throw"invalid modifier "+t[o]+" in "+e;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=this.commmandKeyBinding;return r[t]&&r[t][n]},this.handleKeyboard=function(e,t,n,r){return{command:this.findKeyCommand(t,n)}}}).call(i.prototype),t.HashHandler=i}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config"],function(e,t,n){function s(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config");t.commands=[{name:"selectall",bindKey:s("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:s(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:s("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},readOnly:!0},{name:"foldall",bindKey:s("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll()},readOnly:!0},{name:"unfoldall",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},readOnly:!0},{name:"findnext",bindKey:s("Ctrl-K","Command-G"),exec:function(e){e.findNext()},readOnly:!0},{name:"findprevious",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},readOnly:!0},{name:"find",bindKey:s("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:s("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0},{name:"gotostart",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectup",bindKey:s("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",readOnly:!0},{name:"golineup",bindKey:s("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selecttoend",bindKey:s("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoend",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"selectdown",bindKey:s("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",readOnly:!0},{name:"golinedown",bindKey:s("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectwordleft",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"gotowordleft",bindKey:s("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttolinestart",bindKey:s("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"gotolinestart",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectleft",bindKey:s("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoleft",bindKey:s("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectwordright",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",readOnly:!0},{name:"gotowordright",bindKey:s("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttolineend",bindKey:s("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"gotolineend",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"selectright",bindKey:s("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoright",bindKey:s("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:s(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:s(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:s("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:s("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"togglerecording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:s("Ctrl-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttomatching",bindKey:s("Ctrl-Shift-P",null),exec:function(e){e.jumpToMatching(!0)},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},multiSelectAction:"forEach"},{name:"removeline",bindKey:s("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},multiSelectAction:"forEach"},{name:"duplicateSelection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},multiSelectAction:"forEach"},{name:"sortlines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},multiSelectAction:"forEach"},{name:"togglecomment",bindKey:s("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEach"},{name:"modifyNumberUp",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},multiSelectAction:"forEach"},{name:"replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()}},{name:"movelinesup",bindKey:s("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()}},{name:"copylinesdown",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()}},{name:"movelinesdown",bindKey:s("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()}},{name:"del",bindKey:s("Delete","Delete|Ctrl-D"),exec:function(e){e.remove("right")},multiSelectAction:"forEach"},{name:"backspace",bindKey:s("Command-Backspace|Option-Backspace|Shift-Backspace|Backspace","Ctrl-Backspace|Command-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach"},{name:"removetolinestart",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach"},{name:"removetolineend",bindKey:s("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach"},{name:"removewordleft",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach"},{name:"removewordright",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach"},{name:"outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach"},{name:"indent",bindKey:s("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach"},{name:"blockoutdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach"},{name:"blockindent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEach"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach"},{name:"splitline",bindKey:s(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach"},{name:"transposeletters",bindKey:s("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)}},{name:"touppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach"},{name:"tolowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach"}]}),define("ace/undomanager",["require","exports","module"],function(e,t,n){var r=function(){this.reset()};(function(){this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],this.$undoStack.push(t),this.$redoStack=[]},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t)),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(t,e),this.$undoStack.push(t)),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[]},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0}}).call(r.prototype),t.UndoManager=r}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/useragent","ace/config","ace/lib/net","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/renderloop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/useragent"),u=e("./config"),a=e("./lib/net"),f=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,c=e("./layer/text").Text,h=e("./layer/cursor").Cursor,p=e("./scrollbar").ScrollBar,d=e("./renderloop").RenderLoop,v=e("./lib/event_emitter").EventEmitter,m=".ace_editor {position: relative;overflow: hidden;font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;font-size: 12px;line-height: normal;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: text;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM2OEZDQTQ4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM2OEZDQTU4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzY4RkNBMjhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzY4RkNBMzhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkgXxbAAAAJbSURBVHjapFNNaBNBFH4zs5vdZLP5sQmNpT82QY209heh1ioWisaDRcSKF0WKJ0GQnrzrxasHsR6EnlrwD0TagxJabaVEpFYxLWlLSS822tr87m66ccfd2GKyVhA6MMybgfe97/vmPUQphd0sZjto9XIn9OOsvlu2nkqRzVU+6vvlzPf8W6bk8dxQ0NPbxAALgCgg2JkaQuhzQau/El0zbmUA7U0Es8v2CiYmKQJHGO1QICCLoqilMhkmurDAyapKgqItezi/USRdJqEYY4D5jCy03ht2yMkkvL91jTTX10qzyyu2hruPRN7jgbH+EOsXcMLgYiThEgAMhABW85oqy1DXdRIdvP1AHJ2acQXvDIrVHcdQNrEKNYSVMSZGMjEzIIAwDXIo+6G/FxcGnzkC3T2oMhLjre49sBB+RRcHLqdafK6sYdE/GGBwU1VpFNj0aN8pJbe+BkZyevUrvLl6Xmm0W9IuTc0DxrDNAJd5oEvI/KRsNC3bQyNjPO9yQ1YHcfj2QvfQc/5TUhJTBc2iM0U7AWDQtc1nJHvD/cfO2s7jaGkiTEfa/Ep8coLu7zmNmh8+dc5lZDuUeFAGUNA/OY6JVaypQ0vjr7XYjUvJM37vt+j1vuTK5DgVfVUoTjVe+y3/LxMxY2GgU+CSLy4cpfsYorRXuXIOi0Vt40h67uZFTdIo6nLaZcwUJWAzwNS0tBnqqKzQDnjdG/iPyZxo46HaKUpbvYkj8qYRTZsBhge+JHhZyh0x9b95JqjVJkT084kZIPwu/mPWqPgfQ5jXh2+92Ay7HedfAgwA6KDWafb4w3cAAAAASUVORK5CYII=\");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM2OEZDQTg4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM2OEZDQTk4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzY4RkNBNjhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzY4RkNBNzhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pgd7PfIAAAGmSURBVHjaYvr//z8DJZiJgUIANoCRkREb9gLiSVAaQx4OQM7AAkwd7XU2/v++/rOttdYGEB9dASEvOMydGKfH8Gv/p4XTkvRBfLxeQAP+1cUhXopyvzhP7P/IoSj7g7Mw09cNKO6J1QQ0L4gICPIv/veg/8W+JdFvQNLHVsW9/nmn9zk7B+cCkDwhL7gt6knSZnx9/LuCEOcvkIAMP+cvto9nfqyZmmUAksfnBUtbM60gX/3/kgyv3/xSFOL5DZT+L8vP+Yfh5cvfPvp/xUHyQHXGyAYwgpwBjZYFT3Y1OEl/OfCH4ffv3wzc4iwMvNIsDJ+f/mH4+vIPAxsb631WW0Yln6ZpQLXdMK/DXGDflh+sIv37EivD5x//Gb7+YWT4y86sl7BCCkSD+Z++/1dkvsFRl+HnD1Rvje4F8whjMXmGj58YGf5zsDMwcnAwfPvKcml62DsQDeaDxN+/Y0qwlpEHqrdB94IRNIDUgfgfKJChGK4OikEW3gTiXUB950ASLFAF54AC94A0G9QAfOnmF9DCDzABFqS08IHYDIScdijOjQABBgC+/9awBH96jwAAAABJRU5ErkJggg==\");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url(\"data:image/gif;base64,R0lGODlhEAAQAMQAAAAAAEFBQVJSUl5eXmRkZGtra39/f4WFhYmJiZGRkaampry8vMPDw8zMzNXV1dzc3OTk5Orq6vDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABQALAAAAAAQABAAAAUuICWOZGmeaBml5XGwFCQSBGyXRSAwtqQIiRuiwIM5BoYVbEFIyGCQoeJGrVptIQA7\");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRTk5MTVGREIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRTk5MTVGRUIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZFOTkxNUZCQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFOTkxNUZDQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SIDkjAAAAJ1JREFUeNpi/P//PwMlgImBQkB7A6qrq/+DMC55FkIGKCoq4pVnpFkgTp069f/+/fv/r1u37r+tre1/kg0A+ptn9uzZYLaRkRHpLvjw4cNXWVlZhufPnzOcO3eOdAO0tbVPAjHDmzdvGA4fPsxIsgGSkpJmv379Ynj37h2DjIyMCMkG3LhxQ/T27dsMampqDHZ2dq/pH41DxwCAAAMAFdc68dUsFZgAAAAASUVORK5CYII=\");}.ace_scrollbar {position: absolute;overflow-x: hidden;overflow-y: scroll;right: 0;top: 0;bottom: 0;}.ace_scrollbar-inner {position: absolute;width: 1px;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;}.ace_text-input.ace_composition {background: #f8f8f8;color: #111;z-index: 1000;opacity: 1;border: solid lightgray 1px;margin: -1px;padding: 0 1px;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;white-space: nowrap;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;/* setting pointer-events: auto; on node under the mouse, which changesduring scroll, will break mouse wheel scrolling in Safari */pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {color: black;font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-moz-transition: opacity 0.18s;-webkit-transition: opacity 0.18s;-o-transition: opacity 0.18s;-ms-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_cursor[style*=\"opacity: 0\"]{-ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_line {white-space: nowrap;}.ace_marker-layer .ace_step {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A'%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82\"),url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%3AIDAT8%11c%FC%FF%FF%7F%18%03%1A%60%01%F2%3F%A0%891%80%04%FF%11-%F8%17%9BJ%E2%05%B1ZD%81v%26t%E7%80%F8%A3%82h%A12%1A%20%A3%01%02%0F%01%BA%25%06%00%19%C0%0D%AEF%D5%3ES%00%00%00%00IEND%AEB%60%82\");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;-moz-border-radius: 2px;-webkit-border-radius: 2px;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A'%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82\"),url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%003IDAT8%11c%FC%FF%FF%7F%3E%03%1A%60%01%F2%3F%A3%891%80%04%FFQ%26%F8w%C0%B43%A1%DB%0C%E2%8F%0A%A2%85%CAh%80%8C%06%08%3C%04%E8%96%18%00%A3S%0D%CD%CF%D8%C1%9D%00%00%00%00IEND%AEB%60%82\");background-repeat: no-repeat, repeat-x;background-position: center center, top left;}.ace_editor.ace_dragging .ace_content {cursor: move;}.ace_gutter-tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;display: inline-block;max-width: 500px;padding: 4px;position: fixed;z-index: 300;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre-line;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: inline-block;width: 11px;vertical-align: top;background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAe%8A%B1%0D%000%0C%C2%F2%2CK%96%BC%D0%8F9%81%88H%E9%D0%0E%96%C0%10%92%3E%02%80%5E%82%E4%A9*-%EEsw%C8%CC%11%EE%96w%D8%DC%E9*Eh%0C%151(%00%00%00%00IEND%AEB%60%82\");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;}.ace_fold-widget.ace_end {background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAm%C7%C1%09%000%08C%D1%8C%ECE%C8E(%8E%EC%02)%1EZJ%F1%C1'%04%07I%E1%E5%EE%CAL%F5%A2%99%99%22%E2%D6%1FU%B5%FE0%D9x%A7%26Wz5%0E%D5%00%00%00%00IEND%AEB%60%82\");}.ace_fold-widget.ace_closed {background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%03%00%00%00%06%08%06%00%00%00%06%E5%24%0C%00%00%009IDATx%DA5%CA%C1%09%000%08%03%C0%AC*(%3E%04%C1%0D%BA%B1%23%A4Uh%E0%20%81%C0%CC%F8%82%81%AA%A2%AArGfr%88%08%11%11%1C%DD%7D%E0%EE%5B%F6%F6%CB%B8%05Q%2F%E9tai%D9%00%00%00%00IEND%AEB%60%82\");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}/*** Dark version for fold widgets*/.ace_dark .ace_fold-widget {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\");}.ace_dark .ace_fold-widget.ace_end {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\");}.ace_dark .ace_fold-widget.ace_closed {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-moz-transition: opacity 0.4s ease 0.05s;-webkit-transition: opacity 0.4s ease 0.05s;-o-transition: opacity 0.4s ease 0.05s;-ms-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-moz-transition: opacity 0.05s ease 0.05s;-webkit-transition: opacity 0.05s ease 0.05s;-o-transition: opacity 0.05s ease 0.05s;-ms-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}";i.importCssString(m,"ace_editor");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.setHighlightGutterLine(!0),this.$gutterLayer=new f(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content);var r=this.$textLayer=new c(this.content);this.canvas=r.element,this.$markerFront=new l(this.content),this.$cursorLayer=new h(this.content),this.$horizScroll=!1,this.$horizScrollAlwaysVisible=!1,this.$animatedScroll=!1,this.scrollBar=new p(this.container),this.scrollBar.addEventListener("scroll",function(e){n.$inScrollAnimation||n.session.setScrollTop(e.data)}),this.scrollTop=0,this.scrollLeft=0,s.addListener(this.scroller,"scroll",function(){var e=n.scroller.scrollLeft;n.scrollLeft=e,n.session.setScrollLeft(e)}),this.cursorPos={row:0,column:0},this.$textLayer.addEventListener("changeCharacterSize",function(){n.updateCharacterSize(),n.onResize(!0)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:1,characterWidth:1,minHeight:1,maxHeight:1,offset:0,height:1},this.$loop=new d(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4)};(function(){this.showGutter=!0,this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.characterWidth=this.$textLayer.getCharacterWidth(),this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session=e,this.scroller.className="ace_scroller",this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),this.$loop.schedule(this.CHANGE_FULL)},this.updateLines=function(e,t){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$changedLines.lastRow2)return;this.resizing>1?this.resizing++:this.resizing=e?1:0,r||(r=i.getInnerHeight(this.container)),r&&(e||o.height!=r)&&(o.height=r,o.scrollerHeight=this.scroller.clientHeight,this.scrollBar.setHeight(o.scrollerHeight),this.session&&(this.session.setScrollTop(this.getScrollTop()),s|=this.CHANGE_FULL)),n||(n=i.getInnerWidth(this.container));if(n&&(e||this.resizing>1||o.width!=n)){o.width=n;var t=this.showGutter?this.$gutter.offsetWidth:0;this.scroller.style.left=t+"px",o.scrollerWidth=Math.max(0,n-t-this.scrollBar.getWidth()),this.scroller.style.right=this.scrollBar.getWidth()+"px";if(this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}e?this.$renderChanges(s,!0):this.$loop.schedule(s),e&&delete this.resizing},this.onGutterResize=function(){var e=this.$size.width,t=this.showGutter?this.$gutter.offsetWidth:0;this.scroller.style.left=t+"px",this.$size.scrollerWidth=Math.max(0,e-t-this.scrollBar.getWidth()),this.session.getUseWrapMode()&&this.adjustWrapLimit()&&this.$loop.schedule(this.CHANGE_FULL)},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t)},this.setAnimatedScroll=function(e){this.$animatedScroll=e},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},this.getShowInvisibles=function(){return this.$textLayer.showInvisibles},this.getDisplayIndentGuides=function(){return this.$textLayer.displayIndentGuides},this.setDisplayIndentGuides=function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},this.$showPrintMargin=!0,this.setShowPrintMargin=function(e){this.$showPrintMargin=e,this.$updatePrintMargin()},this.getShowPrintMargin=function(){return this.$showPrintMargin},this.$printMarginColumn=80,this.setPrintMarginColumn=function(e){this.$printMarginColumn=e,this.$updatePrintMargin()},this.getPrintMarginColumn=function(){return this.$printMarginColumn},this.getShowGutter=function(){return this.showGutter},this.setShowGutter=function(e){if(this.showGutter===e)return;this.$gutter.style.display=e?"block":"none",this.showGutter=e,this.onResize(!0)},this.getFadeFoldWidgets=function(){return i.hasCssClass(this.$gutter,"ace_fade-fold-widgets")},this.setFadeFoldWidgets=function(e){e?i.addCssClass(this.$gutter,"ace_fade-fold-widgets"):i.removeCssClass(this.$gutter,"ace_fade-fold-widgets")},this.$highlightGutterLine=!1,this.setHighlightGutterLine=function(e){if(this.$highlightGutterLine==e)return;this.$highlightGutterLine=e;if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},this.getHighlightGutterLine=function(){return this.$highlightGutterLine},this.$updateGutterLineHighlight=function(){this.$gutterLineHighlight.style.top=this.$cursorLayer.$pixelPos.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=this.layerConfig.lineHeight+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden"},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;if(t<0||t>e.height-this.lineHeight)return;var r=this.characterWidth;if(this.$composition){var i=this.textarea.value.replace(/^\x01+/,"");r*=this.session.$getStringScreenWidth(i)[0]}n-=this.scrollLeft,n>this.$size.scrollerWidth-r&&(n=this.$size.scrollerWidth-r),n-=this.scrollBar.width,this.textarea.style.height=this.lineHeight+"px",this.textarea.style.width=r+"px",this.textarea.style.right=this.$size.scrollerWidth-n-r+"px",this.textarea.style.bottom=this.$size.height-t-this.lineHeight+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.getHScrollBarAlwaysVisible=function(){return this.$horizScrollAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.$horizScrollAlwaysVisible!=e&&(this.$horizScrollAlwaysVisible=e,(!this.$horizScrollAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL))},this.$updateScrollBar=function(){this.scrollBar.setInnerHeight(this.layerConfig.maxHeight),this.scrollBar.setScrollTop(this.scrollTop)},this.$renderChanges=function(e,t){if(!t&&(!e||!this.session||!this.container.offsetWidth))return;(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL)&&this.$computeLayerConfig();if(e&this.CHANGE_H_SCROLL){this.scroller.scrollLeft=this.scrollLeft;var n=this.scroller.scrollLeft;this.scrollLeft=n,this.session.setScrollLeft(n),this.scroller.className=this.scrollLeft==0?"ace_scroller":"ace_scroller ace_scroll-left"}if(e&this.CHANGE_FULL){this.$textLayer.checkForSizeChanges(),this.$updateScrollBar(),this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight();return}if(e&this.CHANGE_SCROLL){this.$updateScrollBar(),e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(this.layerConfig):this.$textLayer.scrollLines(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight();return}e&this.CHANGE_TEXT?(this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.showGutter)&&this.$gutterLayer.update(this.layerConfig):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.showGutter&&this.$gutterLayer.update(this.layerConfig),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(this.layerConfig),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(this.layerConfig),e&this.CHANGE_SIZE&&this.$updateScrollBar()},this.$computeLayerConfig=function(){var e=this.session,t=this.scrollTop%this.lineHeight,n=this.$size.scrollerHeight+this.lineHeight,r=this.$getLongestLine(),i=this.$horizScrollAlwaysVisible||this.$size.scrollerWidth-r<0,s=this.$horizScroll!==i;this.$horizScroll=i,s&&(this.scroller.style.overflowX=i?"scroll":"hidden",i||this.session.setScrollLeft(0));var o=this.session.getScreenLength()*this.lineHeight;this.session.setScrollTop(Math.max(0,Math.min(this.scrollTop,o-this.$size.scrollerHeight)));var u=Math.ceil(n/this.lineHeight)-1,a=Math.max(0,Math.round((this.scrollTop-t)/this.lineHeight)),f=a+u,l,c,h=this.lineHeight;a=e.screenToDocumentRow(a,0);var p=e.getFoldLine(a);p&&(a=p.start.row),l=e.documentToScreenRow(a,0),c=e.getRowLength(a)*h,f=Math.min(e.screenToDocumentRow(f,0),e.getLength()-1),n=this.$size.scrollerHeight+e.getRowLength(f)*h+c,t=this.scrollTop-l*h,this.layerConfig={width:r,padding:this.$padding,firstRow:a,firstRowScreen:l,lastRow:f,lineHeight:h,characterWidth:this.characterWidth,minHeight:n,maxHeight:o,offset:t,height:this.$size.scrollerHeight},this.$gutterLayer.element.style.marginTop=-t+"px",this.content.style.marginTop=-t+"px",this.content.style.width=r+2*this.$padding+"px",this.content.style.height=n+"px",s&&this.onResize(!0)},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ti?(t&&(i-=t*this.$size.scrollerHeight),this.session.setScrollTop(i)):this.scrollTop+this.$size.scrollerHeightr?(r0)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this._loadTheme=function(e,t){},this.setTheme=function(e){function r(e){i.importCssString(e.cssText,e.cssClass,t.container.ownerDocument),t.theme&&i.removeCssClass(t.container,t.theme.cssClass),t.$theme=e.cssClass,t.theme=e,i.addCssClass(t.container,e.cssClass),i.setCssClass(t.container,"ace_dark",e.isDark);var n=e.padding||4;t.$padding&&n!=t.$padding&&t.setPadding(n),t.$size&&(t.$size.width=0,t.onResize()),t._dispatchEvent("themeLoaded",{theme:e})}var t=this;this.$themeValue=e,t._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var n=e||"ace/theme/textmate";u.loadModule(["theme",n],r)}else r(e)},this.getTheme=function(){return this.$themeValue},this.setStyle=function(t,n){i.setCssClass(this.container,t,n!=0)},this.unsetStyle=function(t){i.removeCssClass(this.container,t)},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),t.VirtualRenderer=g}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this)};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];var t,n;for(var r=0;ru&&(i=o.end.row+1,o=this.session.getNextFoldLine(i,o),u=o?o.start.row:Infinity);if(i>s)break;var h=this.$annotations[i]||t;n.push("
",c=i+1);if(a){var p=a[i];p==null&&(p=a[i]=this.session.getFoldWidget(i)),p&&n.push("")}n.push("
"),i++}this.element=r.setInnerHtml(this.element,n.join("")),this.element.style.height=e.minHeight+"px",this.session.$useWrapMode&&(c=this.session.getLength());var d=(""+c).length*e.characterWidth,v=this.$padding||this.$computePadding();d+=v.left+v.right,d!==this.gutterWidth&&(this.gutterWidth=d,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",d))},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1,this.$padding.right=parseInt(e.paddingRight),this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(e.xn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var s=r.range.clipRows(e.firstRow,e.lastRow);if(s.isEmpty())continue;s=s.toScreenRange(this.session);if(r.renderer){var o=this.$getTop(s.start.row,e),u=this.$padding+s.start.column*e.characterWidth;r.renderer(t,s,u,o,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,s,r.clazz,e):s.isMultiLine()?r.type=="text"?this.drawTextMarker(t,s,r.clazz,e):this.drawMultiLineMarker(t,s,r.clazz,e):this.drawSingleLineMarker(t,s,r.clazz+" ace_start",e)}this.element=i.setInnerHtml(this.element,t.join(""))},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i){var s=t.start.row,o=new r(s,t.start.column,s,this.session.getScreenLastRowColumn(s));this.drawSingleLineMarker(e,o,n+" ace_start",i,1,"text"),s=t.end.row,o=new r(s,0,s,t.end.column),this.drawSingleLineMarker(e,o,n,i,0,"text");for(s=t.start.row+1;s"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<0)return;u=this.$getTop(t.start.row+1,r),e.push("
")},this.drawSingleLineMarker=function(e,t,n,r,i){var s=r.lineHeight,o=(t.end.column+(i||0)-t.start.column)*r.characterWidth,u=this.$getTop(t.start.row,r),a=this.$padding+t.start.column*r.characterWidth;e.push("
")},this.drawFullLineMarker=function(e,t,n,r){var i=this.$getTop(t.start.row,r),s=r.lineHeight;t.start.row!=t.end.row&&(s+=this.$getTop(t.end.row,r)-i),e.push("
")}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$characterSize={width:0,height:0},this.checkForSizeChanges(),this.$pollSizeChanges()};(function(){r.implement(this,u),this.EOF_CHAR="¶",this.EOL_CHAR="¬",this.TAB_CHAR="→",this.SPACE_CHAR="·",this.$padding=0,this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$characterSize.height||1},this.getCharacterWidth=function(){return this.$characterSize.width||1},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){var e=this;this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.$fontStyles={fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},this.$measureSizes=o.isIE||o.isOldGecko?function(){var e=1e3;if(!this.$measureNode){var t=this.$measureNode=i.createElement("div"),n=t.style;n.width=n.height="auto",n.left=n.top=-e*40+"px",n.visibility="hidden",n.position="fixed",n.overflow="visible",n.whiteSpace="nowrap",t.innerHTML=s.stringRepeat("Xy",e);if(this.element.ownerDocument.body)this.element.ownerDocument.body.appendChild(t);else{var r=this.element.parentNode;while(!i.hasCssClass(r,"ace_editor"))r=r.parentNode;r.appendChild(t)}}if(!this.element.offsetWidth)return null;var n=this.$measureNode.style,o=i.computedStyle(this.element);for(var u in this.$fontStyles)n[u]=o[u];var a={height:this.$measureNode.offsetHeight,width:this.$measureNode.offsetWidth/(e*2)};return a.width==0||a.height==0?null:a}:function(){if(!this.$measureNode){var e=this.$measureNode=i.createElement("div"),t=e.style;t.width=t.height="auto",t.left=t.top="-100px",t.visibility="hidden",t.position="fixed",t.overflow="visible",t.whiteSpace="nowrap",e.innerHTML="X";var n=this.element.parentNode;while(n&&!i.hasCssClass(n,"ace_editor"))n=n.parentNode;if(!n)return this.$measureNode=null;n.appendChild(e)}var r=this.$measureNode.getBoundingClientRect(),s={height:r.height,width:r.width};return s.width==0||s.height==0?null:s},this.setSession=function(e){this.session=e,this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+this.TAB_CHAR+s.stringRepeat(" ",n-1)+""):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide";if(this.showInvisibles){r+=" ace_invisible";var i=s.stringRepeat(this.SPACE_CHAR,this.tabSize),o=this.TAB_CHAR+s.stringRepeat(" ",this.tabSize-1)}else var i=s.stringRepeat(" ",this.tabSize),o=i;this.$tabStrings[" "]=""+i+"",this.$tabStrings[" "]=""+o+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),s=Math.min(n,e.lastRow),o=this.element.childNodes,u=0;for(var a=e.firstRow;al&&(a=f.end.row+1,f=this.session.getNextFoldLine(a,f),l=f?f.start.row:Infinity);if(a>s)break;var c=o[u++];if(c){var h=[];this.$renderLine(h,a,!this.$useLineGroups(),a==l?f:!1),i.setInnerHtml(c,h.join(""))}a++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a);else{var l=a.childNodes;while(l.length)r.appendChild(l[0])}s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,s=n,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>r)break;this.$useLineGroups()&&t.push("
"),this.$renderLine(t,s,!1,s==u?o:!1),this.$useLineGroups()&&t.push("
"),s++}this.element=i.setInnerHtml(this.element,t.join(""))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|( +)|([\x00-\x1f\x80-\xa0\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":s.stringRepeat(" ",e.length);if(e=="&")return"&";if(e=="<")return"<";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e==" "){var f=i.showInvisibles?"ace_cjk ace_invisible":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t){var n=t.search(this.$indentGuideRe);return n<=0?t:t[0]==" "?(n-=n%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],n/this.tabSize)),t.substr(n)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],n)),t.substr(n)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,s=0,o=n[0],u=0;for(var a=0;a=o)u=this.$renderToken(e,u,f,l.substring(0,o-i)),l=l.substring(o-i),i=o,r||e.push("","
"),s++,u=0,o=n[s]||Number.MAX_VALUE;l.length!=0&&(i+=l.length,u=this.$renderToken(e,u,f,l))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors")};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,e?r.addCssClass(this.element,"ace_smooth-blinking"):r.removeCssClass(this.element,"ace_smooth-blinking"),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking");for(var e=this.cursors.length;e--;)this.cursors[e].style.opacity="";if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){for(var e=this.cursors.length;e--;)this.cursors[e].style.opacity=0}.bind(this),.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){for(var e=this.cursors.length;e--;)this.cursors[e].style.opacity="";t()}.bind(this),this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=t.length;n--;){var i=this.getPixelPosition(t[n].cursor,!0);if((i.top>e.height+e.offset||i.top<-e.offset)&&n>1)continue;var s=(this.cursors[r++]||this.addCursor()).style;s.left=i.left+"px",s.top=i.top+"px",s.width=e.characterWidth+"px",s.height=e.lineHeight+"px"}while(this.cursors.length>r)this.removeCursor();var o=this.session.getOverwrite();this.$setOverwrite(o),this.$pixelPos=i,this.restartTimer()},this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar",this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.width=i.scrollbarWidth(e.ownerDocument),this.element.style.width=(this.width||15)+5+"px",s.addListener(this.element,"scroll",this.onScroll.bind(this))};(function(){r.implement(this,o),this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.width},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}).call(u.prototype),t.ScrollBar=u}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),t.onSessionChange.call(e,e),e.on("changeSession",t.onSessionChange.bind(e)),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function i(){n&&(r.style.cursor="",n=!1)}var t=e.textInput.getElement(),n=!1,r=e.renderer.content;u.addListener(t,"keydown",function(e){e.keyCode==18&&!(e.ctrlKey||e.shiftKey||e.metaKey)?n||(r.style.cursor="crosshair",n=!0):n&&(r.style.cursor="")}),u.addListener(t,"keyup",i),u.addListener(t,"blur",i)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount==0){var n=this.toOrientedRange();if(e.intersects(n))return t||this.fromOrientedRange(e);this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._emit("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._emit("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._emit("removeRange",{ranges:e}),this.rangeCount==0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._emit("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeList.ranges.concat()},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.on("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeEventListener("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;t.multiSelectAction?t.multiSelectAction=="forEach"?n.forEachSelection(t,e.args):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),t.exec(n,e.args||{})):t.multiSelectAction(n,e.args||{}):(t.exec(n,e.args||{}),n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()),e.preventDefault()},this.forEachSelection=function(e,t){if(this.inVirtualSelectionMode)return;var n=this.session,r=this.selection,i=r.rangeList,o=r._eventRegistry;r._eventRegistry={};var u=new s(n);this.inVirtualSelectionMode=!0;for(var a=i.ranges.length;a--;)u.fromOrientedRange(i.ranges[a]),this.selection=n.selection=u,e.exec(this,t||{}),u.toOrientedRange(i.ranges[a]);u.detach(),this.selection=n.selection=r,this.inVirtualSelectionMode=!1,r._eventRegistry=o,r.mergeOverlappingRanges(),this.onCursorChange(),this.onSelectionChange()},this.exitMultiSelectMode=function(){if(this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getCopyText=function(){var e="";if(this.inMultiSelectMode){var t=this.multiSelect.rangeList.ranges;e=[];for(var n=0;nn.length||t.length<=2||!t[1])return this.commands.exec("insertstring",this,e);for(var r=n.length;r--;){var i=n[r];i.isEmpty()||this.session.remove(i),this.session.insert(i.start,t[r])}},this.findAll=function(e,t,n){t=t||{},t.needle=e||t.needle,this.$search.set(t);var r=this.$search.findAll(this.session);if(!r.length)return 0;this.$blockScrolling+=1;var i=this.multiSelect;n||i.toSingleRange(r[0]);for(var s=r.length;s--;)i.addRange(r[s],!0);return this.$blockScrolling-=1,r.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(s.row+e,s.column);if(!n.isEmpty())var u=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(u.row+e,u.column);else var a=o;if(r){var f=i.fromPoints(o,a);f.cursor=f.start}else{var f=i.fromPoints(a,o);f.cursor=f.end}f.desiredColumn=s.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var l=n.cursor;this.selection.addRange(f),l&&this.selection.substractPoint(l)},this.transposeSelections=function(e){var t=this.session,n=t.multiSelect,r=n.ranges;for(var i=r.length;i--;){var s=r[i];if(s.isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var u=[];for(var i=r.length;i--;){var s=r[i];u.unshift(t.getTextRange(s))}e<0?u.unshift(u.pop()):u.push(u.shift());for(var i=r.length;i--;){var s=r[i],o=s.clone();t.replace(s,u[i]),s.start.row=o.start.row,s.start.column=o.start.column}},this.selectMore=function(e,t){var n=this.session,r=n.multiSelect,i=r.toOrientedRange();if(i.isEmpty()){var i=n.getWordRange(i.start.row,i.start.column);i.cursor=i.end,this.multiSelect.addRange(i)}var s=n.getTextRange(i),o=h(n,s,e);o&&(o.cursor=e==-1?o.start:o.end,this.multiSelect.addRange(o)),t&&this.multiSelect.substractPoint(i.cursor)},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges;if(!n.length){var r=this.selection.getRange(),s=r.start.row,o=r.end.row,u=this.session.doc.removeLines(s,o);u=this.$reAlignText(u),this.session.doc.insertLines(s,u),r.start.column=0,r.end.column=u[u.length-1].length,this.selection.setRange(r)}else{var f=-1,l=n.filter(function(e){if(e.cursor.row==f)return!0;f=e.cursor.row});t.$onRemoveRange(l);var c=0,h=Infinity,p=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>c&&(c=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=c,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e){function o(e){return a.stringRepeat(" ",e)}function u(e){return e[2]?o(r)+e[2]+o(i-e[2].length+s)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function f(e){return e[2]?o(r+i-e[2].length)+e[2]+o(s," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?o(r)+e[2]+o(s)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var t=!0,n=!0,r,i,s;return e.map(function(e){var o=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return o?r==null?(r=o[1].length,i=o[2].length,s=o[3].length,o):(r+i+s!=o[1].length+o[2].length+o[3].length&&(n=!1),r!=o[1].length&&(t=!1),r>o[1].length&&(r=o[1].length),io[3].length&&(s=o[3].length),o):[e]}).map(t?n?f:u:l)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t.multiSelect||(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t.multiSelect;var n=e.oldSession;n&&(n.multiSelect&&n.multiSelect.editor==this&&(n.multiSelect.editor=null),t.multiSelect.removeEventListener("addRange",this.$onAddRange),t.multiSelect.removeEventListener("removeRange",this.$onRemoveRange),t.multiSelect.removeEventListener("multiSelect",this.$onMultiSelect),t.multiSelect.removeEventListener("singleSelect",this.$onSingleSelect)),t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m}),define("ace/range_list",["require","exports","module"],function(e,t,n){var r=function(){this.ranges=[]};(function(){this.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},this.pointIndex=function(e,t){var n=this.ranges;for(var r=t||0;r0)continue;return s==0?r:(s=this.comparePoints(e,i.start),s>=0?r:-r-1)}return-r-1},this.add=function(e){var t=this.pointIndex(e.start);t<0&&(t=-t-1);var n=this.pointIndex(e.end,t);return n<0?n=-n-1:n++,this.ranges.splice(t,n-t,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.call(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges,n=t[0],r;for(var i=1;i=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowi)break;c.start.row==i&&c.start.column>=n.column&&(c.start.column+=u,c.start.row+=o),c.end.row==i&&c.end.column>=n.column&&(c.end.column+=u,c.end.row+=o)}if(o!=0&&f=0?i=e.nameToUrl("ace/worker/worker_sourcemint"):(e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),i=o(e.toUrl("ace/worker/worker",null,"_")));var u={};t.forEach(function(t){u[t]=o(e.toUrl(t,null,"_").replace(/.js(\?.*)?$/,""))})}this.$worker=new Worker(i),this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onerror=this.onError,this.$worker.onmessage=this.onMessage};(function(){r.implement(this,i),this.onError=function(e){throw window.console&&console.log&&console.log(e),e},this.onMessage=function(e){var t=e.data;switch(t.type){case"log":window.console&&console.log&&console.log.apply(console,t.data);break;case"event":this._emit(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id])}},this.$normalizePath=function(e){return location.host?(e=e.replace(/^[a-z]+:\/\/[^\/]+/,""),e=location.protocol+"//"+location.host+(e.charAt(0)=="/"?"":location.pathname.replace(/\/[^\/]*$/,""))+"/"+e.replace(/^[\/]+/,""),e):e},this.terminate=function(){this._emit("terminate",{}),this.$worker.terminate(),this.$worker=null,this.$doc.removeEventListener("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){e.range={start:e.data.range.start,end:e.data.range.end},this.emit("change",e)}}).call(o.prototype);var u=function(t,n,r){this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var s=null,o=Object.create(i),u=this;this.$worker={},this.$worker.postMessage=function(e){u.messageBuffer.push(e),s&&setTimeout(a)};var a=function(){var e=u.messageBuffer.shift();e.command?s[e.command].apply(s,e.args):e.event&&o._emit(e.event,e.data)};o.postMessage=function(e){u.onMessage({data:e})},o.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},o.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},e([n],function(e){s=new e[r](o);while(u.messageBuffer.length)a()})};u.prototype=o.prototype,t.UIWorkerClient=u,t.WorkerClient=o}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session,i=this.$pos;this.pos=t.createAnchor(i.row,i.column),this.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.pos.on("change",function(t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new r(t.value.row,t.value.column,t.value.row,t.value.column+e.length),e.mainClass,null,!1)}),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1),n.on("change",function(i){e.removeMarker(n.markerId),n.markerId=e.addMarker(new r(i.value.row,i.value.column,i.value.row,i.value.column+t.length),t.othersClass,null,!1)})})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&n.start.column<=this.pos.column+this.length+1){var s=n.start.column-this.pos.column;this.length+=i;if(!this.session.$fromUndo){if(t.action==="insertText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var e=0;ef){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=this.getFoldWidget(e,u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}); +(function(){function o(e){var i=function(e,t){return r("",e,t)},s=t;e&&(t[e]||(t[e]={}),s=t[e]);if(!s.define||!s.define.packaged)n.original=s.define,s.define=n,s.define.packaged=!0;if(!s.require||!s.require.packaged)r.original=s.require,s.require=i,s.require.packaged=!0}var e="",t=function(){return this}();if(!e&&typeof requirejs!="undefined")return;var n=function(e,t,r){if(typeof e!="string"){n.original?n.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=t),n.modules||(n.modules={},n.payloads={}),n.payloads[e]=r,n.modules[e]=null},r=function(e,t,n){if(Object.prototype.toString.call(t)==="[object Array]"){var i=[];for(var o=0,u=t.length;o1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)})};var s=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[s(e)]};var u=null,a=0;t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return o(n,e,s)})}else{var a=null;r(e,"keydown",function(e){u[e.keyCode]=!0;var t=o(n,e,e.keyCode);return a=e.defaultPrevented,t}),r(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),r(e,"keyup",function(e){u[e.keyCode]=null}),u||(u=Object.create(null),r(window,"focus",function(e){u=Object.create(null)}))}};if(window.postMessage&&!i.isOldIE){var f=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+f;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/useragent",["require","exports","module"],function(e,t,n){t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};if(typeof navigator!="object")return;var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin=r=="win",t.isMac=r=="mac",t.isLinux=r=="linux",t.isIE=navigator.appName=="Microsoft Internet Explorer"||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=window.controllers&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config"],function(e,t,n){e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/lang"),o=e("./lib/useragent"),u=e("./keyboard/textinput").TextInput,a=e("./mouse/mouse_handler").MouseHandler,f=e("./mouse/fold_handler").FoldHandler,l=e("./keyboard/keybinding").KeyBinding,c=e("./edit_session").EditSession,h=e("./search").Search,p=e("./range").Range,d=e("./lib/event_emitter").EventEmitter,v=e("./commands/command_manager").CommandManager,m=e("./commands/default_commands").commands,g=e("./config"),y=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.commands=new v(o.isMac?"mac":"win",m),this.textInput=new u(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new l(this),this.$mouseHandler=new a(this),new f(this),this.$blockScrolling=0,this.$search=(new h).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall(function(){this._signal("input",{}),this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||new c("")),g.resetOptions(this),g._signal("editor",this)};(function(){r.implement(this,d),this.$initOperationListeners=function(){function e(e){return e[e.length-1]}this.selections=[],this.commands.on("exec",function(t){this.startOperation(t);var n=t.command;if(n.aceCommandGroup=="fileJump"){var r=this.prevOp;if(!r||r.command.aceCommandGroup!="fileJump")this.lastFileJumpPos=e(this.selections)}else this.lastFileJumpPos=null}.bind(this),!0),this.commands.on("afterExec",function(e){var t=e.command;t.aceCommandGroup=="fileJump"&&this.lastFileJumpPos&&!this.curOp.selectionChanged&&this.selection.fromJSON(this.lastFileJumpPos),this.endOperation(e)}.bind(this),!0),this.$opResetTimer=s.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop};var t=this.curOp.command;t&&t.scrollIntoView&&this.$blockScrolling++,this.selections.push(this.selection.toJSON())},this.endOperation=function(){if(this.curOp){var e=this.curOp.command;if(e&&e.scrollIntoView){this.$blockScrolling--;switch(e.scrollIntoView){case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var t=this.selection.getRange(),n=this.renderer.layerConfig;(t.start.row>=n.lastRow||t.end.row<=n.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}e.scrollIntoView=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=["backspace","del","insertstring"],r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e){if(!e)this.keyBinding.setKeyboardHandler(null);else if(typeof e=="string"){this.$keybindingId=e;var t=this;g.loadModule(["keybinding",e],function(n){t.$keybindingId==e&&t.keyBinding.setKeyboardHandler(n&&n.handler)})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;var t=this.session;if(t){this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.removeEventListener("changeCursor",this.$onCursorChange),n.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,e&&(this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()),this._signal("changeSession",{session:e,oldSession:t}),t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session.findMatchingBracket(e.getCursorPosition());if(t)var n=new p(t.row,t.column,t.row,t.column+1);else if(e.session.$mode.getMatching)var n=e.session.$mode.getMatching(e.session);n&&(e.session.$bracketHighlight=e.session.addMarker(n,"ace_bracket","text"))},50)},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus")},this.onBlur=function(){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur")},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=e.data,n=t.range,r;n.start.row==n.end.row&&t.action!="insertLines"&&t.action!="removeLines"?r=n.end.row:r=Infinity,this.renderer.updateLines(n.start.row,r),this._signal("change",e),this.$cursorChange()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||this.renderer.scrollCursorIntoView(),this.$highlightBrackets(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine){if(this.$selectionStyle!="line"||!this.selection.isMultiLine())t=this.getCursorPosition();this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e){if(this.$readOnly)return;var t={text:e};this._signal("paste",t),this.insert(t.text,!0)},this.execCommand=function(e,t){this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n=o)s[u].moveBy(i,0),u--}t.fromOrientedRange(t.ranges[0]),t.rangeList.attach(this.session)}},this.$getSelectedRows=function(){var e=this.getSelectionRange().collapseRows();return{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e){var t=this.getCursorPosition(),n=this.session.getBracketRange(t);if(!n){n=this.find({needle:/[{}()\[\]]/g,preventScroll:!0,start:{row:t.row,column:t.column-1}});if(!n)return;var r=n.start;r.row==t.row&&Math.abs(r.column-t.column)<2&&(n=this.session.getBracketRange(r))}r=n&&n.cursor||r,r&&(e?n&&n.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(r.row,r.column):this.selection.moveTo(r.row,r.column))},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),n!==null&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;this.$blockScrolling+=1;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var s=n.length-1;s>=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this)},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&n.isFocused()){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",s),this.renderer.removeEventListener("afterRender",u),this.renderer.removeEventListener("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(e=="smooth"),t.isBlinking=!this.$readOnly&&e!="wide"}}).call(y.prototype),g.defineOptions(y.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",foldStyle:"session",mode:"session"}),t.Editor=y}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this[this.state]&&this[this.state](e)},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines"),this.$clickSelection=n.selection.getLineRange(t.row),this[this.state]&&this[this.state](e)},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=n.$cells[t.session.documentToScreenRow(r,0)].element,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n._top=n.offsetTop),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return h||(k(),y++),A!==null&&(A=null),p=e.clientX,d=e.clientY,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!h)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor.container;e.draggable=!0,this.editor.renderer.$cursorLayer.setBlinking(!1),this.editor.setStyle("ace_dragging"),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/event_emitter"],function(e,t,n){"no use strict";function f(r){a.packaged=r||e.packaged||n.packaged||u.define&&define.packaged;if(!u.document)return"";var i={},s="",o=document.getElementsByTagName("script");for(var f=0;f1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f;var c={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]===t)return;var n=this.$options[e];if(!n)return typeof console!="undefined"&&console.warn&&console.warn('misspelled option "'+e+'"'),undefined;if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:(typeof console!="undefined"&&console.warn&&console.warn('misspelled option "'+e+'"'),undefined)}},h={};t.defineOptions=function(e,t,n){return e.$options||(h[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r=="string"&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),i.implement(e,c),this},t.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},t.setDefaultValue=function(e,n,r){var i=h[e]||(h[e]={});i[n]&&(i.forwardTo?t.setDefaultValue(i.forwardTo,n,r):i[n].value=r)},t.setDefaultValues=function(e,n){Object.keys(n).forEach(function(r){t.setDefaultValue(e,r,n[r])})}}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;re.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.insert({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeLines(e,t);return this.doc.insertLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n,r=e.data.action,i=e.data.range.start.row,s=e.data.range.end.row,o=e.data.range.start,u=e.data.range.end,a=null;r.indexOf("Lines")!=-1?(r=="insertLines"?s=i+e.data.lines.length:s=i,n=e.data.lines?e.data.lines.length:s-i):n=s-i,this.$updating=!0;if(n!=0)if(r.indexOf("remove")!=-1){this[t?"$wrapData":"$rowLengthCache"].splice(i,n);var f=this.$foldData;a=this.getFoldsInRange(e.data.range),this.removeFolds(a);var l=this.getFoldLine(u.row),c=0;if(l){l.addRemoveChars(u.row,u.column,o.column-u.column),l.shiftRow(-n);var h=this.getFoldLine(i);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=u.row&&l.shiftRow(-n)}s=i}else{var p=Array(n);p.unshift(i,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(i),c=0;if(l){var v=l.range.compareInside(o.row,o.column);v==0?(l=l.split(o.row,o.column),l.shiftRow(n),l.addRemoveChars(s,0,u.column-o.column)):v==-1&&(l.addRemoveChars(i,0,u.column-o.column),l.shiftRow(n)),c=f.indexOf(l)+1}for(c;c=i&&l.shiftRow(n)}}else{n=Math.abs(e.data.range.start.column-e.data.range.end.column),r.indexOf("remove")!=-1&&(a=this.getFoldsInRange(e.data.range),this.removeFolds(a),n=-n);var l=this.getFoldLine(i);l&&l.addRemoveChars(i,o.column,n)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(i,s):this.$updateRowLengthCache(i,s),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var n=this.doc.getAllLines(),r=this.getTabSize(),i=this.$wrapData,s=this.$wrapLimit,o,a,f=e;t=Math.min(t,n.length-1);while(f<=t)a=this.getFoldLine(f,a),a?(o=[],a.walk(function(e,t,r,i){var s;if(e!=null){s=this.$getDisplayTokens(e,o.length),s[0]=u;for(var a=1;at){var f=i+t;if(e[f-1]>=d&&e[f]>=d){a(f);continue}if(e[f]==u||e[f]==l){for(f;f!=i-1;f--)if(e[f]==u)break;if(f>i){a(f);continue}f=i+t;for(f;f>2)),i-1);while(f>c&&e[f]c&&e[f]c&&e[f]==p)f--}else while(f>c&&e[f]c){a(++f);continue}f=i+t,a(f)}return n},this.$getDisplayTokens=function(e,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(p):u>=4352&&g(u)?i.push(t,n):i.push(t)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&g(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(e<0)return{row:0,column:0};var n,r=0,i=0,s,o=0,u=0,a=this.$screenRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}if(this.$useWrapMode){var v=this.$wrapData[r];if(v){var m=Math.floor(e-o);s=v[m],m>0&&v.length&&(i=v[m-1]||v[v.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);if(this.$useWrapMode){var v=this.$wrapData[i];if(v){var m=0;while(d.length>=v[m])r++,m++;d=d.substring(v[m-1]||0,d.length)}}return{row:r,column:this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}this.$wrap=e},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty){this.moveCursorTo(this.lead.row,this.lead.column+e);return}var t=this.getSelectionAnchor(),n=this.getSelectionLead(),r=this.isBackwards();(!r||t.column!==0)&&this.setSelectionAnchor(t.row,t.column+e),(r||n.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column==0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e.call(null,this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e.isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.row2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t1?f.onMatch=this.$applyToken:f.onMatch=f.token);c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){r=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var m=e.substring(l,v-d.length);c.type==h?c.value+=m:(c.type&&f.push(c),c={type:h,value:m})}for(var g=0;gr){while(l1&&n[0]!==i&&n.unshift(i),{tokens:f,state:n.length?n:i}}}).call(i.prototype),t.Tokenizer=i}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n}}).call(r.prototype),t.TokenIterator=r}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length===0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};while(t.length>61440){var n=this._insertLines(e,t.slice(0,61440));t=t.slice(61440),e=n.row}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._signal("change",{data:o}),i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){e instanceof s||(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._signal("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:o})},this.replace=function(e,t){e instanceof s||(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;ithis.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(!n.running)return;var e=new Date,t=n.currentLine,r=-1,i=n.doc;while(n.lines[t])t++;var s=t,o=i.getLength(),u=0;n.running=!1;while(t20){n.running=setTimeout(n.$worker,20),n.currentLine=t;return}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.range,n=t.start.row,r=t.end.row-n;if(r===0)this.lines[n]=null;else if(e.action=="removeText"||e.action=="removeLines")this.lines.splice(n,r+1,null),this.states.splice(n,r+1,null);else{var i=Array(r+1);i.unshift(n,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(n,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;var i=r.folds;for(var s=0;s=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row,i=0),t==null&&(t=e.end.row,n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.removeListener("change",this.$updateFoldWidgets),this._emit("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s){t.children||t.all?this.removeFold(s):this.expandFold(s);return}var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range)){this.removeFold(s);return}}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,o.end.row,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.data,n=t.range,r=n.start.row,i=n.end.row-r;if(i===0)this.foldWidgets[r]=null;else if(t.action=="removeText"||t.action=="removeLines")this.foldWidgets.splice(r,i+1,null);else{var s=Array(i+1);s.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,s)}}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.call(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowi)break;c.start.row==i&&c.start.column>=n.column&&(c.start.column!=n.column||!this.$insertRight)&&(c.start.column+=u,c.start.row+=o);if(c.end.row==i&&c.end.column>=n.column){if(c.end.column==n.column&&this.$insertRight)continue;c.end.column==n.column&&u>0&&fc.start.column&&c.end.column==a[f+1].start.column&&(c.end.column-=u),c.end.column+=u,c.end.row+=o}}if(o!=0&&f=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(av)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=0;u--)if(o(s[u],t,i))return!0};else var f=function(e,t,i){var s=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../keyboard/hash_handler").HashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var r={editor:t,command:e,args:n},i=this._emit("exec",r);return this._signal("afterExec",r),i===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){function s(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={};if(this.__defineGetter__&&this.__defineSetter__&&typeof console!="undefined"&&console.error){var n=!1,r=function(){n||(n=!0,console.error("commmandKeyBinding has too many m's. use commandKeyBinding"))};this.__defineGetter__("commmandKeyBinding",function(){return r(),this.commandKeyBinding}),this.__defineSetter__("commmandKeyBinding",function(e){return r(),this.commandKeyBinding=e})}else this.commmandKeyBinding=this.commandKeyBinding;this.addCommands(e)}var r=e("../lib/keys"),i=e("../lib/useragent");(function(){this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e){var t=typeof e=="string"?e:e.name;e=this.commands[t],delete this.commands[t];var n=this.commandKeyBinding;for(var r in n)for(var i in n[r])n[r][i]==e&&delete n[r][i]},this.bindKey=function(e,t){if(!e)return;if(typeof t=="function"){this.addCommand({exec:t,bindKey:e,name:t.name||e});return}var n=this.commandKeyBinding;e.split("|").forEach(function(e){var r=this.parseKeys(e,t),i=r.hashId;(n[i]||(n[i]={}))[r.key]=t},this)},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){var t=e.bindKey;if(!t)return;var n=typeof t=="string"?t:t[this.platform];this.bindKey(n,e)},this.parseKeys=function(e){e.indexOf(" ")!=-1&&(e=e.split(/\s+/).pop());var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=this.commandKeyBinding;return r[t]&&r[t][n]},this.handleKeyboard=function(e,t,n,r){return{command:this.findKeyCommand(t,n)}}}).call(s.prototype),t.HashHandler=s}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config"],function(e,t,n){function s(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config");t.commands=[{name:"showSettingsMenu",bindKey:s("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:s("Alt-E","Ctrl-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:s("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:s("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:s(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:s("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:s("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:s("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:s("Ctrl-Alt-0","Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:s("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:s("Ctrl-K","Command-G"),exec:function(e){e.findNext()},readOnly:!0},{name:"findprevious",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},readOnly:!0},{name:"selectOrFindNext",bindKey:s("ALt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:s("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:s("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:s("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:s("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",readOnly:!0},{name:"golineup",bindKey:s("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selecttoend",bindKey:s("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:s("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:s("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:s("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:s("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:s("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:s("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:s("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:s("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:s("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:s("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:s(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:s(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:s("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:s("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:s("Ctrl-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttomatching",bindKey:s("Ctrl-Shift-P",null),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"removeline",bindKey:s("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:s("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:s("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},multiSelectAction:"forEach"},{name:"replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:s("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:s("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:s("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:s("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:s("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:s("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:s("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:s(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:s("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"}]}),define("ace/undomanager",["require","exports","module"],function(e,t,n){var r=function(){this.reset()};(function(){this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(t,e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0}}).call(r.prototype),t.UndoManager=r}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font-family: \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;font-size: 12px;line-height: normal;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: text;min-width: 100%;}.ace_dragging, .ace_dragging * {cursor: move !important;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;}.ace_text-input.ace_composition {background: #f8f8f8;color: #111;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;/* setting pointer-events: auto; on node under the mouse, which changesduring scroll, will break mouse wheel scrolling in Safari */pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0px;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-moz-transition: opacity 0.18s;-webkit-transition: opacity 0.18s;-o-transition: opacity 0.18s;-ms-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;-moz-border-radius: 2px;-webkit-border-radius: 2px;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;display: block;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}/*** Dark version for fold widgets*/.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-moz-transition: opacity 0.4s ease 0.05s;-webkit-transition: opacity 0.4s ease 0.05s;-o-transition: opacity 0.4s ease 0.05s;-ms-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-moz-transition: opacity 0.05s ease 0.05s;-webkit-transition: opacity 0.05s ease 0.05s;-o-transition: opacity 0.05s ease 0.05s;-ms-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}';i.importCssString(m,"ace_editor");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container,500),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e;if(!e)return;this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$changedLines.lastRow2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0)},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.lineHeight;if(t<0||t>e.height-r)return;var i=this.characterWidth;if(this.$composition){var s=this.textarea.value.replace(/^\x01+/,"");i*=this.session.$getStringScreenWidth(s)[0]+2,r+=2,t-=1}n-=this.scrollLeft,n>this.$size.scrollerWidth-i&&(n=this.$size.scrollerWidth-i),n-=this.scrollBar.width,this.textarea.style.height=r+"px",this.textarea.style.width=i+"px",this.textarea.style.right=Math.max(0,this.$size.scrollerWidth-n-i)+"px",this.textarea.style.bottom=Math.max(0,this.$size.height-t-r)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){this.scrollBarV.setScrollHeight(this.layerConfig.maxHeight+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL)e|=this.$computeLayerConfig(),n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px";e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.max((this.$minLines||1)*this.lineHeight,Math.min(t,e))+this.scrollMargin.v+(this.$extraHeight||0),r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n}},this.$computeLayerConfig=function(){this.$maxLines&&this.lineHeight>1&&this.$autosize();var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.scrollTop%this.lineHeight,o=t.scrollerHeight+this.lineHeight,u=this.$getLongestLine(),a=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-u-2*this.$padding<0),f=this.$horizScroll!==a;f&&(this.$horizScroll=a,this.scrollBarH.setVisible(a)),!this.$maxLines&&this.$scrollPastEnd&&this.scrollTop>i-t.scrollerHeight&&(i+=Math.min((t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd,this.scrollTop-i+t.scrollerHeight));var l=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i<0),c=this.$vScroll!==l;c&&(this.$vScroll=l,this.scrollBarV.setVisible(l)),this.session.setScrollTop(Math.max(-this.scrollMargin.top,Math.min(this.scrollTop,i-t.scrollerHeight+this.scrollMargin.bottom))),this.session.setScrollLeft(Math.max(-this.scrollMargin.left,Math.min(this.scrollLeft,u+2*this.$padding-t.scrollerWidth+this.scrollMargin.right)));var h=Math.ceil(o/this.lineHeight)-1,p=Math.max(0,Math.round((this.scrollTop-s)/this.lineHeight)),d=p+h,v,m,g=this.lineHeight;p=e.screenToDocumentRow(p,0);var y=e.getFoldLine(p);y&&(p=y.start.row),v=e.documentToScreenRow(p,0),m=e.getRowLength(p)*g,d=Math.min(e.screenToDocumentRow(d,0),e.getLength()-1),o=t.scrollerHeight+e.getRowLength(d)*g+m,s=this.scrollTop-v*g;var b=0;this.layerConfig.width!=u&&(b=this.CHANGE_H_SCROLL);if(f||c)b=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),c&&(u=this.$getLongestLine());return this.layerConfig={width:u,padding:this.$padding,firstRow:p,firstRowScreen:v,lastRow:d,lineHeight:g,characterWidth:this.characterWidth,minHeight:o,maxHeight:i,offset:s,gutterOffset:Math.max(0,Math.ceil((s+t.height-t.scrollerHeight)/g)),height:this.$size.scrollerHeight},b},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ts?(t&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight-(this.$size.scrollerHeight-this.lineHeight)*this.$scrollPastEnd<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r.cssClass)return;i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.content.style.cursor!=e&&(this.content.style.cursor=e)},this.setMouseCursor=function(e){this.content.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;to&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&vn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var s=r.range.clipRows(e.firstRow,e.lastRow);if(s.isEmpty())continue;s=s.toScreenRange(this.session);if(r.renderer){var o=this.$getTop(s.start.row,e),u=this.$padding+s.start.column*e.characterWidth;r.renderer(t,s,u,o,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,s,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,s,r.clazz,e):s.isMultiLine()?r.type=="text"?this.drawTextMarker(t,s,r.clazz,e):this.drawMultiLineMarker(t,s,r.clazz,e):this.drawSingleLineMarker(t,s,r.clazz+" ace_start",e)}this.element=i.setInnerHtml(this.element,t.join(""))},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i,s){var o=t.start.row,u=new r(o,t.start.column,o,this.session.getScreenLastRowColumn(o));this.drawSingleLineMarker(e,u,n+" ace_start",i,1,s),o=t.end.row,u=new r(o,0,o,t.end.column),this.drawSingleLineMarker(e,u,n,i,0,s);for(o=t.start.row+1;o"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<0)return;u=this.$getTop(t.start.row+1,r),e.push("
")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("
")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("
")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("
")}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="¶",this.EOL_CHAR_LF="¬",this.EOL_CHAR_CRLF="¤",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="→",this.SPACE_CHAR="·",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+this.TAB_CHAR+s.stringRepeat(" ",n-1)+""):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=this.TAB_CHAR+s.stringRepeat(" ",this.tabSize-1)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]=""+u+"",this.$tabStrings[" "]=""+a+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),s=Math.min(n,e.lastRow),o=this.element.childNodes,u=0;for(var a=e.firstRow;al&&(a=f.end.row+1,f=this.session.getNextFoldLine(a,f),l=f?f.start.row:Infinity);if(a>s)break;var c=o[u++];if(c){var h=[];this.$renderLine(h,a,!this.$useLineGroups(),a==l?f:!1),c.style.height=e.lineHeight*this.session.getRowLength(a)+"px",i.setInnerHtml(c,h.join(""))}a++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,s=n,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>r)break;this.$useLineGroups()&&t.push("
"),this.$renderLine(t,s,!1,s==u?o:!1),this.$useLineGroups()&&t.push("
"),s++}this.element=i.setInnerHtml(this.element,t.join(""))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|( +)|([\x00-\x1f\x80-\xa0\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":s.stringRepeat(" ",e.length);if(e=="&")return"&";if(e=="<")return"<";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e==" "){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,s=0,o=n[0],u=0;for(var a=0;a=o)u=this.$renderToken(e,u,f,l.substring(0,o-i)),l=l.substring(o-i),i=o,r||e.push("","
"),s++,u=0,o=n[s]||Number.MAX_VALUE;l.length!=0&&(i+=l.length,u=this.$renderToken(e,u,f,l))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i="opacity"in this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateVisibility.bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=(e?this.$updateOpacity:this.$updateVisibility).bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;ne.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px"}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(u.prototype);var a=function(e,t){u.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(a,u),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(a.prototype);var f=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(f,u),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(f.prototype),t.ScrollBar=a,t.ScrollBarV=a,t.ScrollBarH=f,t.VScrollBar=a,t.HScrollBar=f}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=0,a=t.FontMetrics=function(e,t){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),u||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",u),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,o),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?u=1:u=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="-100px",e.visibility="hidden",e.position="fixed",e.whiteSpace="pre",e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&this.$pollSizeChangesTimer},this.$measureSizes=function(){if(u===1)var e=this.$measureNode.getBoundingClientRect(),t={height:e.height,width:e.width};else var t={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/u};return t.width===0||t.height===0?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,u);var t=this.$main.getBoundingClientRect();return t.width/u},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(a.prototype)}),define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey)?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),u.addListener(t,"keyup",r),u.addListener(t,"blur",r)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount==0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount==0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=this.session,i=this.selection,o=i.rangeList,u,a=i._eventRegistry;i._eventRegistry={};var f=new s(r);this.inVirtualSelectionMode=!0;for(var l=o.ranges.length;l--;){if(n)while(l>0&&o.ranges[l].start.row==o.ranges[l-1].end.row)l--;f.fromOrientedRange(o.ranges[l]),f.id=o.ranges[l].marker,this.selection=r.selection=f;var c=e.exec(this,t||{});u!==undefined&&(u=c),f.toOrientedRange(o.ranges[l])}f.detach(),this.selection=r.selection=i,this.inVirtualSelectionMode=!1,i._eventRegistry=a,i.mergeOverlappingRanges();var h=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),h&&h.from==h.to&&this.renderer.animateScrolling(h.from),u},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;rr.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,e);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}},this.findAll=function(e,t,n){t=t||{},t.needle=e||t.needle,this.$search.set(t);var r=this.$search.findAll(this.session);if(!r.length)return 0;this.$blockScrolling+=1;var i=this.multiSelect;n||i.toSingleRange(r[0]);for(var s=r.length;s--;)i.addRange(r[s],!0);return this.$blockScrolling-=1,r.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(s.row+e,s.column);if(!n.isEmpty())var u=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(u.row+e,u.column);else var a=o;if(r){var f=i.fromPoints(o,a);f.cursor=f.start}else{var f=i.fromPoints(a,o);f.cursor=f.end}f.desiredColumn=s.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var l=n.cursor;this.selection.addRange(f),l&&this.selection.substractPoint(l)},this.transposeSelections=function(e){var t=this.session,n=t.multiSelect,r=n.ranges;for(var i=r.length;i--;){var s=r[i];if(s.isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var u=[];for(var i=r.length;i--;){var s=r[i];u.unshift(t.getTextRange(s))}e<0?u.unshift(u.pop()):u.push(u.shift());for(var i=r.length;i--;){var s=r[i],o=s.clone();t.replace(s,u[i]),s.start.row=o.start.row,s.start.column=o.start.column}},this.selectMore=function(e,t){var n=this.session,r=n.multiSelect,i=r.toOrientedRange();i.isEmpty()&&(i=n.getWordRange(i.start.row,i.start.column),i.cursor=e==-1?i.start:i.end,this.multiSelect.addRange(i));var s=n.getTextRange(i),o=h(n,s,e);o&&(o.cursor=e==-1?o.start:o.end,this.$blockScrolling+=1,this.session.unfold(o),this.multiSelect.addRange(o),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(i.cursor)},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges;if(!n.length){var r=this.selection.getRange(),s=r.start.row,o=r.end.row,u=s==o;if(u){var f=this.session.getLength(),l;do l=this.session.getLine(o);while(/[=:]/.test(l)&&++o0);s<0&&(s=0),o>=f&&(o=f-1)}var c=this.session.doc.removeLines(s,o);c=this.$reAlignText(c,u),this.session.doc.insert({row:s,column:0},c.join("\n")+"\n"),u||(r.start.column=0,r.end.column=c[c.length-1].length),this.selection.setRange(r)}else{var h=-1,p=n.filter(function(e){if(e.cursor.row==h)return!0;h=e.cursor.row});t.$onRemoveRange(p);var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t.multiSelect||(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.removeEventListener("addRange",this.$onAddRange),n.multiSelect.removeEventListener("removeRange",this.$onRemoveRange),n.multiSelect.removeEventListener("multiSelect",this.$onMultiSelect),n.multiSelect.removeEventListener("singleSelect",this.$onSingleSelect)),t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0}})}),define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event"],function(e,t,n){function i(e,t){return e.row==t.row&&e.column==t.column}function s(e){var t=e.domEvent,n=t.altKey,s=t.shiftKey,o=e.getAccelKey(),u=e.getButton();if(e.editor.inMultiSelectMode&&u==2){e.editor.textInput.onContextMenu(e.domEvent);return}if(!o&&!n){u===0&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}var a=e.editor,f=a.selection,l=a.inMultiSelectMode,c=e.getDocumentPosition(),h=f.getCursor(),p=e.inSelection()||f.isEmpty()&&i(c,h),d=e.x,v=e.y,m=function(e){d=e.clientX,v=e.clientY},g=function(){var e=a.renderer.pixelToScreenCoordinates(d,v),t=y.screenToDocumentPosition(e.row,e.column);if(i(w,e)&&i(t,f.selectionLead))return;w=e,a.selection.moveToPosition(t),a.renderer.scrollCursorIntoView(),a.removeSelectionMarkers(x),x=f.rectangularRangeBlock(w,b),x.forEach(a.addSelectionMarker,a),a.updateSelectionMarkers()},y=a.session,b=a.renderer.pixelToScreenCoordinates(d,v),w=b;if(o&&!n&&!s&&u===0){if(!l&&p)return;if(!l){var E=f.toOrientedRange();a.addSelectionMarker(E)}var S=f.rangeList.rangeAtPoint(c);a.$blockScrolling++,a.once("mouseup",function(){var e=f.toOrientedRange();S&&e.isEmpty()&&i(S.cursor,e.cursor)?f.substractPoint(e.cursor):(E&&(a.removeSelectionMarker(E),f.addRange(E)),f.addRange(e)),a.$blockScrolling--})}else if(n&&u===0){e.stop(),l&&!o?f.toSingleRange():!l&&o&&f.addRange();var x=[];s?(b=y.documentToScreenPosition(f.lead),g()):f.moveToPosition(c);var T=function(e){clearInterval(C),a.removeSelectionMarkers(x);for(var t=0;t20&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session,i=this.$pos;this.pos=t.createAnchor(i.row,i.column),this.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.pos.on("change",function(t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new r(t.value.row,t.value.column,t.value.row,t.value.column+e.length),e.mainClass,null,!1)}),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1),n.on("change",function(i){e.removeMarker(n.markerId),n.markerId=e.addMarker(new r(i.value.row,i.value.column,i.value.row,i.value.column+t.length),t.othersClass,null,!1)})})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&n.start.column<=this.pos.column+this.length+1){var s=n.start.column-this.pos.column;this.length+=i;if(!this.session.$fromUndo){if(t.action==="insertText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var e=0;ef){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length-1?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("ace/line_widgets").LineWidgets,i=e("ace/lib/dom"),s=e("ace/range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.lineWidgets&&n.lineWidgets[o];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div")},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.detach=this.detach.bind(this),this.session.on("change",this.updateOnChange)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&(e+=t.rowCount)}),e},this.attach=function(e){e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,this.editor.on("changeSession",this.detach),e.widgetManager=this,e.setOption("enableLineWidgets",!0),e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)},this.detach=function(e){if(e&&e.session==this.session)return;var t=this.editor;if(!t)return;t.off("changeSession",this.detach),this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(!t)return;var n=e.data,r=n.range,i=r.start.row,s=r.end.row-i;if(s!==0)if(n.action=="removeText"||n.action=="removeLines"){var o=t.splice(i+1,s);o.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var u=new Array(s);u.unshift(i,0),t.splice.apply(t,u),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){e&&(t=!1,e.row=n)}),t&&(this.session.lineWidgets=null)},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength())),this.session.lineWidgets[e.row]=e;var t=this.editor.renderer;return e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight||(e.pixelHeight=e.el.offsetHeight),e.rowCount==null&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),e},this.removeLineWidget=function(e){e._inDocument=!1,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}this.session.lineWidgets&&(this.session.lineWidgets[e.row]=undefined),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}); (function() { window.require(["ace/ace"], function(a) { a && a.config.init(); diff --git a/lib/ace/ext-searchbox.js b/lib/ace/ext-searchbox.js index e265f54..926502d 100644 --- a/lib/ace/ext-searchbox.js +++ b/lib/ace/ext-searchbox.js @@ -1 +1 @@ -define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){var r=e("../lib/dom"),i=e("../lib/lang"),s=e("../lib/event"),o="/* ------------------------------------------------------------------------------------------* Editor Search Form* --------------------------------------------------------------------------------------- */.ace_search {background-color: #ddd;border: 1px solid #cbcbcb;border-top: 0 none;max-width: 297px;overflow: hidden;margin: 0;padding: 4px;padding-right: 6px;padding-bottom: 0;position: absolute;top: 0px;z-index: 99;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {border-radius: 3px;border: 1px solid #cbcbcb;float: left;margin-bottom: 4px;overflow: hidden;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {background-color: white;border-right: 1px solid #cbcbcb;border: 0 none;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;display: block;float: left;height: 22px;outline: 0;padding: 0 7px;width: 214px;margin: 0;}.ace_searchbtn,.ace_replacebtn {background: #fff;border: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;display: block;float: left;height: 22px;margin: 0;padding: 0;position: relative;}.ace_searchbtn:last-child,.ace_replacebtn:last-child {border-top-right-radius: 3px;border-bottom-right-radius: 3px;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn {background-position: 50% 50%;background-repeat: no-repeat;width: 27px;}.ace_searchbtn.prev {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=); }.ace_searchbtn.next {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=); }.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;display: block;float: right;font-family: Arial;font-size: 16px;height: 14px;line-height: 16px;margin: 5px 1px 9px 5px;padding: 0;text-align: center;width: 14px;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_replacebtn.prev {width: 54px}.ace_replacebtn.next {width: 27px}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;-moz-box-sizing: border-box;box-sizing: border-box;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;}",u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/keys");r.importCssString(o,"ace_searchbox");var f=''.replace(/>\s+/g,">"),l=function(e,t,n){var i=r.createElement("div");i.innerHTML=f,this.element=i.firstChild,this.$init(),this.setEditor(e)};(function(){this.setEditor=function(e){e.searchBox=this,e.container.appendChild(this.element),this.editor=e},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOptions=e.querySelector(".ace_search_options"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;s.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var n=e.target||e.srcElement,r=n.getAttribute("action");r&&t[r]?t[r]():t.$searchBarKb.commands[r]&&t.$searchBarKb.commands[r].exec(t),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,n,r){var i=a.keyCodeToString(r),o=t.$searchBarKb.findKeyCommand(n,i);o&&o.exec&&(o.exec(t),s.stopEvent(e))}),this.$onChange=i.delayedCall(function(){t.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),s.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},this.$closeSearchBarKb=new u([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new u,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f|Ctrl-H|Command-Option-F":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e[t?"replaceInput":"searchInput"].focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}}]),this.$syncOptions=function(){r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked),this.find(!1,!1)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t){var n=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),i=!n&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",i),this.editor._emit("findSearchBox",{match:!i}),this.highlight()},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.element.style.display="",this.replaceBox.style.display=t?"":"none",this.isReplace=t,e&&(this.searchInput.value=e),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb)}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){var n=e.searchBox||new l(e);n.show(e.session.getTextRange(),t)}}) \ No newline at end of file +define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){var r=e("../lib/dom"),i=e("../lib/lang"),s=e("../lib/event"),o="/* ------------------------------------------------------------------------------------------* Editor Search Form* --------------------------------------------------------------------------------------- */.ace_search {background-color: #ddd;border: 1px solid #cbcbcb;border-top: 0 none;max-width: 297px;overflow: hidden;margin: 0;padding: 4px;padding-right: 6px;padding-bottom: 0;position: absolute;top: 0px;z-index: 99;white-space: normal;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {border-radius: 3px;border: 1px solid #cbcbcb;float: left;margin-bottom: 4px;overflow: hidden;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {background-color: white;border-right: 1px solid #cbcbcb;border: 0 none;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;display: block;float: left;height: 22px;outline: 0;padding: 0 7px;width: 214px;margin: 0;}.ace_searchbtn,.ace_replacebtn {background: #fff;border: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;display: block;float: left;height: 22px;margin: 0;padding: 0;position: relative;}.ace_searchbtn:last-child,.ace_replacebtn:last-child {border-top-right-radius: 3px;border-bottom-right-radius: 3px;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn {background-position: 50% 50%;background-repeat: no-repeat;width: 27px;}.ace_searchbtn.prev {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=); }.ace_searchbtn.next {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=); }.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;display: block;float: right;font-family: Arial;font-size: 16px;height: 14px;line-height: 16px;margin: 5px 1px 9px 5px;padding: 0;text-align: center;width: 14px;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_replacebtn.prev {width: 54px}.ace_replacebtn.next {width: 27px}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;-moz-box-sizing: border-box;box-sizing: border-box;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;}",u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/keys");r.importCssString(o,"ace_searchbox");var f=''.replace(/>\s+/g,">"),l=function(e,t,n){var i=r.createElement("div");i.innerHTML=f,this.element=i.firstChild,this.$init(),this.setEditor(e)};(function(){this.setEditor=function(e){e.searchBox=this,e.container.appendChild(this.element),this.editor=e},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOptions=e.querySelector(".ace_search_options"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;s.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var n=e.target||e.srcElement,r=n.getAttribute("action");r&&t[r]?t[r]():t.$searchBarKb.commands[r]&&t.$searchBarKb.commands[r].exec(t),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,n,r){var i=a.keyCodeToString(r),o=t.$searchBarKb.findKeyCommand(n,i);o&&o.exec&&(o.exec(t),s.stopEvent(e))}),this.$onChange=i.delayedCall(function(){t.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),s.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},this.$closeSearchBarKb=new u([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new u,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f|Ctrl-H|Command-Option-F":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e[t?"replaceInput":"searchInput"].focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}}]),this.$syncOptions=function(){r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked),this.find(!1,!1)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t){var n=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),i=!n&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",i),this.editor._emit("findSearchBox",{match:!i}),this.highlight()},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.element.style.display="",this.replaceBox.style.display=t?"":"none",this.isReplace=t,e&&(this.searchInput.value=e),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb)}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){var n=e.searchBox||new l(e);n.show(e.session.getTextRange(),t)}}) \ No newline at end of file diff --git a/lib/ace/mode-json.js b/lib/ace/mode-json.js index 27248af..2608e37 100644 --- a/lib/ace/mode-json.js +++ b/lib/ace/mode-json.js @@ -1 +1 @@ -define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./json_highlight_rules").JsonHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=e("../worker/worker_client").WorkerClient,c=function(){this.$tokenizer=new s((new o).getRules()),this.$outdent=new u,this.$behaviour=new a,this.foldingRules=new f};r.inherits(c,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new l(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations([t.data])}),t.on("ok",function(){e.clearAnnotations()}),t}}.call(c.prototype),t.Mode=c}),define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){var t=e.match(/^(\s+)/);return t?t[1]:""}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l=="}"||p!==""){var d=r.findMatchingBracket({row:s.row,column:s.column},"}");if(!d)return null;var v=this.getNextLineIndent(e,u.substring(0,s.column),r.getTabString()),g=this.$getIndent(u);return{text:"\n"+v+"\n"+g+p,selection:[1,v.length,1,v.length]}}}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(){};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=r.match(this.foldingStartMarker);if(i){var s=i.index;return i[1]?this.openingBracketBlock(e,i[1],n,s):e.getCommentFoldRange(n,s+i[0].length,1)}if(t!=="markbeginend")return;var i=r.match(this.foldingStopMarker);if(i){var s=i.index+i[0].length;return i[1]?this.closingBracketBlock(e,i[1],n,s):e.getCommentFoldRange(n,s,-1)}}}.call(o.prototype)}) \ No newline at end of file +define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./json_highlight_rules").JsonHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations([t.data])}),t.on("ok",function(){e.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(l.prototype),t.Mode=l}),define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/lib/ace/theme-textmate.js b/lib/ace/theme-textmate.js index f25d0f5..40e5063 100644 --- a/lib/ace/theme-textmate.js +++ b/lib/ace/theme-textmate.js @@ -1,163 +1 @@ -/* ***** BEGIN LICENSE BLOCK ***** - * Distributed under the BSD license: - * - * Copyright (c) 2010, Ajax.org B.V. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Ajax.org B.V. nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * ***** END LICENSE BLOCK ***** */ - -define('ace/theme/textmate', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { - - -exports.isDark = false; -exports.cssClass = "ace-tm"; -exports.cssText = ".ace-tm .ace_gutter {\ -background: #f0f0f0;\ -color: #333;\ -}\ -.ace-tm .ace_print-margin {\ -width: 1px;\ -background: #e8e8e8;\ -}\ -.ace-tm .ace_fold {\ -background-color: #6B72E6;\ -}\ -.ace-tm .ace_scroller {\ -background-color: #FFFFFF;\ -}\ -.ace-tm .ace_cursor {\ -border-left: 2px solid black;\ -}\ -.ace-tm .ace_overwrite-cursors .ace_cursor {\ -border-left: 0px;\ -border-bottom: 1px solid black;\ -}\ -.ace-tm .ace_invisible {\ -color: rgb(191, 191, 191);\ -}\ -.ace-tm .ace_storage,\ -.ace-tm .ace_keyword {\ -color: blue;\ -}\ -.ace-tm .ace_constant {\ -color: rgb(197, 6, 11);\ -}\ -.ace-tm .ace_constant.ace_buildin {\ -color: rgb(88, 72, 246);\ -}\ -.ace-tm .ace_constant.ace_language {\ -color: rgb(88, 92, 246);\ -}\ -.ace-tm .ace_constant.ace_library {\ -color: rgb(6, 150, 14);\ -}\ -.ace-tm .ace_invalid {\ -background-color: rgba(255, 0, 0, 0.1);\ -color: red;\ -}\ -.ace-tm .ace_support.ace_function {\ -color: rgb(60, 76, 114);\ -}\ -.ace-tm .ace_support.ace_constant {\ -color: rgb(6, 150, 14);\ -}\ -.ace-tm .ace_support.ace_type,\ -.ace-tm .ace_support.ace_class {\ -color: rgb(109, 121, 222);\ -}\ -.ace-tm .ace_keyword.ace_operator {\ -color: rgb(104, 118, 135);\ -}\ -.ace-tm .ace_string {\ -color: rgb(3, 106, 7);\ -}\ -.ace-tm .ace_comment {\ -color: rgb(76, 136, 107);\ -}\ -.ace-tm .ace_comment.ace_doc {\ -color: rgb(0, 102, 255);\ -}\ -.ace-tm .ace_comment.ace_doc.ace_tag {\ -color: rgb(128, 159, 191);\ -}\ -.ace-tm .ace_constant.ace_numeric {\ -color: rgb(0, 0, 205);\ -}\ -.ace-tm .ace_variable {\ -color: rgb(49, 132, 149);\ -}\ -.ace-tm .ace_xml-pe {\ -color: rgb(104, 104, 91);\ -}\ -.ace-tm .ace_entity.ace_name.ace_function {\ -color: #0000A2;\ -}\ -.ace-tm .ace_markup.ace_heading {\ -color: rgb(12, 7, 255);\ -}\ -.ace-tm .ace_markup.ace_list {\ -color:rgb(185, 6, 144);\ -}\ -.ace-tm .ace_meta.ace_tag {\ -color:rgb(0, 22, 142);\ -}\ -.ace-tm .ace_string.ace_regex {\ -color: rgb(255, 0, 0)\ -}\ -.ace-tm .ace_marker-layer .ace_selection {\ -background: rgb(181, 213, 255);\ -}\ -.ace-tm.ace_multiselect .ace_selection.ace_start {\ -box-shadow: 0 0 3px 0px white;\ -border-radius: 2px;\ -}\ -.ace-tm .ace_marker-layer .ace_step {\ -background: rgb(252, 255, 0);\ -}\ -.ace-tm .ace_marker-layer .ace_stack {\ -background: rgb(164, 229, 101);\ -}\ -.ace-tm .ace_marker-layer .ace_bracket {\ -margin: -1px 0 0 -1px;\ -border: 1px solid rgb(192, 192, 192);\ -}\ -.ace-tm .ace_marker-layer .ace_active-line {\ -background: rgba(0, 0, 0, 0.07);\ -}\ -.ace-tm .ace_gutter-active-line {\ -background-color : #dcdcdc;\ -}\ -.ace-tm .ace_marker-layer .ace_selected-word {\ -background: rgb(250, 250, 255);\ -border: 1px solid rgb(200, 200, 250);\ -}\ -.ace-tm .ace_indent-guide {\ -background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ -}\ -"; - -var dom = require("../lib/dom"); -dom.importCssString(exports.cssText, exports.cssClass); -}); +define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/lib/ace/worker-json.js b/lib/ace/worker-json.js index 1f8010e..977d19f 100644 --- a/lib/ace/worker-json.js +++ b/lib/ace/worker-json.js @@ -1 +1 @@ -"no use strict";function initBaseUrls(e){require.tlns=e}function initSender(){var e=require(null,"ace/lib/event_emitter").EventEmitter,t=require(null,"ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n}if(typeof window!="undefined"&&window.document)throw"atempt to load ace worker into main window instead of webWorker";var console={log:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},error:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})}},window={console:console},normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},require=function(e,t){if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");t=normalizeModule(e,t);var n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)};require.modules={},require.tlns={};var define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={factory:function(){var e={exports:{}},t=n(r,e.exports,e);return t&&(e.exports=t),e}}},main,sender;onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require(null,"ace/lib/fixoldbrowsers"),sender=initSender();var n=require(null,t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)},define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){e("./regexp"),e("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(e,t,n){function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function j(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function F(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function I(e){var t,n,r;if(F(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(F(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(F(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):q(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=j(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,j(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function R(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var R=[];for(var t in e)f(e,t)&&R.push(t);if(L)for(var n=0,r=O;n=t&&(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this.insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this.insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this.removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this.insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};if(this.start.row>t)var i={row:t+1,column:0};if(this.start.rowthis.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column;t.action==="insertText"?n.start.row===r&&n.start.column<=i?n.start.row===n.end.row?i+=n.end.column-n.start.column:(i-=n.start.column,r+=n.end.row-n.start.row):n.start.row!==n.end.row&&n.start.row=i?i=n.start.column:i=Math.max(0,i-(n.end.column-n.start.column)):n.start.row!==n.end.row&&n.start.row=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n="0"&&i<="9")t+=i,a();if(i==="."){t+=".";while(a()&&i>="0"&&i<="9")t+=i}if(i==="e"||i==="E"){t+=i,a();if(i==="-"||i==="+")t+=i,a();while(i>="0"&&i<="9")t+=i,a()}e=+t;if(!isNaN(e))return e;u("Bad number")},l=function(){var e,t,n="",r;if(i==='"')while(a()){if(i==='"')return a(),n;if(i==="\\"){a();if(i==="u"){r=0;for(t=0;t<4;t+=1){e=parseInt(a(),16);if(!isFinite(e))break;r=r*16+e}n+=String.fromCharCode(r)}else{if(typeof s[i]!="string")break;n+=s[i]}}else n+=i}u("Bad string")},c=function(){while(i&&i<=" ")a()},h=function(){switch(i){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null}u("Unexpected '"+i+"'")},p,d=function(){var e=[];if(i==="["){a("["),c();if(i==="]")return a("]"),e;while(i){e.push(p()),c();if(i==="]")return a("]"),e;a(","),c()}}u("Bad array")},v=function(){var e,t={};if(i==="{"){a("{"),c();if(i==="}")return a("}"),t;while(i){e=l(),c(),a(":"),Object.hasOwnProperty.call(t,e)&&u('Duplicate key "'+e+'"'),t[e]=p(),c();if(i==="}")return a("}"),t;a(","),c()}}u("Bad object")};return p=function(){c();switch(i){case"{":return v();case"[":return d();case'"':return l();case"-":return f();default:return i>="0"&&i<="9"?f():h()}},function(e,t){var n;return o=e,r=0,i=" ",n=p(),c(),i&&u("Syntax error"),typeof t=="function"?function s(e,n){var r,i,o=e[n];if(o&&typeof o=="object")for(r in o)Object.hasOwnProperty.call(o,r)&&(i=s(o,r),i!==undefined?o[r]=i:delete o[r]);return t.call(e,n,o)}({"":n},""):n}}) \ No newline at end of file +"no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){console.error("Worker "+(i?i.stack:e))},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(t,n){n||(n=t,t=null);if(!n.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");n=e.normalizeModule(t,n);var r=e.require.modules[n];if(r)return r.initialized||(r.initialized=!0,r.exports=r.factory().exports),r.exports;var i=n.split("/");if(!e.require.tlns)return console.log("unable to load "+n);i[0]=e.require.tlns[i[0]]||i[0];var s=i.join("/")+".js";return e.require.id=n,importScripts(s),e.require(t,n)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id),n.length||(n=["require","exports","module"]);if(t.indexOf("text!")===0)return;var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},e.initBaseUrls=function(e){require.tlns=e},e.initSender=function(){var t=e.require("ace/lib/event_emitter").EventEmitter,n=e.require("ace/lib/oop"),r=function(){};return function(){n.implement(this,t),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(r.prototype),new r};var t=e.main=null,n=e.sender=null;e.onmessage=function(r){var i=r.data;if(i.command){if(!t[i.command])throw new Error("Unknown command:"+i.command);t[i.command].apply(t,i.args)}else if(i.init){initBaseUrls(i.tlns),require("ace/lib/es5-shim"),n=e.sender=initSender();var s=require(i.module)[i.classname];t=e.main=new s(n)}else i.event&&n&&n._signal(i.event,i.data)}})(this),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function i(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function s(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+tu)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};while(t.length>61440){var n=this._insertLines(e,t.slice(0,61440));t=t.slice(61440),e=n.row}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._signal("change",{data:o}),i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){e instanceof s||(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._signal("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:o})},this.replace=function(e,t){e instanceof s||(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowthis.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n="0"&&i<="9")t+=i,a();if(i==="."){t+=".";while(a()&&i>="0"&&i<="9")t+=i}if(i==="e"||i==="E"){t+=i,a();if(i==="-"||i==="+")t+=i,a();while(i>="0"&&i<="9")t+=i,a()}e=+t;if(!isNaN(e))return e;u("Bad number")},l=function(){var e,t,n="",r;if(i==='"')while(a()){if(i==='"')return a(),n;if(i==="\\"){a();if(i==="u"){r=0;for(t=0;t<4;t+=1){e=parseInt(a(),16);if(!isFinite(e))break;r=r*16+e}n+=String.fromCharCode(r)}else{if(typeof s[i]!="string")break;n+=s[i]}}else n+=i}u("Bad string")},c=function(){while(i&&i<=" ")a()},h=function(){switch(i){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null}u("Unexpected '"+i+"'")},p,d=function(){var e=[];if(i==="["){a("["),c();if(i==="]")return a("]"),e;while(i){e.push(p()),c();if(i==="]")return a("]"),e;a(","),c()}}u("Bad array")},v=function(){var e,t={};if(i==="{"){a("{"),c();if(i==="}")return a("}"),t;while(i){e=l(),c(),a(":"),Object.hasOwnProperty.call(t,e)&&u('Duplicate key "'+e+'"'),t[e]=p(),c();if(i==="}")return a("}"),t;a(","),c()}}u("Bad object")};return p=function(){c();switch(i){case"{":return v();case"[":return d();case'"':return l();case"-":return f();default:return i>="0"&&i<="9"?f():h()}},function(e,t){var n;return o=e,r=0,i=" ",n=p(),c(),i&&u("Syntax error"),typeof t=="function"?function s(e,n){var r,i,o=e[n];if(o&&typeof o=="object")for(r in o)Object.hasOwnProperty.call(o,r)&&(i=s(o,r),i!==undefined?o[r]=i:delete o[r]);return t.call(e,n,o)}({"":n},""):n}}) \ No newline at end of file diff --git a/misc/screenshots/codeeditor_640x400.png b/misc/codeeditor.png similarity index 100% rename from misc/screenshots/codeeditor_640x400.png rename to misc/codeeditor.png diff --git a/misc/jsoneditor.png b/misc/jsoneditor.png new file mode 100644 index 0000000000000000000000000000000000000000..2c18641451d0ce51b58aa3392b5251f316571ffd GIT binary patch literal 19919 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

K+ zKK14GnG1^0&u`|w|Av25a5;-~mH7O!`Z}%;4Zgy}mny-iV^oV{cizpPlY*Py_ftv5 zZJ1ds7Rtula;?uzQE+C_K4$fW&@d7<;Zz(S?FoyYYO$pl6oo~-K0UryIMIvEHi0aO zJ+!h8$Q8F484#te_i&2{&Sx_g+}%e8=RH$>J#&NBQG2BmFgV7p)H- z>8)*m;%n{q_j8mg$Kz@ZCq&zjs@gnW)SDB+vC9vGZYitQLP8>M?(sux&8GCY9w-EO z@99;W@_vxkggbg3*E;Oo*D_hjoPP#H;zK*OiSh^k4=zQjG|`J^WD_j2+l-uy9w)8` zWx~IUsFEtLck5lOXzJYFSco^*C@Z~%i`yAjhuYc_nAoK)$HL&#_Bn|c!5j|rJGwZ>S!$dUexsDm5q{U40hk{^YPN#*j;7ri z^?x(^@DG-a(Hdq00h^miQHHsc0;`<4$fpcLaxZ)N-+J$=zPMoZ`4i&7tY3%QD?wZQ z@7r9@`M4jRB@*)utQaT`RK^DaaGV7=FYO-?Q-JP{pvZp%rN6TBM_wiXxc{W9|BtW^ z1pgNOgYZAF>~G!vCj1{f_c!5>5&s%9p@(RiNmBP269Oc7Z^=Z%eKZGdw3`ABj;WE= K&AJ;NiT?uQualYp literal 0 HcmV?d00001 diff --git a/misc/screenshots/actionsmenu_640x400.png b/misc/screenshots/actionsmenu_640x400.png deleted file mode 100644 index 01c165ad81a89de26d9af5060122bf5c53788b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41731 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 Z;Y26ZKFN8h)&v5YlKgAAlIO<3{{txsi?ILz diff --git a/misc/screenshots/description.json b/misc/screenshots/description.json deleted file mode 100644 index c9789e4..0000000 --- a/misc/screenshots/description.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "Name": "JSON Editor Online", - "Website": "http://jsoneditoronline.org", - "Version": 2.0, - "Free": true, - "Description": "JSON Editor Online is a web-based tool to view, edit, and format JSON. It shows your data side by side in a clear, editable treeview and in a code editor.", - "Features": [ - "View and edit JSON side by side in treeview and a code editor.", - "Edit, add, move, remove, and duplicate fields and values.", - "Change type of values.", - "Colorized values, color depends of the value type.", - "Search & highlight text in the treeview.", - "Undo and redo all actions.", - "Load and save file and urls.", - "Format, compact, and inspect JSON in the code editor." - ] -} \ No newline at end of file diff --git a/misc/screenshots/jsoneditoronline.png b/misc/screenshots/jsoneditoronline.png deleted file mode 100644 index 807ce4b4db1e78fb33c04f426ea09b2c5dbd0847..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46813 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ⅅ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 z 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 diff --git a/misc/screenshots/search_640x400.png b/misc/screenshots/search_640x400.png deleted file mode 100644 index cf0447e607bd29a1d76424189320b55d6e828012..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42578 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 diff --git a/misc/screenshots/small_tile.xcf b/misc/screenshots/small_tile.xcf deleted file mode 100644 index 08ea75a25bc1cf88a6c1e9bac761b05a4c9a99e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 909557 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%0Ax#HrRxvd`iSb={>M12t%wsF8=t zQ6`w-%-w*At-qg00+ggO*0g<~<;3EcL~OuJOxSy)qZ*K+!%95ejY{|BwZsqz@wHwjUZD6=7a%=pwj)FY_;%dH3N6A`>wkegS^b=Au_61hgl9Guo9GvK}!*FAxs1H@cQjo^GWXz zrKbC7LtcONehpa*j1b$&_Y@JM%2o7dAbROA69e72%Gh_Mb(8zniBjdY<9mZw_||eq zw`JS{Z4Mdc^-D3Iim|QZ`tIHt0VGJ#kK#9L?pRZ)wHruGXdrsmh?L_;1?ojuXid5u z>sjcxL^~p@2N)Cx1|)1}lL&rK4+9-#rm!68^N0d=0u;(ZV*BI&kTGRB#TK#x6a?nT z5rLZ5wsk}~C(Ypby_6X?lB!U5J_v@a3jzV6aXzX$G(BkFsKrg}mx${&7U$#5rBII+ zvB_LHa1chI*JG;%R}?3;=pGK|$HGg=)f`}2?Q=5v`#b25UA2m|-~qCzXp?8-Q2LF1 z)fU8-ZPXIRnq%I^nt0Y}XAQkoAjO+|g<>||+ArY$f8}kktZWA~?oyeDB=efvBZeWPwTGp^XTMr22xznEwg($! zBGVxv%J!@Mp*@rT%9^GmWN;%E3-%m(Hb8HE;dU8v^6@XLx z2d7<2{?Fd2d04e=TgGJjD6xIC9Vcy%V{&$F%;yQTVO=WREg@r#^bfji8yY9(pC*i= zZPGTI9P;)Nn^8popdEWmz;;dNLQ*O+r%F#6%a}1oML)kL?f6OW(;xlTkW3!ZDhdlL z-326I9Y9abc9rIB|LyDa?jGDf)Mbuk!ew8J#e8UI;O5Y zG8CZsCakNN44Z9RhbKFBs*zT6`Ty=Vk2XCR`!r1?T}#=eYeIdpR5a06g8Vbme<{ug z)SN|Plm$ZaAa$~U#O9N#yfxB3Vk}M*?9<5GmjeK7^OKWy5nBh)ZiXAHJDAQ71Q|My zJeqB;&?4(^cCU;{D`4YTJaL8+oS-q_NZ~@mD|Nq+#3k%)vxNI^;SNZYwY3gH42lgh z6mw$_D{x$cvcx}i^IxR7gi*>%S20+y`K&|-|yd!w}u zmE{{*SJw6S>EfhEvv*GFc(%=%rlyb=F-jmw0;xL8Jz)f@d$`>tX~TaTD6E@rVQcTz zA_Wd2>7k7Z4oY+`@lgB}1_zQ0>zXsD3os}H$_9BCHmol+6l;Wy7ftTVhI2f#X`n_A zlaLkDy~Ef9@3EdZR#WSWLIstfN87Ds$gb|QGn^%Om83aha6s%$+VpxhWyL9zzI554wg7In`s+o#~Fjnw8scyB)&@qBo6hI&cZciOnO}HLl*iMpxc; z8_u6_7co=7Bpx`8j`ix8np)Q6+w*PtR=;|P#|M)SK(AL*!@<(JRn~NIZMuaXA;p%p z6KSOkZa7^6cyzbVZo4(zT5d@<_YDeq_7R}*&&=+=Qy!N)RwUZ4Swldz+>&ojH>DeU94iRP0JHAy*Jw|lFmcwNSJo6gtK8b(a`P=W^SFFtzJVtd&1b$V-PzqSQ481Hp6FDG zPEBsQ`KFt0Ou8^%9~cev$SY;7p+5|Kx-H#0x#d>%C*PcJD!O)h{SDWr>sK_Q_uTE3 zm839x^D2RbZv@OGpTwe<2lhF++^N9UtP9($p6XRK~pI*ni z`(IuAt7}udzWgHpN77}}TUmekmR{Y_2u*KfwkB!;Gr*Ha*Isk&wbxwp%lymqi|#+t zzb6h7BL0$kG7BTm&YpH4AI+sXD8h@{AC^jt_8XCSL_w9!aUdHA{2iCSpG5mlTfmnz?&9m2SxZC5P=$`igp)jiq2IynjHIDnu4KML{PT`G?9t-Ub zjMatyCf*-+ShjBGq3n=Hn5p?a4j)>mGf4y@a(f`SNfi?wZxW8r+aw`UBPp3-7NT<_ z2IzAR=9dF~JIT}Usmd9uE5_w^jUBatRS_FxD-hXf=}sgoiVXM&A95u6Wit^69tJc| zcR@^Os-H_51_%REoNW=AQ(@BYcI}J_##zI#>Ih!d?NTJ|psh$AD0hTxckPThYdQHA zsVkD64kVue^1;?d#Iqe?d)6cf#3E!d4XZrg$XV}1p?ya8 zSE3rAjVL>q8ISW?VQZ#ZtHQ>K9z#b1cau##i8c8m@)7qjjIT3xr=cr>qVM6D^V8NKI*5RN?)eTWS4u-;xw1Wrp z8q<(T&?a8Ih{+4L-R;L_K~}+K-V3s}a@aLf^ibF~@KUN+G2he^>nb(_Ay5FJAl^tg@E;7Kr<{1YdV@?1e1keW;g45fWsKyTdFiHEo=JQ188zxzPUGU z?(X}^-VMP_K}TrD?9My#9aq=f5slUzU_k+RkQpZXPIKP{D(^G}OSN|mGM0eEqZ`DF zM2k$da-}&;M83Tf(ydSnOqg$&d(H=URf>UoTw|MW9pAzj+?;Oqm17~YwWzjGCvzMS z|J?m7v`;OwMpJ1wkU z&(ye1m@$D(dJoc{RHU7MHNDo9pr`>^s8rzn)?02aYH7Z)+^}-}bwcFV{pwfO=0MGK zJw?}HIpwBu<5a*ki4YWlVOMWdri7#>6h1NrNqz& z#0HC(n`gk*{)QWGyg`F{{dEA>d~LqQpm@g0O1Dp9Li4RNMs+H<%TOhO<8od4Rd;QF zjSzJH<>VLt5eS;G;>mQr=prNcd`uw%uUR@`ts^DNf>+wpjk%keD50ZYF4O@G>~K9Tf)yf-G=J@YJzD^C_p( zATt1f4!GQsSfdC6#TV)19O>owA_x`8-XgJ5Ry7Wg2d-(S5PfD2IMq&$gJc;my6$kc z5pPpfZQ;!aQ$VkxCaQtXF<}BgFdkVGL%<4-%1{pt=KS&&;vZYvrlkwTxH&yhFjqov z^W(WGpBN#C3j#B1MM#nC1&fn+;N{6~&u^Qq6j!yUg8qJtr&h$KwSdU&@oEP#F;Zq{ zeKSNA{EFcxm$eV|XZQ^eln68c2qcScJKG_u;)9XA+E8|Wg1>6kfHf34%i4n&{=mh? zogSHI=1RNcY!>==Lx7}= z2B1q9Zh5ke=NkZYq5>4ckecHY2o0HJcR^_Ys`l4*w&j9h(B4`&TA}@56O2^18-9=# z8h1FIFf$fGDU?p=)}rFph7qO-A10Ym%a%~C6@v~)YkXYAdPX$TB9P|5HpWR9dLapm z%ogq3Ufy;k@R$RVU_QlqV^ycUVja#_$1njmK~6Lf#Sz7I@_<^P2(r85AovbpHv>Ju z8|R;foPUy*S3}KU=}3MD&}}EdeA-U?dvy-5j5>jRV|dhUkg&0^&!Z_=sIfMPCxL{o zWw7VK{Howq=!gi3h>rbwp>yDNo62x#Yuvl7HXKWOL`oEJ^noeo9CmWk=uZoY8{BYSz`$ZuZF7Vfr3oo z%@uCfcoNc|+kg!)@#ngg`QDYP&E6#sut!w%!~y+Pk!m#3=zEg*iB=3i%mO>Xq-d<1 z&p3_oS4$^vO6gb^hg3S2rYDpt$SViB1_M;TU>)iHU_rDAY}U>ZBGygrSQE}_T**Wt zjPN7E9P%czWxD%cJRBVwsJceq1&2l%o0U4joHp!%iJ;(>sz+L39vOt_>9zzfZb4uT zwX?**!*oX{bThjxH2b7ej1eN2-ys@}Xgj`3_$zuTumlF4-fFA%LbYyy83c&FTLMvn z{NN^x8&jRdO{8i(iR)?P!r9!X_!I`6eAGg+cM^9=W!~-wk6^ z6PJOBf}DCk%W@Q>&ggV{CQShIHBA?2N@r|DMllB+Ly-(SeJv=?urpmhtvK4Fm^C%v z@?L!kRT~L33l}yBJ<;-D!i{#psEFzLrY^3ru)2C-1e0MF)o&mq{pNWVwU-4B1&yz* zc-!WK;hKsjp$8VXr#As*)Ahr+Ug#Gv-C_&yBt`+5+ISxj8**{FhOYN4P1Jg>$v1Z* z8(m;nfNqxhykLC3W-3l#RXLRU0Omzlck&BVdcQ4I%^N~u?K$bKMY{Lo8WiFpg?RQK z0_6tU>DCp7G{^=cfDA3JAy~|VhrjscFaASNyJGmH`Rs40B0Wt-o=?|K_28uDuITEx z{NK~RfAxQ;YTbY3zvaJ{zvMsX9|qqqfA^>FRD_#4-06?`59Rmyclq1yx9OYm_2{dw zzxwKLfBUO1PCrb(|KW%4ze}pXP3dZ`b?Il9P)=XYzW8gZ&&}Ucs5{4H>G$35x^E}n z{Pvq~RNMI9zRF)tzxeB4(qBe@{>z{LtS6T5^LIJwbE{@``eV{_%kR>+y~=HWlfUV{ z9)I=aS6_YkMfqa(`JeNj`yc-7TPV?8{@DE?|6UcY^S9}@<8Ob?CE%BDDW>L_)eBG&0>5KAt{%q+}U8!Dv|J`?gauM+9 zAO09+uDN>53+P3wbWMfn{8{<5e6Nz;ojQ^KIMMZg_} z`nY^FQbp?zKltGHZS7rQJ~X;q|K%6?i>w!vPm{Vmp${K*AEgh|2fecVsy*Ge%fHn! z{92R9_$D=I{JBQ>^Usp2trxvxpgZyh<^8D&il=W|W%(49-Xhp~9cN+ax zo}F?qNp0uhohmrDrOYbe>9Y^sFYg!4k*b2YnoF+>TA&|zbAhfiIu5mlj3rfXn(Wtj$c#9aOl!2uc#Lu zP!}Ih>UpbD6D2WSXlGs=o5CpR)p3-${3Lx+v{ZAnifNcvA8*Nh$1eJjU+rF*zDyQs zzDrfZp{7mJaw5&O^D>izy8Jr7mS0V;q?hCL(DWsi^&~#bHX#%zbw4PdS#){PwtVa(um`XcM z(qHZ=FXk7LZYcEzR$7~{^y{g{GHY0huI*k@8oTsDx$KKQPem7(XmC;g%F9lRS5ru@ zM4ivJ6te0KmDh{16lXn6ML}O|x$g3%bkV7`Qw&;u^T#*djAY`kN5Svcl+L%jGJ07x zZX%aNc_CkpB+B|coW7fq?NpO*jd9hWc`?V)DD$_-JzC0J{X|<~J{L4wPfJQFU{Sw2R=LMd-i{*Jv zE#+s^GxN`e_1wK0Ma(G;)W(`D#Vv7!N>r+CP6JV2#7bRuDcM(aS9z(tFueT23%cpj z#S%?xwV})FJ>Niz)lsyP(u*--^j~l2F3z5RjvRr}sHdlqrnVJWFR=uos8ggVCfTx2 zjpYjzEaB9c&ZMc!qxc>E-m2 zOR=(SV@jO2usj>7^IRH4N2vTcl$Kz*y18MB>o z<&us9vR0C&kTe*aWmCclow#zs2?mOzgDRlQ8@QZYE95VpCoiNQDdTOA->7P)pN&5QuqqNG& z7pU#1F^yV8kwB6z&z@Df$#mYw*cjJEZb9C)B%=t*xC)4C-m<2u(#C#9nQ*YI!u^|!zN^)G+@OBPKjKcq@0 z(jSe+D`3om%;}q}Mu5T}m8%pHn;rY#0l^7PyUJ;xEn8RT@y(;N0=)#}=6GAcvzX0uqXNLf7ZpvRw zKj(FHDT^Ti=6l+fDhKF6%#e}<2o88Y_+lb#{^uV&3|X`%{c#v1Lm(RlHVsrh5vYZl z1l-GC_CUn)`SjDzen@)R;JcZ71z}1;!n5CgQ@$C+(7{ZAZNSOiM2VIajX)M-V8HS> zy)G4Io&*=mb081RgZ1P;bb71-fBtRv&Ft&1G8e1YNjR?vL{5d10Omu6N;K?`S%Wpu zUGUA>H(%$VVUyrIDeeg1CKUhie|G9KG^wb&MXg~TXtd#Jdos91)QHx!OOqQ8!2@qD zxQeI*<1V5C`C=vUR1>e6CkhP74WQrj@l*&KSd{)S4c-NvNO2S3eX3^Dob*}$sc2OC zbOjnk3Br$nlG6{~pTDOF@26-_sceYHn@R}ysx>T~A~x5?58T@Y#{y9=0O0JsZ;K|U ztuiQ9(qb_+NT2o^aACix8X*p-R+JB>s&WpvroZDLLYk%|R>KrUX%v8d=eqPo7p8ZY zRUAcYAN~RDV;nnm6VCVlh{e&vk3XiYh-g_9Q-Rl{cZcu1`_4PMPt)4SO|D=cBnu#I zI86oJ0xNLxU)((`*i~{frBy>rS*<0!bJXRBzv@}_5(Rl`Tz?@Zr z1K|Qkj-%d*-ci&WPjX!E7r-kZUM}uZ1YBlsh(IldcJ}FSN~{TU5R)f5JRv(vT&@PJtGbb|1bxXYVAykT)K*9*iP)-`OHwO) zP0{O7lM`45-&lDGa?2_Vn6fVEs z5F+{PRs`Xk5?g3SE6mh#b$3=*NrfVSt{^n<;fcsLY}<@AcxZWJS@W(@re5O$>gPFZ zSF5JFjfDw)V>U&P)e+tHS_jdB2-ONduA45@9(O?12U=rqitw`h)%St=?uwyCy2fNz zg!=^i^dIq#eyrtIUUlZGne#+`BzZ9KTX|k<_}#aIQ%AKNuNhI0^6N?TCTTJoL!Dqz#!fA%ubS;-2q=Ou&)KGb;XU&<~!2Lkp@VM1j{l_S; zBK!BtFR3T~;7V|h97)zYF$lAzD3tPqva>|V8T|!7DV6sTdexq+1b|{R`8-{9$(byE z(mvys7$uXwF%n;{M50N}y!zVex0sbZMlt#HLM-ESX>{>YEEkG~UU=>~&B;|keci{c zjcq~9vT*x|bnz{~KJ@=Cy7SxnG&S`!6Xb2N!A$3W@fWb{yG3C(fkK_#dknH%#H&I7o*SS9CR zRZb?pit@}jsOTytI_88c>B#e0Qrt&jm@HFI_-Yianf~=}3amgj(hnVhh8%i6NWK#} z0iC1#&%XRyQeY?jWgt>A68~`wV=Aa^gidUS%Z(QSp#d=U?EIIaXHOOQ$ls^$h+`}w zB#p%Y{=k<*2osT;^h5rB63nMXdJMV&#VL?9&@u-g{mY+|I8PSmX%A1oABnyo`=?4^ zhQ^~nKh)~-`Rp^@#alWBZX9w-zaOXzB0M55sOAEE28q(Be<;y*hdN**fLzC>0IfBQ z5=_$l>lAkQmiI$gjBR_tc(Eo#dxbP2(q-bYqL%(n)QtECL;)aN9RFw#FJSGefDXKA zG1QGB)R0MsaNm8B{v^I)qBYeUARkiUq4Kw3cNYRxCZz}h0S`HwSb3&9+R4?w?M zIgA*N6#i5rEC|`N40E6iMFH= zy~U;mtY0&4o~tN@dTX+lKQwwbRCavh?XNsqV3ZIuxsuDT8gfAxW4$zuQP!dh5qG-=gf|8?Wnw5#v-WiV5i5 zexUx3g6<%9F-{@Zci$<|vK%^pYZQEo2wkUFp0EE)h~%yW!Bqd9~$2$obZxAcml6cPkX0BaOe+>Bm3vQbP*99{vJip{)S+026S z|9q5?)JtU<2Ef2FCT*&vOr-0*2s5%cJ9pMtn@%*SO?CJzO0yjCi1YqE zL0Ap7lh7D4wqT|xr=vlHDIqlGjXe!AmTv{tlThO2OYaq)UgnV%7&Cz*rjT9>l&e9; z|4X`F8g?vKmLk!k@&*yCm7pa=nz#q@SHu?pZ#`rNdIhcQ6i3Vg$pmb;tcQv;d>nBX zg*Jk}G@_gpcQk!*v`%xL1Xnv$?9K`6z|_48e!f+rzvcCLw2uBJAbY%Js^Nhn0NWGL z1RiR_lYiaA-)UAOd_-JSu93)q#rOoJ04iS4ZN#2Btr1GovOXZ?3J48!Q_?FaD&_bI zC|8NZOhK((IXR65;fico!vt+wE zX`u5#a1Q)-KP6$wNWwqq&ry@tx&1SARK^L4kCH~WUQaw!L<@sD=R@ueg_Es!u#7T2l+5nt;pgbT`rKN#8Y`G_{T_@$O0 z90mSFjH6|Y1hI#yUtak-F@#JP>FFU8o}Mi1P7G;&U?87KqFnqR)J}LRMQ9;Gkd%>v zHts;95K#wMjKcvi7Na9VL{dx(oZm026qmV)V~VcGMm>V`@olK93yg3Rca zQ&uJ-%;|Vp(O~-VtvG2-dZSOL6Ft%N<`(L6@XKlRAy#BrPme?i`S{4X_#Qe<&g!6& zbNM)-dCQ`mPLT6Qp$3$4n|cf}#sMD{v>&`bYwnOFcZhrw0t<2RN(HHii9(QU(M<_P zaqhH#M9F2KLjU?3R^f9EA7p$z;p9jk{?l*`AP~Dcn+Ustqxkl7NR0>GE>&m+&dVQO z^^FZczSelrTlGYlp#0*l6HAzQ}F^v>WL00G1Lv7%^MfkPvLaH!(sy8NCh+ zHPN18HBp8Ww!GL?^wjj;?EQDCFW$O}TxU&~ZPc{_23(XhXU|Z<68-mU zY|-i`0pJa`7^_Yl2eGt(J`w$@Ifa61SzE3bz%sZ%lfkAmR9C7|!irA1kW@U}<1`9P zV1@b$0zCjQ5TIlF`69YbzM%Tr(&Mzs<@5?8P>8^iB@s^9S{MJ|?BGSO(AF9Ym4(fM zTZ(B@TQstuv+%iediDgJH2w$m1@S2uEc0aaOG>P0-T;4fS8bc4b`=XjOSKokOjPq` z`0;*RQww)$*90+3`I#MVw+$;-#Z+(*9T8hC%vO>Gb1JDMa9E)033<02_!Pt zu=DeS*yF=elC+yrv^$?03Q~YXr2CFyjaXneVrG>fwDl4ULy4vPF1ksxI>~bqJp=a} zXgB4rWmV2nB+=w763&HnEFV$9oApsN-R!4JwcrV2YBhblcr_NFW{@eQzrLZ3OsBra z)j$ZD4JvXZQFGIdNliUEzq%Yc`!zM8&jb_%HaOWeQn>4!+8u)Np_WA+lb`N##nTLV zGq$9suWD97SW(^w@DpZ_Fjk=Y{r$8W?r?xmpp|{ZgBa5W&OGl)ttJS!kXt6SoM<#Kf2gPzz)Q)_-UVFG! zAvL^ZR93W3TP8yayelI~(b-iM@X>ip9meDpDvSK2Dm<-7B{vkM_`L7aj4{P@cfiQR z^~zX$MA_vI9aI)|&fO|~w;HuL%vu&zTS#TXOY)KKFeg4G#WO^%^O~q$9<6(X^oCLU z(-j^`;K*@VCkWXuS6bIky{0rPS5q3)3krEFYQfxikeWO z2^@3vFc!U=Bqv3A_$ZCCSBC@BZqn$~;m~;K7;8E1M3Mtto)6{&d4H}6Wc1kGOS^pa zsW?O1=_GSK9ZS2Fu9(D{oWEp9vYKD^<~@VmX_u2*E|xO$TJvx+9=#5B?$eN{>C@db zYpNVAx+@Ca^o(Ll;2A|-mBlFPo|6^xK#p;0Ic|JwBoIzJ@QFnkP8acZf=U*X5Bs`s zXWFBClzf-;DAZBh!6-0j?Lc$UR4kJmg{nVJb`!^Q^9~a3A}u5Ob`odvCwXoG8h#MY zXv@B+cZ0WP;Fc=5B3~zImeo>H>}$t`GRMKq!_Z`)>FdxO$?=$nAV!vJv;7!FqMDW0 z2G5OHvACl$PlDYPl*k-fY8Y_dL%53|dkPwW8mAb0mJJ%K$lP2dgAzJ6e8Z-P{MOif z4gM7C^E8%;A(9D(8SEtqV!L!ju(Y+hb;>rfoJE%;U7iu5yDdFG- zLYH^O_ET6}Yp~EJbu3ehR>&VA27}INOAvbP8zEx>Z}kpy0by@>p?<>X@qs4Mh9x*B z6as3pkVnmy!UG=TGk70UOw*_B@4zzMoEoy`>Y?2S%chkK{{R1>gV#{tOfLe;n||4F zGw*D%>*nXOBOGHAI451ME}io3lBZadp*gY}wgs6R`WrdZDkhjV4TSyO(U{*9ECv8= zFUUebO_x-b<6_)L*UjBlUKbG!I9y)qtpZ0--;M*6A7qgCLeaHMG%3^F#@euNQK;K<&syGkRgB4 zt1gPug#HCm4V}R%wMBgtRm=k23%Ef#A<30c|1Lbs_%2Qo)-QMq}}>sPC4% z{s|3`F8YSeBN{J;xqDR%)_q4SZ03hjks^loK?@n!|A89pd2DnEb=R;JNisj(BnUVS zvU3RX6u^|Y3xl&Sg;zi@I$1I#BG6sDS)n&C)?-M{3y#r*xME4wWY>Nf$@iDbrD;6h zc-!^lf%4;X2&(lM2SX1TD;i8>X%MH~?LQ(mY5{2+L*Imqjp1&nuMABU0|Alg=|xF( z$z58jMKot_^)AwB12(TJ3yOY zCV$eLP7J_GGov!rP2y_Z`DNb&I|_WRKJdXc>IGXf#dE(+)JiZNiZwna#|B;Ivw?et zO@|i@f6}#p6&^$&bb3#Y}T7mV>d!PX!fBPfUdj@pN>$93#1w0xSs&RC;zABzRGz z2QmpzK&C&vJx9`%f<%scA`&o zmrd&>a-^gv;&)P#w*wH3FL$nF!>A&1B8JXux~LDWH0yxF0MOV_#UGblhUAUqOcoMb zcK#WeJ7nSFKmz6(%F2elq@EcFYey>`Z^1PQarP%fb|SQ)d*)iYht=-@(7W&ryyvGA zLS`p~m|!nYpSRSF^~Y3|CaD5Zt&;;jigF^7#MOL01jaw|Nm5^P4C-t=gt9N`SeRW9 zp;z~`R>=Q2eKT}x3P(bJ@ z#vp6S`ZPluTVm7%C-c(!mx zb&#yn>WhZCmH%lZ0~GGOlm_=bl|4-n$BmYC)O(Hj&JQoGN*doX5CL_Ia@vH1pfa6B zU!YzU=QBi4498n?%M|V77UhmPcwm24ExrgXxY$tS70ss>ML1avokol@JrJQJZV@=X z?3-$eEDkV9r0(y6ATtcm#=&7KiX1#}AQBV~fz_gOF{3We>V>&rTUql0b4mvW!HHBa z1Lu~xUop>ul^$279`fLrGL{2*KP5$md*C`z;S*A1j=ZP`Kx;Z(nsupj(5u49Bd2_6 zdU%CoP4Q%!?so9xEOO(^RfMDL3N@n+DJ!1ohH}y9$$oWJ`CwFNlY}o~IC-}coA2Ba zA_ZSylwe9?p^;&TS#vJRu{lTCLuwXs;y}S$;?jR9$L0~GyHpZ*&A>sX05U{BC~@Lk zE@}G;Uq&RHs>PvbSc#=Ue#mK5IO)WK(ymg|11T}4TwEL}ut5c1PAB{?#|#dS<`kY0 ztikASUrmcl$ieeb0B3-Iw)bK|W(b!1kgnn&ay#TW*Z>0n(A&W67!6#(R%Ba8U_4mF zTO7k@bWH*bJgb%9v*y4l75&4i@aiib(b!JW!%Y^ln48#;W z^*1XZp?3VtvV%>VQ_yj*d- zn@$j6c&8q|Cb*w}t%Jx7rpYw&;wa8`#Zf9I zFTFKTl!`f!0Ulh<9X9O(Hm4UIt}$O`HRw#NuADO#@FN~%11ZMRywTCa^!m_|Hd<4C z@?38tE)k32y9yyWh{S?OuTO##H6OYkAH^6EvFF7bWewuQIYuR#WD|-bS^(;WcL1nD z0L;{>_A;;Xgtvp5kO-r2!p>8v$5~V=l@=zV8jq=a52eS z5(f%cNN^!{TG50{otO;(p0GoNIHc0*`Hm_^SdPOANLzzkW)Bt5JGd6%k>RhiI2vdqWLl~ zDAR$l_@a7%aaZ`)N;9R}Ig}q?+Sq3_;vl(Z4n%9zzfkkDq7a1AVgB9AGXjOC6$_hq zryc-I!D!vNr6-$(!_C1&Gmz2R4hG^sK9ehBv&3u=|Z8UbKfR3IGPIlQrVMondijau>F&fY;}- zsS87;Adsh_k_$~;!_A8@1fqGX#i@*k>O0Jrw{)6|Npt~5IJVTE9v_J51ag|4jzAm_ zFIsqkg9l=GI7WCbPSz5Dgszx$Wkc*JYAVJ5XKHo{4DYyWH8Zh*gn!Zc zJAr1g8xW(yI%hD3II*Q_9G+wr{2BrxEV*WEfh0Iq5gmYusECmOqwbJn-$!k|{ECPR zF(A$&_db{l(MbW4vkvEqxGZssBqn(ggJ=ON)N+g>#6qZo?zjs?r>n%V)4)4I^Y>_c z0C%vfL}vuoSPvpB5lyU%uM^YcWU<37Ik*&Je^x|6nGxmW;V1yBO%WZ2l#oJ+$V{Zs zG+5xW?vbs%eE1Ug6F4oAZ&c+*wpJ31tJ zp0>4$Oh7s%Zv>16i}8x}IqB*)>LR=Vq%J2EQ*mZ|%G7gKBjbE(m9mP$9rYznVedNg zfayZq;;>e0oDE;DBsh*%hsOuu9l%@jZlY=@(W3~%q(h?^Hh9IrtDM+HJ~h;kX=11Y zkdFV8ez+p0ba$|R5_Xhvter?mXUAtECBNC9W>%r1#xBZnM^}uSr;5igMWWoN#bTHs zA|*tkR2r%r8wQ>Yc^~AgT18xXhDx@dW?(a^GJ83h*l9sP-r9gAq3HZK+~0| zI{;rvM_WxAgj;OOkg;Z>!Y$TRflcLlnv`a-N=~w5lIY->2&NB03W-gZmT(#)4tA&<;F?a`xi+-NU64 z>8J^69!b#2Sf8Rh9GR2;I*mlLIiTyes(UhiKJJQfFuOSDiT{8jPxBGvEo18k^8ol7+UD09QPS1 zRnL!;T9Ads7_0%9mJDL{WO!3(Ab=ze$z@;_06<=ZRof=n9Rw}xt*J%BM}eo@8@3%% zglJR1!s!20{<@|*y@vmJ;qxqlNRr{zq-scM|M%?Y^VA#x4nfP* zqj6^Moc{0Guacab@*-JhZpbPsYtwnds|J_&SDos`%uz^+J6M0PmZ0{-ObW<1%Q1;TJQI!}==jBUATJ7{>6Aw|_ zrA&e_TUL-E|NORg5>f7PegIVF$zQTgh{axv`2##;pvDf4ZWRs=U604KJiD@L-$r9y ziY~>bC*hYrSpF<+nDW}hnlKTx0bEkiU9F)jqtM>acG78kJ*PSi$2=K1GCz|*rQFsw z@AT+T+!w&8{%dMaKE;x@YVUgE&52U%M8VWL(M`xg1hb?P8xP$H_>2 z^k{P!gFU;)(5AbJzt~RkLHHk8@Wbxk)h>+~s;v6qY{5W~_-Adxl5f;MtQHoZSs0?u zF2`(W2Af!^d-B8b$w+vMjhMe=g%zUqJ2%;#l1>l8qESmg;_7JSh*SqU0L2rMrvnuj zX8qL)g=09|5LrT$V$6;h5~9jpW0&EZFtoEzW*D$T*}PGhU7K3X4=Iq8 z;tdXE*CS4FYCe;+7x}D(-0YbDI z@h$=cw!xm_r~7)mBzYH08Zci=cnZrIa)9NsaYNc$bScVY)Dd;O0;%3p8x2SHv|Oru z+EM$ugn=X@u?lGL)pSO6BWb0Euu%!UXoRxfFxtH*YB!Qie5xwqz$GNyGKZGcq0)LA zl5g4B>iA%b>H>}9-5Cq_1?)p2?o=cv%q(1;w<|%qK7c65PFYtio}?002M_EI0M}|Y zC4;!#%9t(>Ow<5UF7D$}w^8X8bEusFD;ZsuD)^3_kUVWC%eRVD9&M!yGywoU6{nUM z?n0{)tp%6zb}GM6t5M5Aqth^7**^@=i!KIJhNXt4wEWt`hqgp{A1xu@QnW~={c8pQ zyIGSqQTr+6-AZgHy~fF`(`MGuAn>85fa~YAjA&C*^HuFrFG*X<=Clby0L1qKExWJ$ zf9$}&BuI^%Ng8OP zv7m_tJ<>pcCK?DrH_#IS8fnl2K@Di8R=Fe@@!q?>w7$L0x%aZ5?2wqzS>4dhA}fQ* z`~Uy(XYIAu-diPvmJ97nNbJu0vr@2=)%&@-+L%%9zJv~mWkizozVPAwbbqK?Hhz1} zd|mEM@5ZjLpO6wsq997GGi{`9CsFyx>D`N}1Zm1rEFdZn7(%34U}>BcRlg4So1B0ZwMXue--`?Mc+cc#zW z)(lX=s@0zDYX)+xhxzC~N6nyoFH*nHNDQt_-v-+oTCK0Dt^kSG)4byvBdS+x8tzf9 zXVMCZ&Th$<;o4tRt0D<}(JZ?}X;RZ&7$=gnD=D^q%9{ny!(3yFHMer-*#HOV^WL&CjTKRN_~?%Z_>sY8olTBLpatmRp4nIa;Lz z-5<^jl||S5TZB|L2DzBF%zt8`crbDnmV=coTSi+VqEk;nAUlsFegaGj#0pJ^0@Mp| zgrP7F=?8+Y{-0td(HNy4tTGhfBvulb&9PDW7d4cn1SM=y47!_+Nj~#{{|9S7=L7~s~CAcjFQ^mFUB{dOxWfVxU%h;GblSa~I}(_+ye;8442 zS`n1p6rStmqLQgpBG3w5bs#kT_9KS3+Fy2+H+EL^p6u4L8^n3WY}olTR^$v{F~e%fwZkWNWC? zEdeOTPo$ZNp>K9ZU)Tz0_~>o1$s$Kr`Iq&JrMY&^ zTxrH0R1sE;Q^Xam4Ols1WdqX^?GgklV~0Tw`E0Tj8w5j2q^!i|Z%b_sMtTfxTNJ6~ zq4~0TcffRFI;IET#4~yBxziaqsAeWitRAEsLX7*cb5Y09HqSj_TC*T?_5N!!>X@dN`!e_3l1ErcwetLf zx9M$2nqK#sNUw}v79JLY=J(?lWGy|PWROf{TopleDhkN}Le}Kn*U9k^79af`3wzT8 z0DfOj@x+AcPWeuqJ8eC?5?V>J@=_Gfr7Y-%niYM}6Y1F`PC8HX<;l7^<+kp~H z^ghk)2U?})o}pyZg)+3k?@h$A2^bAF)%1ul-+e(@^88cW*ou;_l z9Z`Dr&NG+_D&?bJ-k|-qCi9CEwInK$r5OI@s#dD!bmJQHJ7dCFpe3wks;@SiD(mw} zpHDJAsL_+I@#0|}7?A~P#-x?Q%Fhn(JWKV_+uiM{tR0F4<)~P%Ix#hbNrU~4fN}-N8r~F+assH#-q=(5u*;0es)<}P_70=!+69uwkC3DN^A<(DO}T+3 z@xZJ^fW<5^17`MN+~e0B0uPkM02k>&aG?~vm=uVZ784>mF+@g=Jhn>+4+4Nt$XdTH zGDHwmIK-D=gG#YC&qova%31!$zxrc2OvuSmB;ePuL{A08lf*XYM>@GD%us_|MnBe% zfAx13nwI9IYuX%qS_|a}z-UYU=pRKiZjF&mzZ}Z`0PLem=p@d;$zVG#aK4aog?2Ix zv8Wi&v3`%H1z7H0q_n;jePLd=HwbM&G>Xb-;{L|5&1kMd_rXP;*`jdve)(U8uRqz7H{<0&3eDFZdP9U4$y0BI3%#`OxCIY%} zf1!Lfz?L%fL~}g=E;WVs!U0H}`Ic<8&>}?mg0qPz3f8_7eA1m94Omia(q=^3n`cnp zeKNx;Y8gmy%fs(mTN|#!#k^a(F~K9%>;OWAEq4g&J)+<3{pg4iwolCpno^C6PSDcx z#zKuK3OhWIYYg08qFnw7uy|RM8~_cGN^9hScf3=@PwMRq5$q|0)pEi>x zV7mY~0k+K&Yu0&banIw>IHwOEeMhWPWTuD$2BnPkJQ8?JP+PZP{T4$zf&4}`4wkNg zq1xwGkyzw`j0Ov<2^}z4@M_@ANpC)u ze<>k&sM7s}9HKa{+A192;!{r|8o1SG#oj7!4Fiw@R%WlwqXwFkA1B13Qfu=yHK?3k z-wLaRU5I!COTq(yKP48+=wVnqxD}*Tuh_S*PstH6;efEz1@$~VizR@O&??T_B7E!3 zf(0kcnO+^d@~YNBH8wHzY8l-YCY-|05MRP;FpvBdQVq_+?nOsW@EzNzHec|1EMd+G z_KPiAb_|m*-3rqmQWE<}8uY3jq1u`Sx~36ksXHNSAvx{Z{NARPF7e@VB@*aRFnrZ! zl=dlX!2rJY@HFTyXU#%xv}iaeJ4IAU|Jf^S~sHr(IzAt#1{o{e}#X@Grcs zNtnJy@z-W0z#T(2zkuJyG2kpN7g1(?!MJ03H5Uxze0pJkR|4NFQm%e1tMulU7Ub*k z9o%hp_3-mY_%NQwrGoXf6qqjCF|1&9UBDA8>EgP$RbH(1N5{Z;J!G4$t=;tc1TRAu z?x&&}tMbLj$P@m=(n)tG4Lh-EH0V1B~$8T*e0zE zfpQkE5%g9Cy3q4k>R1!wsR_FqL&H7Dcl&C-%@MgW zG#5!bwK-Yl6Ov@PspxFcjDXj%A3EW6b_Z^>YVhP>!WKjTJ85y+1_v1rrw*N++xB2A{&SlCFl~)VzGr>smP%`?KgHxTEmf zOjS2GTruJ4n&G7@&rMiL35!zxH);qc50xA;yu7;-xzN6>z~Z}D4~YR;QMmr039VJ_ zI9`#fm`4TX7=}pwt4qfGrCF}!OH7Jka1kVMWOM;P1KA=DDBZ$w2kkXF>8dl*A)Ef^t z{tJDs(?Ya>s4CYYtI9CAUam^(ZE2Cny7WGmK?pxM4r}%bVE~OZq@_jBB%tw^tX4?x z4tU5HNZd-CZ__tn|IOh7`if>|)NX#sW6VHuMo&ew=C`0VMC5wB1lWHdneIHtg@B2~ zu)4+>vPQvmZ-kP=nwlmBr6;>WK?Vq;~&rTORjdaiqMWKag#+uhxaZ=n|uei0X|%fB()9SAn2h@Woh zl5)c`7jD&j81Gav8JccljfJi@APLuhc^0+AG~mUiz~~#VY5W)fa9^NgVGDTbz8_y^@h0dRI^iQDi%J+@p)7&3 z>#(`k_)NNzFAIpj_=0C;1fXGn`M^XU(D*W1V~v*a&-BXGEAh}JJ%mO}(kLJ`-!a!c zxfN=hi6%vjO4s`Fk>RDwmoBY?IsIh`Rz+ zH)Rbo6uf$%t#Y+oNtZkQIIH|{&>?fG)KRP_6DadIJGUl#0xv-dKg;YqL$M%zCvdUd)mK7ZkYmn?A7 ztzhwKRd{5|rA|Fe7snSaUc7KVoloa@vDe>%wg*q9E0e2Nu3SzUl%hw<#e5;3&*uhb z&uM~VZS(qaW5&zV)zP)9{5)TtYV7kR_qALo=gYZtwn?p~6%328*N|VmlCN}^lUg)b zySS$ITsWW4Q^h`?o1HzA&gl3k0{NkXN*eccZCsynm($u*k1?X>i&~b?mNV(}Sfh_C zA>Zih0bnsd&g*4ucJV^Fkj{_wfpcfOv$Hd&)9G{yT%T{qx8c2$u1>V()Qx^jZdR|S z=NYK1Zj8^IJ;PJeQ>RbqNzJeqP`cJ#%~}v8o^hkng-*|uv*}DZT~6hb!1@xC&|RKg zT4zYR7}BH{PtNJh=}guyyOXmMv69&{TKwBCk1wrXT3;(`w1s|7&Yt7P>Gal_(`v}6 zlP6E)6Zv?|0}GS>ru9xURtIK$_RLv7;fAM^M31B^v&)ydOOy4r z^|dr_KGRfA&rY4pC;KPT@p3F3Ek}};!Gt}V=SwY}8!=I5&va*6v!^HM>g@Qjax5Pm zA31vD$l=~$iJqDe#H6rQ+XNCI?T3qN*--*z+G7vD-C|F>NEH&P^`PVW5S>QKNNz(2 zATAuqg+l;fw4E11>h1_GMBNREfpooe(1bm}dg;bR9|EEsh~>l~ z4Xp~diD4a!QAf>z)zDNWxcEaVpGE%#tWV)te<(Bt|CK&dd&(!unt_=K0lH~&7L@Kx z9?SGBX!5ZT9J3U08@9M?*R=q#^!`?5fP-ZgQlGso6GeDT_AC|(oxpN}k*l;Mz`lD3 z{%lg`$s4f_D1W5fo{_o+VWd@eT?{I$bEh6(m z!cykxPI6^%ZCs{k4eADKmN9l)4`D?^%YmhvACi3}gR#*lbjoSivW23-H@V-vyM=|v zuxr%2XaVp_i8VsszewIuO-V33B-~V{1r}8oCZ6~td#-0M%e-qs7JeHNBilt;joH9N zfE|>^!mJ&rKLTpiB1|cz++3dz&)PMmR= z3Z{%K)VB44DdNmA^xnb-%sZ<^8qHMsMBsP?I7rB&SvUuS9z%mJHAXd8 zXoe-AuuK-LjcMdE;P`DaTFt|agHV)8Jpg8Uek^3-mBIqI!H&gb>ascVF%|%h)*(#q zF)=L}&SDJmtISLZ(Y65@ykpD=_M|sKC@6?>z`8^$g@rg$LJ5Iv#5fE%Osvw3@VZ)=Q+Z$f>vO!q)61KDnRD4A++*@;t zs^U4CX9^Rg2SzXEWdvj_%&9q#mjuT}r-uGopiVupsnbOFOdqsg5feFwitv|+JD58< zjjkvVHEU_qV5_-Qzr5kmU_3R#d<5|i{btrDJcQMfp525d#caWBOSi<@id{_s$LW1D z_ATwf5^H?t+={^-K_U(k&#!Ds9RIScUQNB3_aqKeXgm=U(AeH|Ycl|z@H>#U*m|jQ zAQ@E{%QmXU8s3;m!R4?lfY<5j<`r=qSd;f#--1AYUJZ&hpYLwX4Pue*>UO?qn+nTl)Zo(Wl6r1~f0Lfy zy?alO!S;^YIAbj&%u38EdW2auzI^5KPk?l^$rCDDF3wa~GCny78?>4dfcY z7(k5?BeV;tzKC4F%E;Bq=$3GF3bYQW%Yw&ZJ@Aa!v}$1po=#gDQ#H%>Kv_!{r5Dq0 zV|#Tn-=ZHVZJ2yUtyCPEFQyAPD6l^u!bUK8 z9Hh~pHVw&oHErHn3n02?Tt7S)=fgAf)J77#I8*J>%whSIi$yOl=N!<$?>ueg`cy-h zWeHakCTSG&+C&D%g>+#evr0C=?A%$Q*H}_5I-|QT9L+~Y8XH+Yw5t==P+F(k@vn-DpTc+&- z?KUka>@pcnsam4gL+NxE{V0Csh-Qxw)izseW>Y@f*Uys7w^EIod}MZ5YiT~3Uf5bm z3{cj>$fqZ#PGd-7H(>~sqxncWJde~Kh87-G%#s?T`^lq-6a~RIoeLJtH@NcU$w5JH zX?e?UPvR7e1R|W3tiix@o;hUtF5aJ}s6m${T{fBhaWq7>jjE8rwg5Hj$qxmr(tD2( z@5-yAAc#l|(!#=*QpFSBY-MoMU(dZc`VMj7%`xG(lM;J^lmQl5PJ>XDY{_`Bk>I@Y z*hG>j1Bh)wA^9+diUfxCE#X|jcENt4*{HNjytO=(Z#_Ici{b+4`3FvGX>~HN+^n>< z0O{?89Nz9148+c1rAej-z!}~fU&8DyjULV|nH@N{vUN}PCDi1OO`eZjLwFHWV)CX; zA^clX7)jpIWbSp)Nf^?}kp#}fsQ}fCHyQM6gG;G;Vo6wGZin4M)1Zv=p`_;t zEo=TgTsF%FfbFN6Xc1<4^7YIz$0Gu)Z6770j?8 zR;;=(mQ}?7O+28Ta0ZK4iYRo$F}PkpuUuJbNUr`uOEg#-%`*^=5ljg@C|lv&5x5HP zXVL<+5hBwN8Be%suy$IAX5*i6Td;wblH)TxwqzxB5!9E~q7l$x=m5lF2+~7!BdHst zT#3cEP)p0t_Dc1qJAM#!nId=R!Zb{84d^|F0^%K6xB{}_7SD1y$%SO4ML6bIRV)#v zp$%1jd7`0`lm&DQvoBzwRe_$0vIKU;4Ur_sy2Drjs`E=+6T-N9Wr@C8*l+c=MG1i7 zZ~&wi`!5W|8bcftUdkgZRBTfw%nFPwrSaTDB3KLmi?N|yz*w?!w%KaHdx143p@1bT zo!T;27vwud4R>?w9YptlA|%EmJWN6TH?Uov{WchOoP)3wp>W6YL$_h=jh#~HNW?P> zbP5=OcSNz{ywet7+{5w3APohd8%DQ=KJTj@79fpqT zjvyY!1MaWvfPlImYL{|ogF@}op{S8yKMW^)6Jd4SBp}xoXI6j!Mg-%*B5dBdm`vey z;9*!qH^Q`$d-0W5Eftg}85oQYRABMQE7Y~E9zIh`D zp`5Ni)&oL`7*CEwPI`5|_h<41*b26fC1R1$@S7d)UmabZ&m?x!V#zdTQ4#V^*9XmD zNLL0zN}+tA`HLrTdTGI6o!X`g|B@a9>=xngEj%(|052W_;BSOQt5FKK44oI;HIB=2 znBZSBXMl_)OP!D9lq>p7SB96bT)8CECtsSbtuNVrD2bvq_QI4KznL37SFY-rcqFe2 zO)pz9p6E`)GpuHkLa9Y$o68P6Nr=+MuN{M>88XeQ7S0pPYp_y)eAp+`i6aJQ86cxN!m(yji@qJ?VM zU9GY(Km!uzi=A+HI@bxPhg$|26;=jj2G1-^hw+-8s6DMlQ->LJT4qp+$;Qer;dpX25DbR{AaWl>&tfSL<6C5c&q`GHD&LRnyr=`KbDV`qgb67ByvE} z9D1k~rkBso$-wKkPRbU^vPJmqRPErW7+xc6m-FXRc(u0l0n8WtIG8;7*yQN3qer?U zy~F6xz{6HuN{qK@Aq}>1ZxR^ z;2shDA$%3c-uw$twq)@@S-rUGIohncjBGO*Nz5EzWY1UfeLU5ln$gYr+Y5q@r{dNJRl!PMp`(%UO3v0~V|ef5JTv0X5KtR{2d> zC><*hq76D3V8FQYTXRpihqtVG5KiEioh7Nh$q=seHS~I`)fhf_xsNdegjHE{ez7jf zpjx^1J01T^zHQDP&np--_)@t0?w;0y@DaFDUog=~#2y@;NGA=YMIPye4UH#MCP;^H zyc`-)+NA6wL9oKgW;v>-S3n^ZY#SJpuEfGp@RU91slp>2yczw*)hpc<#ZHkvpQUvS9#?kPHM%Y~%)%exKlj?lbtE2f+M8=D{+ zsKF%`H%{n$esa!1tkVRQ!ffP^}Y>0Kx+(%LpF4x}m3l?iSH-7Kz5iwzj! z`bw_MCGo@LRDf%g5))7bG;)(Oa9KUNa8dLk3?tWlIy*gc_H+^FHai&ts4dNo#}Eo# zNK)4*geiE=y?G*>kFCfLnHa_dgjXAl6g7{(Ra zusbz6DaI4jkdMuEH}H`|7J)e7PK>o4V03u^K+PCnC} z9*Q0{Lz)Ex%F)@8ATa@@tQiDGCNPVBEENZ+XdL7#03#py`fx=rf`NfDErj9ajp6-P zZLfswabbqge;iJSjC@0y6m0u2rkRP3p#|8fWk4%h)&wBwa5-cY7V0N0j&yD;g$#_f zdp?e_0-^NPzH~Sr+B$gX;K4OU3M}u1-3aJ(YO1d=D_KwEqur6LFN_WzIC$`YeqPMB z$6O@w?Vv0uXnsDGR3_<>a-^s``CxZoYyX7{7h}a*-J9f z>=veMooy=?_PmRZ_79E@>~|~j-r=6zd-QuXf!(!vQuxqw&G-v|9_bEG4r%yPv}3w& z|GuQQIy-Ux{PM-p67Y*p-n3~RbW(`r%c+U8FR*UxTNqfrfylcD@3@R;F zV9*L%)%r0rd?1E%U)h`XRI!$nUpr{AkuG!8VWk=BuNBv{SvfOeO!Z;Q} z(#xl6dfMCVNxR+dyuH)UyH294babM%b2uH|I&}CDlfVdNwR~K=o0djNP0HKLw$#sE zDq0r_gTTGW2TJs!)A+=wmYr$GbUP2EZAA~{!f!izT(pRo5*xN~cHkt)&0-nlc1lJg8E*Lxa=-xb5YdT4ES(-{<9FaL7X= zaH04>wTAsrPD#;q;zR=2PNmYow7?u`5e%3K{e=hK3!Wj5g_JD|2Xsgs=Ct?XYa!Ks35!4~2F9*DkC_EG8gBA(XY!0# zW`-KG5t{?LlBofS&L0V$b0LzLk(`i6JUhV|Hwv*nV@(0D6sgBZE?OBW7=Q5bLw$g6 z*usiHMu4?d2>H%1V&KB3t1lq&FvCmKqxnhRzQEI8!-WZgiw{LaV<`m*G)RXL8k!>A zO>`JK$&Pohn;@qjAV*5rH4E#kLlPtFtZE`c4sc`Zrr4N>f>=(DVpT+uh~El|3=vH8 z^UXhN3=V-4(dXa~!{qH`RaU|;q#d@){2}1<+jZGs9D!`67rR8na5}7O_7%R!zx-&E?j$9^SIryIOWo%NqjwQ=v z*doG)!d_XZtpgSd>%M4X(VS_ghFEWn=iaFlL6tC1{Em>?VF(#ShX7+=U%waoT2;ENC%)h##PKO(<;% zPlD0U>HQ{0`&wrf5gE~2^WA*yU`ha(OfyVqcuv$INjY6iMZ#QWHAsBlrM0Gc03(Hu z9t6Yam}$?N`~c|9Hf#79l4~kZ2$ZZr87BV`+=zOWy>oeCr5Uj%L7ovrqzyFb&@n_8 z){Oh{2pV!te~C{uQttvtLyw)7In!b@P%8CheJ#WfX6$lpS32`3u;l4e8eAEgZQ^X) zjr4^;s~IWEd4YAZFKiynM`?MkonA zTYpb`MyF4K>9I|+aO&V_7{3T`(wuj!S_}*zR5~e&NJgl}|ft(h}4hG%X+9;+exoG_)AS zE%E?sKt?5ke5M0C3yrz}JFP>{KEH4%1qeP+%p&y5F=6QD*0gj&`$UfkB` z!rn;2uM=znaCjCNo#+{%>e+!H#UH~+U%(;=OL=5E7^b_(?nuWv*>$oZIw7ZYpshq~ z4x3C}9a=1zzcf+|LxTy&{%*U;^tmN9DPFv6mgR#}!BV|{KdkrpbJjy4*|CYm6XO`C zEW==U_{d>kX+AgsQ|Ew zYocXzYzkRptIX}8Wc#LmWW+-}GS%4fSenmBGo$jJ5g2~gP7pR`5vwB|o$6z(Dr}27 z9SZ}8=1q3)*ttVbZ1)D4>OViso2QhNkjVcKCPP4$g@ zWL(GEs}jS9>B+kXVJqy~wIlE7)UO8JQ#+vub7g*Z#(|jzHPDp<&yxeY>9F5nD33q>TB46;srzv8+g}PYfR{n7n=9 zZ}dBCt1eHHdIH11U`;TVY(#e&`d$5&yGI|I%DGxDvTD)l%{BIJG zvC!!v_7Jq0UU-D)_1*X8f#pTdS{qYd|5lh5xd>0m5nicrgdZb3GB#*19PC@c&Couv z_0r3d9l&*iyaa=#ig+hKY+>RxiF{ykiw<~zClC{NawB6Yh#r^PWudA;O%%?eW}aBF z9=vs5t>T$1%W?8j)2I{`~e+9|weg#%VttoiMQk2VaBr0su~XCBRgZ z+aaGpGH#UwrXku7$ocgARydxBt!!bU%Jhc|hT%`IjF3n;c|{k$uL^KwIS(7eOuejw zs?I@0!>duFHz_ub9dNXq1hQ)wID{I6Ubn$R@Xhc0&9tc=j3uW>^}Q?v9&>xha2Xf5 zviy+_MA%d$P@!3R(i8_Bg(Y;m_iEA@HE--z-SBX8_cV` zQ{GpMPL-y}MOXuqOC*>VZZy4)k7P^WR5&WuJ!3j>v}v2zEVR0>(RGiWhS;$HyjueU+f;0U8N5EU>P<;t zzmLN!p^hzMA*MLp9ynALP?#{3Ap z)A_H@33Z9omKTtRu->)!R&di^gQ9N zLy(&6Dtk1s^vgUVK>{E_*_e{^Wr@lCZ&La$Pu^CjClS9G#hVTcR0a#OE2(QZ! z2DICMX3GNtAM9o%Ha%iT5(~AnKE?3}NnRUN>i8?N%zz-8LqTF&IeX#E%@dGrIWdfe zn2Qg0g|-X+%;s`w1D-3g7rMhXgYO>)tQSSQP(W3`qs%!?zeiHW3|JL+li(JFZWuCn z*P6w+Y?t94ptBI*j|8DjXUl8|-I07$vV1TbTEKQQd@znkt%zoJ*l=Q<;`u8_d3{lPczq{WI^MHe&1Xro+Cb*^$z@xIxw;83Gm^M< z`5*+#wIHzEC#S-2#oA@sCU}e*@a?Pd_M+rnvCm^s@YB)J2==zAfGr8Cwh5!3?vyX5 z$US=kdorO}s$*i;#t7h!x1tD6=Uv@SEr{lNE0Pn1wS$qGDloR+r`tW+6_!M<21}3t zGMn2E8$$2Yg1loSw?VK4_CSHq)1gjHO)+LM49(2==i9dlY0KAUo*)b^EiQxYf^#l9 zR|02uVaTNZqu>mS-5VJtRy}W_KwVonLRKJXc(n5EA8p;o-j)oq}4Oj z^^-m^&L!tm5+bn>W|(j_T@I>r`V55`aX+_fH(hzmAs=^%2sfQQLUF#T8)FWuTa;-< zmzCqsLT{?$RhOFp!we1dT;9p8?mHT&w2--R-9Xg>vypKGz*TgVLk;<@8P{@g7?g%- zRCr77z6Gb~%nH(IinUx{*Ky5@JKeBIKP2R7(RKOe09}dI4*jeDmk)W-QarULS_%Mz ziqedcvUXcm!Iv!PY51i?PkkroTGQ{WNNPRKdsLVc&{lQV2$VWCW7w)G#DT&LhLM zpD&Lzx#~6CTJX;FB%RZNEP95IaZT&a6~HyLC~Dc9q}HVAWVNDl&MwV=>TAE{+bAR# zStvSZ#|8eAKrPZ6hMz8nl0u_@F*1f&dx4aKyOX1`o+smDG8rQJ56ZHMHacJD#$SBM zY!R+_Cd;ZMsbn?3i|DZ!O|hG1Dt)(smuXFVal7(CEko{3k*8HY5@&YAE;dNPkZ=Wh zs%Us1iqH|DYtY@Hb#GY*V=eFplB1VUxfVd+y#CfC$l*hQHr9YMVLD$fUo`wu|=o(GkP@8@o=#CkmA zJG4<~zHK30^p#QrLhFDTl5i_?Z;EELqNC^xo$Xa;0t>Q`4F%0jZUPjz7P&d(mp=%9 z*!=RMr?jXwVBP?hAa4d13xL7(F%l^hodJZ(>t1#`}3{}WZT_ocDL9JZk!Vy7FCef|#x^F}tgV9U7r5o72 zi(5DCkVFXtOJ72u3}(u4|8G^T2SNkXBuNM)>4p|u&{{DfV=lR#^?~4|E7dG=F6;MG zNeoN^CJ0TtBYaCE7}6-gf^w-NZ?RT_-}4Qm3^kLDKhlMaMgt3yo9)@%FbM(WLT7lQh{aGhPM-m&FQ%?_7bZdpp-^4{8nt`4ZFajBc zc%&yCNYB0i7EUMVHGtR#vhbbMe;hyW^m9Fs(~e%Jy)RlDavFX%S767li^iu2M&-1t zmtt?xio9p$wKziO=Obq^vP9E=V&<_2jv5=@I z^fPpBs5f~aN;=i6E5kaT4)R+qJ=e?HM2LaFp^FA4{kyeZL#Hs(6Gk+p%RM-EmR1Z% z%2QTNy4s`hVA4+ic%#R%20muB^LB5-EHc|F{=wi-_r~3T(hjC-4G8<#6`zU>8wM%i3rt&lVUo4{VBjVSdW4L9tFk4#7GR z2xcHTa0y7V2NOEqQal)rMf3|kd52x~#bH**F~4p}&(dYm+5srJSGk3SkScG;N8l%m zSkG%>FcgoI9DWp-8E>#-|8)-$BqC=%SR2qP04n?`UZ~2v8^a|Wwyuuwot6P@dKM*4g`aJNQ$7tBIKb?gFxmTX19cU~)@x z6Dh>ec)DEMm;*tB<-Arj0tL5qz$09R>C|K0t1)aKcP6wf(`g_;_rEM41sALC)G%t) zs$lv&rJ7SU3@k`$gNi};%5S*6xrsovvsAMi!N08!$Lvr z^a&t4J31Q{FS0&jw(&d{l%+)|8203`4E%sy052G==|S5bd;;LSRSgeB-RV@n4ikRr z1+1Y}ZB!$ZVg=hEJdqwqOyR(MZHKc??dc0U+fi*fw8g^{fjY^1d4F^NgU}}X!|3V) z$vd`CZ)RK2y(+TbUkqLz&rP}4;LN5YF6 z1JW=h2xhLEpCP#ihyulil_mis7SS)E_XJgTy5z;AG3d;w0ay`mgCj{twkl>lcpwL- zVju}PWD8@fz?F6ZKNpUB0Uso*_&kd)%uR5s;NdQ&sC~mQ3D0mNyCB|-kc#xPp#>q| z26zx7$O~pklH3%u_C1Tj+9BjAe%SLlVcg{&4{9n*9LT_ch7AvcRI+eE+To>Ef@OuB zDhDBj0GmLtymJeRr;<}Fc$-ZYB6q>jH9@h(%O;WZ-tARF5P&uv>8raY0fEf`383$i z8+g*!c7-i%JROjSSu*T3b0itE&`A~`1X+cy#ND($eGqnuAhYom!vp#OW{iWQ;tH2a z!7LaUyO|hWG$~htYViQl;$Wz-;(}v?SselTur7ejp}&U4>ng1UaF~e&3mhzy&z2H| zUl)knx@$v+zY5$VG*MSum{qoUN(D(1W&kAB^+$k7P{RoP(W^YKEs=n?dG}C&$cz~Z zh60W(ISW_-J}oL}7MRT(R@@F~LhGo7_i{;H56ueeV6LAA&oS^5;3>4)mVi!*c5Ls> zIklk{y!Fslb_*j)GOkev2IaIzm=j*N*;qq?Ni|oBaRWgR8s7(QdX+%An*B2X)W1## zdW|70Kz~MF%WYeqUyKYSY1fh7AR41@ZV3K^-lKsnq&`xH4A1VyL7tOz$|cgr2aDM>ToBhiGAm*2&xH;aBUZlFh_g(=T5U1*^pcsl--m0+G@jljp#a*s9q@j0zlT2m<1% zzn*omL|$P$$z4D@)1l4730qclUDd#=bax&KsHKl z7@E=wOEd`#Oqctht3*mF-B=l9dQOZheqAS=o+oH-F;Nx8tgZ7HveX8cs<&OmJ&fa; zr_U&hAoi^OHu)hR!a?Gsb>LZi;827}6|J_+>kVDi`%W;v$dwON4osCJ=vuHc$l9Xj zkoam#IN9uDCb3p^%9F!uF0|C|c{z?v+-rhvCbu?4%}K~;u00 znl=!~r?yTCieEPr|3+@b;8N8ln&mzhamXTfYOvXuuZRJ(i!;|)cSOpV6^ttS&w!#4 zvlSpqq zJ;B~Fv1-TRLZ%q5Mqq^ms)AauNFBgT%^L{qYQJGfC^;IeqcRWU2SgSa&w<>5$#MDT zqkS<*Ay8c-qOTKNj46R@T%;E(v<)s0ZxbWXz%-;}=vdphcE`l85oH#f;Q?6!6Zl9k z4^M%Rx2WFc;icgb^(KHAf{4g(X1{S21dF`W;JBZlzTd!-N}33MB3y~rGsB?2=ILaX z;hh1j7XCpfin}xs+i5Y-!LTn9Zfqf;ppn&ZM1QE)LMk~o8DPHQ?5b>U!AaTSr5|%~ z&st#PV@)yh8;m9J(%Mkk&mc}kV?pya8cTz2vbxzNo#GIIXNEbZ1|1m0XG)+;doOKa z^hIvM23l>~_|p#VEz5Z&E7a6|r~(3>m!p4y9xxcK`BqWCoxw2^&SrYnXp?BJDr#h&JNdr}C1g>+j)A-IB?G?) z+e2vy9syI?kZ7DS=9n?IL*$T3O#{nX$KkY0&p~8`_d_wG5dasC@#>?e>-HaS;15>+&3^$#wnT5G zUQZhv&295J!)CWGB@=j{n^dL(G+>i$J&OiFf&(p(z>450+~xX4iJ-xXpo3xE(L8op)(Y2ZXj0nOtNiJLat9MKM{1fz;XqI3W{dl4 zCJ*##C#SX=B;T>X++h)&jW7jQcH4~`>0^>9auk{~MMHq>7)?`kD{tF!TQqVE`N^Kh zS;J|1qX%O?jFiEidFN0z8gxAjBD#?VrqV%yOTp$l0Yd@W&l!c% zbNw;qBfZp%c?;_EAN26Ib6X7@JN`>HeD;(P4e`O;=^W$MoK$0twW{dj zs(-Pk4Hm(4(o%RqmPHrZwRCnPoNGShG4Q1-3Z(^#?g4fqw^R;)g={tX3V?Pv%q01e z5za9g6h(8fb@GI0vy}a_ed^6)$2f3<;J<-Ah_H=t^)+{em$2akXd(zL#Zhp=HSLtS z49@Dl-mKF{TUQqoC}0CVuKM3H_qOF5R+F?a*Rp54TfYytQ;Upm0SIO$GVuXAp?xpq z-BAp|zOXuS5iM*h-2uJW+iYoQh#Fkt=wF9$8&)Kic3G?o=nxOGk2bs_Y;u<_PD= z07J}0P4+-3x`G4WqXG>u)%nvr7nVyc;>P>CpoHLr9O&H1Dk3l!ku`|82W2nwD!-R>;85h?@5m&J3d1vag99jA{r)bi7 ztx2($ul|okjw-Gr55wi2`t0$A7f|10Mj#n(*v(YJuO@y#@4MH_>DT>#zn6(ZBkgdQ zYH;V>$)@MDz-}WpWW-hl7>6)#IzLGBbV6Va7;l~u#;Y709Ebzg36s(7ao{2>LCDG3 z!bvpUZ$xc>K*Z$f&}#ndDwqKOu*dgB5(sRU4IhV*uEF{fAtr52PK1V*!o?ES%Um-H z4&_u(tjt3GHg~DYx@d>D(m=<_X$!-#XF!$_?$mvPxEpi)-^2&vH(^`h#9>d_E0MYZUBLLf`_Hv0cHwlX2R+m|XIa&` zEwlz9XdoC$hgpom!gK;$apK{PHSsk!f*PsHS^SuL&Q5N0kXbi}l?yezYOoztJdee) zHDlry3VDH!v~?J%(6%BH;4Fm>+76iHRTk87aqIHVo-eW6Sc{j$I?*|x2?j=rp4%DvK5>)txE;~m) z>V4G+wSnXWvweVrv4fwc>$*3pNn-tE65Q7EGls_4(TPYj9?H_V-bz{k3Jf7)iQH{Q!x)y{A)Nl)kB!oH&yLlDI_Y$^{eu%9 zA%VvLGsi{(tr6ySZV{j^ENV$-do+EhN$BEwthqh(|ve9E&F>&1tTL3 z=#!JyB4(`TL=+~@wsh{XyoDA}g@muc>8&_996~6)c^8rvNX1~6l6fEqv#xO@%>`t# zgX2*&2k6?)P8_y4N1bV?s^u}SO^blmMLn8CSw2JqiLr;(3OJMo7x#t~&nGnePZcD! zBZ_l`HspQ%y~E(&n&1#qL8h_ctdAP3^v6ia+UGF^8m4ZPQad~iEQ{bph3kt5gQ4&s zSaorTL6^jqipwr|HREm$FA%-eGkMnt_sl|v)mSX-Qln_YO1O=XYw1;ZTtxwe;nAEp zbXX?^n>ok?qZ=*y;0zt9*(6eyb^($&j?<3*_IN4lg9D!YJy`!Z1;LD2KadE?ccqT|5lUn zE$Qkxaufy|SP64;THyB#S6lier{yVgz-6^g$rC8Xq-#BL_!Q_gehM4GLB+-5^E1Rv z+O54YR$OEV(yb0lQkr(Wh>ifx$^8^=oRr7d?ZR!TH`JNCKiDBKu~BT=zUgy|rW>ho z?%K}6fa*sJ?69Q4pg{Y8w)H&aeBI^_r*{#Ggu5`j-o=^A;oZm;d#o@NI0%t)Ejj*x zv|E8XY0a|seLt)N%Yo;YjRFqYBf`V1P=_M>Jd~R>6OgQP)}Byik+yf~1piyGBfe+C z=0D95i(gY`V<%x1H%mP`&q!F+XeWA=)5YH0XJ>XO%T-p-+;Q}bF}m9GXo=a<;9u*( zY-l>-pO%hWdeDyBU+?Svb@^raYWC$9>5KAt`o&b$DHf$B@@M(e!6%=7qVjK)>7$}v z`go&OVff`&Uwv7=%wOcsyI+)_r=R7YcAuqB^C#se`NvdS%PRYpRb1k$FY}irUS59Q z{Ve^o=%wY8p^DJ8+6(35aTI+^AC(VNeItz+M~(3Gnac&1cym&{xAZZEE+!wUEI?Kn zw=X^~pJz3ps0l?)D4(P#EiwI}OX!VM-tGq3KO4CRDa{=>E~I$o_wYX;j||G zr2pgeBWh9PA3WyAA5pdX11dU9-c!Yn^b6Wk;`N<=Jy8X{A0-XPSk(fl7Z~L(@`vRE zR~RI9e|)8=6QBL`r=KNtdiKdrsPaKghxG9@YIf(3@`tXdo!=e5qdFZwOFtXvfzMpH zJf4VZ6Z#lW&8w+XOE0}w-YxHBH7iH2vtF*k6!B9!k~N$(h)UY!o$|2!lva#2pA-)K z4PE$gEmEQ~<;fA}r3SN> zLQ;!5ErqRCW-um!mUr)_ccu?rj&AbygSX#GZ>3MBT4_AeI??KDOqh}GLzRmw@AHwY z>VdT;2gT5}I#V=jq6z=FXn``{p2PgXNLA_HCvkC}e=xsY-pX&zTtl5j-D$Lnrh*zM zllR`GScwK!9WQUU48r-1s2{)Rd(!w)4TWM5gzR_m^YT`DGpcdC9@8+@;$XG1vWKyt z-hZ!C4_fE*gQQ6P?#=wh7RmV4eiySZ`hC_Emw5F^1NGqHgY+Q3O@E^vcz#{!cVj0| zExvp(qa=&#tmJ5Vew*5JNgZ`UQA!W#!{Dtbs!jQh{JMk9^ULX@^x=q&^uhbCDZ-c*z1;OR zl0MLK8+R03C%=_S5T^J*7d>yOrl|qIFMs*fFTYA(r7x#n zaFQjR2VLy&@>%!kG#1F{$3OYed~=kK#$V|folKlxS#*Zcby&>*W-~|m)*xjlbt`De(>R!>C5!R4zi(X z#YD?4$_Ra}!H)@G5AaCV5lp?&?$ZgUde%u6gOYyOmTLZJ!>8Z-l=(?4);L@Lg0oWR z5~qj$qK2qHmX}ZO55`nE(o!t%PIaDf$Z{*VT+yZ<;>=099*Xu{iWAE9CKIQJdY?2* zJiuv_qD(2jO+N5_T1KUL9Zvb-=w~`zeTb``Piqyo569W;2Rb*B#_TcGDYdcRb#Wf8 zS?Va2xUTrdNR^sm%$85&c9>1*b*I*hqWI5qOS{dZ<;>z1oLy{Xlae=^n3CSA5_Q>!1f_2EZUz=@s2-J*J^?SS%T z(sB05kEsP)e%Sxm)q*+|g3@FpeJO@Z>DM{S$2x6&E+}WYz7i#;=8IMrDu;nD49-7J zN^)ta>*`3>xN=mc54Y-R#u7<7&t}xTEDuKy>gzilgCouk7Z{=ftm{mr#pw|Rcld~_ zWX_zuynAhv8bjZy0!y2UPViRuGex^5Z>X3h=S}yj%4UH!C^*G$Ibn6-#X(lo63z_H zFfK(l5hrW+uD;KKq}%GPN7TF_o1@Aix&BajMH%`63HVy~OWU2*rfeF?50$%vN;yRt zFghhS|8Q}sb3hjLu-4-FPJ+q&GI<=;-=9eLfZ3$N@K8D>-X7aFhDp z^)BV^$zO3Gjdi~8`}FfI9ZK2@Kl|xtoE|xDYG#*}H;Vi4%dVbw<>xbMmX*&&pH?uC zeypOvAO|+iL|EV>#%c1wmtTJ2b7>+p^Rx1^3D|`9H;l#m4c@p7M<2ZZIZ>0bj0W| z<~xRcJVMpy^dn#&Scx^AKKv^qIqm)^Py4RUKt7dzx>ZpYTlH_kGB<1*yN45SL={xZ$XsfSr=22K1|A6R=iv&v$Rn7_B;;jCD~3X=d}|k5sc+$L)u@$kO{h z&H+U{)ef8y#nXPGLyE?^cz3Hj#~H;(@6m7K?re2h#p0{o!K`tsuOtiYr1^*rz>Efs3>0?-Z7ITMq+IP@>fQhKHU*Kp_$H6z7RWzO<^G3er(W4hZC8qR0hQ9kA~cj6?(+MP6;$nBl(@` zB)t0Ql_(qX61WlMs2oUfJ$CUCuhf<~3m988I(;3|>BWJP-@ZVB>%VD8@Bt@c((vm< z&-e3-<%RV8e0t}$%7$(jUox%;Rt$Or#FA>Zys(s%%XcprdGcl?zMWSWA?K88N~p9- z%}uN7^a}%lrOmQq4!FW7^j0DpS9wnH_*ys_wC;BBLtl)vyi?253tP{(G8O4wz8m<2 zdWmlqHKmmSOs}eD3qzUW3X4?4C3>BoOZUD}${;e|f-_uhkepd02UbnLnu3Z^N-s=a z)W;$Zak)o%hLPm10Z#Z>i9X~=oTc<&wOm+wp4x2r?w?h4?46pHi$RjDLbl%-sd%&c zo##cld8XW5gkpJ}rq>27HCoX?MX3%AtLtoy?nQ|SWk+N! zjj2{&Qu4B-IVABdFIR#BDEvgrX(0jDwwNL+-P>c-m9ShY1}dC;XrrZ+YjPs&To#4 zK@+9cy@R8iqBijd8^L7QhM8abZ*xDjYrxeBCuI6#2gFhI{!mZwP(#FSn-Q@NP)(v2 z|3IrH&Nz4_-vOXp-XEsARzB}%$xQVDPF>YY$l#59lefd0gj<`CvNXLMjUkM)v2a}&C7;ooLU8}9Q#Sx$63AAjPL>9p7CMl z#hYK4P~s^+H*;>mtQ2}?a;EA_V`fTR3QU_12BH|W1IbP8^6FZ;E#ah(tbBjOl~d=%(h}x!j8mMbbqw0p;#kaT0_wES))0_EVBhQ@6-}UuvB#4!5j_7*kF|61I?U zyj*X;Z5^0!8M35^@hEz~)5v9=HV%5o*VDBTJQPP1Sp&JmTfN27jvSuiG+fHPR!=pm zq%o|@te@j%b1*ZRxjA*Ho2652IjOZ0^f~YSXGn}68J_lmUbW`FH4%~7jU7lUKEZkPG>3~%Yc(xsGtOuzW^k59!OJUCf zJq;v%zyaS{i3RT~O!ld6-lR*eo+OmJ3c4LOA-|&{%7Qe2R-Y$P8aV2r8rJ|@ zO0RZTnVp{pS@-PhIsKNi*)^%N$lZ}^L>Op+Cv~2a+ml-}M(im~P8ffju%Uvkh!Au(=QPPaaloNWm#KwpE# zEI^%36(hxgZqAsU?S66sQlg?&BF%cIGWZMc$l6&L09>nF6eNQ+pd`I3%`RjFB@IYza%W4Y6bF^ls76Y#D1WBx0db77nLL#$#?}&p zM#8K}#;JU;<$AeByw+I9=Y2tt^87{xxmX|IZ=fFI)=B}BVXIszmoZ5_FD#e1D9Nj9 zR9$ozw8DD+M1=Ft=cTS)er!~nZf}6`Ba)0fmJ^{|;m<-UucS&8su9RHJo!|gqgj!j zp|AVt8Yi^s?_RwU59CX#{ON41tuk;kKPUu|HJi)9cKJ%aJiWws(z?R$xvEH{#&yVd zly;UerbDp?ltF?b2en4Vy26;A*D@yGa({mF>$lyFIv*tDESI}@dAc}SiGXFLJz&(@o00jV5fnbs2G+)dYHYA_qUZw{u%vS2K z<(s8YbIoCvFXu}|AImj!tC9l5{tCR{8!*XExqe;wB3hD(RG(={1SGN7`nUby3v=WY zX-Pxt0&LFd<(z7FZc~k8q&28p88awr4Q3e+S2PEX$Si7)(>N^hNk!t11z;#~!IF1% zJp$X(+M)`ErB6z}<-Ng3rEAIo+!9MfvbTBRk3~6%awbIhH`(sCno49Bxva>6Zfp#mqh+{#*podPZ0u=Ta|wG^F6=Qk9ccpg<$C(S*O zfdJOLhJ=eCLNrk%t12gve^Ql^!J<`;m*nmJI#fu$$n>EcVgw%`xGE|Qa7^37ug;h9 zdS8tpMW161YH2%CEf9sq_&9T$>)~p(YQ0{dDIU^qrCp6;7N;oguD}Sk~wY-4H~bGa0!W|6tT&xolk?R zfArMF?|7hS9P9h9R4x(yF8U+Zfuq7qH7+1Rp%T#=51EGYFCu@H_BD~F{St0jF> zy9da>>=L!$NG_Zb_%?Qf_K${&>1v3ZTej2LY|erO-jCCq^O6G~Uz+*+pT-?iQ#EpL za4#t>OIz8sj(B%v97{+es`C{-fGSQhEGU5laBjJv3zZs+w%OMDB`r3tFi;J@AM3Iw zRd~8ZS{^M@r{!_*Gf8$lO1@S(jD1P^8gha}Quvg4d@;vF6qyIfV~yxI;`Ocu%T{)2 z)b8>~uhzCqYjH*h&usblsy7{{R}D)pS2wTd{Gzih{5O_9;A8phawQ#j`7Z<>QQL1CajgqZG~7_6Iok*IgVGKY1w+% z^EJP_o8@g8t>R{IA2>}Bc-DHNsa8R%%b~1)qxM|9xOPE1IOOz>gC)3ic2ZeK2_K)Z zbxAfvw7Dm%Cb85x#aWV1kENGK4mmraB}!DdBHML$Bn3y;Or=qjmAS3~y-w59@++1T zQRLKTJo}*NL+v`?c#AWL9lS-HlYuQ&^9CiJxK zRN6i|)49HyUo<#1_9^x|3Vx6Ma{kDrGBqv8Hk}wWS$vk{2C82ZB0OTu{|3$`-Kq8xZjlt=P+)!lpTF(F!snRN}z+dtT@`FJ*25dW8vhZ%Dnd zK$7!f(7=#KH{$#fF9|itwEGSzYi2K!x)3R6z5B_uE>f~6|GOb%oD?;8M8oTpTmW%* zai#LUq6G)?_{(TQgIqu~(*eq+dri2G6&m@_TAo}=>CVmzFqb>jiSAQt0bD~iFR&uN zV=+e#fpfF-N;9E@zb08T6D)w`-_G|HjY(=uJ545M1pqk`X}30&EA=v`Y^#nDta(An z3<^e>oly?n2LH$fOq)2e8sgoWA6n^xEA|qbV~VLLWm;ru0AB+$86Zj;XgRlXy)7AS zqkee1(s3!vfoF$B?D|!xnI#R#{Nr6ZdvUUY-%@$`?WCl+2RcotTgJLF zCqRFZc$GW|ZWm9Clu%ztA`*E8h~=s=cB*Bt3_wbpMeT6;F5D`YAIIINgJMl^i{;1t zq}e;CEKy{ka^WeS3SGYNR?DkL-&-N)?i{^{lpM}2;HWB>#a#wnF;t6E%U^58BUqJl z9$d$BR^GP^P_=|YiK{1HcwD2is=Oa0>n4K2lyZzv9>N_Xs46a&TB%`iYH|x{@FgtWH6K_H$ZPCDYxT6Akf zq7pGitkHyJN}d)v++sr<%e!3YSBbTpFIJsV$baN)*cJKE2HqA-2!V0RbsS-Tt+cK~ z9eAoGp_uKAz`J40A}dXU+^%Ul<)E?_Cq`gHQF4fphk-!yTG)9)Xbb@h5nxLkx1z0E zq?oF5MGjKOHPy)>(?zET7LgTwr&rB8|7yq1i2D+rA*!5w67v8VLLHpEpWJH^=Hz?| zgdNTL>VXQW6KB`b<+Bu93|P@9r-bRE%sXn2%2oiOm2-ltkV|gha~@T>4o-TpHNT2#nVTCM#~F1M>%rD9Jph9h(!Y}k65@e;Gf{q-aG|!w%tBZcU5uwgbXyFVBM0WTgh^Kn1 z=AahXOtzUh2iT~D?nHu)=^;#{v?%15I16-AIRjw}aN;~5Ru*GetDAC(>w@Qi6dgD+ zX81%f9kKc5Ng2zLTGefMfSZVuFg~Dj-U$*oY^vp4WNg>8Jkx{`0c&hTSEOsG1a! z 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 diff --git a/misc/screenshots/small_tile_440x280.png b/misc/screenshots/small_tile_440x280.png deleted file mode 100644 index db5c8cc889ec111dc8ad4d951d43102d29cb5044..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39333 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 diff --git a/misc/todo.txt b/misc/todo.txt index 1fe551a..88465d6 100644 --- a/misc/todo.txt +++ b/misc/todo.txt @@ -1,5 +1,4 @@ -JSON EDITOR ONLINE TODO -http://jsoneditoronline.org +JSON EDITOR TODO ________________________________________________________________________ diff --git a/test/bootstrap/css/bootstrap-responsive.css b/test/bootstrap/css/bootstrap-responsive.css deleted file mode 100644 index c0bba15..0000000 --- a/test/bootstrap/css/bootstrap-responsive.css +++ /dev/null @@ -1,1109 +0,0 @@ -/*! - * Bootstrap Responsive v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */ - -.clearfix { - *zoom: 1; -} - -.clearfix:before, -.clearfix:after { - display: table; - line-height: 0; - content: ""; -} - -.clearfix:after { - clear: both; -} - -.hide-text { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.input-block-level { - display: block; - width: 100%; - min-height: 30px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -@-ms-viewport { - width: device-width; -} - -.hidden { - display: none; - visibility: hidden; -} - -.visible-phone { - display: none !important; -} - -.visible-tablet { - display: none !important; -} - -.hidden-desktop { - display: none !important; -} - -.visible-desktop { - display: inherit !important; -} - -@media (min-width: 768px) and (max-width: 979px) { - .hidden-desktop { - display: inherit !important; - } - .visible-desktop { - display: none !important ; - } - .visible-tablet { - display: inherit !important; - } - .hidden-tablet { - display: none !important; - } -} - -@media (max-width: 767px) { - .hidden-desktop { - display: inherit !important; - } - .visible-desktop { - display: none !important; - } - .visible-phone { - display: inherit !important; - } - .hidden-phone { - display: none !important; - } -} - -.visible-print { - display: none !important; -} - -@media print { - .visible-print { - display: inherit !important; - } - .hidden-print { - display: none !important; - } -} - -@media (min-width: 1200px) { - .row { - margin-left: -30px; - *zoom: 1; - } - .row:before, - .row:after { - display: table; - line-height: 0; - content: ""; - } - .row:after { - clear: both; - } - [class*="span"] { - float: left; - min-height: 1px; - margin-left: 30px; - } - .container, - .navbar-static-top .container, - .navbar-fixed-top .container, - .navbar-fixed-bottom .container { - width: 1170px; - } - .span12 { - width: 1170px; - } - .span11 { - width: 1070px; - } - .span10 { - width: 970px; - } - .span9 { - width: 870px; - } - .span8 { - width: 770px; - } - .span7 { - width: 670px; - } - .span6 { - width: 570px; - } - .span5 { - width: 470px; - } - .span4 { - width: 370px; - } - .span3 { - width: 270px; - } - .span2 { - width: 170px; - } - .span1 { - width: 70px; - } - .offset12 { - margin-left: 1230px; - } - .offset11 { - margin-left: 1130px; - } - .offset10 { - margin-left: 1030px; - } - .offset9 { - margin-left: 930px; - } - .offset8 { - margin-left: 830px; - } - .offset7 { - margin-left: 730px; - } - .offset6 { - margin-left: 630px; - } - .offset5 { - margin-left: 530px; - } - .offset4 { - margin-left: 430px; - } - .offset3 { - margin-left: 330px; - } - .offset2 { - margin-left: 230px; - } - .offset1 { - margin-left: 130px; - } - .row-fluid { - width: 100%; - *zoom: 1; - } - .row-fluid:before, - .row-fluid:after { - display: table; - line-height: 0; - content: ""; - } - .row-fluid:after { - clear: both; - } - .row-fluid [class*="span"] { - display: block; - float: left; - width: 100%; - min-height: 30px; - margin-left: 2.564102564102564%; - *margin-left: 2.5109110747408616%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .row-fluid [class*="span"]:first-child { - margin-left: 0; - } - .row-fluid .controls-row [class*="span"] + [class*="span"] { - margin-left: 2.564102564102564%; - } - .row-fluid .span12 { - width: 100%; - *width: 99.94680851063829%; - } - .row-fluid .span11 { - width: 91.45299145299145%; - *width: 91.39979996362975%; - } - .row-fluid .span10 { - width: 82.90598290598291%; - *width: 82.8527914166212%; - } - .row-fluid .span9 { - width: 74.35897435897436%; - *width: 74.30578286961266%; - } - .row-fluid .span8 { - width: 65.81196581196582%; - *width: 65.75877432260411%; - } - .row-fluid .span7 { - width: 57.26495726495726%; - *width: 57.21176577559556%; - } - .row-fluid .span6 { - width: 48.717948717948715%; - *width: 48.664757228587014%; - } - .row-fluid .span5 { - width: 40.17094017094017%; - *width: 40.11774868157847%; - } - .row-fluid .span4 { - width: 31.623931623931625%; - *width: 31.570740134569924%; - } - .row-fluid .span3 { - width: 23.076923076923077%; - *width: 23.023731587561375%; - } - .row-fluid .span2 { - width: 14.52991452991453%; - *width: 14.476723040552828%; - } - .row-fluid .span1 { - width: 5.982905982905983%; - *width: 5.929714493544281%; - } - .row-fluid .offset12 { - margin-left: 105.12820512820512%; - *margin-left: 105.02182214948171%; - } - .row-fluid .offset12:first-child { - margin-left: 102.56410256410257%; - *margin-left: 102.45771958537915%; - } - .row-fluid .offset11 { - margin-left: 96.58119658119658%; - *margin-left: 96.47481360247316%; - } - .row-fluid .offset11:first-child { - margin-left: 94.01709401709402%; - *margin-left: 93.91071103837061%; - } - .row-fluid .offset10 { - margin-left: 88.03418803418803%; - *margin-left: 87.92780505546462%; - } - .row-fluid .offset10:first-child { - margin-left: 85.47008547008548%; - *margin-left: 85.36370249136206%; - } - .row-fluid .offset9 { - margin-left: 79.48717948717949%; - *margin-left: 79.38079650845607%; - } - .row-fluid .offset9:first-child { - margin-left: 76.92307692307693%; - *margin-left: 76.81669394435352%; - } - .row-fluid .offset8 { - margin-left: 70.94017094017094%; - *margin-left: 70.83378796144753%; - } - .row-fluid .offset8:first-child { - margin-left: 68.37606837606839%; - *margin-left: 68.26968539734497%; - } - .row-fluid .offset7 { - margin-left: 62.393162393162385%; - *margin-left: 62.28677941443899%; - } - .row-fluid .offset7:first-child { - margin-left: 59.82905982905982%; - *margin-left: 59.72267685033642%; - } - .row-fluid .offset6 { - margin-left: 53.84615384615384%; - *margin-left: 53.739770867430444%; - } - .row-fluid .offset6:first-child { - margin-left: 51.28205128205128%; - *margin-left: 51.175668303327875%; - } - .row-fluid .offset5 { - margin-left: 45.299145299145295%; - *margin-left: 45.1927623204219%; - } - .row-fluid .offset5:first-child { - margin-left: 42.73504273504273%; - *margin-left: 42.62865975631933%; - } - .row-fluid .offset4 { - margin-left: 36.75213675213675%; - *margin-left: 36.645753773413354%; - } - .row-fluid .offset4:first-child { - margin-left: 34.18803418803419%; - *margin-left: 34.081651209310785%; - } - .row-fluid .offset3 { - margin-left: 28.205128205128204%; - *margin-left: 28.0987452264048%; - } - .row-fluid .offset3:first-child { - margin-left: 25.641025641025642%; - *margin-left: 25.53464266230224%; - } - .row-fluid .offset2 { - margin-left: 19.65811965811966%; - *margin-left: 19.551736679396257%; - } - .row-fluid .offset2:first-child { - margin-left: 17.094017094017094%; - *margin-left: 16.98763411529369%; - } - .row-fluid .offset1 { - margin-left: 11.11111111111111%; - *margin-left: 11.004728132387708%; - } - .row-fluid .offset1:first-child { - margin-left: 8.547008547008547%; - *margin-left: 8.440625568285142%; - } - input, - textarea, - .uneditable-input { - margin-left: 0; - } - .controls-row [class*="span"] + [class*="span"] { - margin-left: 30px; - } - input.span12, - textarea.span12, - .uneditable-input.span12 { - width: 1156px; - } - input.span11, - textarea.span11, - .uneditable-input.span11 { - width: 1056px; - } - input.span10, - textarea.span10, - .uneditable-input.span10 { - width: 956px; - } - input.span9, - textarea.span9, - .uneditable-input.span9 { - width: 856px; - } - input.span8, - textarea.span8, - .uneditable-input.span8 { - width: 756px; - } - input.span7, - textarea.span7, - .uneditable-input.span7 { - width: 656px; - } - input.span6, - textarea.span6, - .uneditable-input.span6 { - width: 556px; - } - input.span5, - textarea.span5, - .uneditable-input.span5 { - width: 456px; - } - input.span4, - textarea.span4, - .uneditable-input.span4 { - width: 356px; - } - input.span3, - textarea.span3, - .uneditable-input.span3 { - width: 256px; - } - input.span2, - textarea.span2, - .uneditable-input.span2 { - width: 156px; - } - input.span1, - textarea.span1, - .uneditable-input.span1 { - width: 56px; - } - .thumbnails { - margin-left: -30px; - } - .thumbnails > li { - margin-left: 30px; - } - .row-fluid .thumbnails { - margin-left: 0; - } -} - -@media (min-width: 768px) and (max-width: 979px) { - .row { - margin-left: -20px; - *zoom: 1; - } - .row:before, - .row:after { - display: table; - line-height: 0; - content: ""; - } - .row:after { - clear: both; - } - [class*="span"] { - float: left; - min-height: 1px; - margin-left: 20px; - } - .container, - .navbar-static-top .container, - .navbar-fixed-top .container, - .navbar-fixed-bottom .container { - width: 724px; - } - .span12 { - width: 724px; - } - .span11 { - width: 662px; - } - .span10 { - width: 600px; - } - .span9 { - width: 538px; - } - .span8 { - width: 476px; - } - .span7 { - width: 414px; - } - .span6 { - width: 352px; - } - .span5 { - width: 290px; - } - .span4 { - width: 228px; - } - .span3 { - width: 166px; - } - .span2 { - width: 104px; - } - .span1 { - width: 42px; - } - .offset12 { - margin-left: 764px; - } - .offset11 { - margin-left: 702px; - } - .offset10 { - margin-left: 640px; - } - .offset9 { - margin-left: 578px; - } - .offset8 { - margin-left: 516px; - } - .offset7 { - margin-left: 454px; - } - .offset6 { - margin-left: 392px; - } - .offset5 { - margin-left: 330px; - } - .offset4 { - margin-left: 268px; - } - .offset3 { - margin-left: 206px; - } - .offset2 { - margin-left: 144px; - } - .offset1 { - margin-left: 82px; - } - .row-fluid { - width: 100%; - *zoom: 1; - } - .row-fluid:before, - .row-fluid:after { - display: table; - line-height: 0; - content: ""; - } - .row-fluid:after { - clear: both; - } - .row-fluid [class*="span"] { - display: block; - float: left; - width: 100%; - min-height: 30px; - margin-left: 2.7624309392265194%; - *margin-left: 2.709239449864817%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .row-fluid [class*="span"]:first-child { - margin-left: 0; - } - .row-fluid .controls-row [class*="span"] + [class*="span"] { - margin-left: 2.7624309392265194%; - } - .row-fluid .span12 { - width: 100%; - *width: 99.94680851063829%; - } - .row-fluid .span11 { - width: 91.43646408839778%; - *width: 91.38327259903608%; - } - .row-fluid .span10 { - width: 82.87292817679558%; - *width: 82.81973668743387%; - } - .row-fluid .span9 { - width: 74.30939226519337%; - *width: 74.25620077583166%; - } - .row-fluid .span8 { - width: 65.74585635359117%; - *width: 65.69266486422946%; - } - .row-fluid .span7 { - width: 57.18232044198895%; - *width: 57.12912895262725%; - } - .row-fluid .span6 { - width: 48.61878453038674%; - *width: 48.56559304102504%; - } - .row-fluid .span5 { - width: 40.05524861878453%; - *width: 40.00205712942283%; - } - .row-fluid .span4 { - width: 31.491712707182323%; - *width: 31.43852121782062%; - } - .row-fluid .span3 { - width: 22.92817679558011%; - *width: 22.87498530621841%; - } - .row-fluid .span2 { - width: 14.3646408839779%; - *width: 14.311449394616199%; - } - .row-fluid .span1 { - width: 5.801104972375691%; - *width: 5.747913483013988%; - } - .row-fluid .offset12 { - margin-left: 105.52486187845304%; - *margin-left: 105.41847889972962%; - } - .row-fluid .offset12:first-child { - margin-left: 102.76243093922652%; - *margin-left: 102.6560479605031%; - } - .row-fluid .offset11 { - margin-left: 96.96132596685082%; - *margin-left: 96.8549429881274%; - } - .row-fluid .offset11:first-child { - margin-left: 94.1988950276243%; - *margin-left: 94.09251204890089%; - } - .row-fluid .offset10 { - margin-left: 88.39779005524862%; - *margin-left: 88.2914070765252%; - } - .row-fluid .offset10:first-child { - margin-left: 85.6353591160221%; - *margin-left: 85.52897613729868%; - } - .row-fluid .offset9 { - margin-left: 79.8342541436464%; - *margin-left: 79.72787116492299%; - } - .row-fluid .offset9:first-child { - margin-left: 77.07182320441989%; - *margin-left: 76.96544022569647%; - } - .row-fluid .offset8 { - margin-left: 71.2707182320442%; - *margin-left: 71.16433525332079%; - } - .row-fluid .offset8:first-child { - margin-left: 68.50828729281768%; - *margin-left: 68.40190431409427%; - } - .row-fluid .offset7 { - margin-left: 62.70718232044199%; - *margin-left: 62.600799341718584%; - } - .row-fluid .offset7:first-child { - margin-left: 59.94475138121547%; - *margin-left: 59.838368402492065%; - } - .row-fluid .offset6 { - margin-left: 54.14364640883978%; - *margin-left: 54.037263430116376%; - } - .row-fluid .offset6:first-child { - margin-left: 51.38121546961326%; - *margin-left: 51.27483249088986%; - } - .row-fluid .offset5 { - margin-left: 45.58011049723757%; - *margin-left: 45.47372751851417%; - } - .row-fluid .offset5:first-child { - margin-left: 42.81767955801105%; - *margin-left: 42.71129657928765%; - } - .row-fluid .offset4 { - margin-left: 37.01657458563536%; - *margin-left: 36.91019160691196%; - } - .row-fluid .offset4:first-child { - margin-left: 34.25414364640884%; - *margin-left: 34.14776066768544%; - } - .row-fluid .offset3 { - margin-left: 28.45303867403315%; - *margin-left: 28.346655695309746%; - } - .row-fluid .offset3:first-child { - margin-left: 25.69060773480663%; - *margin-left: 25.584224756083227%; - } - .row-fluid .offset2 { - margin-left: 19.88950276243094%; - *margin-left: 19.783119783707537%; - } - .row-fluid .offset2:first-child { - margin-left: 17.12707182320442%; - *margin-left: 17.02068884448102%; - } - .row-fluid .offset1 { - margin-left: 11.32596685082873%; - *margin-left: 11.219583872105325%; - } - .row-fluid .offset1:first-child { - margin-left: 8.56353591160221%; - *margin-left: 8.457152932878806%; - } - input, - textarea, - .uneditable-input { - margin-left: 0; - } - .controls-row [class*="span"] + [class*="span"] { - margin-left: 20px; - } - input.span12, - textarea.span12, - .uneditable-input.span12 { - width: 710px; - } - input.span11, - textarea.span11, - .uneditable-input.span11 { - width: 648px; - } - input.span10, - textarea.span10, - .uneditable-input.span10 { - width: 586px; - } - input.span9, - textarea.span9, - .uneditable-input.span9 { - width: 524px; - } - input.span8, - textarea.span8, - .uneditable-input.span8 { - width: 462px; - } - input.span7, - textarea.span7, - .uneditable-input.span7 { - width: 400px; - } - input.span6, - textarea.span6, - .uneditable-input.span6 { - width: 338px; - } - input.span5, - textarea.span5, - .uneditable-input.span5 { - width: 276px; - } - input.span4, - textarea.span4, - .uneditable-input.span4 { - width: 214px; - } - input.span3, - textarea.span3, - .uneditable-input.span3 { - width: 152px; - } - input.span2, - textarea.span2, - .uneditable-input.span2 { - width: 90px; - } - input.span1, - textarea.span1, - .uneditable-input.span1 { - width: 28px; - } -} - -@media (max-width: 767px) { - body { - padding-right: 20px; - padding-left: 20px; - } - .navbar-fixed-top, - .navbar-fixed-bottom, - .navbar-static-top { - margin-right: -20px; - margin-left: -20px; - } - .container-fluid { - padding: 0; - } - .dl-horizontal dt { - float: none; - width: auto; - clear: none; - text-align: left; - } - .dl-horizontal dd { - margin-left: 0; - } - .container { - width: auto; - } - .row-fluid { - width: 100%; - } - .row, - .thumbnails { - margin-left: 0; - } - .thumbnails > li { - float: none; - margin-left: 0; - } - [class*="span"], - .uneditable-input[class*="span"], - .row-fluid [class*="span"] { - display: block; - float: none; - width: 100%; - margin-left: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .span12, - .row-fluid .span12 { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .row-fluid [class*="offset"]:first-child { - margin-left: 0; - } - .input-large, - .input-xlarge, - .input-xxlarge, - input[class*="span"], - select[class*="span"], - textarea[class*="span"], - .uneditable-input { - display: block; - width: 100%; - min-height: 30px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .input-prepend input, - .input-append input, - .input-prepend input[class*="span"], - .input-append input[class*="span"] { - display: inline-block; - width: auto; - } - .controls-row [class*="span"] + [class*="span"] { - margin-left: 0; - } - .modal { - position: fixed; - top: 20px; - right: 20px; - left: 20px; - width: auto; - margin: 0; - } - .modal.fade { - top: -100px; - } - .modal.fade.in { - top: 20px; - } -} - -@media (max-width: 480px) { - .nav-collapse { - -webkit-transform: translate3d(0, 0, 0); - } - .page-header h1 small { - display: block; - line-height: 20px; - } - input[type="checkbox"], - input[type="radio"] { - border: 1px solid #ccc; - } - .form-horizontal .control-label { - float: none; - width: auto; - padding-top: 0; - text-align: left; - } - .form-horizontal .controls { - margin-left: 0; - } - .form-horizontal .control-list { - padding-top: 0; - } - .form-horizontal .form-actions { - padding-right: 10px; - padding-left: 10px; - } - .media .pull-left, - .media .pull-right { - display: block; - float: none; - margin-bottom: 10px; - } - .media-object { - margin-right: 0; - margin-left: 0; - } - .modal { - top: 10px; - right: 10px; - left: 10px; - } - .modal-header .close { - padding: 10px; - margin: -10px; - } - .carousel-caption { - position: static; - } -} - -@media (max-width: 979px) { - body { - padding-top: 0; - } - .navbar-fixed-top, - .navbar-fixed-bottom { - position: static; - } - .navbar-fixed-top { - margin-bottom: 20px; - } - .navbar-fixed-bottom { - margin-top: 20px; - } - .navbar-fixed-top .navbar-inner, - .navbar-fixed-bottom .navbar-inner { - padding: 5px; - } - .navbar .container { - width: auto; - padding: 0; - } - .navbar .brand { - padding-right: 10px; - padding-left: 10px; - margin: 0 0 0 -5px; - } - .nav-collapse { - clear: both; - } - .nav-collapse .nav { - float: none; - margin: 0 0 10px; - } - .nav-collapse .nav > li { - float: none; - } - .nav-collapse .nav > li > a { - margin-bottom: 2px; - } - .nav-collapse .nav > .divider-vertical { - display: none; - } - .nav-collapse .nav .nav-header { - color: #777777; - text-shadow: none; - } - .nav-collapse .nav > li > a, - .nav-collapse .dropdown-menu a { - padding: 9px 15px; - font-weight: bold; - color: #777777; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - } - .nav-collapse .btn { - padding: 4px 10px 4px; - font-weight: normal; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - } - .nav-collapse .dropdown-menu li + li a { - margin-bottom: 2px; - } - .nav-collapse .nav > li > a:hover, - .nav-collapse .nav > li > a:focus, - .nav-collapse .dropdown-menu a:hover, - .nav-collapse .dropdown-menu a:focus { - background-color: #f2f2f2; - } - .navbar-inverse .nav-collapse .nav > li > a, - .navbar-inverse .nav-collapse .dropdown-menu a { - color: #999999; - } - .navbar-inverse .nav-collapse .nav > li > a:hover, - .navbar-inverse .nav-collapse .nav > li > a:focus, - .navbar-inverse .nav-collapse .dropdown-menu a:hover, - .navbar-inverse .nav-collapse .dropdown-menu a:focus { - background-color: #111111; - } - .nav-collapse.in .btn-group { - padding: 0; - margin-top: 5px; - } - .nav-collapse .dropdown-menu { - position: static; - top: auto; - left: auto; - display: none; - float: none; - max-width: none; - padding: 0; - margin: 0 15px; - background-color: transparent; - border: none; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - } - .nav-collapse .open > .dropdown-menu { - display: block; - } - .nav-collapse .dropdown-menu:before, - .nav-collapse .dropdown-menu:after { - display: none; - } - .nav-collapse .dropdown-menu .divider { - display: none; - } - .nav-collapse .nav > li > .dropdown-menu:before, - .nav-collapse .nav > li > .dropdown-menu:after { - display: none; - } - .nav-collapse .navbar-form, - .nav-collapse .navbar-search { - float: none; - padding: 10px 15px; - margin: 10px 0; - border-top: 1px solid #f2f2f2; - border-bottom: 1px solid #f2f2f2; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - } - .navbar-inverse .nav-collapse .navbar-form, - .navbar-inverse .nav-collapse .navbar-search { - border-top-color: #111111; - border-bottom-color: #111111; - } - .navbar .nav-collapse .nav.pull-right { - float: none; - margin-left: 0; - } - .nav-collapse, - .nav-collapse.collapse { - height: 0; - overflow: hidden; - } - .navbar .btn-navbar { - display: block; - } - .navbar-static .navbar-inner { - padding-right: 10px; - padding-left: 10px; - } -} - -@media (min-width: 980px) { - .nav-collapse.collapse { - height: auto !important; - overflow: visible !important; - } -} diff --git a/test/bootstrap/css/bootstrap-responsive.min.css b/test/bootstrap/css/bootstrap-responsive.min.css deleted file mode 100644 index 96a435b..0000000 --- a/test/bootstrap/css/bootstrap-responsive.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Bootstrap Responsive v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}} diff --git a/test/bootstrap/css/bootstrap.css b/test/bootstrap/css/bootstrap.css deleted file mode 100644 index 5b7fe7e..0000000 --- a/test/bootstrap/css/bootstrap.css +++ /dev/null @@ -1,6167 +0,0 @@ -/*! - * Bootstrap v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */ - -.clearfix { - *zoom: 1; -} - -.clearfix:before, -.clearfix:after { - display: table; - line-height: 0; - content: ""; -} - -.clearfix:after { - clear: both; -} - -.hide-text { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.input-block-level { - display: block; - width: 100%; - min-height: 30px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section { - display: block; -} - -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -audio:not([controls]) { - display: none; -} - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} - -a:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -a:hover, -a:active { - outline: 0; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -img { - width: auto\9; - height: auto; - max-width: 100%; - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; -} - -#map_canvas img, -.google-maps img { - max-width: none; -} - -button, -input, -select, -textarea { - margin: 0; - font-size: 100%; - vertical-align: middle; -} - -button, -input { - *overflow: visible; - line-height: normal; -} - -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} - -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - cursor: pointer; - -webkit-appearance: button; -} - -label, -select, -button, -input[type="button"], -input[type="reset"], -input[type="submit"], -input[type="radio"], -input[type="checkbox"] { - cursor: pointer; -} - -input[type="search"] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield; -} - -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -textarea { - overflow: auto; - vertical-align: top; -} - -@media print { - * { - color: #000 !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - @page { - margin: 0.5cm; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } -} - -body { - margin: 0; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 20px; - color: #333333; - background-color: #ffffff; -} - -a { - color: #0088cc; - text-decoration: none; -} - -a:hover, -a:focus { - color: #005580; - text-decoration: underline; -} - -.img-rounded { - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; -} - -.img-polaroid { - padding: 4px; - background-color: #fff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -} - -.img-circle { - -webkit-border-radius: 500px; - -moz-border-radius: 500px; - border-radius: 500px; -} - -.row { - margin-left: -20px; - *zoom: 1; -} - -.row:before, -.row:after { - display: table; - line-height: 0; - content: ""; -} - -.row:after { - clear: both; -} - -[class*="span"] { - float: left; - min-height: 1px; - margin-left: 20px; -} - -.container, -.navbar-static-top .container, -.navbar-fixed-top .container, -.navbar-fixed-bottom .container { - width: 940px; -} - -.span12 { - width: 940px; -} - -.span11 { - width: 860px; -} - -.span10 { - width: 780px; -} - -.span9 { - width: 700px; -} - -.span8 { - width: 620px; -} - -.span7 { - width: 540px; -} - -.span6 { - width: 460px; -} - -.span5 { - width: 380px; -} - -.span4 { - width: 300px; -} - -.span3 { - width: 220px; -} - -.span2 { - width: 140px; -} - -.span1 { - width: 60px; -} - -.offset12 { - margin-left: 980px; -} - -.offset11 { - margin-left: 900px; -} - -.offset10 { - margin-left: 820px; -} - -.offset9 { - margin-left: 740px; -} - -.offset8 { - margin-left: 660px; -} - -.offset7 { - margin-left: 580px; -} - -.offset6 { - margin-left: 500px; -} - -.offset5 { - margin-left: 420px; -} - -.offset4 { - margin-left: 340px; -} - -.offset3 { - margin-left: 260px; -} - -.offset2 { - margin-left: 180px; -} - -.offset1 { - margin-left: 100px; -} - -.row-fluid { - width: 100%; - *zoom: 1; -} - -.row-fluid:before, -.row-fluid:after { - display: table; - line-height: 0; - content: ""; -} - -.row-fluid:after { - clear: both; -} - -.row-fluid [class*="span"] { - display: block; - float: left; - width: 100%; - min-height: 30px; - margin-left: 2.127659574468085%; - *margin-left: 2.074468085106383%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -.row-fluid [class*="span"]:first-child { - margin-left: 0; -} - -.row-fluid .controls-row [class*="span"] + [class*="span"] { - margin-left: 2.127659574468085%; -} - -.row-fluid .span12 { - width: 100%; - *width: 99.94680851063829%; -} - -.row-fluid .span11 { - width: 91.48936170212765%; - *width: 91.43617021276594%; -} - -.row-fluid .span10 { - width: 82.97872340425532%; - *width: 82.92553191489361%; -} - -.row-fluid .span9 { - width: 74.46808510638297%; - *width: 74.41489361702126%; -} - -.row-fluid .span8 { - width: 65.95744680851064%; - *width: 65.90425531914893%; -} - -.row-fluid .span7 { - width: 57.44680851063829%; - *width: 57.39361702127659%; -} - -.row-fluid .span6 { - width: 48.93617021276595%; - *width: 48.88297872340425%; -} - -.row-fluid .span5 { - width: 40.42553191489362%; - *width: 40.37234042553192%; -} - -.row-fluid .span4 { - width: 31.914893617021278%; - *width: 31.861702127659576%; -} - -.row-fluid .span3 { - width: 23.404255319148934%; - *width: 23.351063829787233%; -} - -.row-fluid .span2 { - width: 14.893617021276595%; - *width: 14.840425531914894%; -} - -.row-fluid .span1 { - width: 6.382978723404255%; - *width: 6.329787234042553%; -} - -.row-fluid .offset12 { - margin-left: 104.25531914893617%; - *margin-left: 104.14893617021275%; -} - -.row-fluid .offset12:first-child { - margin-left: 102.12765957446808%; - *margin-left: 102.02127659574467%; -} - -.row-fluid .offset11 { - margin-left: 95.74468085106382%; - *margin-left: 95.6382978723404%; -} - -.row-fluid .offset11:first-child { - margin-left: 93.61702127659574%; - *margin-left: 93.51063829787232%; -} - -.row-fluid .offset10 { - margin-left: 87.23404255319149%; - *margin-left: 87.12765957446807%; -} - -.row-fluid .offset10:first-child { - margin-left: 85.1063829787234%; - *margin-left: 84.99999999999999%; -} - -.row-fluid .offset9 { - margin-left: 78.72340425531914%; - *margin-left: 78.61702127659572%; -} - -.row-fluid .offset9:first-child { - margin-left: 76.59574468085106%; - *margin-left: 76.48936170212764%; -} - -.row-fluid .offset8 { - margin-left: 70.2127659574468%; - *margin-left: 70.10638297872339%; -} - -.row-fluid .offset8:first-child { - margin-left: 68.08510638297872%; - *margin-left: 67.9787234042553%; -} - -.row-fluid .offset7 { - margin-left: 61.70212765957446%; - *margin-left: 61.59574468085106%; -} - -.row-fluid .offset7:first-child { - margin-left: 59.574468085106375%; - *margin-left: 59.46808510638297%; -} - -.row-fluid .offset6 { - margin-left: 53.191489361702125%; - *margin-left: 53.085106382978715%; -} - -.row-fluid .offset6:first-child { - margin-left: 51.063829787234035%; - *margin-left: 50.95744680851063%; -} - -.row-fluid .offset5 { - margin-left: 44.68085106382979%; - *margin-left: 44.57446808510638%; -} - -.row-fluid .offset5:first-child { - margin-left: 42.5531914893617%; - *margin-left: 42.4468085106383%; -} - -.row-fluid .offset4 { - margin-left: 36.170212765957444%; - *margin-left: 36.06382978723405%; -} - -.row-fluid .offset4:first-child { - margin-left: 34.04255319148936%; - *margin-left: 33.93617021276596%; -} - -.row-fluid .offset3 { - margin-left: 27.659574468085104%; - *margin-left: 27.5531914893617%; -} - -.row-fluid .offset3:first-child { - margin-left: 25.53191489361702%; - *margin-left: 25.425531914893618%; -} - -.row-fluid .offset2 { - margin-left: 19.148936170212764%; - *margin-left: 19.04255319148936%; -} - -.row-fluid .offset2:first-child { - margin-left: 17.02127659574468%; - *margin-left: 16.914893617021278%; -} - -.row-fluid .offset1 { - margin-left: 10.638297872340425%; - *margin-left: 10.53191489361702%; -} - -.row-fluid .offset1:first-child { - margin-left: 8.51063829787234%; - *margin-left: 8.404255319148938%; -} - -[class*="span"].hide, -.row-fluid [class*="span"].hide { - display: none; -} - -[class*="span"].pull-right, -.row-fluid [class*="span"].pull-right { - float: right; -} - -.container { - margin-right: auto; - margin-left: auto; - *zoom: 1; -} - -.container:before, -.container:after { - display: table; - line-height: 0; - content: ""; -} - -.container:after { - clear: both; -} - -.container-fluid { - padding-right: 20px; - padding-left: 20px; - *zoom: 1; -} - -.container-fluid:before, -.container-fluid:after { - display: table; - line-height: 0; - content: ""; -} - -.container-fluid:after { - clear: both; -} - -p { - margin: 0 0 10px; -} - -.lead { - margin-bottom: 20px; - font-size: 21px; - font-weight: 200; - line-height: 30px; -} - -small { - font-size: 85%; -} - -strong { - font-weight: bold; -} - -em { - font-style: italic; -} - -cite { - font-style: normal; -} - -.muted { - color: #999999; -} - -a.muted:hover, -a.muted:focus { - color: #808080; -} - -.text-warning { - color: #c09853; -} - -a.text-warning:hover, -a.text-warning:focus { - color: #a47e3c; -} - -.text-error { - color: #b94a48; -} - -a.text-error:hover, -a.text-error:focus { - color: #953b39; -} - -.text-info { - color: #3a87ad; -} - -a.text-info:hover, -a.text-info:focus { - color: #2d6987; -} - -.text-success { - color: #468847; -} - -a.text-success:hover, -a.text-success:focus { - color: #356635; -} - -.text-left { - text-align: left; -} - -.text-right { - text-align: right; -} - -.text-center { - text-align: center; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 10px 0; - font-family: inherit; - font-weight: bold; - line-height: 20px; - color: inherit; - text-rendering: optimizelegibility; -} - -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small { - font-weight: normal; - line-height: 1; - color: #999999; -} - -h1, -h2, -h3 { - line-height: 40px; -} - -h1 { - font-size: 38.5px; -} - -h2 { - font-size: 31.5px; -} - -h3 { - font-size: 24.5px; -} - -h4 { - font-size: 17.5px; -} - -h5 { - font-size: 14px; -} - -h6 { - font-size: 11.9px; -} - -h1 small { - font-size: 24.5px; -} - -h2 small { - font-size: 17.5px; -} - -h3 small { - font-size: 14px; -} - -h4 small { - font-size: 14px; -} - -.page-header { - padding-bottom: 9px; - margin: 20px 0 30px; - border-bottom: 1px solid #eeeeee; -} - -ul, -ol { - padding: 0; - margin: 0 0 10px 25px; -} - -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; -} - -li { - line-height: 20px; -} - -ul.unstyled, -ol.unstyled { - margin-left: 0; - list-style: none; -} - -ul.inline, -ol.inline { - margin-left: 0; - list-style: none; -} - -ul.inline > li, -ol.inline > li { - display: inline-block; - *display: inline; - padding-right: 5px; - padding-left: 5px; - *zoom: 1; -} - -dl { - margin-bottom: 20px; -} - -dt, -dd { - line-height: 20px; -} - -dt { - font-weight: bold; -} - -dd { - margin-left: 10px; -} - -.dl-horizontal { - *zoom: 1; -} - -.dl-horizontal:before, -.dl-horizontal:after { - display: table; - line-height: 0; - content: ""; -} - -.dl-horizontal:after { - clear: both; -} - -.dl-horizontal dt { - float: left; - width: 160px; - overflow: hidden; - clear: left; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap; -} - -.dl-horizontal dd { - margin-left: 180px; -} - -hr { - margin: 20px 0; - border: 0; - border-top: 1px solid #eeeeee; - border-bottom: 1px solid #ffffff; -} - -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #999999; -} - -abbr.initialism { - font-size: 90%; - text-transform: uppercase; -} - -blockquote { - padding: 0 0 0 15px; - margin: 0 0 20px; - border-left: 5px solid #eeeeee; -} - -blockquote p { - margin-bottom: 0; - font-size: 17.5px; - font-weight: 300; - line-height: 1.25; -} - -blockquote small { - display: block; - line-height: 20px; - color: #999999; -} - -blockquote small:before { - content: '\2014 \00A0'; -} - -blockquote.pull-right { - float: right; - padding-right: 15px; - padding-left: 0; - border-right: 5px solid #eeeeee; - border-left: 0; -} - -blockquote.pull-right p, -blockquote.pull-right small { - text-align: right; -} - -blockquote.pull-right small:before { - content: ''; -} - -blockquote.pull-right small:after { - content: '\00A0 \2014'; -} - -q:before, -q:after, -blockquote:before, -blockquote:after { - content: ""; -} - -address { - display: block; - margin-bottom: 20px; - font-style: normal; - line-height: 20px; -} - -code, -pre { - padding: 0 3px 2px; - font-family: Monaco, Menlo, Consolas, "Courier New", monospace; - font-size: 12px; - color: #333333; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} - -code { - padding: 2px 4px; - color: #d14; - white-space: nowrap; - background-color: #f7f7f9; - border: 1px solid #e1e1e8; -} - -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 20px; - word-break: break-all; - word-wrap: break-word; - white-space: pre; - white-space: pre-wrap; - background-color: #f5f5f5; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.15); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -pre.prettyprint { - margin-bottom: 20px; -} - -pre code { - padding: 0; - color: inherit; - white-space: pre; - white-space: pre-wrap; - background-color: transparent; - border: 0; -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} - -form { - margin: 0 0 20px; -} - -fieldset { - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: 40px; - color: #333333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} - -legend small { - font-size: 15px; - color: #999999; -} - -label, -input, -button, -select, -textarea { - font-size: 14px; - font-weight: normal; - line-height: 20px; -} - -input, -button, -select, -textarea { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -} - -label { - display: block; - margin-bottom: 5px; -} - -select, -textarea, -input[type="text"], -input[type="password"], -input[type="datetime"], -input[type="datetime-local"], -input[type="date"], -input[type="month"], -input[type="time"], -input[type="week"], -input[type="number"], -input[type="email"], -input[type="url"], -input[type="search"], -input[type="tel"], -input[type="color"], -.uneditable-input { - display: inline-block; - height: 20px; - padding: 4px 6px; - margin-bottom: 10px; - font-size: 14px; - line-height: 20px; - color: #555555; - vertical-align: middle; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -input, -textarea, -.uneditable-input { - width: 206px; -} - -textarea { - height: auto; -} - -textarea, -input[type="text"], -input[type="password"], -input[type="datetime"], -input[type="datetime-local"], -input[type="date"], -input[type="month"], -input[type="time"], -input[type="week"], -input[type="number"], -input[type="email"], -input[type="url"], -input[type="search"], -input[type="tel"], -input[type="color"], -.uneditable-input { - background-color: #ffffff; - border: 1px solid #cccccc; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; - -moz-transition: border linear 0.2s, box-shadow linear 0.2s; - -o-transition: border linear 0.2s, box-shadow linear 0.2s; - transition: border linear 0.2s, box-shadow linear 0.2s; -} - -textarea:focus, -input[type="text"]:focus, -input[type="password"]:focus, -input[type="datetime"]:focus, -input[type="datetime-local"]:focus, -input[type="date"]:focus, -input[type="month"]:focus, -input[type="time"]:focus, -input[type="week"]:focus, -input[type="number"]:focus, -input[type="email"]:focus, -input[type="url"]:focus, -input[type="search"]:focus, -input[type="tel"]:focus, -input[type="color"]:focus, -.uneditable-input:focus { - border-color: rgba(82, 168, 236, 0.8); - outline: 0; - outline: thin dotted \9; - /* IE6-9 */ - - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); -} - -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - *margin-top: 0; - line-height: normal; -} - -input[type="file"], -input[type="image"], -input[type="submit"], -input[type="reset"], -input[type="button"], -input[type="radio"], -input[type="checkbox"] { - width: auto; -} - -select, -input[type="file"] { - height: 30px; - /* In IE7, the height of the select element cannot be changed by height, only font-size */ - - *margin-top: 4px; - /* For IE7, add top margin to align select with labels */ - - line-height: 30px; -} - -select { - width: 220px; - background-color: #ffffff; - border: 1px solid #cccccc; -} - -select[multiple], -select[size] { - height: auto; -} - -select:focus, -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -.uneditable-input, -.uneditable-textarea { - color: #999999; - cursor: not-allowed; - background-color: #fcfcfc; - border-color: #cccccc; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); -} - -.uneditable-input { - overflow: hidden; - white-space: nowrap; -} - -.uneditable-textarea { - width: auto; - height: auto; -} - -input:-moz-placeholder, -textarea:-moz-placeholder { - color: #999999; -} - -input:-ms-input-placeholder, -textarea:-ms-input-placeholder { - color: #999999; -} - -input::-webkit-input-placeholder, -textarea::-webkit-input-placeholder { - color: #999999; -} - -.radio, -.checkbox { - min-height: 20px; - padding-left: 20px; -} - -.radio input[type="radio"], -.checkbox input[type="checkbox"] { - float: left; - margin-left: -20px; -} - -.controls > .radio:first-child, -.controls > .checkbox:first-child { - padding-top: 5px; -} - -.radio.inline, -.checkbox.inline { - display: inline-block; - padding-top: 5px; - margin-bottom: 0; - vertical-align: middle; -} - -.radio.inline + .radio.inline, -.checkbox.inline + .checkbox.inline { - margin-left: 10px; -} - -.input-mini { - width: 60px; -} - -.input-small { - width: 90px; -} - -.input-medium { - width: 150px; -} - -.input-large { - width: 210px; -} - -.input-xlarge { - width: 270px; -} - -.input-xxlarge { - width: 530px; -} - -input[class*="span"], -select[class*="span"], -textarea[class*="span"], -.uneditable-input[class*="span"], -.row-fluid input[class*="span"], -.row-fluid select[class*="span"], -.row-fluid textarea[class*="span"], -.row-fluid .uneditable-input[class*="span"] { - float: none; - margin-left: 0; -} - -.input-append input[class*="span"], -.input-append .uneditable-input[class*="span"], -.input-prepend input[class*="span"], -.input-prepend .uneditable-input[class*="span"], -.row-fluid input[class*="span"], -.row-fluid select[class*="span"], -.row-fluid textarea[class*="span"], -.row-fluid .uneditable-input[class*="span"], -.row-fluid .input-prepend [class*="span"], -.row-fluid .input-append [class*="span"] { - display: inline-block; -} - -input, -textarea, -.uneditable-input { - margin-left: 0; -} - -.controls-row [class*="span"] + [class*="span"] { - margin-left: 20px; -} - -input.span12, -textarea.span12, -.uneditable-input.span12 { - width: 926px; -} - -input.span11, -textarea.span11, -.uneditable-input.span11 { - width: 846px; -} - -input.span10, -textarea.span10, -.uneditable-input.span10 { - width: 766px; -} - -input.span9, -textarea.span9, -.uneditable-input.span9 { - width: 686px; -} - -input.span8, -textarea.span8, -.uneditable-input.span8 { - width: 606px; -} - -input.span7, -textarea.span7, -.uneditable-input.span7 { - width: 526px; -} - -input.span6, -textarea.span6, -.uneditable-input.span6 { - width: 446px; -} - -input.span5, -textarea.span5, -.uneditable-input.span5 { - width: 366px; -} - -input.span4, -textarea.span4, -.uneditable-input.span4 { - width: 286px; -} - -input.span3, -textarea.span3, -.uneditable-input.span3 { - width: 206px; -} - -input.span2, -textarea.span2, -.uneditable-input.span2 { - width: 126px; -} - -input.span1, -textarea.span1, -.uneditable-input.span1 { - width: 46px; -} - -.controls-row { - *zoom: 1; -} - -.controls-row:before, -.controls-row:after { - display: table; - line-height: 0; - content: ""; -} - -.controls-row:after { - clear: both; -} - -.controls-row [class*="span"], -.row-fluid .controls-row [class*="span"] { - float: left; -} - -.controls-row .checkbox[class*="span"], -.controls-row .radio[class*="span"] { - padding-top: 5px; -} - -input[disabled], -select[disabled], -textarea[disabled], -input[readonly], -select[readonly], -textarea[readonly] { - cursor: not-allowed; - background-color: #eeeeee; -} - -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"][readonly], -input[type="checkbox"][readonly] { - background-color: transparent; -} - -.control-group.warning .control-label, -.control-group.warning .help-block, -.control-group.warning .help-inline { - color: #c09853; -} - -.control-group.warning .checkbox, -.control-group.warning .radio, -.control-group.warning input, -.control-group.warning select, -.control-group.warning textarea { - color: #c09853; -} - -.control-group.warning input, -.control-group.warning select, -.control-group.warning textarea { - border-color: #c09853; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} - -.control-group.warning input:focus, -.control-group.warning select:focus, -.control-group.warning textarea:focus { - border-color: #a47e3c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; -} - -.control-group.warning .input-prepend .add-on, -.control-group.warning .input-append .add-on { - color: #c09853; - background-color: #fcf8e3; - border-color: #c09853; -} - -.control-group.error .control-label, -.control-group.error .help-block, -.control-group.error .help-inline { - color: #b94a48; -} - -.control-group.error .checkbox, -.control-group.error .radio, -.control-group.error input, -.control-group.error select, -.control-group.error textarea { - color: #b94a48; -} - -.control-group.error input, -.control-group.error select, -.control-group.error textarea { - border-color: #b94a48; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} - -.control-group.error input:focus, -.control-group.error select:focus, -.control-group.error textarea:focus { - border-color: #953b39; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; -} - -.control-group.error .input-prepend .add-on, -.control-group.error .input-append .add-on { - color: #b94a48; - background-color: #f2dede; - border-color: #b94a48; -} - -.control-group.success .control-label, -.control-group.success .help-block, -.control-group.success .help-inline { - color: #468847; -} - -.control-group.success .checkbox, -.control-group.success .radio, -.control-group.success input, -.control-group.success select, -.control-group.success textarea { - color: #468847; -} - -.control-group.success input, -.control-group.success select, -.control-group.success textarea { - border-color: #468847; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} - -.control-group.success input:focus, -.control-group.success select:focus, -.control-group.success textarea:focus { - border-color: #356635; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; -} - -.control-group.success .input-prepend .add-on, -.control-group.success .input-append .add-on { - color: #468847; - background-color: #dff0d8; - border-color: #468847; -} - -.control-group.info .control-label, -.control-group.info .help-block, -.control-group.info .help-inline { - color: #3a87ad; -} - -.control-group.info .checkbox, -.control-group.info .radio, -.control-group.info input, -.control-group.info select, -.control-group.info textarea { - color: #3a87ad; -} - -.control-group.info input, -.control-group.info select, -.control-group.info textarea { - border-color: #3a87ad; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} - -.control-group.info input:focus, -.control-group.info select:focus, -.control-group.info textarea:focus { - border-color: #2d6987; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; -} - -.control-group.info .input-prepend .add-on, -.control-group.info .input-append .add-on { - color: #3a87ad; - background-color: #d9edf7; - border-color: #3a87ad; -} - -input:focus:invalid, -textarea:focus:invalid, -select:focus:invalid { - color: #b94a48; - border-color: #ee5f5b; -} - -input:focus:invalid:focus, -textarea:focus:invalid:focus, -select:focus:invalid:focus { - border-color: #e9322d; - -webkit-box-shadow: 0 0 6px #f8b9b7; - -moz-box-shadow: 0 0 6px #f8b9b7; - box-shadow: 0 0 6px #f8b9b7; -} - -.form-actions { - padding: 19px 20px 20px; - margin-top: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-top: 1px solid #e5e5e5; - *zoom: 1; -} - -.form-actions:before, -.form-actions:after { - display: table; - line-height: 0; - content: ""; -} - -.form-actions:after { - clear: both; -} - -.help-block, -.help-inline { - color: #595959; -} - -.help-block { - display: block; - margin-bottom: 10px; -} - -.help-inline { - display: inline-block; - *display: inline; - padding-left: 5px; - vertical-align: middle; - *zoom: 1; -} - -.input-append, -.input-prepend { - display: inline-block; - margin-bottom: 10px; - font-size: 0; - white-space: nowrap; - vertical-align: middle; -} - -.input-append input, -.input-prepend input, -.input-append select, -.input-prepend select, -.input-append .uneditable-input, -.input-prepend .uneditable-input, -.input-append .dropdown-menu, -.input-prepend .dropdown-menu, -.input-append .popover, -.input-prepend .popover { - font-size: 14px; -} - -.input-append input, -.input-prepend input, -.input-append select, -.input-prepend select, -.input-append .uneditable-input, -.input-prepend .uneditable-input { - position: relative; - margin-bottom: 0; - *margin-left: 0; - vertical-align: top; - -webkit-border-radius: 0 4px 4px 0; - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} - -.input-append input:focus, -.input-prepend input:focus, -.input-append select:focus, -.input-prepend select:focus, -.input-append .uneditable-input:focus, -.input-prepend .uneditable-input:focus { - z-index: 2; -} - -.input-append .add-on, -.input-prepend .add-on { - display: inline-block; - width: auto; - height: 20px; - min-width: 16px; - padding: 4px 5px; - font-size: 14px; - font-weight: normal; - line-height: 20px; - text-align: center; - text-shadow: 0 1px 0 #ffffff; - background-color: #eeeeee; - border: 1px solid #ccc; -} - -.input-append .add-on, -.input-prepend .add-on, -.input-append .btn, -.input-prepend .btn, -.input-append .btn-group > .dropdown-toggle, -.input-prepend .btn-group > .dropdown-toggle { - vertical-align: top; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.input-append .active, -.input-prepend .active { - background-color: #a9dba9; - border-color: #46a546; -} - -.input-prepend .add-on, -.input-prepend .btn { - margin-right: -1px; -} - -.input-prepend .add-on:first-child, -.input-prepend .btn:first-child { - -webkit-border-radius: 4px 0 0 4px; - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} - -.input-append input, -.input-append select, -.input-append .uneditable-input { - -webkit-border-radius: 4px 0 0 4px; - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} - -.input-append input + .btn-group .btn:last-child, -.input-append select + .btn-group .btn:last-child, -.input-append .uneditable-input + .btn-group .btn:last-child { - -webkit-border-radius: 0 4px 4px 0; - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} - -.input-append .add-on, -.input-append .btn, -.input-append .btn-group { - margin-left: -1px; -} - -.input-append .add-on:last-child, -.input-append .btn:last-child, -.input-append .btn-group:last-child > .dropdown-toggle { - -webkit-border-radius: 0 4px 4px 0; - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} - -.input-prepend.input-append input, -.input-prepend.input-append select, -.input-prepend.input-append .uneditable-input { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.input-prepend.input-append input + .btn-group .btn, -.input-prepend.input-append select + .btn-group .btn, -.input-prepend.input-append .uneditable-input + .btn-group .btn { - -webkit-border-radius: 0 4px 4px 0; - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} - -.input-prepend.input-append .add-on:first-child, -.input-prepend.input-append .btn:first-child { - margin-right: -1px; - -webkit-border-radius: 4px 0 0 4px; - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} - -.input-prepend.input-append .add-on:last-child, -.input-prepend.input-append .btn:last-child { - margin-left: -1px; - -webkit-border-radius: 0 4px 4px 0; - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} - -.input-prepend.input-append .btn-group:first-child { - margin-left: 0; -} - -input.search-query { - padding-right: 14px; - padding-right: 4px \9; - padding-left: 14px; - padding-left: 4px \9; - /* IE7-8 doesn't have border-radius, so don't indent the padding */ - - margin-bottom: 0; - -webkit-border-radius: 15px; - -moz-border-radius: 15px; - border-radius: 15px; -} - -/* Allow for input prepend/append in search forms */ - -.form-search .input-append .search-query, -.form-search .input-prepend .search-query { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.form-search .input-append .search-query { - -webkit-border-radius: 14px 0 0 14px; - -moz-border-radius: 14px 0 0 14px; - border-radius: 14px 0 0 14px; -} - -.form-search .input-append .btn { - -webkit-border-radius: 0 14px 14px 0; - -moz-border-radius: 0 14px 14px 0; - border-radius: 0 14px 14px 0; -} - -.form-search .input-prepend .search-query { - -webkit-border-radius: 0 14px 14px 0; - -moz-border-radius: 0 14px 14px 0; - border-radius: 0 14px 14px 0; -} - -.form-search .input-prepend .btn { - -webkit-border-radius: 14px 0 0 14px; - -moz-border-radius: 14px 0 0 14px; - border-radius: 14px 0 0 14px; -} - -.form-search input, -.form-inline input, -.form-horizontal input, -.form-search textarea, -.form-inline textarea, -.form-horizontal textarea, -.form-search select, -.form-inline select, -.form-horizontal select, -.form-search .help-inline, -.form-inline .help-inline, -.form-horizontal .help-inline, -.form-search .uneditable-input, -.form-inline .uneditable-input, -.form-horizontal .uneditable-input, -.form-search .input-prepend, -.form-inline .input-prepend, -.form-horizontal .input-prepend, -.form-search .input-append, -.form-inline .input-append, -.form-horizontal .input-append { - display: inline-block; - *display: inline; - margin-bottom: 0; - vertical-align: middle; - *zoom: 1; -} - -.form-search .hide, -.form-inline .hide, -.form-horizontal .hide { - display: none; -} - -.form-search label, -.form-inline label, -.form-search .btn-group, -.form-inline .btn-group { - display: inline-block; -} - -.form-search .input-append, -.form-inline .input-append, -.form-search .input-prepend, -.form-inline .input-prepend { - margin-bottom: 0; -} - -.form-search .radio, -.form-search .checkbox, -.form-inline .radio, -.form-inline .checkbox { - padding-left: 0; - margin-bottom: 0; - vertical-align: middle; -} - -.form-search .radio input[type="radio"], -.form-search .checkbox input[type="checkbox"], -.form-inline .radio input[type="radio"], -.form-inline .checkbox input[type="checkbox"] { - float: left; - margin-right: 3px; - margin-left: 0; -} - -.control-group { - margin-bottom: 10px; -} - -legend + .control-group { - margin-top: 20px; - -webkit-margin-top-collapse: separate; -} - -.form-horizontal .control-group { - margin-bottom: 20px; - *zoom: 1; -} - -.form-horizontal .control-group:before, -.form-horizontal .control-group:after { - display: table; - line-height: 0; - content: ""; -} - -.form-horizontal .control-group:after { - clear: both; -} - -.form-horizontal .control-label { - float: left; - width: 160px; - padding-top: 5px; - text-align: right; -} - -.form-horizontal .controls { - *display: inline-block; - *padding-left: 20px; - margin-left: 180px; - *margin-left: 0; -} - -.form-horizontal .controls:first-child { - *padding-left: 180px; -} - -.form-horizontal .help-block { - margin-bottom: 0; -} - -.form-horizontal input + .help-block, -.form-horizontal select + .help-block, -.form-horizontal textarea + .help-block, -.form-horizontal .uneditable-input + .help-block, -.form-horizontal .input-prepend + .help-block, -.form-horizontal .input-append + .help-block { - margin-top: 10px; -} - -.form-horizontal .form-actions { - padding-left: 180px; -} - -table { - max-width: 100%; - background-color: transparent; - border-collapse: collapse; - border-spacing: 0; -} - -.table { - width: 100%; - margin-bottom: 20px; -} - -.table th, -.table td { - padding: 8px; - line-height: 20px; - text-align: left; - vertical-align: top; - border-top: 1px solid #dddddd; -} - -.table th { - font-weight: bold; -} - -.table thead th { - vertical-align: bottom; -} - -.table caption + thead tr:first-child th, -.table caption + thead tr:first-child td, -.table colgroup + thead tr:first-child th, -.table colgroup + thead tr:first-child td, -.table thead:first-child tr:first-child th, -.table thead:first-child tr:first-child td { - border-top: 0; -} - -.table tbody + tbody { - border-top: 2px solid #dddddd; -} - -.table .table { - background-color: #ffffff; -} - -.table-condensed th, -.table-condensed td { - padding: 4px 5px; -} - -.table-bordered { - border: 1px solid #dddddd; - border-collapse: separate; - *border-collapse: collapse; - border-left: 0; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.table-bordered th, -.table-bordered td { - border-left: 1px solid #dddddd; -} - -.table-bordered caption + thead tr:first-child th, -.table-bordered caption + tbody tr:first-child th, -.table-bordered caption + tbody tr:first-child td, -.table-bordered colgroup + thead tr:first-child th, -.table-bordered colgroup + tbody tr:first-child th, -.table-bordered colgroup + tbody tr:first-child td, -.table-bordered thead:first-child tr:first-child th, -.table-bordered tbody:first-child tr:first-child th, -.table-bordered tbody:first-child tr:first-child td { - border-top: 0; -} - -.table-bordered thead:first-child tr:first-child > th:first-child, -.table-bordered tbody:first-child tr:first-child > td:first-child, -.table-bordered tbody:first-child tr:first-child > th:first-child { - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-topleft: 4px; -} - -.table-bordered thead:first-child tr:first-child > th:last-child, -.table-bordered tbody:first-child tr:first-child > td:last-child, -.table-bordered tbody:first-child tr:first-child > th:last-child { - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -moz-border-radius-topright: 4px; -} - -.table-bordered thead:last-child tr:last-child > th:first-child, -.table-bordered tbody:last-child tr:last-child > td:first-child, -.table-bordered tbody:last-child tr:last-child > th:first-child, -.table-bordered tfoot:last-child tr:last-child > td:first-child, -.table-bordered tfoot:last-child tr:last-child > th:first-child { - -webkit-border-bottom-left-radius: 4px; - border-bottom-left-radius: 4px; - -moz-border-radius-bottomleft: 4px; -} - -.table-bordered thead:last-child tr:last-child > th:last-child, -.table-bordered tbody:last-child tr:last-child > td:last-child, -.table-bordered tbody:last-child tr:last-child > th:last-child, -.table-bordered tfoot:last-child tr:last-child > td:last-child, -.table-bordered tfoot:last-child tr:last-child > th:last-child { - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; - -moz-border-radius-bottomright: 4px; -} - -.table-bordered tfoot + tbody:last-child tr:last-child td:first-child { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -moz-border-radius-bottomleft: 0; -} - -.table-bordered tfoot + tbody:last-child tr:last-child td:last-child { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -moz-border-radius-bottomright: 0; -} - -.table-bordered caption + thead tr:first-child th:first-child, -.table-bordered caption + tbody tr:first-child td:first-child, -.table-bordered colgroup + thead tr:first-child th:first-child, -.table-bordered colgroup + tbody tr:first-child td:first-child { - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-topleft: 4px; -} - -.table-bordered caption + thead tr:first-child th:last-child, -.table-bordered caption + tbody tr:first-child td:last-child, -.table-bordered colgroup + thead tr:first-child th:last-child, -.table-bordered colgroup + tbody tr:first-child td:last-child { - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -moz-border-radius-topright: 4px; -} - -.table-striped tbody > tr:nth-child(odd) > td, -.table-striped tbody > tr:nth-child(odd) > th { - background-color: #f9f9f9; -} - -.table-hover tbody tr:hover > td, -.table-hover tbody tr:hover > th { - background-color: #f5f5f5; -} - -table td[class*="span"], -table th[class*="span"], -.row-fluid table td[class*="span"], -.row-fluid table th[class*="span"] { - display: table-cell; - float: none; - margin-left: 0; -} - -.table td.span1, -.table th.span1 { - float: none; - width: 44px; - margin-left: 0; -} - -.table td.span2, -.table th.span2 { - float: none; - width: 124px; - margin-left: 0; -} - -.table td.span3, -.table th.span3 { - float: none; - width: 204px; - margin-left: 0; -} - -.table td.span4, -.table th.span4 { - float: none; - width: 284px; - margin-left: 0; -} - -.table td.span5, -.table th.span5 { - float: none; - width: 364px; - margin-left: 0; -} - -.table td.span6, -.table th.span6 { - float: none; - width: 444px; - margin-left: 0; -} - -.table td.span7, -.table th.span7 { - float: none; - width: 524px; - margin-left: 0; -} - -.table td.span8, -.table th.span8 { - float: none; - width: 604px; - margin-left: 0; -} - -.table td.span9, -.table th.span9 { - float: none; - width: 684px; - margin-left: 0; -} - -.table td.span10, -.table th.span10 { - float: none; - width: 764px; - margin-left: 0; -} - -.table td.span11, -.table th.span11 { - float: none; - width: 844px; - margin-left: 0; -} - -.table td.span12, -.table th.span12 { - float: none; - width: 924px; - margin-left: 0; -} - -.table tbody tr.success > td { - background-color: #dff0d8; -} - -.table tbody tr.error > td { - background-color: #f2dede; -} - -.table tbody tr.warning > td { - background-color: #fcf8e3; -} - -.table tbody tr.info > td { - background-color: #d9edf7; -} - -.table-hover tbody tr.success:hover > td { - background-color: #d0e9c6; -} - -.table-hover tbody tr.error:hover > td { - background-color: #ebcccc; -} - -.table-hover tbody tr.warning:hover > td { - background-color: #faf2cc; -} - -.table-hover tbody tr.info:hover > td { - background-color: #c4e3f3; -} - -[class^="icon-"], -[class*=" icon-"] { - display: inline-block; - width: 14px; - height: 14px; - margin-top: 1px; - *margin-right: .3em; - line-height: 14px; - vertical-align: text-top; - background-image: url("../img/glyphicons-halflings.png"); - background-position: 14px 14px; - background-repeat: no-repeat; -} - -/* White icons with optional class, or on hover/focus/active states of certain elements */ - -.icon-white, -.nav-pills > .active > a > [class^="icon-"], -.nav-pills > .active > a > [class*=" icon-"], -.nav-list > .active > a > [class^="icon-"], -.nav-list > .active > a > [class*=" icon-"], -.navbar-inverse .nav > .active > a > [class^="icon-"], -.navbar-inverse .nav > .active > a > [class*=" icon-"], -.dropdown-menu > li > a:hover > [class^="icon-"], -.dropdown-menu > li > a:focus > [class^="icon-"], -.dropdown-menu > li > a:hover > [class*=" icon-"], -.dropdown-menu > li > a:focus > [class*=" icon-"], -.dropdown-menu > .active > a > [class^="icon-"], -.dropdown-menu > .active > a > [class*=" icon-"], -.dropdown-submenu:hover > a > [class^="icon-"], -.dropdown-submenu:focus > a > [class^="icon-"], -.dropdown-submenu:hover > a > [class*=" icon-"], -.dropdown-submenu:focus > a > [class*=" icon-"] { - background-image: url("../img/glyphicons-halflings-white.png"); -} - -.icon-glass { - background-position: 0 0; -} - -.icon-music { - background-position: -24px 0; -} - -.icon-search { - background-position: -48px 0; -} - -.icon-envelope { - background-position: -72px 0; -} - -.icon-heart { - background-position: -96px 0; -} - -.icon-star { - background-position: -120px 0; -} - -.icon-star-empty { - background-position: -144px 0; -} - -.icon-user { - background-position: -168px 0; -} - -.icon-film { - background-position: -192px 0; -} - -.icon-th-large { - background-position: -216px 0; -} - -.icon-th { - background-position: -240px 0; -} - -.icon-th-list { - background-position: -264px 0; -} - -.icon-ok { - background-position: -288px 0; -} - -.icon-remove { - background-position: -312px 0; -} - -.icon-zoom-in { - background-position: -336px 0; -} - -.icon-zoom-out { - background-position: -360px 0; -} - -.icon-off { - background-position: -384px 0; -} - -.icon-signal { - background-position: -408px 0; -} - -.icon-cog { - background-position: -432px 0; -} - -.icon-trash { - background-position: -456px 0; -} - -.icon-home { - background-position: 0 -24px; -} - -.icon-file { - background-position: -24px -24px; -} - -.icon-time { - background-position: -48px -24px; -} - -.icon-road { - background-position: -72px -24px; -} - -.icon-download-alt { - background-position: -96px -24px; -} - -.icon-download { - background-position: -120px -24px; -} - -.icon-upload { - background-position: -144px -24px; -} - -.icon-inbox { - background-position: -168px -24px; -} - -.icon-play-circle { - background-position: -192px -24px; -} - -.icon-repeat { - background-position: -216px -24px; -} - -.icon-refresh { - background-position: -240px -24px; -} - -.icon-list-alt { - background-position: -264px -24px; -} - -.icon-lock { - background-position: -287px -24px; -} - -.icon-flag { - background-position: -312px -24px; -} - -.icon-headphones { - background-position: -336px -24px; -} - -.icon-volume-off { - background-position: -360px -24px; -} - -.icon-volume-down { - background-position: -384px -24px; -} - -.icon-volume-up { - background-position: -408px -24px; -} - -.icon-qrcode { - background-position: -432px -24px; -} - -.icon-barcode { - background-position: -456px -24px; -} - -.icon-tag { - background-position: 0 -48px; -} - -.icon-tags { - background-position: -25px -48px; -} - -.icon-book { - background-position: -48px -48px; -} - -.icon-bookmark { - background-position: -72px -48px; -} - -.icon-print { - background-position: -96px -48px; -} - -.icon-camera { - background-position: -120px -48px; -} - -.icon-font { - background-position: -144px -48px; -} - -.icon-bold { - background-position: -167px -48px; -} - -.icon-italic { - background-position: -192px -48px; -} - -.icon-text-height { - background-position: -216px -48px; -} - -.icon-text-width { - background-position: -240px -48px; -} - -.icon-align-left { - background-position: -264px -48px; -} - -.icon-align-center { - background-position: -288px -48px; -} - -.icon-align-right { - background-position: -312px -48px; -} - -.icon-align-justify { - background-position: -336px -48px; -} - -.icon-list { - background-position: -360px -48px; -} - -.icon-indent-left { - background-position: -384px -48px; -} - -.icon-indent-right { - background-position: -408px -48px; -} - -.icon-facetime-video { - background-position: -432px -48px; -} - -.icon-picture { - background-position: -456px -48px; -} - -.icon-pencil { - background-position: 0 -72px; -} - -.icon-map-marker { - background-position: -24px -72px; -} - -.icon-adjust { - background-position: -48px -72px; -} - -.icon-tint { - background-position: -72px -72px; -} - -.icon-edit { - background-position: -96px -72px; -} - -.icon-share { - background-position: -120px -72px; -} - -.icon-check { - background-position: -144px -72px; -} - -.icon-move { - background-position: -168px -72px; -} - -.icon-step-backward { - background-position: -192px -72px; -} - -.icon-fast-backward { - background-position: -216px -72px; -} - -.icon-backward { - background-position: -240px -72px; -} - -.icon-play { - background-position: -264px -72px; -} - -.icon-pause { - background-position: -288px -72px; -} - -.icon-stop { - background-position: -312px -72px; -} - -.icon-forward { - background-position: -336px -72px; -} - -.icon-fast-forward { - background-position: -360px -72px; -} - -.icon-step-forward { - background-position: -384px -72px; -} - -.icon-eject { - background-position: -408px -72px; -} - -.icon-chevron-left { - background-position: -432px -72px; -} - -.icon-chevron-right { - background-position: -456px -72px; -} - -.icon-plus-sign { - background-position: 0 -96px; -} - -.icon-minus-sign { - background-position: -24px -96px; -} - -.icon-remove-sign { - background-position: -48px -96px; -} - -.icon-ok-sign { - background-position: -72px -96px; -} - -.icon-question-sign { - background-position: -96px -96px; -} - -.icon-info-sign { - background-position: -120px -96px; -} - -.icon-screenshot { - background-position: -144px -96px; -} - -.icon-remove-circle { - background-position: -168px -96px; -} - -.icon-ok-circle { - background-position: -192px -96px; -} - -.icon-ban-circle { - background-position: -216px -96px; -} - -.icon-arrow-left { - background-position: -240px -96px; -} - -.icon-arrow-right { - background-position: -264px -96px; -} - -.icon-arrow-up { - background-position: -289px -96px; -} - -.icon-arrow-down { - background-position: -312px -96px; -} - -.icon-share-alt { - background-position: -336px -96px; -} - -.icon-resize-full { - background-position: -360px -96px; -} - -.icon-resize-small { - background-position: -384px -96px; -} - -.icon-plus { - background-position: -408px -96px; -} - -.icon-minus { - background-position: -433px -96px; -} - -.icon-asterisk { - background-position: -456px -96px; -} - -.icon-exclamation-sign { - background-position: 0 -120px; -} - -.icon-gift { - background-position: -24px -120px; -} - -.icon-leaf { - background-position: -48px -120px; -} - -.icon-fire { - background-position: -72px -120px; -} - -.icon-eye-open { - background-position: -96px -120px; -} - -.icon-eye-close { - background-position: -120px -120px; -} - -.icon-warning-sign { - background-position: -144px -120px; -} - -.icon-plane { - background-position: -168px -120px; -} - -.icon-calendar { - background-position: -192px -120px; -} - -.icon-random { - width: 16px; - background-position: -216px -120px; -} - -.icon-comment { - background-position: -240px -120px; -} - -.icon-magnet { - background-position: -264px -120px; -} - -.icon-chevron-up { - background-position: -288px -120px; -} - -.icon-chevron-down { - background-position: -313px -119px; -} - -.icon-retweet { - background-position: -336px -120px; -} - -.icon-shopping-cart { - background-position: -360px -120px; -} - -.icon-folder-close { - width: 16px; - background-position: -384px -120px; -} - -.icon-folder-open { - width: 16px; - background-position: -408px -120px; -} - -.icon-resize-vertical { - background-position: -432px -119px; -} - -.icon-resize-horizontal { - background-position: -456px -118px; -} - -.icon-hdd { - background-position: 0 -144px; -} - -.icon-bullhorn { - background-position: -24px -144px; -} - -.icon-bell { - background-position: -48px -144px; -} - -.icon-certificate { - background-position: -72px -144px; -} - -.icon-thumbs-up { - background-position: -96px -144px; -} - -.icon-thumbs-down { - background-position: -120px -144px; -} - -.icon-hand-right { - background-position: -144px -144px; -} - -.icon-hand-left { - background-position: -168px -144px; -} - -.icon-hand-up { - background-position: -192px -144px; -} - -.icon-hand-down { - background-position: -216px -144px; -} - -.icon-circle-arrow-right { - background-position: -240px -144px; -} - -.icon-circle-arrow-left { - background-position: -264px -144px; -} - -.icon-circle-arrow-up { - background-position: -288px -144px; -} - -.icon-circle-arrow-down { - background-position: -312px -144px; -} - -.icon-globe { - background-position: -336px -144px; -} - -.icon-wrench { - background-position: -360px -144px; -} - -.icon-tasks { - background-position: -384px -144px; -} - -.icon-filter { - background-position: -408px -144px; -} - -.icon-briefcase { - background-position: -432px -144px; -} - -.icon-fullscreen { - background-position: -456px -144px; -} - -.dropup, -.dropdown { - position: relative; -} - -.dropdown-toggle { - *margin-bottom: -3px; -} - -.dropdown-toggle:active, -.open .dropdown-toggle { - outline: 0; -} - -.caret { - display: inline-block; - width: 0; - height: 0; - vertical-align: top; - border-top: 4px solid #000000; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - content: ""; -} - -.dropdown .caret { - margin-top: 8px; - margin-left: 2px; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - list-style: none; - background-color: #ffffff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - *border-right-width: 2px; - *border-bottom-width: 2px; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; -} - -.dropdown-menu.pull-right { - right: 0; - left: auto; -} - -.dropdown-menu .divider { - *width: 100%; - height: 1px; - margin: 9px 1px; - *margin: -5px 0 5px; - overflow: hidden; - background-color: #e5e5e5; - border-bottom: 1px solid #ffffff; -} - -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 20px; - color: #333333; - white-space: nowrap; -} - -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus, -.dropdown-submenu:hover > a, -.dropdown-submenu:focus > a { - color: #ffffff; - text-decoration: none; - background-color: #0081c2; - background-image: -moz-linear-gradient(top, #0088cc, #0077b3); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); - background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); - background-image: -o-linear-gradient(top, #0088cc, #0077b3); - background-image: linear-gradient(to bottom, #0088cc, #0077b3); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); -} - -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #ffffff; - text-decoration: none; - background-color: #0081c2; - background-image: -moz-linear-gradient(top, #0088cc, #0077b3); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); - background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); - background-image: -o-linear-gradient(top, #0088cc, #0077b3); - background-image: linear-gradient(to bottom, #0088cc, #0077b3); - background-repeat: repeat-x; - outline: 0; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); -} - -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #999999; -} - -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - cursor: default; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.open { - *z-index: 1000; -} - -.open > .dropdown-menu { - display: block; -} - -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; -} - -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} - -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border-top: 0; - border-bottom: 4px solid #000000; - content: ""; -} - -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; -} - -.dropdown-submenu { - position: relative; -} - -.dropdown-submenu > .dropdown-menu { - top: 0; - left: 100%; - margin-top: -6px; - margin-left: -1px; - -webkit-border-radius: 0 6px 6px 6px; - -moz-border-radius: 0 6px 6px 6px; - border-radius: 0 6px 6px 6px; -} - -.dropdown-submenu:hover > .dropdown-menu { - display: block; -} - -.dropup .dropdown-submenu > .dropdown-menu { - top: auto; - bottom: 0; - margin-top: 0; - margin-bottom: -2px; - -webkit-border-radius: 5px 5px 5px 0; - -moz-border-radius: 5px 5px 5px 0; - border-radius: 5px 5px 5px 0; -} - -.dropdown-submenu > a:after { - display: block; - float: right; - width: 0; - height: 0; - margin-top: 5px; - margin-right: -10px; - border-color: transparent; - border-left-color: #cccccc; - border-style: solid; - border-width: 5px 0 5px 5px; - content: " "; -} - -.dropdown-submenu:hover > a:after { - border-left-color: #ffffff; -} - -.dropdown-submenu.pull-left { - float: none; -} - -.dropdown-submenu.pull-left > .dropdown-menu { - left: -100%; - margin-left: 10px; - -webkit-border-radius: 6px 0 6px 6px; - -moz-border-radius: 6px 0 6px 6px; - border-radius: 6px 0 6px 6px; -} - -.dropdown .dropdown-menu .nav-header { - padding-right: 20px; - padding-left: 20px; -} - -.typeahead { - z-index: 1051; - margin-top: 2px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} - -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); -} - -.well-large { - padding: 24px; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; -} - -.well-small { - padding: 9px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} - -.fade { - opacity: 0; - -webkit-transition: opacity 0.15s linear; - -moz-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; -} - -.fade.in { - opacity: 1; -} - -.collapse { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height 0.35s ease; - -moz-transition: height 0.35s ease; - -o-transition: height 0.35s ease; - transition: height 0.35s ease; -} - -.collapse.in { - height: auto; -} - -.close { - float: right; - font-size: 20px; - font-weight: bold; - line-height: 20px; - color: #000000; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.2; - filter: alpha(opacity=20); -} - -.close:hover, -.close:focus { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.4; - filter: alpha(opacity=40); -} - -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} - -.btn { - display: inline-block; - *display: inline; - padding: 4px 12px; - margin-bottom: 0; - *margin-left: .3em; - font-size: 14px; - line-height: 20px; - color: #333333; - text-align: center; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - vertical-align: middle; - cursor: pointer; - background-color: #f5f5f5; - *background-color: #e6e6e6; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); - background-repeat: repeat-x; - border: 1px solid #cccccc; - *border: 0; - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - border-bottom-color: #b3b3b3; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - *zoom: 1; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn:hover, -.btn:focus, -.btn:active, -.btn.active, -.btn.disabled, -.btn[disabled] { - color: #333333; - background-color: #e6e6e6; - *background-color: #d9d9d9; -} - -.btn:active, -.btn.active { - background-color: #cccccc \9; -} - -.btn:first-child { - *margin-left: 0; -} - -.btn:hover, -.btn:focus { - color: #333333; - text-decoration: none; - background-position: 0 -15px; - -webkit-transition: background-position 0.1s linear; - -moz-transition: background-position 0.1s linear; - -o-transition: background-position 0.1s linear; - transition: background-position 0.1s linear; -} - -.btn:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -.btn.active, -.btn:active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn.disabled, -.btn[disabled] { - cursor: default; - background-image: none; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} - -.btn-large { - padding: 11px 19px; - font-size: 17.5px; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; -} - -.btn-large [class^="icon-"], -.btn-large [class*=" icon-"] { - margin-top: 4px; -} - -.btn-small { - padding: 2px 10px; - font-size: 11.9px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} - -.btn-small [class^="icon-"], -.btn-small [class*=" icon-"] { - margin-top: 0; -} - -.btn-mini [class^="icon-"], -.btn-mini [class*=" icon-"] { - margin-top: -1px; -} - -.btn-mini { - padding: 0 6px; - font-size: 10.5px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} - -.btn-block { - display: block; - width: 100%; - padding-right: 0; - padding-left: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -.btn-block + .btn-block { - margin-top: 5px; -} - -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} - -.btn-primary.active, -.btn-warning.active, -.btn-danger.active, -.btn-success.active, -.btn-info.active, -.btn-inverse.active { - color: rgba(255, 255, 255, 0.75); -} - -.btn-primary { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #006dcc; - *background-color: #0044cc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-repeat: repeat-x; - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.btn-primary:hover, -.btn-primary:focus, -.btn-primary:active, -.btn-primary.active, -.btn-primary.disabled, -.btn-primary[disabled] { - color: #ffffff; - background-color: #0044cc; - *background-color: #003bb3; -} - -.btn-primary:active, -.btn-primary.active { - background-color: #003399 \9; -} - -.btn-warning { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #faa732; - *background-color: #f89406; - background-image: -moz-linear-gradient(top, #fbb450, #f89406); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); - background-image: -webkit-linear-gradient(top, #fbb450, #f89406); - background-image: -o-linear-gradient(top, #fbb450, #f89406); - background-image: linear-gradient(to bottom, #fbb450, #f89406); - background-repeat: repeat-x; - border-color: #f89406 #f89406 #ad6704; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.btn-warning:hover, -.btn-warning:focus, -.btn-warning:active, -.btn-warning.active, -.btn-warning.disabled, -.btn-warning[disabled] { - color: #ffffff; - background-color: #f89406; - *background-color: #df8505; -} - -.btn-warning:active, -.btn-warning.active { - background-color: #c67605 \9; -} - -.btn-danger { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #da4f49; - *background-color: #bd362f; - background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); - background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); - background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); - background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); - background-repeat: repeat-x; - border-color: #bd362f #bd362f #802420; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.btn-danger:hover, -.btn-danger:focus, -.btn-danger:active, -.btn-danger.active, -.btn-danger.disabled, -.btn-danger[disabled] { - color: #ffffff; - background-color: #bd362f; - *background-color: #a9302a; -} - -.btn-danger:active, -.btn-danger.active { - background-color: #942a25 \9; -} - -.btn-success { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #5bb75b; - *background-color: #51a351; - background-image: -moz-linear-gradient(top, #62c462, #51a351); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); - background-image: -webkit-linear-gradient(top, #62c462, #51a351); - background-image: -o-linear-gradient(top, #62c462, #51a351); - background-image: linear-gradient(to bottom, #62c462, #51a351); - background-repeat: repeat-x; - border-color: #51a351 #51a351 #387038; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.btn-success:hover, -.btn-success:focus, -.btn-success:active, -.btn-success.active, -.btn-success.disabled, -.btn-success[disabled] { - color: #ffffff; - background-color: #51a351; - *background-color: #499249; -} - -.btn-success:active, -.btn-success.active { - background-color: #408140 \9; -} - -.btn-info { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #49afcd; - *background-color: #2f96b4; - background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); - background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); - background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); - background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); - background-repeat: repeat-x; - border-color: #2f96b4 #2f96b4 #1f6377; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.btn-info:hover, -.btn-info:focus, -.btn-info:active, -.btn-info.active, -.btn-info.disabled, -.btn-info[disabled] { - color: #ffffff; - background-color: #2f96b4; - *background-color: #2a85a0; -} - -.btn-info:active, -.btn-info.active { - background-color: #24748c \9; -} - -.btn-inverse { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #363636; - *background-color: #222222; - background-image: -moz-linear-gradient(top, #444444, #222222); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); - background-image: -webkit-linear-gradient(top, #444444, #222222); - background-image: -o-linear-gradient(top, #444444, #222222); - background-image: linear-gradient(to bottom, #444444, #222222); - background-repeat: repeat-x; - border-color: #222222 #222222 #000000; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.btn-inverse:hover, -.btn-inverse:focus, -.btn-inverse:active, -.btn-inverse.active, -.btn-inverse.disabled, -.btn-inverse[disabled] { - color: #ffffff; - background-color: #222222; - *background-color: #151515; -} - -.btn-inverse:active, -.btn-inverse.active { - background-color: #080808 \9; -} - -button.btn, -input[type="submit"].btn { - *padding-top: 3px; - *padding-bottom: 3px; -} - -button.btn::-moz-focus-inner, -input[type="submit"].btn::-moz-focus-inner { - padding: 0; - border: 0; -} - -button.btn.btn-large, -input[type="submit"].btn.btn-large { - *padding-top: 7px; - *padding-bottom: 7px; -} - -button.btn.btn-small, -input[type="submit"].btn.btn-small { - *padding-top: 3px; - *padding-bottom: 3px; -} - -button.btn.btn-mini, -input[type="submit"].btn.btn-mini { - *padding-top: 1px; - *padding-bottom: 1px; -} - -.btn-link, -.btn-link:active, -.btn-link[disabled] { - background-color: transparent; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} - -.btn-link { - color: #0088cc; - cursor: pointer; - border-color: transparent; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.btn-link:hover, -.btn-link:focus { - color: #005580; - text-decoration: underline; - background-color: transparent; -} - -.btn-link[disabled]:hover, -.btn-link[disabled]:focus { - color: #333333; - text-decoration: none; -} - -.btn-group { - position: relative; - display: inline-block; - *display: inline; - *margin-left: .3em; - font-size: 0; - white-space: nowrap; - vertical-align: middle; - *zoom: 1; -} - -.btn-group:first-child { - *margin-left: 0; -} - -.btn-group + .btn-group { - margin-left: 5px; -} - -.btn-toolbar { - margin-top: 10px; - margin-bottom: 10px; - font-size: 0; -} - -.btn-toolbar > .btn + .btn, -.btn-toolbar > .btn-group + .btn, -.btn-toolbar > .btn + .btn-group { - margin-left: 5px; -} - -.btn-group > .btn { - position: relative; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.btn-group > .btn + .btn { - margin-left: -1px; -} - -.btn-group > .btn, -.btn-group > .dropdown-menu, -.btn-group > .popover { - font-size: 14px; -} - -.btn-group > .btn-mini { - font-size: 10.5px; -} - -.btn-group > .btn-small { - font-size: 11.9px; -} - -.btn-group > .btn-large { - font-size: 17.5px; -} - -.btn-group > .btn:first-child { - margin-left: 0; - -webkit-border-bottom-left-radius: 4px; - border-bottom-left-radius: 4px; - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-topleft: 4px; -} - -.btn-group > .btn:last-child, -.btn-group > .dropdown-toggle { - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; - -moz-border-radius-topright: 4px; - -moz-border-radius-bottomright: 4px; -} - -.btn-group > .btn.large:first-child { - margin-left: 0; - -webkit-border-bottom-left-radius: 6px; - border-bottom-left-radius: 6px; - -webkit-border-top-left-radius: 6px; - border-top-left-radius: 6px; - -moz-border-radius-bottomleft: 6px; - -moz-border-radius-topleft: 6px; -} - -.btn-group > .btn.large:last-child, -.btn-group > .large.dropdown-toggle { - -webkit-border-top-right-radius: 6px; - border-top-right-radius: 6px; - -webkit-border-bottom-right-radius: 6px; - border-bottom-right-radius: 6px; - -moz-border-radius-topright: 6px; - -moz-border-radius-bottomright: 6px; -} - -.btn-group > .btn:hover, -.btn-group > .btn:focus, -.btn-group > .btn:active, -.btn-group > .btn.active { - z-index: 2; -} - -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} - -.btn-group > .btn + .dropdown-toggle { - *padding-top: 5px; - padding-right: 8px; - *padding-bottom: 5px; - padding-left: 8px; - -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn-group > .btn-mini + .dropdown-toggle { - *padding-top: 2px; - padding-right: 5px; - *padding-bottom: 2px; - padding-left: 5px; -} - -.btn-group > .btn-small + .dropdown-toggle { - *padding-top: 5px; - *padding-bottom: 4px; -} - -.btn-group > .btn-large + .dropdown-toggle { - *padding-top: 7px; - padding-right: 12px; - *padding-bottom: 7px; - padding-left: 12px; -} - -.btn-group.open .dropdown-toggle { - background-image: none; - -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn-group.open .btn.dropdown-toggle { - background-color: #e6e6e6; -} - -.btn-group.open .btn-primary.dropdown-toggle { - background-color: #0044cc; -} - -.btn-group.open .btn-warning.dropdown-toggle { - background-color: #f89406; -} - -.btn-group.open .btn-danger.dropdown-toggle { - background-color: #bd362f; -} - -.btn-group.open .btn-success.dropdown-toggle { - background-color: #51a351; -} - -.btn-group.open .btn-info.dropdown-toggle { - background-color: #2f96b4; -} - -.btn-group.open .btn-inverse.dropdown-toggle { - background-color: #222222; -} - -.btn .caret { - margin-top: 8px; - margin-left: 0; -} - -.btn-large .caret { - margin-top: 6px; -} - -.btn-large .caret { - border-top-width: 5px; - border-right-width: 5px; - border-left-width: 5px; -} - -.btn-mini .caret, -.btn-small .caret { - margin-top: 8px; -} - -.dropup .btn-large .caret { - border-bottom-width: 5px; -} - -.btn-primary .caret, -.btn-warning .caret, -.btn-danger .caret, -.btn-info .caret, -.btn-success .caret, -.btn-inverse .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; -} - -.btn-group-vertical { - display: inline-block; - *display: inline; - /* IE7 inline-block hack */ - - *zoom: 1; -} - -.btn-group-vertical > .btn { - display: block; - float: none; - max-width: 100%; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.btn-group-vertical > .btn + .btn { - margin-top: -1px; - margin-left: 0; -} - -.btn-group-vertical > .btn:first-child { - -webkit-border-radius: 4px 4px 0 0; - -moz-border-radius: 4px 4px 0 0; - border-radius: 4px 4px 0 0; -} - -.btn-group-vertical > .btn:last-child { - -webkit-border-radius: 0 0 4px 4px; - -moz-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; -} - -.btn-group-vertical > .btn-large:first-child { - -webkit-border-radius: 6px 6px 0 0; - -moz-border-radius: 6px 6px 0 0; - border-radius: 6px 6px 0 0; -} - -.btn-group-vertical > .btn-large:last-child { - -webkit-border-radius: 0 0 6px 6px; - -moz-border-radius: 0 0 6px 6px; - border-radius: 0 0 6px 6px; -} - -.alert { - padding: 8px 35px 8px 14px; - margin-bottom: 20px; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); - background-color: #fcf8e3; - border: 1px solid #fbeed5; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.alert, -.alert h4 { - color: #c09853; -} - -.alert h4 { - margin: 0; -} - -.alert .close { - position: relative; - top: -2px; - right: -21px; - line-height: 20px; -} - -.alert-success { - color: #468847; - background-color: #dff0d8; - border-color: #d6e9c6; -} - -.alert-success h4 { - color: #468847; -} - -.alert-danger, -.alert-error { - color: #b94a48; - background-color: #f2dede; - border-color: #eed3d7; -} - -.alert-danger h4, -.alert-error h4 { - color: #b94a48; -} - -.alert-info { - color: #3a87ad; - background-color: #d9edf7; - border-color: #bce8f1; -} - -.alert-info h4 { - color: #3a87ad; -} - -.alert-block { - padding-top: 14px; - padding-bottom: 14px; -} - -.alert-block > p, -.alert-block > ul { - margin-bottom: 0; -} - -.alert-block p + p { - margin-top: 5px; -} - -.nav { - margin-bottom: 20px; - margin-left: 0; - list-style: none; -} - -.nav > li > a { - display: block; -} - -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} - -.nav > li > a > img { - max-width: none; -} - -.nav > .pull-right { - float: right; -} - -.nav-header { - display: block; - padding: 3px 15px; - font-size: 11px; - font-weight: bold; - line-height: 20px; - color: #999999; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); - text-transform: uppercase; -} - -.nav li + .nav-header { - margin-top: 9px; -} - -.nav-list { - padding-right: 15px; - padding-left: 15px; - margin-bottom: 0; -} - -.nav-list > li > a, -.nav-list .nav-header { - margin-right: -15px; - margin-left: -15px; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); -} - -.nav-list > li > a { - padding: 3px 15px; -} - -.nav-list > .active > a, -.nav-list > .active > a:hover, -.nav-list > .active > a:focus { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); - background-color: #0088cc; -} - -.nav-list [class^="icon-"], -.nav-list [class*=" icon-"] { - margin-right: 2px; -} - -.nav-list .divider { - *width: 100%; - height: 1px; - margin: 9px 1px; - *margin: -5px 0 5px; - overflow: hidden; - background-color: #e5e5e5; - border-bottom: 1px solid #ffffff; -} - -.nav-tabs, -.nav-pills { - *zoom: 1; -} - -.nav-tabs:before, -.nav-pills:before, -.nav-tabs:after, -.nav-pills:after { - display: table; - line-height: 0; - content: ""; -} - -.nav-tabs:after, -.nav-pills:after { - clear: both; -} - -.nav-tabs > li, -.nav-pills > li { - float: left; -} - -.nav-tabs > li > a, -.nav-pills > li > a { - padding-right: 12px; - padding-left: 12px; - margin-right: 2px; - line-height: 14px; -} - -.nav-tabs { - border-bottom: 1px solid #ddd; -} - -.nav-tabs > li { - margin-bottom: -1px; -} - -.nav-tabs > li > a { - padding-top: 8px; - padding-bottom: 8px; - line-height: 20px; - border: 1px solid transparent; - -webkit-border-radius: 4px 4px 0 0; - -moz-border-radius: 4px 4px 0 0; - border-radius: 4px 4px 0 0; -} - -.nav-tabs > li > a:hover, -.nav-tabs > li > a:focus { - border-color: #eeeeee #eeeeee #dddddd; -} - -.nav-tabs > .active > a, -.nav-tabs > .active > a:hover, -.nav-tabs > .active > a:focus { - color: #555555; - cursor: default; - background-color: #ffffff; - border: 1px solid #ddd; - border-bottom-color: transparent; -} - -.nav-pills > li > a { - padding-top: 8px; - padding-bottom: 8px; - margin-top: 2px; - margin-bottom: 2px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} - -.nav-pills > .active > a, -.nav-pills > .active > a:hover, -.nav-pills > .active > a:focus { - color: #ffffff; - background-color: #0088cc; -} - -.nav-stacked > li { - float: none; -} - -.nav-stacked > li > a { - margin-right: 0; -} - -.nav-tabs.nav-stacked { - border-bottom: 0; -} - -.nav-tabs.nav-stacked > li > a { - border: 1px solid #ddd; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.nav-tabs.nav-stacked > li:first-child > a { - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-topright: 4px; - -moz-border-radius-topleft: 4px; -} - -.nav-tabs.nav-stacked > li:last-child > a { - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - border-bottom-left-radius: 4px; - -moz-border-radius-bottomright: 4px; - -moz-border-radius-bottomleft: 4px; -} - -.nav-tabs.nav-stacked > li > a:hover, -.nav-tabs.nav-stacked > li > a:focus { - z-index: 2; - border-color: #ddd; -} - -.nav-pills.nav-stacked > li > a { - margin-bottom: 3px; -} - -.nav-pills.nav-stacked > li:last-child > a { - margin-bottom: 1px; -} - -.nav-tabs .dropdown-menu { - -webkit-border-radius: 0 0 6px 6px; - -moz-border-radius: 0 0 6px 6px; - border-radius: 0 0 6px 6px; -} - -.nav-pills .dropdown-menu { - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; -} - -.nav .dropdown-toggle .caret { - margin-top: 6px; - border-top-color: #0088cc; - border-bottom-color: #0088cc; -} - -.nav .dropdown-toggle:hover .caret, -.nav .dropdown-toggle:focus .caret { - border-top-color: #005580; - border-bottom-color: #005580; -} - -/* move down carets for tabs */ - -.nav-tabs .dropdown-toggle .caret { - margin-top: 8px; -} - -.nav .active .dropdown-toggle .caret { - border-top-color: #fff; - border-bottom-color: #fff; -} - -.nav-tabs .active .dropdown-toggle .caret { - border-top-color: #555555; - border-bottom-color: #555555; -} - -.nav > .dropdown.active > a:hover, -.nav > .dropdown.active > a:focus { - cursor: pointer; -} - -.nav-tabs .open .dropdown-toggle, -.nav-pills .open .dropdown-toggle, -.nav > li.dropdown.open.active > a:hover, -.nav > li.dropdown.open.active > a:focus { - color: #ffffff; - background-color: #999999; - border-color: #999999; -} - -.nav li.dropdown.open .caret, -.nav li.dropdown.open.active .caret, -.nav li.dropdown.open a:hover .caret, -.nav li.dropdown.open a:focus .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; - opacity: 1; - filter: alpha(opacity=100); -} - -.tabs-stacked .open > a:hover, -.tabs-stacked .open > a:focus { - border-color: #999999; -} - -.tabbable { - *zoom: 1; -} - -.tabbable:before, -.tabbable:after { - display: table; - line-height: 0; - content: ""; -} - -.tabbable:after { - clear: both; -} - -.tab-content { - overflow: auto; -} - -.tabs-below > .nav-tabs, -.tabs-right > .nav-tabs, -.tabs-left > .nav-tabs { - border-bottom: 0; -} - -.tab-content > .tab-pane, -.pill-content > .pill-pane { - display: none; -} - -.tab-content > .active, -.pill-content > .active { - display: block; -} - -.tabs-below > .nav-tabs { - border-top: 1px solid #ddd; -} - -.tabs-below > .nav-tabs > li { - margin-top: -1px; - margin-bottom: 0; -} - -.tabs-below > .nav-tabs > li > a { - -webkit-border-radius: 0 0 4px 4px; - -moz-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; -} - -.tabs-below > .nav-tabs > li > a:hover, -.tabs-below > .nav-tabs > li > a:focus { - border-top-color: #ddd; - border-bottom-color: transparent; -} - -.tabs-below > .nav-tabs > .active > a, -.tabs-below > .nav-tabs > .active > a:hover, -.tabs-below > .nav-tabs > .active > a:focus { - border-color: transparent #ddd #ddd #ddd; -} - -.tabs-left > .nav-tabs > li, -.tabs-right > .nav-tabs > li { - float: none; -} - -.tabs-left > .nav-tabs > li > a, -.tabs-right > .nav-tabs > li > a { - min-width: 74px; - margin-right: 0; - margin-bottom: 3px; -} - -.tabs-left > .nav-tabs { - float: left; - margin-right: 19px; - border-right: 1px solid #ddd; -} - -.tabs-left > .nav-tabs > li > a { - margin-right: -1px; - -webkit-border-radius: 4px 0 0 4px; - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} - -.tabs-left > .nav-tabs > li > a:hover, -.tabs-left > .nav-tabs > li > a:focus { - border-color: #eeeeee #dddddd #eeeeee #eeeeee; -} - -.tabs-left > .nav-tabs .active > a, -.tabs-left > .nav-tabs .active > a:hover, -.tabs-left > .nav-tabs .active > a:focus { - border-color: #ddd transparent #ddd #ddd; - *border-right-color: #ffffff; -} - -.tabs-right > .nav-tabs { - float: right; - margin-left: 19px; - border-left: 1px solid #ddd; -} - -.tabs-right > .nav-tabs > li > a { - margin-left: -1px; - -webkit-border-radius: 0 4px 4px 0; - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} - -.tabs-right > .nav-tabs > li > a:hover, -.tabs-right > .nav-tabs > li > a:focus { - border-color: #eeeeee #eeeeee #eeeeee #dddddd; -} - -.tabs-right > .nav-tabs .active > a, -.tabs-right > .nav-tabs .active > a:hover, -.tabs-right > .nav-tabs .active > a:focus { - border-color: #ddd #ddd #ddd transparent; - *border-left-color: #ffffff; -} - -.nav > .disabled > a { - color: #999999; -} - -.nav > .disabled > a:hover, -.nav > .disabled > a:focus { - text-decoration: none; - cursor: default; - background-color: transparent; -} - -.navbar { - *position: relative; - *z-index: 2; - margin-bottom: 20px; - overflow: visible; -} - -.navbar-inner { - min-height: 40px; - padding-right: 20px; - padding-left: 20px; - background-color: #fafafa; - background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); - background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); - background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); - background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); - background-repeat: repeat-x; - border: 1px solid #d4d4d4; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); - *zoom: 1; - -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); - -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); - box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); -} - -.navbar-inner:before, -.navbar-inner:after { - display: table; - line-height: 0; - content: ""; -} - -.navbar-inner:after { - clear: both; -} - -.navbar .container { - width: auto; -} - -.nav-collapse.collapse { - height: auto; - overflow: visible; -} - -.navbar .brand { - display: block; - float: left; - padding: 10px 20px 10px; - margin-left: -20px; - font-size: 20px; - font-weight: 200; - color: #777777; - text-shadow: 0 1px 0 #ffffff; -} - -.navbar .brand:hover, -.navbar .brand:focus { - text-decoration: none; -} - -.navbar-text { - margin-bottom: 0; - line-height: 40px; - color: #777777; -} - -.navbar-link { - color: #777777; -} - -.navbar-link:hover, -.navbar-link:focus { - color: #333333; -} - -.navbar .divider-vertical { - height: 40px; - margin: 0 9px; - border-right: 1px solid #ffffff; - border-left: 1px solid #f2f2f2; -} - -.navbar .btn, -.navbar .btn-group { - margin-top: 5px; -} - -.navbar .btn-group .btn, -.navbar .input-prepend .btn, -.navbar .input-append .btn, -.navbar .input-prepend .btn-group, -.navbar .input-append .btn-group { - margin-top: 0; -} - -.navbar-form { - margin-bottom: 0; - *zoom: 1; -} - -.navbar-form:before, -.navbar-form:after { - display: table; - line-height: 0; - content: ""; -} - -.navbar-form:after { - clear: both; -} - -.navbar-form input, -.navbar-form select, -.navbar-form .radio, -.navbar-form .checkbox { - margin-top: 5px; -} - -.navbar-form input, -.navbar-form select, -.navbar-form .btn { - display: inline-block; - margin-bottom: 0; -} - -.navbar-form input[type="image"], -.navbar-form input[type="checkbox"], -.navbar-form input[type="radio"] { - margin-top: 3px; -} - -.navbar-form .input-append, -.navbar-form .input-prepend { - margin-top: 5px; - white-space: nowrap; -} - -.navbar-form .input-append input, -.navbar-form .input-prepend input { - margin-top: 0; -} - -.navbar-search { - position: relative; - float: left; - margin-top: 5px; - margin-bottom: 0; -} - -.navbar-search .search-query { - padding: 4px 14px; - margin-bottom: 0; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 13px; - font-weight: normal; - line-height: 1; - -webkit-border-radius: 15px; - -moz-border-radius: 15px; - border-radius: 15px; -} - -.navbar-static-top { - position: static; - margin-bottom: 0; -} - -.navbar-static-top .navbar-inner { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; - margin-bottom: 0; -} - -.navbar-fixed-top .navbar-inner, -.navbar-static-top .navbar-inner { - border-width: 0 0 1px; -} - -.navbar-fixed-bottom .navbar-inner { - border-width: 1px 0 0; -} - -.navbar-fixed-top .navbar-inner, -.navbar-fixed-bottom .navbar-inner { - padding-right: 0; - padding-left: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.navbar-static-top .container, -.navbar-fixed-top .container, -.navbar-fixed-bottom .container { - width: 940px; -} - -.navbar-fixed-top { - top: 0; -} - -.navbar-fixed-top .navbar-inner, -.navbar-static-top .navbar-inner { - -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); -} - -.navbar-fixed-bottom { - bottom: 0; -} - -.navbar-fixed-bottom .navbar-inner { - -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); - box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); -} - -.navbar .nav { - position: relative; - left: 0; - display: block; - float: left; - margin: 0 10px 0 0; -} - -.navbar .nav.pull-right { - float: right; - margin-right: 0; -} - -.navbar .nav > li { - float: left; -} - -.navbar .nav > li > a { - float: none; - padding: 10px 15px 10px; - color: #777777; - text-decoration: none; - text-shadow: 0 1px 0 #ffffff; -} - -.navbar .nav .dropdown-toggle .caret { - margin-top: 8px; -} - -.navbar .nav > li > a:focus, -.navbar .nav > li > a:hover { - color: #333333; - text-decoration: none; - background-color: transparent; -} - -.navbar .nav > .active > a, -.navbar .nav > .active > a:hover, -.navbar .nav > .active > a:focus { - color: #555555; - text-decoration: none; - background-color: #e5e5e5; - -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); - -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); -} - -.navbar .btn-navbar { - display: none; - float: right; - padding: 7px 10px; - margin-right: 5px; - margin-left: 5px; - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #ededed; - *background-color: #e5e5e5; - background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); - background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); - background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); - background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); - background-repeat: repeat-x; - border-color: #e5e5e5 #e5e5e5 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); -} - -.navbar .btn-navbar:hover, -.navbar .btn-navbar:focus, -.navbar .btn-navbar:active, -.navbar .btn-navbar.active, -.navbar .btn-navbar.disabled, -.navbar .btn-navbar[disabled] { - color: #ffffff; - background-color: #e5e5e5; - *background-color: #d9d9d9; -} - -.navbar .btn-navbar:active, -.navbar .btn-navbar.active { - background-color: #cccccc \9; -} - -.navbar .btn-navbar .icon-bar { - display: block; - width: 18px; - height: 2px; - background-color: #f5f5f5; - -webkit-border-radius: 1px; - -moz-border-radius: 1px; - border-radius: 1px; - -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); -} - -.btn-navbar .icon-bar + .icon-bar { - margin-top: 3px; -} - -.navbar .nav > li > .dropdown-menu:before { - position: absolute; - top: -7px; - left: 9px; - display: inline-block; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-left: 7px solid transparent; - border-bottom-color: rgba(0, 0, 0, 0.2); - content: ''; -} - -.navbar .nav > li > .dropdown-menu:after { - position: absolute; - top: -6px; - left: 10px; - display: inline-block; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - border-left: 6px solid transparent; - content: ''; -} - -.navbar-fixed-bottom .nav > li > .dropdown-menu:before { - top: auto; - bottom: -7px; - border-top: 7px solid #ccc; - border-bottom: 0; - border-top-color: rgba(0, 0, 0, 0.2); -} - -.navbar-fixed-bottom .nav > li > .dropdown-menu:after { - top: auto; - bottom: -6px; - border-top: 6px solid #ffffff; - border-bottom: 0; -} - -.navbar .nav li.dropdown > a:hover .caret, -.navbar .nav li.dropdown > a:focus .caret { - border-top-color: #333333; - border-bottom-color: #333333; -} - -.navbar .nav li.dropdown.open > .dropdown-toggle, -.navbar .nav li.dropdown.active > .dropdown-toggle, -.navbar .nav li.dropdown.open.active > .dropdown-toggle { - color: #555555; - background-color: #e5e5e5; -} - -.navbar .nav li.dropdown > .dropdown-toggle .caret { - border-top-color: #777777; - border-bottom-color: #777777; -} - -.navbar .nav li.dropdown.open > .dropdown-toggle .caret, -.navbar .nav li.dropdown.active > .dropdown-toggle .caret, -.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { - border-top-color: #555555; - border-bottom-color: #555555; -} - -.navbar .pull-right > li > .dropdown-menu, -.navbar .nav > li > .dropdown-menu.pull-right { - right: 0; - left: auto; -} - -.navbar .pull-right > li > .dropdown-menu:before, -.navbar .nav > li > .dropdown-menu.pull-right:before { - right: 12px; - left: auto; -} - -.navbar .pull-right > li > .dropdown-menu:after, -.navbar .nav > li > .dropdown-menu.pull-right:after { - right: 13px; - left: auto; -} - -.navbar .pull-right > li > .dropdown-menu .dropdown-menu, -.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { - right: 100%; - left: auto; - margin-right: -1px; - margin-left: 0; - -webkit-border-radius: 6px 0 6px 6px; - -moz-border-radius: 6px 0 6px 6px; - border-radius: 6px 0 6px 6px; -} - -.navbar-inverse .navbar-inner { - background-color: #1b1b1b; - background-image: -moz-linear-gradient(top, #222222, #111111); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); - background-image: -webkit-linear-gradient(top, #222222, #111111); - background-image: -o-linear-gradient(top, #222222, #111111); - background-image: linear-gradient(to bottom, #222222, #111111); - background-repeat: repeat-x; - border-color: #252525; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); -} - -.navbar-inverse .brand, -.navbar-inverse .nav > li > a { - color: #999999; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.navbar-inverse .brand:hover, -.navbar-inverse .nav > li > a:hover, -.navbar-inverse .brand:focus, -.navbar-inverse .nav > li > a:focus { - color: #ffffff; -} - -.navbar-inverse .brand { - color: #999999; -} - -.navbar-inverse .navbar-text { - color: #999999; -} - -.navbar-inverse .nav > li > a:focus, -.navbar-inverse .nav > li > a:hover { - color: #ffffff; - background-color: transparent; -} - -.navbar-inverse .nav .active > a, -.navbar-inverse .nav .active > a:hover, -.navbar-inverse .nav .active > a:focus { - color: #ffffff; - background-color: #111111; -} - -.navbar-inverse .navbar-link { - color: #999999; -} - -.navbar-inverse .navbar-link:hover, -.navbar-inverse .navbar-link:focus { - color: #ffffff; -} - -.navbar-inverse .divider-vertical { - border-right-color: #222222; - border-left-color: #111111; -} - -.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, -.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, -.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { - color: #ffffff; - background-color: #111111; -} - -.navbar-inverse .nav li.dropdown > a:hover .caret, -.navbar-inverse .nav li.dropdown > a:focus .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; -} - -.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { - border-top-color: #999999; - border-bottom-color: #999999; -} - -.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, -.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, -.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; -} - -.navbar-inverse .navbar-search .search-query { - color: #ffffff; - background-color: #515151; - border-color: #111111; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); - -webkit-transition: none; - -moz-transition: none; - -o-transition: none; - transition: none; -} - -.navbar-inverse .navbar-search .search-query:-moz-placeholder { - color: #cccccc; -} - -.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { - color: #cccccc; -} - -.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { - color: #cccccc; -} - -.navbar-inverse .navbar-search .search-query:focus, -.navbar-inverse .navbar-search .search-query.focused { - padding: 5px 15px; - color: #333333; - text-shadow: 0 1px 0 #ffffff; - background-color: #ffffff; - border: 0; - outline: 0; - -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); -} - -.navbar-inverse .btn-navbar { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #0e0e0e; - *background-color: #040404; - background-image: -moz-linear-gradient(top, #151515, #040404); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); - background-image: -webkit-linear-gradient(top, #151515, #040404); - background-image: -o-linear-gradient(top, #151515, #040404); - background-image: linear-gradient(to bottom, #151515, #040404); - background-repeat: repeat-x; - border-color: #040404 #040404 #000000; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.navbar-inverse .btn-navbar:hover, -.navbar-inverse .btn-navbar:focus, -.navbar-inverse .btn-navbar:active, -.navbar-inverse .btn-navbar.active, -.navbar-inverse .btn-navbar.disabled, -.navbar-inverse .btn-navbar[disabled] { - color: #ffffff; - background-color: #040404; - *background-color: #000000; -} - -.navbar-inverse .btn-navbar:active, -.navbar-inverse .btn-navbar.active { - background-color: #000000 \9; -} - -.breadcrumb { - padding: 8px 15px; - margin: 0 0 20px; - list-style: none; - background-color: #f5f5f5; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.breadcrumb > li { - display: inline-block; - *display: inline; - text-shadow: 0 1px 0 #ffffff; - *zoom: 1; -} - -.breadcrumb > li > .divider { - padding: 0 5px; - color: #ccc; -} - -.breadcrumb > .active { - color: #999999; -} - -.pagination { - margin: 20px 0; -} - -.pagination ul { - display: inline-block; - *display: inline; - margin-bottom: 0; - margin-left: 0; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - *zoom: 1; - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.pagination ul > li { - display: inline; -} - -.pagination ul > li > a, -.pagination ul > li > span { - float: left; - padding: 4px 12px; - line-height: 20px; - text-decoration: none; - background-color: #ffffff; - border: 1px solid #dddddd; - border-left-width: 0; -} - -.pagination ul > li > a:hover, -.pagination ul > li > a:focus, -.pagination ul > .active > a, -.pagination ul > .active > span { - background-color: #f5f5f5; -} - -.pagination ul > .active > a, -.pagination ul > .active > span { - color: #999999; - cursor: default; -} - -.pagination ul > .disabled > span, -.pagination ul > .disabled > a, -.pagination ul > .disabled > a:hover, -.pagination ul > .disabled > a:focus { - color: #999999; - cursor: default; - background-color: transparent; -} - -.pagination ul > li:first-child > a, -.pagination ul > li:first-child > span { - border-left-width: 1px; - -webkit-border-bottom-left-radius: 4px; - border-bottom-left-radius: 4px; - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-topleft: 4px; -} - -.pagination ul > li:last-child > a, -.pagination ul > li:last-child > span { - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; - -moz-border-radius-topright: 4px; - -moz-border-radius-bottomright: 4px; -} - -.pagination-centered { - text-align: center; -} - -.pagination-right { - text-align: right; -} - -.pagination-large ul > li > a, -.pagination-large ul > li > span { - padding: 11px 19px; - font-size: 17.5px; -} - -.pagination-large ul > li:first-child > a, -.pagination-large ul > li:first-child > span { - -webkit-border-bottom-left-radius: 6px; - border-bottom-left-radius: 6px; - -webkit-border-top-left-radius: 6px; - border-top-left-radius: 6px; - -moz-border-radius-bottomleft: 6px; - -moz-border-radius-topleft: 6px; -} - -.pagination-large ul > li:last-child > a, -.pagination-large ul > li:last-child > span { - -webkit-border-top-right-radius: 6px; - border-top-right-radius: 6px; - -webkit-border-bottom-right-radius: 6px; - border-bottom-right-radius: 6px; - -moz-border-radius-topright: 6px; - -moz-border-radius-bottomright: 6px; -} - -.pagination-mini ul > li:first-child > a, -.pagination-small ul > li:first-child > a, -.pagination-mini ul > li:first-child > span, -.pagination-small ul > li:first-child > span { - -webkit-border-bottom-left-radius: 3px; - border-bottom-left-radius: 3px; - -webkit-border-top-left-radius: 3px; - border-top-left-radius: 3px; - -moz-border-radius-bottomleft: 3px; - -moz-border-radius-topleft: 3px; -} - -.pagination-mini ul > li:last-child > a, -.pagination-small ul > li:last-child > a, -.pagination-mini ul > li:last-child > span, -.pagination-small ul > li:last-child > span { - -webkit-border-top-right-radius: 3px; - border-top-right-radius: 3px; - -webkit-border-bottom-right-radius: 3px; - border-bottom-right-radius: 3px; - -moz-border-radius-topright: 3px; - -moz-border-radius-bottomright: 3px; -} - -.pagination-small ul > li > a, -.pagination-small ul > li > span { - padding: 2px 10px; - font-size: 11.9px; -} - -.pagination-mini ul > li > a, -.pagination-mini ul > li > span { - padding: 0 6px; - font-size: 10.5px; -} - -.pager { - margin: 20px 0; - text-align: center; - list-style: none; - *zoom: 1; -} - -.pager:before, -.pager:after { - display: table; - line-height: 0; - content: ""; -} - -.pager:after { - clear: both; -} - -.pager li { - display: inline; -} - -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - -webkit-border-radius: 15px; - -moz-border-radius: 15px; - border-radius: 15px; -} - -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #f5f5f5; -} - -.pager .next > a, -.pager .next > span { - float: right; -} - -.pager .previous > a, -.pager .previous > span { - float: left; -} - -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - cursor: default; - background-color: #fff; -} - -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000000; -} - -.modal-backdrop.fade { - opacity: 0; -} - -.modal-backdrop, -.modal-backdrop.fade.in { - opacity: 0.8; - filter: alpha(opacity=80); -} - -.modal { - position: fixed; - top: 10%; - left: 50%; - z-index: 1050; - width: 560px; - margin-left: -280px; - background-color: #ffffff; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, 0.3); - *border: 1px solid #999; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; - outline: none; - -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); - box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); - -webkit-background-clip: padding-box; - -moz-background-clip: padding-box; - background-clip: padding-box; -} - -.modal.fade { - top: -25%; - -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; - -moz-transition: opacity 0.3s linear, top 0.3s ease-out; - -o-transition: opacity 0.3s linear, top 0.3s ease-out; - transition: opacity 0.3s linear, top 0.3s ease-out; -} - -.modal.fade.in { - top: 10%; -} - -.modal-header { - padding: 9px 15px; - border-bottom: 1px solid #eee; -} - -.modal-header .close { - margin-top: 2px; -} - -.modal-header h3 { - margin: 0; - line-height: 30px; -} - -.modal-body { - position: relative; - max-height: 400px; - padding: 15px; - overflow-y: auto; -} - -.modal-form { - margin-bottom: 0; -} - -.modal-footer { - padding: 14px 15px 15px; - margin-bottom: 0; - text-align: right; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - -webkit-border-radius: 0 0 6px 6px; - -moz-border-radius: 0 0 6px 6px; - border-radius: 0 0 6px 6px; - *zoom: 1; - -webkit-box-shadow: inset 0 1px 0 #ffffff; - -moz-box-shadow: inset 0 1px 0 #ffffff; - box-shadow: inset 0 1px 0 #ffffff; -} - -.modal-footer:before, -.modal-footer:after { - display: table; - line-height: 0; - content: ""; -} - -.modal-footer:after { - clear: both; -} - -.modal-footer .btn + .btn { - margin-bottom: 0; - margin-left: 5px; -} - -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} - -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} - -.tooltip { - position: absolute; - z-index: 1030; - display: block; - font-size: 11px; - line-height: 1.4; - opacity: 0; - filter: alpha(opacity=0); - visibility: visible; -} - -.tooltip.in { - opacity: 0.8; - filter: alpha(opacity=80); -} - -.tooltip.top { - padding: 5px 0; - margin-top: -3px; -} - -.tooltip.right { - padding: 0 5px; - margin-left: 3px; -} - -.tooltip.bottom { - padding: 5px 0; - margin-top: 3px; -} - -.tooltip.left { - padding: 0 5px; - margin-left: -3px; -} - -.tooltip-inner { - max-width: 200px; - padding: 8px; - color: #ffffff; - text-align: center; - text-decoration: none; - background-color: #000000; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} - -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-top-color: #000000; - border-width: 5px 5px 0; -} - -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-right-color: #000000; - border-width: 5px 5px 5px 0; -} - -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-left-color: #000000; - border-width: 5px 0 5px 5px; -} - -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-bottom-color: #000000; - border-width: 0 5px 5px; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1010; - display: none; - max-width: 276px; - padding: 1px; - text-align: left; - white-space: normal; - background-color: #ffffff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; -} - -.popover.top { - margin-top: -10px; -} - -.popover.right { - margin-left: 10px; -} - -.popover.bottom { - margin-top: 10px; -} - -.popover.left { - margin-left: -10px; -} - -.popover-title { - padding: 8px 14px; - margin: 0; - font-size: 14px; - font-weight: normal; - line-height: 18px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - -webkit-border-radius: 5px 5px 0 0; - -moz-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} - -.popover-title:empty { - display: none; -} - -.popover-content { - padding: 9px 14px; -} - -.popover .arrow, -.popover .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} - -.popover .arrow { - border-width: 11px; -} - -.popover .arrow:after { - border-width: 10px; - content: ""; -} - -.popover.top .arrow { - bottom: -11px; - left: 50%; - margin-left: -11px; - border-top-color: #999; - border-top-color: rgba(0, 0, 0, 0.25); - border-bottom-width: 0; -} - -.popover.top .arrow:after { - bottom: 1px; - margin-left: -10px; - border-top-color: #ffffff; - border-bottom-width: 0; -} - -.popover.right .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-right-color: #999; - border-right-color: rgba(0, 0, 0, 0.25); - border-left-width: 0; -} - -.popover.right .arrow:after { - bottom: -10px; - left: 1px; - border-right-color: #ffffff; - border-left-width: 0; -} - -.popover.bottom .arrow { - top: -11px; - left: 50%; - margin-left: -11px; - border-bottom-color: #999; - border-bottom-color: rgba(0, 0, 0, 0.25); - border-top-width: 0; -} - -.popover.bottom .arrow:after { - top: 1px; - margin-left: -10px; - border-bottom-color: #ffffff; - border-top-width: 0; -} - -.popover.left .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-left-color: #999; - border-left-color: rgba(0, 0, 0, 0.25); - border-right-width: 0; -} - -.popover.left .arrow:after { - right: 1px; - bottom: -10px; - border-left-color: #ffffff; - border-right-width: 0; -} - -.thumbnails { - margin-left: -20px; - list-style: none; - *zoom: 1; -} - -.thumbnails:before, -.thumbnails:after { - display: table; - line-height: 0; - content: ""; -} - -.thumbnails:after { - clear: both; -} - -.row-fluid .thumbnails { - margin-left: 0; -} - -.thumbnails > li { - float: left; - margin-bottom: 20px; - margin-left: 20px; -} - -.thumbnail { - display: block; - padding: 4px; - line-height: 20px; - border: 1px solid #ddd; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} - -a.thumbnail:hover, -a.thumbnail:focus { - border-color: #0088cc; - -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); - -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); - box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); -} - -.thumbnail > img { - display: block; - max-width: 100%; - margin-right: auto; - margin-left: auto; -} - -.thumbnail .caption { - padding: 9px; - color: #555555; -} - -.media, -.media-body { - overflow: hidden; - *overflow: visible; - zoom: 1; -} - -.media, -.media .media { - margin-top: 15px; -} - -.media:first-child { - margin-top: 0; -} - -.media-object { - display: block; -} - -.media-heading { - margin: 0 0 5px; -} - -.media > .pull-left { - margin-right: 10px; -} - -.media > .pull-right { - margin-left: 10px; -} - -.media-list { - margin-left: 0; - list-style: none; -} - -.label, -.badge { - display: inline-block; - padding: 2px 4px; - font-size: 11.844px; - font-weight: bold; - line-height: 14px; - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - white-space: nowrap; - vertical-align: baseline; - background-color: #999999; -} - -.label { - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} - -.badge { - padding-right: 9px; - padding-left: 9px; - -webkit-border-radius: 9px; - -moz-border-radius: 9px; - border-radius: 9px; -} - -.label:empty, -.badge:empty { - display: none; -} - -a.label:hover, -a.label:focus, -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} - -.label-important, -.badge-important { - background-color: #b94a48; -} - -.label-important[href], -.badge-important[href] { - background-color: #953b39; -} - -.label-warning, -.badge-warning { - background-color: #f89406; -} - -.label-warning[href], -.badge-warning[href] { - background-color: #c67605; -} - -.label-success, -.badge-success { - background-color: #468847; -} - -.label-success[href], -.badge-success[href] { - background-color: #356635; -} - -.label-info, -.badge-info { - background-color: #3a87ad; -} - -.label-info[href], -.badge-info[href] { - background-color: #2d6987; -} - -.label-inverse, -.badge-inverse { - background-color: #333333; -} - -.label-inverse[href], -.badge-inverse[href] { - background-color: #1a1a1a; -} - -.btn .label, -.btn .badge { - position: relative; - top: -1px; -} - -.btn-mini .label, -.btn-mini .badge { - top: 0; -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} - -@-moz-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} - -@-ms-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} - -@-o-keyframes progress-bar-stripes { - from { - background-position: 0 0; - } - to { - background-position: 40px 0; - } -} - -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} - -.progress { - height: 20px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f7f7f7; - background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); - background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); - background-repeat: repeat-x; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -} - -.progress .bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - color: #ffffff; - text-align: center; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #0e90d2; - background-image: -moz-linear-gradient(top, #149bdf, #0480be); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); - background-image: -webkit-linear-gradient(top, #149bdf, #0480be); - background-image: -o-linear-gradient(top, #149bdf, #0480be); - background-image: linear-gradient(to bottom, #149bdf, #0480be); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-transition: width 0.6s ease; - -moz-transition: width 0.6s ease; - -o-transition: width 0.6s ease; - transition: width 0.6s ease; -} - -.progress .bar + .bar { - -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); -} - -.progress-striped .bar { - background-color: #149bdf; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - -moz-background-size: 40px 40px; - -o-background-size: 40px 40px; - background-size: 40px 40px; -} - -.progress.active .bar { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -moz-animation: progress-bar-stripes 2s linear infinite; - -ms-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} - -.progress-danger .bar, -.progress .bar-danger { - background-color: #dd514c; - background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); - background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); - background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); - background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); -} - -.progress-danger.progress-striped .bar, -.progress-striped .bar-danger { - background-color: #ee5f5b; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-success .bar, -.progress .bar-success { - background-color: #5eb95e; - background-image: -moz-linear-gradient(top, #62c462, #57a957); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); - background-image: -webkit-linear-gradient(top, #62c462, #57a957); - background-image: -o-linear-gradient(top, #62c462, #57a957); - background-image: linear-gradient(to bottom, #62c462, #57a957); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); -} - -.progress-success.progress-striped .bar, -.progress-striped .bar-success { - background-color: #62c462; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-info .bar, -.progress .bar-info { - background-color: #4bb1cf; - background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); - background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); - background-image: -o-linear-gradient(top, #5bc0de, #339bb9); - background-image: linear-gradient(to bottom, #5bc0de, #339bb9); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); -} - -.progress-info.progress-striped .bar, -.progress-striped .bar-info { - background-color: #5bc0de; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-warning .bar, -.progress .bar-warning { - background-color: #faa732; - background-image: -moz-linear-gradient(top, #fbb450, #f89406); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); - background-image: -webkit-linear-gradient(top, #fbb450, #f89406); - background-image: -o-linear-gradient(top, #fbb450, #f89406); - background-image: linear-gradient(to bottom, #fbb450, #f89406); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); -} - -.progress-warning.progress-striped .bar, -.progress-striped .bar-warning { - background-color: #fbb450; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.accordion { - margin-bottom: 20px; -} - -.accordion-group { - margin-bottom: 2px; - border: 1px solid #e5e5e5; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.accordion-heading { - border-bottom: 0; -} - -.accordion-heading .accordion-toggle { - display: block; - padding: 8px 15px; -} - -.accordion-toggle { - cursor: pointer; -} - -.accordion-inner { - padding: 9px 15px; - border-top: 1px solid #e5e5e5; -} - -.carousel { - position: relative; - margin-bottom: 20px; - line-height: 1; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} - -.carousel-inner > .item { - position: relative; - display: none; - -webkit-transition: 0.6s ease-in-out left; - -moz-transition: 0.6s ease-in-out left; - -o-transition: 0.6s ease-in-out left; - transition: 0.6s ease-in-out left; -} - -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - line-height: 1; -} - -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} - -.carousel-inner > .active { - left: 0; -} - -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} - -.carousel-inner > .next { - left: 100%; -} - -.carousel-inner > .prev { - left: -100%; -} - -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} - -.carousel-inner > .active.left { - left: -100%; -} - -.carousel-inner > .active.right { - left: 100%; -} - -.carousel-control { - position: absolute; - top: 40%; - left: 15px; - width: 40px; - height: 40px; - margin-top: -20px; - font-size: 60px; - font-weight: 100; - line-height: 30px; - color: #ffffff; - text-align: center; - background: #222222; - border: 3px solid #ffffff; - -webkit-border-radius: 23px; - -moz-border-radius: 23px; - border-radius: 23px; - opacity: 0.5; - filter: alpha(opacity=50); -} - -.carousel-control.right { - right: 15px; - left: auto; -} - -.carousel-control:hover, -.carousel-control:focus { - color: #ffffff; - text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); -} - -.carousel-indicators { - position: absolute; - top: 15px; - right: 15px; - z-index: 5; - margin: 0; - list-style: none; -} - -.carousel-indicators li { - display: block; - float: left; - width: 10px; - height: 10px; - margin-left: 5px; - text-indent: -999px; - background-color: #ccc; - background-color: rgba(255, 255, 255, 0.25); - border-radius: 5px; -} - -.carousel-indicators .active { - background-color: #fff; -} - -.carousel-caption { - position: absolute; - right: 0; - bottom: 0; - left: 0; - padding: 15px; - background: #333333; - background: rgba(0, 0, 0, 0.75); -} - -.carousel-caption h4, -.carousel-caption p { - line-height: 20px; - color: #ffffff; -} - -.carousel-caption h4 { - margin: 0 0 5px; -} - -.carousel-caption p { - margin-bottom: 0; -} - -.hero-unit { - padding: 60px; - margin-bottom: 30px; - font-size: 18px; - font-weight: 200; - line-height: 30px; - color: inherit; - background-color: #eeeeee; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; -} - -.hero-unit h1 { - margin-bottom: 0; - font-size: 60px; - line-height: 1; - letter-spacing: -1px; - color: inherit; -} - -.hero-unit li { - line-height: 30px; -} - -.pull-right { - float: right; -} - -.pull-left { - float: left; -} - -.hide { - display: none; -} - -.show { - display: block; -} - -.invisible { - visibility: hidden; -} - -.affix { - position: fixed; -} diff --git a/test/bootstrap/css/bootstrap.min.css b/test/bootstrap/css/bootstrap.min.css deleted file mode 100644 index df96c86..0000000 --- a/test/bootstrap/css/bootstrap.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Bootstrap v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} diff --git a/test/bootstrap/img/glyphicons-halflings-white.png b/test/bootstrap/img/glyphicons-halflings-white.png deleted file mode 100644 index 3bf6484a29d8da269f9bc874b25493a45fae3bae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8777 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 B7G?kd diff --git a/test/bootstrap/img/glyphicons-halflings.png b/test/bootstrap/img/glyphicons-halflings.png deleted file mode 100644 index a9969993201f9cee63cf9f49217646347297b643..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12799 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 diff --git a/test/bootstrap/index.html b/test/bootstrap/index.html deleted file mode 100644 index 7c8d8cd..0000000 --- a/test/bootstrap/index.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - Test Bootstrap modal - - - - - - - - - - - - - -

- -

Test Bootstrap Modal

- -
Launch Modal 1 - - -​ - -Launch Modal 2 - -​ - -

- -
- -

- -
- -

- -
-
-
-
-
- -
- - - - - - diff --git a/test/bootstrap/js/bootstrap.js b/test/bootstrap/js/bootstrap.js deleted file mode 100644 index 44109f6..0000000 --- a/test/bootstrap/js/bootstrap.js +++ /dev/null @@ -1,2280 +0,0 @@ -/* =================================================== - * bootstrap-transition.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#transitions - * =================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) - * ======================================================= */ - - $(function () { - - $.support.transition = (function () { - - var transitionEnd = (function () { - - var el = document.createElement('bootstrap') - , transEndEventNames = { - 'WebkitTransition' : 'webkitTransitionEnd' - , 'MozTransition' : 'transitionend' - , 'OTransition' : 'oTransitionEnd otransitionend' - , 'transition' : 'transitionend' - } - , name - - for (name in transEndEventNames){ - if (el.style[name] !== undefined) { - return transEndEventNames[name] - } - } - - }()) - - return transitionEnd && { - end: transitionEnd - } - - })() - - }) - -}(window.jQuery);/* ========================================================== - * bootstrap-alert.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#alerts - * ========================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* ALERT CLASS DEFINITION - * ====================== */ - - var dismiss = '[data-dismiss="alert"]' - , Alert = function (el) { - $(el).on('click', dismiss, this.close) - } - - Alert.prototype.close = function (e) { - var $this = $(this) - , selector = $this.attr('data-target') - , $parent - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 - } - - $parent = $(selector) - - e && e.preventDefault() - - $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) - - $parent.trigger(e = $.Event('close')) - - if (e.isDefaultPrevented()) return - - $parent.removeClass('in') - - function removeElement() { - $parent - .trigger('closed') - .remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent.on($.support.transition.end, removeElement) : - removeElement() - } - - - /* ALERT PLUGIN DEFINITION - * ======================= */ - - var old = $.fn.alert - - $.fn.alert = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('alert') - if (!data) $this.data('alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - $.fn.alert.Constructor = Alert - - - /* ALERT NO CONFLICT - * ================= */ - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - /* ALERT DATA-API - * ============== */ - - $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) - -}(window.jQuery);/* ============================================================ - * bootstrap-button.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#buttons - * ============================================================ - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* BUTTON PUBLIC CLASS DEFINITION - * ============================== */ - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, $.fn.button.defaults, options) - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - , $el = this.$element - , data = $el.data() - , val = $el.is('input') ? 'val' : 'html' - - state = state + 'Text' - data.resetText || $el.data('resetText', $el[val]()) - - $el[val](data[state] || this.options[state]) - - // push to event loop to allow forms to submit - setTimeout(function () { - state == 'loadingText' ? - $el.addClass(d).attr(d, d) : - $el.removeClass(d).removeAttr(d) - }, 0) - } - - Button.prototype.toggle = function () { - var $parent = this.$element.closest('[data-toggle="buttons-radio"]') - - $parent && $parent - .find('.active') - .removeClass('active') - - this.$element.toggleClass('active') - } - - - /* BUTTON PLUGIN DEFINITION - * ======================== */ - - var old = $.fn.button - - $.fn.button = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('button') - , options = typeof option == 'object' && option - if (!data) $this.data('button', (data = new Button(this, options))) - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } - - $.fn.button.defaults = { - loadingText: 'loading...' - } - - $.fn.button.Constructor = Button - - - /* BUTTON NO CONFLICT - * ================== */ - - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } - - - /* BUTTON DATA-API - * =============== */ - - $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - $btn.button('toggle') - }) - -}(window.jQuery);/* ========================================================== - * bootstrap-carousel.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#carousel - * ========================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* CAROUSEL CLASS DEFINITION - * ========================= */ - - var Carousel = function (element, options) { - this.$element = $(element) - this.$indicators = this.$element.find('.carousel-indicators') - this.options = options - this.options.pause == 'hover' && this.$element - .on('mouseenter', $.proxy(this.pause, this)) - .on('mouseleave', $.proxy(this.cycle, this)) - } - - Carousel.prototype = { - - cycle: function (e) { - if (!e) this.paused = false - if (this.interval) clearInterval(this.interval); - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - return this - } - - , getActiveIndex: function () { - this.$active = this.$element.find('.item.active') - this.$items = this.$active.parent().children() - return this.$items.index(this.$active) - } - - , to: function (pos) { - var activeIndex = this.getActiveIndex() - , that = this - - if (pos > (this.$items.length - 1) || pos < 0) return - - if (this.sliding) { - return this.$element.one('slid', function () { - that.to(pos) - }) - } - - if (activeIndex == pos) { - return this.pause().cycle() - } - - return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) - } - - , pause: function (e) { - if (!e) this.paused = true - if (this.$element.find('.next, .prev').length && $.support.transition.end) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - clearInterval(this.interval) - this.interval = null - return this - } - - , next: function () { - if (this.sliding) return - return this.slide('next') - } - - , prev: function () { - if (this.sliding) return - return this.slide('prev') - } - - , slide: function (type, next) { - var $active = this.$element.find('.item.active') - , $next = next || $active[type]() - , isCycling = this.interval - , direction = type == 'next' ? 'left' : 'right' - , fallback = type == 'next' ? 'first' : 'last' - , that = this - , e - - this.sliding = true - - isCycling && this.pause() - - $next = $next.length ? $next : this.$element.find('.item')[fallback]() - - e = $.Event('slide', { - relatedTarget: $next[0] - , direction: direction - }) - - if ($next.hasClass('active')) return - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - this.$element.one('slid', function () { - var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) - $nextIndicator && $nextIndicator.addClass('active') - }) - } - - if ($.support.transition && this.$element.hasClass('slide')) { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return - $next.addClass(type) - $next[0].offsetWidth // force reflow - $active.addClass(direction) - $next.addClass(direction) - this.$element.one($.support.transition.end, function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { that.$element.trigger('slid') }, 0) - }) - } else { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger('slid') - } - - isCycling && this.cycle() - - return this - } - - } - - - /* CAROUSEL PLUGIN DEFINITION - * ========================== */ - - var old = $.fn.carousel - - $.fn.carousel = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('carousel') - , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) - , action = typeof option == 'string' ? option : options.slide - if (!data) $this.data('carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } - - $.fn.carousel.defaults = { - interval: 5000 - , pause: 'hover' - } - - $.fn.carousel.Constructor = Carousel - - - /* CAROUSEL NO CONFLICT - * ==================== */ - - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } - - /* CAROUSEL DATA-API - * ================= */ - - $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { - var $this = $(this), href - , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 - , options = $.extend({}, $target.data(), $this.data()) - , slideIndex - - $target.carousel(options) - - if (slideIndex = $this.attr('data-slide-to')) { - $target.data('carousel').pause().to(slideIndex).cycle() - } - - e.preventDefault() - }) - -}(window.jQuery);/* ============================================================= - * bootstrap-collapse.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#collapse - * ============================================================= - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* COLLAPSE PUBLIC CLASS DEFINITION - * ================================ */ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, $.fn.collapse.defaults, options) - - if (this.options.parent) { - this.$parent = $(this.options.parent) - } - - this.options.toggle && this.toggle() - } - - Collapse.prototype = { - - constructor: Collapse - - , dimension: function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - , show: function () { - var dimension - , scroll - , actives - , hasData - - if (this.transitioning || this.$element.hasClass('in')) return - - dimension = this.dimension() - scroll = $.camelCase(['scroll', dimension].join('-')) - actives = this.$parent && this.$parent.find('> .accordion-group > .in') - - if (actives && actives.length) { - hasData = actives.data('collapse') - if (hasData && hasData.transitioning) return - actives.collapse('hide') - hasData || actives.data('collapse', null) - } - - this.$element[dimension](0) - this.transition('addClass', $.Event('show'), 'shown') - $.support.transition && this.$element[dimension](this.$element[0][scroll]) - } - - , hide: function () { - var dimension - if (this.transitioning || !this.$element.hasClass('in')) return - dimension = this.dimension() - this.reset(this.$element[dimension]()) - this.transition('removeClass', $.Event('hide'), 'hidden') - this.$element[dimension](0) - } - - , reset: function (size) { - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - [dimension](size || 'auto') - [0].offsetWidth - - this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') - - return this - } - - , transition: function (method, startEvent, completeEvent) { - var that = this - , complete = function () { - if (startEvent.type == 'show') that.reset() - that.transitioning = 0 - that.$element.trigger(completeEvent) - } - - this.$element.trigger(startEvent) - - if (startEvent.isDefaultPrevented()) return - - this.transitioning = 1 - - this.$element[method]('in') - - $.support.transition && this.$element.hasClass('collapse') ? - this.$element.one($.support.transition.end, complete) : - complete() - } - - , toggle: function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - } - - - /* COLLAPSE PLUGIN DEFINITION - * ========================== */ - - var old = $.fn.collapse - - $.fn.collapse = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('collapse') - , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option) - if (!data) $this.data('collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - $.fn.collapse.defaults = { - toggle: true - } - - $.fn.collapse.Constructor = Collapse - - - /* COLLAPSE NO CONFLICT - * ==================== */ - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - /* COLLAPSE DATA-API - * ================= */ - - $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { - var $this = $(this), href - , target = $this.attr('data-target') - || e.preventDefault() - || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 - , option = $(target).data('collapse') ? 'toggle' : $this.data() - $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') - $(target).collapse(option) - }) - -}(window.jQuery);/* ============================================================ - * bootstrap-dropdown.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#dropdowns - * ============================================================ - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* DROPDOWN CLASS DEFINITION - * ========================= */ - - var toggle = '[data-toggle=dropdown]' - , Dropdown = function (element) { - var $el = $(element).on('click.dropdown.data-api', this.toggle) - $('html').on('click.dropdown.data-api', function () { - $el.parent().removeClass('open') - }) - } - - Dropdown.prototype = { - - constructor: Dropdown - - , toggle: function (e) { - var $this = $(this) - , $parent - , isActive - - if ($this.is('.disabled, :disabled')) return - - $parent = getParent($this) - - isActive = $parent.hasClass('open') - - clearMenus() - - if (!isActive) { - if ('ontouchstart' in document.documentElement) { - // if mobile we we use a backdrop because click events don't delegate - $('