{"version":3,"file":"js/9797-2f45d75941d6493289ac.js","mappings":"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","sources":["webpack://freiwillig/./node_modules/europa/dist/europa.js","webpack://freiwillig/./node_modules/formBuilder/dist/form-render.min.js","webpack://freiwillig/./node_modules/inscrybmde/src/js/inscrybmde.js","webpack://freiwillig/./node_modules/highlight.js/lib/index.js"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.Europa = factory());\n}(this, (function () { 'use strict';\n\n /*\n * Copyright (C) 2017 Alasdair Mercer, !ninja\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n /**\n * A bare-bones constructor for surrogate prototype swapping.\n *\n * @private\n * @constructor\n */\n var Constructor = /* istanbul ignore next */ function() {};\n /**\n * A reference to Object.prototype.hasOwnProperty.\n *\n * @private\n * @type {Function}\n */\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n /**\n * A reference to Array.prototype.slice.\n *\n * @private\n * @type {Function}\n */\n var slice = Array.prototype.slice;\n\n /**\n * Creates an object which inherits the given prototype.\n *\n * Optionally, the created object can be extended further with the specified properties.\n *\n * @param {Object} prototype - the prototype to be inherited by the created object\n * @param {Object} [properties] - the optional properties to be extended by the created object\n * @return {Object} The newly created object.\n * @private\n */\n function createObject(prototype, properties) {\n var result;\n /* istanbul ignore next */\n if (typeof Object.create === 'function') {\n result = Object.create(prototype);\n } else {\n Constructor.prototype = prototype;\n result = new Constructor();\n Constructor.prototype = null;\n }\n\n if (properties) {\n extendObject(true, result, properties);\n }\n\n return result;\n }\n\n /**\n * Extends the constructor to which this method is associated with the prototype and/or\n * statics provided.\n *\n * If name is provided, it will be used as the class name and can be accessed via a special\n * class_ property on the child constructor, otherwise the class name of the super constructor will be used\n * instead. The class name may also be used string representation for instances of the child constructor (via\n * toString), but this is not applicable to the lite version of Nevis.\n *\n * If constructor is provided, it will be used as the constructor for the child, otherwise a simple\n * constructor which only calls the super constructor will be used instead.\n *\n * The super constructor can be accessed via a special super_ property on the child constructor.\n *\n * @param {string} [name=this.class_] - the class name to be used for the child constructor\n * @param {Function} [constructor] - the constructor for the child\n * @param {Object} [prototype] - the prototype properties to be defined for the child\n * @param {Object} [statics] - the static properties to be defined for the child\n * @return {Function} The child constructor provided or the one created if none was given.\n * @public\n */\n function extend(name, constructor, prototype, statics) {\n var superConstructor = this;\n\n if (typeof name !== 'string') {\n statics = prototype;\n prototype = constructor;\n constructor = name;\n name = null;\n }\n\n if (typeof constructor !== 'function') {\n statics = prototype;\n prototype = constructor;\n constructor = function() {\n return superConstructor.apply(this, arguments);\n };\n }\n\n extendObject(false, constructor, superConstructor, statics);\n\n constructor.prototype = createObject(superConstructor.prototype, prototype);\n constructor.prototype.constructor = constructor;\n\n constructor.class_ = name || superConstructor.class_;\n constructor.super_ = superConstructor;\n\n return constructor;\n }\n\n /**\n * Extends the specified target object with the properties in each of the sources provided.\n *\n * if any source is null it will be ignored.\n *\n * @param {boolean} own - true to only copy own properties from sources onto\n * target; otherwise false\n * @param {Object} target - the target object which should be extended\n * @param {...Object} [sources] - the source objects whose properties are to be copied onto target\n * @return {void}\n * @private\n */\n function extendObject(own, target, sources) {\n sources = slice.call(arguments, 2);\n\n var property;\n var source;\n\n for (var i = 0, length = sources.length; i < length; i++) {\n source = sources[i];\n\n for (property in source) {\n if (!own || hasOwnProperty.call(source, property)) {\n target[property] = source[property];\n }\n }\n }\n }\n\n var extend_1 = extend;\n\n /**\n * The base class from which all others should extend.\n *\n * @public\n * @constructor\n */\n function Nevis() {}\n Nevis.class_ = 'Nevis';\n Nevis.super_ = Object;\n\n /**\n * Extends the constructor to which this method is associated with the prototype and/or\n * statics provided.\n *\n * If name is provided, it will be used as the class name and can be accessed via a special\n * class_ property on the child constructor, otherwise the class name of the super constructor will be used\n * instead. The class name may also be used string representation for instances of the child constructor (via\n * toString), but this is not applicable to the lite version of Nevis.\n *\n * If constructor is provided, it will be used as the constructor for the child, otherwise a simple\n * constructor which only calls the super constructor will be used instead.\n *\n * The super constructor can be accessed via a special super_ property on the child constructor.\n *\n * @param {string} [name=this.class_] - the class name to be used for the child constructor\n * @param {Function} [constructor] - the constructor for the child\n * @param {Object} [prototype] - the prototype properties to be defined for the child\n * @param {Object} [statics] - the static properties to be defined for the child\n * @return {Function} The child constructor provided or the one created if none was given.\n * @public\n * @static\n * @memberof Nevis\n */\n Nevis.extend = extend_1;\n\n var nevis = Nevis;\n\n var lite = nevis;\n\n /**\n * Contains utility methods that are useful throughout the library.\n *\n * @public\n * @class\n * @extends Nevis\n */\n var Utilities = lite.extend(null, {\n\n /**\n * Iterates over own (not inherited) enumerable properties on the specified object.\n *\n * Nothing happens if object is null.\n *\n * @param {Object} object - the object whose own properties are to be iterated over\n * @param {Utilities~ForOwnCallback} callback - the function to be called with the value and key for each own property\n * on object\n * @param {Object} [context] - the value to use this when executing callback\n * @return {void}\n * @public\n * @static\n * @memberof Utilities\n */\n forOwn: function(object, callback, context) {\n if (!object) {\n return;\n }\n\n for (var key in object) {\n if (Utilities.hasOwn(object, key)) {\n callback.call(context, object[key], key, object);\n }\n }\n },\n\n /**\n * Returns whether the specified object has a property with the specified name as an own\n * (not inherited) property.\n *\n * @param {Object} object - the object on which the property is to be checked\n * @param {string} name - the name of the property to be checked\n * @return {boolean} true if object has an own property with name.\n * @public\n * @static\n * @memberof Utilities\n */\n hasOwn: function(object, name) {\n return Object.prototype.hasOwnProperty.call(object, name);\n },\n\n /**\n * Left pads the string provided with the given padding string for the specified number of\n * times.\n *\n * @param {string} [string=\"\"] - the string to be padded\n * @param {number} [times=0] - the number of times to pad string\n * @param {string} [padding=\" \"] - the padding string\n * @return {string} The padded string.\n * @public\n * @static\n * @memberof Utilities\n */\n leftPad: function(string, times, padding) {\n if (string == null) {\n string = '';\n }\n if (times == null) {\n times = 0;\n }\n if (padding == null) {\n padding = ' ';\n }\n if (!padding) {\n return string;\n }\n\n for (var i = 0; i < times; i++) {\n string = padding + string;\n }\n\n return string;\n }\n\n });\n\n var Utilities_1 = Utilities;\n\n /**\n * Called for each own enumerable property on object.\n *\n * @callback Utilities~ForOwnCallback\n * @param {*} value - the value of the property\n * @param {string} key - the name of the property\n * @param {Object} object - the object to which the property belongs\n * @return {void}\n */\n\n /**\n * Contains contextual information for a single conversion process.\n *\n * @param {Europa} europa - the {@link Europa} instance responsible for this conversion\n * @param {Europa~Options} options - the options to be used\n * @public\n * @class\n * @extends Nevis\n */\n var Conversion = lite.extend(function(europa, options) {\n /**\n * The {@link Europa} instance responsible for this {@link Conversion}.\n *\n * @public\n * @type {Europa}\n * @memberof Conversion#\n */\n this.europa = europa;\n\n /**\n * The options for this {@link Conversion}.\n *\n * @public\n * @type {Europa~Options}\n * @memberof Conversion#\n */\n this.options = options;\n\n /**\n * Whether the buffer is at the start of the current line.\n *\n * @public\n * @type {boolean}\n * @memberof Conversion#\n */\n this.atLeft = true;\n\n /**\n * Whether any white space should be removed from the start of the next output.\n *\n * @public\n * @type {boolean}\n * @memberof Conversion#\n */\n this.atNoWhiteSpace = true;\n\n /**\n * Whether the buffer is at the start of a paragraph.\n *\n * @public\n * @type {boolean}\n * @memberof Conversion#\n */\n this.atParagraph = true;\n\n /**\n * The conversion output buffer to which the Markdown will be written.\n *\n * @public\n * @type {string}\n * @memberof Conversion#\n */\n this.buffer = '';\n\n /**\n * The context for this {@link Conversion}.\n *\n * @public\n * @type {Object.}\n * @memberof Conversion#\n */\n this.context = {};\n\n /**\n * Whether the buffer is currently within a code block.\n *\n * @public\n * @type {boolean}\n * @memberof Conversion#\n */\n this.inCodeBlock = false;\n\n /**\n * Whether the buffer is currently within an ordered list.\n *\n * @public\n * @type {boolean}\n * @memberof Conversion#\n */\n this.inOrderedList = false;\n\n /**\n * Whether the buffer is currently within a preformatted block.\n *\n * @public\n * @type {boolean}\n * @memberof Conversion#\n */\n this.inPreformattedBlock = false;\n\n /**\n * The last string to be output next to the buffer.\n *\n * @public\n * @type {string}\n * @memberof Conversion#\n */\n this.last = null;\n\n /**\n * The start of the current line.\n *\n * @public\n * @type {string}\n * @memberof Conversion#\n */\n this.left = '\\n';\n\n /**\n * The depth of nested lists.\n *\n * @public\n * @type {number}\n * @memberof Conversion#\n */\n this.listDepth = 0;\n\n /**\n * The one-based index for the current list item within the current list.\n *\n * @public\n * @type {number}\n * @memberof Conversion#\n */\n this.listIndex = 1;\n\n this._document = europa.document;\n this._element = null;\n this._tagName = null;\n this._window = europa.window;\n }, {\n\n /**\n * Appends the last output string to the buffer and then queues the specified string to be output.\n *\n * @param {string} string - the string to be appended\n * @return {Conversion} A reference to this {@link Conversion} for chaining purposes.\n * @public\n * @memberof Conversion#\n */\n append: function(string) {\n if (this.last != null) {\n this.buffer += this.last;\n }\n\n this.last = string;\n\n return this;\n },\n\n /**\n * Appends a paragraph to the output buffer.\n *\n * @return {Conversion} A reference to this {@link Conversion} for chaining purposes.\n * @public\n * @memberof Conversion#\n */\n appendParagraph: function() {\n if (this.atParagraph) {\n return this;\n }\n\n if (!this.atLeft) {\n this.append(this.left);\n\n this.atLeft = true;\n }\n\n this.append(this.left);\n\n this.atNoWhiteSpace = true;\n this.atParagraph = true;\n\n return this;\n },\n\n /**\n * Outputs the specified string to the buffer.\n *\n * Optionally, string can be \"cleaned\" before being output. Doing so will replace any certain special\n * characters as well as some white space.\n *\n * @param {string} string - the string to be output\n * @param {boolean} [clean=false] - true to clean string; otherwise false\n * @return {Conversion} A reference to this {@link Conversion} for chaining purposes.\n * @public\n * @memberof Conversion#\n */\n output: function(string, clean) {\n if (!string) {\n return this;\n }\n\n string = string.replace(/\\r\\n/g, '\\n');\n\n if (clean) {\n string = string.replace(/\\n([ \\t]*\\n)+/g, '\\n')\n .replace(/\\n[ \\t]+/g, '\\n')\n .replace(/[ \\t]+/g, ' ');\n\n Utilities_1.forOwn(Conversion.replacements, function(value, key) {\n string = string.replace(Conversion.replacementsRegExp[key], value);\n });\n }\n\n if (!this.inPreformattedBlock) {\n if (this.atNoWhiteSpace) {\n string = string.replace(/^[ \\t\\n]+/, '');\n } else if (/^[ \\t]*\\n/.test(string)) {\n string = string.replace(/^[ \\t\\n]+/, '\\n');\n } else {\n string = string.replace(/^[ \\t]+/, ' ');\n }\n }\n\n if (!string) {\n return this;\n }\n\n this.atLeft = /\\n$/.test(string);\n this.atNoWhiteSpace = /[ \\t\\n]$/.test(string);\n this.atParagraph = /\\n{2}$/.test(string);\n\n return this.append(string.replace(/\\n/g, this.left));\n },\n\n /**\n * Replaces the start of the current line with the string provided.\n *\n * @param {string} string - the string to replace the start of the current line\n * @return {Conversion} A reference to this {@link Conversion} for chaining purposes.\n * @public\n * @memberof Conversion#\n */\n replaceLeft: function(string) {\n if (!this.atLeft) {\n this.append(this.left.replace(/[ ]{2,4}$/, string));\n\n this.atLeft = true;\n this.atNoWhiteSpace = true;\n this.atParagraph = true;\n } else if (this.last) {\n this.last = this.last.replace(/[ ]{2,4}$/, string);\n }\n\n return this;\n }\n\n }, {\n\n /**\n * A map of special characters and their replacements.\n *\n * @public\n * @static\n * @type {Object.}\n * @memberof Conversion\n */\n replacements: {\n '\\\\\\\\': '\\\\\\\\',\n '\\\\[': '\\\\[',\n '\\\\]': '\\\\]',\n '>': '\\\\>',\n '_': '\\\\_',\n '\\\\*': '\\\\*',\n '`': '\\\\`',\n '#': '\\\\#',\n '([0-9])\\\\.(\\\\s|$)': '$1\\\\.$2',\n '\\u00a9': '(c)',\n '\\u00ae': '(r)',\n '\\u2122': '(tm)',\n '\\u00a0': ' ',\n '\\u00b7': '\\\\*',\n '\\u2002': ' ',\n '\\u2003': ' ',\n '\\u2009': ' ',\n '\\u2018': '\\'',\n '\\u2019': '\\'',\n '\\u201c': '\"',\n '\\u201d': '\"',\n '\\u2026': '...',\n '\\u2013': '--',\n '\\u2014': '---'\n },\n\n /**\n * A map of special characters and the regular expression used to identify them.\n *\n * @public\n * @static\n * @type {Object.}\n * @memberof Conversion\n */\n replacementsRegExp: {}\n\n });\n\n Object.defineProperties(Conversion.prototype, {\n\n document: {\n /**\n * Returns the current document for this {@link Conversion}.\n *\n * This may not be the same document as is associated with the {@link Europa} instance as this document may be\n * nested (e.g. a frame).\n *\n * @return {Document} The current document.\n * @public\n * @memberof Conversion#\n * @alias document\n */\n get: function() {\n return this._document;\n }\n },\n\n element: {\n /**\n * Returns the current element for this {@link Conversion}.\n *\n * @return {Element} The current element.\n * @public\n * @memberof Conversion#\n * @alias element\n */\n get: function() {\n return this._element;\n },\n\n /**\n * Sets the current element for this {@link Conversion} to element.\n *\n * @param {Element} element - the current element to be set\n * @return {void}\n * @public\n * @memberof Conversion#\n * @alias element\n */\n set: function(element) {\n this._element = element;\n this._tagName = element && element.tagName ? element.tagName.toLowerCase() : null;\n }\n },\n\n tagName: {\n /**\n * Returns the name of the tag for the current element for this {@link Conversion}.\n *\n * The tag name will always be in lower case, when available.\n *\n * @return {string} The current element's tag name.\n * @public\n * @memberof Conversion#\n * @alias tagName\n */\n get: function() {\n return this._tagName;\n }\n },\n\n window: {\n /**\n * Returns the current window for this {@link Conversion}.\n *\n * This may not be the same window as is associated with the {@link Europa} instance as this window may be nested\n * (e.g. a frame).\n *\n * @return {Window} The current window.\n * @public\n * @memberof Conversion#\n * @alias window\n */\n get: function() {\n return this._window;\n },\n\n /**\n * Sets the current window for this {@link Conversion} to window.\n *\n * This may not be the same window as is associated with the {@link Europa} instance as this window may be nested\n * (e.g. a frame).\n *\n * @param {Window} window - the window to be set\n * @return {void}\n * @public\n * @memberof Conversion#\n * @alias window\n */\n set: function(window) {\n this._window = window;\n this._document = window ? window.document : null;\n }\n }\n\n });\n\n Utilities_1.forOwn(Conversion.replacements, function(value, key) {\n Conversion.replacementsRegExp[key] = new RegExp(key, 'g');\n });\n\n var Conversion_1 = Conversion;\n\n /**\n * Contains utility methods that are useful when dealing with the DOM.\n *\n * @public\n * @class\n * @extends Nevis\n */\n var DOMUtilities = lite.extend(null, {\n\n /**\n * Checks whether the specified element is currently visible using the window provided.\n *\n * This is not a very sophisticated check and could easily be mistaken, but it should catch a lot of the most simple\n * cases.\n *\n * @param {Element} element - the element whose visibility is to be checked\n * @param {Window} window - the window to be used\n * @return {boolean} true if element is visible; otherwise false.\n * @public\n * @static\n * @memberof DOMUtilities\n */\n isVisible: function(element, window) {\n var style = window.getComputedStyle(element);\n\n return style.getPropertyValue('display') !== 'none' && style.getPropertyValue('visibility') !== 'hidden';\n }\n\n });\n\n var DOMUtilities_1 = DOMUtilities;\n\n /**\n * Defines an available option.\n *\n * If defaultValue is a function, it will be called if/when needed and the return value will be used as the\n * default value. If the default value is to be a function itself, then defaultValue must return that\n * function.\n *\n * @param {string} name - the name to be used\n * @param {*} [defaultValue] - the default value to be used\n * @public\n * @class\n * @extends Nevis\n */\n var Option = lite.extend(function(name, defaultValue) {\n /**\n * The name for this {@link Option}.\n *\n * @public\n * @type {string}\n * @memberof Option#\n */\n this.name = name;\n\n this._defaultValue = defaultValue;\n });\n\n Object.defineProperty(Option.prototype, 'defaultValue', {\n /**\n * Returns the default value for this {@link Option}.\n *\n * @return {*} The default value.\n * @public\n * @memberof Option#\n * @alias defaultValue\n */\n get: function() {\n var defaultValue = this._defaultValue;\n\n return typeof defaultValue === 'function' ? defaultValue.call(this) : defaultValue;\n }\n });\n\n var Option_1 = Option;\n\n /**\n * Manages multiple {@link Option} instances that are intended to be used by multiple implementations/instances.\n *\n * @param {Option[]} options - the options to be used\n * @public\n * @class\n * @extends Nevis\n */\n var OptionParser = lite.extend(function(options) {\n /**\n * The available options for this {@link OptionParser}.\n *\n * @public\n * @type {Option[]}\n * @memberof OptionParser#\n */\n this.options = options;\n }, {\n\n /**\n * Returns whether an option with the specified name is available.\n *\n * @param {string} name - the name of the {@link Option} whose existence is to be checked\n * @return {boolean} true if an {@link Option} exists with name; otherwise\n * false.\n * @public\n * @memberof OptionParser#\n */\n exists: function(name) {\n return this.options.some(function(option) {\n return option.name === name;\n });\n },\n\n /**\n * Parses the specified options, extracting only properties that match valid options and applying default\n * values where required.\n *\n * @param {Object} [options] - the options to be parsed\n * @return {Object.} The parsed options.\n * @public\n * @memberof OptionParser#\n */\n parse: function(options) {\n if (!options) {\n options = {};\n }\n\n var result = {};\n\n this.options.forEach(function(option) {\n var name = option.name;\n var value = options[name] != null ? options[name] : option.defaultValue;\n\n result[name] = value;\n });\n\n return result;\n }\n\n });\n\n var OptionParser_1 = OptionParser;\n\n /**\n * A plugin that can tap into multiple parts in the conversion process while being specific to only a sub-set of tags.\n *\n * @public\n * @class\n * @extends Nevis\n */\n var Plugin = lite.extend({\n\n /**\n * Called after {@link Plugin#convert} and only once all children elements have been converted as well,\n * provided they weren't skipped, and intended for tidying up after the conversion.\n *\n * context can be used to receive any state for a single element conversion from {@link Plugin#before}\n * and {@link Plugin#convert}.\n *\n * @param {Conversion} conversion - the current {@link Conversion}\n * @param {Object.} context - the current context for this {@link Plugin}\n * @return {void}\n * @public\n * @memberof Plugin#\n */\n after: function(conversion, context) {},\n\n /**\n * Called before any elements are converted and intended to setup this {@link Plugin} initially.\n *\n * @param {Conversion} conversion - the current {@link Conversion}\n * @return {void}\n * @public\n * @memberof Plugin#\n */\n afterAll: function(conversion) {},\n\n /**\n * Called immediately before {@link Plugin#convert} and intended for preparing this {@link Plugin} for conversion.\n *\n * context can be used to pass any state for a single element conversion to {@link Plugin#convert} and\n * then to {@link Plugin#after}.\n *\n * @param {Conversion} conversion - the current {@link Conversion}\n * @param {Object.} context - the current context for this {@link Plugin}\n * @return {void}\n * @public\n * @memberof Plugin#\n */\n before: function(conversion, context) {},\n\n /**\n * Called after all elements have been converted and intended to completing any steps for this {@link Plugin}.\n *\n * @param {Conversion} conversion - the current {@link Conversion}\n * @return {void}\n * @public\n * @memberof Plugin#\n */\n beforeAll: function(conversion) {},\n\n /**\n * Converts the current element within the specified conversion which can be used to provide control over\n * the conversion and returns whether the children of the element should be converted.\n *\n * context can be used to pass any state for a single element conversion from {@link Plugin#before} to\n * {@link Plugin#after}.\n *\n * @param {Conversion} conversion - the current {@link Conversion}\n * @param {Object.} context - the current context for this {@link Plugin}\n * @return {boolean} true if the children of the current element should be converted; otherwise\n * false.\n * @public\n * @memberof Plugin#\n */\n convert: function(conversion, context) {\n return true;\n },\n\n /**\n * Returns the names of tags with which this {@link Plugin} should be registered to handle.\n *\n * @return {string[]} The names of supported tags.\n * @public\n * @memberof Plugin#\n */\n getTagNames: function() {\n return [];\n }\n\n });\n\n var Plugin_1 = Plugin;\n\n /**\n * A basic manager for {@link Service} implementations that are mapped to simple names.\n *\n * @public\n * @class\n * @extends Nevis\n */\n var ServiceManager = lite.extend(function() {\n this._services = {};\n }, {\n\n /**\n * Returns the {@link Service} being managed with the specified name.\n *\n * @param {string} name - the name of the {@link Service} to be returned\n * @return {Service} The {@link Service} is being managed with name.\n * @throws {Error} If no {@link Service} is being managed with name.\n * @public\n * @memberof ServiceManager#\n */\n getService: function(name) {\n var service = this._services[name];\n if (!service) {\n throw new Error('Service is not being managed with name: ' + name);\n }\n\n return service;\n },\n\n /**\n * Sets the {@link Service} implementation to be managed for the specified name to the\n * service provided.\n *\n * @param {string} name - the name of the {@link Service} to be managed with name\n * @param {Service} service - the {@link Service} implementation to be managed\n * @return {void}\n * @throws {Error} If a {@link Service} is already being managed with the same name.\n * @public\n * @memberof ServiceManager#\n */\n setService: function(name, service) {\n if (this._services[name]) {\n throw new Error('Service is already managed with name: ' + name);\n }\n\n if (service) {\n this._services[name] = service;\n }\n }\n\n });\n\n var ServiceManager_1 = ServiceManager;\n\n var plugins = {};\n var serviceManager = new ServiceManager_1();\n\n /**\n * Enables configuration of a HTML to Markdown converter that supports HTML strings and DOM elements.\n *\n * @param {Europa~Options} [options] - the options to be used\n * @public\n * @class\n * @extends Nevis\n */\n var Europa = lite.extend(function(options) {\n this._options = new OptionParser_1([\n new Option_1('absolute', false),\n new Option_1('baseUri', function() {\n return serviceManager.getService('window').getDefaultBaseUri();\n }),\n new Option_1('inline', false)\n ])\n .parse(options);\n this._window = null;\n }, {\n\n /**\n * Converts the specified html into Markdown based on the options configured for this {@link Europa}\n * instance.\n *\n * html can either be an HTML string or a DOM element whose HTML contents are to be converted into\n * Markdown.\n *\n * @param {Element|string} html - the HTML (or element whose inner HTML is) to be converted into Markdown\n * @return {string} The Markdown converted from html.\n * @public\n * @memberof Europa#\n */\n convert: function(html) {\n if (!html) {\n return '';\n }\n\n var document = this.document;\n var root;\n\n if (typeof html === 'string') {\n root = document.createElement('div');\n root.innerHTML = html;\n } else {\n root = html;\n }\n\n var conversion = new Conversion_1(this, this._options);\n var wrapper;\n\n if (!document.contains(root)) {\n wrapper = document.createElement('div');\n wrapper.style.display = 'none';\n wrapper.appendChild(root);\n\n document.body.appendChild(wrapper);\n }\n\n try {\n Utilities_1.forOwn(plugins, function(plugin) {\n plugin.beforeAll(conversion);\n });\n\n this.convertElement(root, conversion);\n\n Utilities_1.forOwn(plugins, function(plugin) {\n plugin.afterAll(conversion);\n });\n } finally {\n if (wrapper) {\n document.body.removeChild(wrapper);\n\n wrapper.removeChild(root);\n }\n }\n\n return conversion.append('').buffer.trim();\n },\n\n /**\n * Converts the specified element and it's children into Markdown using the conversion\n * provided.\n *\n * Nothing happens if element is null or is invisible (simplified detection used).\n *\n * @param {Element} element - the element (along well as it's children) to be converted into Markdown\n * @param {Conversion} conversion - the current {@link Conversion}\n * @return {void}\n * @public\n * @memberof Europa#\n */\n convertElement: function(element, conversion) {\n if (!element) {\n return;\n }\n\n var convertChildren = false;\n var window = this.window;\n var context, i, plugin, value;\n\n if (element.nodeType === window.Node.ELEMENT_NODE) {\n if (!DOMUtilities_1.isVisible(element, window)) {\n return;\n }\n\n conversion.element = element;\n\n context = {};\n plugin = plugins[conversion.tagName];\n convertChildren = true;\n\n if (plugin) {\n plugin.before(conversion, context);\n convertChildren = plugin.convert(conversion, context);\n }\n\n if (convertChildren) {\n for (i = 0; i < element.childNodes.length; i++) {\n this.convertElement(element.childNodes[i], conversion);\n }\n }\n\n if (plugin) {\n plugin.after(conversion, context);\n }\n } else if (element.nodeType === window.Node.TEXT_NODE) {\n value = element.nodeValue || '';\n\n if (conversion.inPreformattedBlock) {\n conversion.output(value);\n } else if (conversion.inCodeBlock) {\n conversion.output(value.replace(/`/g, '\\\\`'));\n } else {\n conversion.output(value, true);\n }\n }\n },\n\n /**\n * Releases the window used by this {@link Europa} instance.\n *\n * This allows closeable {@link WindowService} implementations to close the window and free up resources. However,\n * this instance can and will simply retrieve another window from the {@link WindowService} the next time it is\n * required (i.e. {@link Europa#convert} is called).\n *\n * @return {Europa} A reference to this {@link Europa} for chaining purposes.\n * @public\n * @memberof Europa#\n */\n release: function() {\n if (this._window) {\n serviceManager.getService('window').closeWindow(this._window);\n this._window = null;\n }\n\n return this;\n }\n\n }, {\n\n /**\n * A convient reference to {@link Plugin} exposed on {@link Europa} for cases where Europa Core is bundled.\n *\n * @public\n * @static\n * @type {Function}\n * @memberof Europa\n */\n Plugin: Plugin_1,\n\n /**\n * Registers the specified plugin to be used by all {@link Europa} instances.\n *\n * If plugin declares support for a tag name which already has a {@link Plugin} registered for it,\n * plugin will replace the previously registered plugin, but only for conflicting tag names.\n *\n * @param {Plugin} plugin - the {@link Plugin} to be registered\n * @return {void}\n * @public\n * @static\n * @memberof Europa\n */\n register: function(plugin) {\n plugin.getTagNames().forEach(function(tag) {\n plugins[tag] = plugin;\n });\n },\n\n /**\n * Configures the service provided to be used by all {@link Europa} instances.\n *\n * @param {Service} service - the {@link Service} to be configured\n * @return {void}\n * @throws {Error} If a {@link Service} has already been configured with the same name.\n * @public\n * @static\n * @memberof Europa\n */\n use: function(service) {\n serviceManager.setService(service.getName(), service);\n }\n\n });\n\n Object.defineProperties(Europa.prototype, {\n\n document: {\n /**\n * Returns the document to be used for HTML to Markdown conversion by this {@link Europa} instance.\n *\n * @return {Document} The document.\n * @public\n * @memberof Europa#\n * @alias document\n */\n get: function() {\n return this.window.document;\n }\n },\n\n window: {\n /**\n * Returns the window to be used for HTML to Markdown conversion by this {@link Europa} instance.\n *\n * @return {Window} The window.\n * @public\n * @memberof Europa#\n * @alias window\n */\n get: function() {\n if (!this._window) {\n this._window = serviceManager.getService('window').getWindow(this._options.baseUri);\n }\n\n return this._window;\n }\n }\n\n });\n\n var Europa_1$2 = Europa;\n\n /**\n * The options used by {@link Europa}.\n *\n * @typedef {Object} Europa~Options\n * @property {boolean} [absolute=false] - Whether absolute URLS should be used for anchors/images.\n * @property {string} [baseUri] - The base URI for the window. This is ignored in environments where the base URI cannot\n * be changed.\n * @property {boolean} [inline=false] - Whether anchor/image URLs are to be inserted inline.\n */\n\n /**\n * A {@link Plugin} which extracts the URL from an anchor. Anchors without an href are treated as plain\n * text.\n *\n * If the absolute option is enabled, then the URL extracted from the anchor will be absolute. Otherwise,\n * the URL will be exactly as it is in the href attribute.\n *\n * If the inline option is enabled, then the URL (and any title on the anchor) will be\n * inserted immediately after the anchor contents (e.g. [foo](/bar)). Otherwise, all unique URL and title\n * combinations will be indexed (e.g. [foo][anchor0]) and the references will be output at the very end.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var AnchorPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n if (context.value != null) {\n conversion.output(']' + context.value);\n }\n },\n\n /**\n * @override\n */\n afterAll: function(conversion) {\n var anchors = conversion.context.anchors;\n if (!anchors.length) {\n return;\n }\n\n conversion.append('\\n\\n');\n\n for (var i = 0; i < anchors.length; i++) {\n conversion.append('[anchor' + i + ']: ' + anchors[i] + '\\n');\n }\n },\n\n /**\n * @override\n */\n beforeAll: function(conversion) {\n conversion.context.anchorMap = {};\n conversion.context.anchors = [];\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n var element = conversion.element;\n var options = conversion.options;\n var href = options.absolute ? element.href : element.getAttribute('href');\n if (!href) {\n return true;\n }\n\n var anchorMap = conversion.context.anchorMap;\n var anchors = conversion.context.anchors;\n var title = element.getAttribute('title');\n var value = title ? href + ' \"' + title + '\"' : href;\n var index;\n\n if (options.inline) {\n context.value = '(' + value + ')';\n } else {\n index = anchorMap[value];\n if (index == null) {\n index = anchors.push(value) - 1;\n\n anchorMap[value] = index;\n }\n\n context.value = '[anchor' + index + ']';\n }\n\n conversion.output('[');\n\n conversion.atNoWhiteSpace = true;\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'a' ];\n }\n\n });\n\n Europa_1$2.register(new AnchorPlugin());\n\n /**\n * A {@link Plugin} which outputs the contents in a block quote.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var BlockQuotePlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n conversion.atLeft = false;\n conversion.atParagraph = false;\n conversion.left = context.previousLeft;\n\n conversion.appendParagraph();\n },\n\n /**\n * @override\n */\n before: function(conversion, context) {\n context.previousLeft = conversion.left;\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n var value = '> ';\n\n conversion.left += value;\n\n if (conversion.atParagraph) {\n conversion.append(value);\n } else {\n conversion.appendParagraph();\n }\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [\n 'blockquote',\n 'dd'\n ];\n }\n\n });\n\n Europa_1$2.register(new BlockQuotePlugin());\n\n /**\n * A {@link Plugin} which outputs an inline line break.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var BreakPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n conversion.append(' ' + conversion.left);\n\n conversion.atLeft = true;\n conversion.atNoWhiteSpace = true;\n\n return false;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'br' ];\n }\n\n });\n\n Europa_1$2.register(new BreakPlugin());\n\n /**\n * A {@link Plugin} which outputs the contents in a code block.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var CodePlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n if (!context.skipped) {\n conversion.inCodeBlock = context.previousInCodeBlock;\n\n conversion.output('`');\n }\n },\n\n /**\n * @override\n */\n before: function(conversion, context) {\n context.previousInCodeBlock = conversion.inCodeBlock;\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n if (conversion.inPreformattedBlock) {\n context.skipped = true;\n } else {\n conversion.output('`');\n\n conversion.inCodeBlock = true;\n }\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [\n 'code',\n 'kbd',\n 'samp'\n ];\n }\n\n });\n\n Europa_1$2.register(new CodePlugin());\n\n /**\n * A {@link Plugin} which outputs a definition term as strong text.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var DefinitionTermPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n conversion.output('**');\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n conversion.appendParagraph();\n\n conversion.output('**');\n\n conversion.atNoWhiteSpace = true;\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'dt' ];\n }\n\n });\n\n Europa_1$2.register(new DefinitionTermPlugin());\n\n /**\n * A {@link Plugin} which outputs a details section.\n *\n * If the details has an open attribute then all of its children are converted. Otherwise, only the nested\n * summary, if any, will be converted.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var DetailsPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n var element = conversion.element;\n\n conversion.appendParagraph();\n\n if (element.hasAttribute('open')) {\n return true;\n }\n\n var summary = element.querySelector('summary');\n conversion.europa.convertElement(summary, conversion);\n\n return false;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'details' ];\n }\n\n });\n\n Europa_1$2.register(new DetailsPlugin());\n\n /**\n * A {@link Plugin} which outputs as emphasised text.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var EmphasisPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n conversion.output('_');\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n conversion.output('_');\n\n conversion.atNoWhiteSpace = true;\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [\n 'cite',\n 'dfn',\n 'em',\n 'i',\n 'u',\n 'var'\n ];\n }\n\n });\n\n Europa_1$2.register(new EmphasisPlugin());\n\n /**\n * A {@link Plugin} which simply ensures that no children elements are converted.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var EmptyPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n return false;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [\n 'applet',\n 'area',\n 'audio',\n 'button',\n 'canvas',\n 'datalist',\n 'embed',\n 'head',\n 'input',\n 'map',\n 'menu',\n 'meter',\n 'noframes',\n 'noscript',\n 'object',\n 'optgroup',\n 'option',\n 'param',\n 'progress',\n 'rp',\n 'rt',\n 'ruby',\n 'script',\n 'select',\n 'style',\n 'textarea',\n 'title',\n 'video'\n ];\n }\n\n });\n\n Europa_1$2.register(new EmptyPlugin());\n\n /**\n * A {@link Plugin} which outputs the contents of nested frame.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var FramePlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n conversion.window = context.previousWindow;\n },\n\n /**\n * @override\n */\n before: function(conversion, context) {\n context.previousWindow = conversion.window;\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n var window = conversion.element.contentWindow;\n\n if (window) {\n conversion.window = window;\n\n conversion.europa.convertElement(window.document.body, conversion);\n }\n\n return false;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'frame', 'iframe' ];\n }\n\n });\n\n Europa_1$2.register(new FramePlugin());\n\n /**\n * A {@link Plugin} which outputs a heading of various levels.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var HeadingPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n var level = parseInt(conversion.tagName.match(/([1-6])$/)[1], 10);\n\n conversion.appendParagraph();\n\n var heading = '';\n for (var i = 0; i < level; i++) {\n heading += '#';\n }\n\n conversion.output(heading + ' ');\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6'\n ];\n }\n\n });\n\n Europa_1$2.register(new HeadingPlugin());\n\n /**\n * A {@link Plugin} which outputs a horizontal rule.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var HorizontalRulePlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n conversion\n .appendParagraph()\n .output('---')\n .appendParagraph();\n\n return false;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'hr' ];\n }\n\n });\n\n Europa_1$2.register(new HorizontalRulePlugin());\n\n /**\n * A {@link Plugin} which extracts the URL from an image.\n *\n * If the absolute option is enabled, then the URL extracted from the image will be absolute. Otherwise,\n * the URL will be exactly as it is in the src attribute.\n *\n * If the inline option is enabled, then the URL will be inserted immediately after the alt on\n * the image (e.g. ![foo](/bar.png)). Otherwise, all unique URLs will be indexed\n * (e.g. ![foo][image0]) and the references will be output at the very end.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var ImagePlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n afterAll: function(conversion) {\n var images = conversion.context.images;\n if (!images.length) {\n return;\n }\n\n conversion.append('\\n\\n');\n\n for (var i = 0; i < images.length; i++) {\n conversion.append('[image' + i + ']: ' + images[i] + '\\n');\n }\n },\n\n /**\n * @override\n */\n beforeAll: function(conversion) {\n conversion.context.imageMap = {};\n conversion.context.images = [];\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n var element = conversion.element;\n var options = conversion.options;\n var source = options.absolute ? element.src : element.getAttribute('src');\n if (!source) {\n return false;\n }\n\n var alternativeText = element.getAttribute('alt') || '';\n var imageMap = conversion.context.imageMap;\n var images = conversion.context.images;\n var title = element.getAttribute('title');\n var value = title ? source + ' \"' + title + '\"' : source;\n var index;\n\n if (options.inline) {\n value = '(' + value + ')';\n } else {\n index = imageMap[value];\n if (index == null) {\n index = images.push(value) - 1;\n\n imageMap[value] = index;\n }\n\n value = '[image' + index + ']';\n }\n\n conversion.output('![' + alternativeText + ']' + value);\n\n return false;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'img' ];\n }\n\n });\n\n Europa_1$2.register(new ImagePlugin());\n\n /**\n * A {@link Plugin} which outputs a list item. The prefix for the list item will vary depending on what type of list the\n * item is contained within.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var ListItemPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n var value = conversion.inOrderedList ? conversion.listIndex++ + '. ' : '* ';\n\n if (!conversion.atLeft) {\n conversion.append(conversion.left.replace(/[ ]{2,4}$/, '\\n'));\n\n conversion.atLeft = true;\n conversion.atNoWhiteSpace = true;\n conversion.atParagraph = true;\n } else if (conversion.last) {\n conversion.last = conversion.last.replace(/[ ]{2,4}$/, '\\n');\n }\n\n conversion.append(Utilities_1.leftPad(value, (conversion.listDepth - 1) * 2));\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'li' ];\n }\n\n });\n\n Europa_1$2.register(new ListItemPlugin());\n\n /**\n * A {@link Plugin} which outputs an ordered list.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var OrderedListPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n conversion.inOrderedList = context.previousInOrderedList;\n conversion.listIndex = context.previousListIndex;\n conversion.listDepth--;\n },\n\n /**\n * @override\n */\n before: function(conversion, context) {\n context.previousInOrderedList = conversion.inOrderedList;\n context.previousListIndex = conversion.listIndex;\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n if (conversion.listDepth === 0) {\n conversion.appendParagraph();\n }\n\n conversion.inOrderedList = true;\n conversion.listIndex = 1;\n conversion.listDepth++;\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'ol' ];\n }\n\n });\n\n Europa_1$2.register(new OrderedListPlugin());\n\n /**\n * A {@link Plugin} which outputs a paragraph.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var ParagraphPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n conversion.appendParagraph();\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [\n 'address',\n 'article',\n 'aside',\n 'div',\n 'fieldset',\n 'footer',\n 'header',\n 'nav',\n 'p',\n 'section'\n ];\n }\n\n });\n\n Europa_1$2.register(new ParagraphPlugin());\n\n /**\n * A {@link Plugin} which outputs the contents in a preformatted block.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var PreformattedPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n conversion.atLeft = false;\n conversion.atParagraph = false;\n conversion.inPreformattedBlock = context.previousInPreformattedBlock;\n conversion.left = context.previousLeft;\n\n conversion.appendParagraph();\n },\n\n /**\n * @override\n */\n before: function(conversion, context) {\n context.previousInPreformattedBlock = conversion.inPreformattedBlock;\n context.previousLeft = conversion.left;\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n var value = ' ';\n\n conversion.left += value;\n\n if (conversion.atParagraph) {\n conversion.append(value);\n } else {\n conversion.appendParagraph();\n }\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'pre' ];\n }\n\n });\n\n Europa_1$2.register(new PreformattedPlugin());\n\n /**\n * A {@link Plugin} which outputs as quoted text.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var QuotePlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n conversion.output('\"');\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n conversion.output('\"');\n\n conversion.atNoWhiteSpace = true;\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'q' ];\n }\n\n });\n\n Europa_1$2.register(new QuotePlugin());\n\n /**\n * A {@link Plugin} which outputs as strong text.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var StrongPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n conversion.output('**');\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n conversion.output('**');\n\n conversion.atNoWhiteSpace = true;\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [\n 'b',\n 'strong'\n ];\n }\n\n });\n\n Europa_1$2.register(new StrongPlugin());\n\n /**\n * A {@link Plugin} which outputs an unordered list.\n *\n * @public\n * @class\n * @extends Plugin\n */\n var UnorderedListPlugin = Plugin_1.extend({\n\n /**\n * @override\n */\n after: function(conversion, context) {\n conversion.inOrderedList = context.previousInOrderedList;\n conversion.listIndex = context.previousListIndex;\n conversion.listDepth--;\n },\n\n /**\n * @override\n */\n before: function(conversion, context) {\n context.previousInOrderedList = conversion.inOrderedList;\n context.previousListIndex = conversion.listIndex;\n },\n\n /**\n * @override\n */\n convert: function(conversion, context) {\n if (conversion.listDepth === 0) {\n conversion.appendParagraph();\n }\n\n conversion.inOrderedList = false;\n conversion.listIndex = 1;\n conversion.listDepth++;\n\n return true;\n },\n\n /**\n * @override\n */\n getTagNames: function() {\n return [ 'ul' ];\n }\n\n });\n\n Europa_1$2.register(new UnorderedListPlugin());\n\n var index = Europa_1$2;\n\n /**\n * Defines a service contract that must be met by all implementations.\n *\n * @public\n * @class\n * @extends Nevis\n */\n var Service = lite.extend({\n\n /**\n * Returns the name of this {@link Service}.\n *\n * @return {string} The service name.\n * @public\n * @abstract\n * @memberof Service#\n */\n getName: function() {}\n\n });\n\n var Service_1 = Service;\n\n /**\n * A service used to retrieve the window object for converting HTML to Markdown and, optionally, to close it upon\n * destruction of the {@link Europa} instance. This can be useful to free up resources as/when required in an artificial\n * browser environment.\n *\n * @public\n * @class\n * @extends Service\n */\n var WindowService = Service_1.extend({\n\n /**\n * Closes the specified window but only if this {@link WindowService} is closeable.\n *\n * @param {Window} window - the window to be closed\n * @return {void}\n * @public\n * @memberof WindowService#\n */\n closeWindow: function(window) {\n if (this.isCloseable(window)) {\n window.close();\n }\n },\n\n /**\n * Returns the default base URI for windows provided by this {@link WindowService}.\n *\n * Implementations of {@link WindowService} must override this method with their own specific logic.\n *\n * @return {string} The default base URI.\n * @public\n * @abstract\n * @memberof WindowService#\n */\n getDefaultBaseUri: function() {},\n\n /**\n * @override\n */\n getName: function() {\n return 'window';\n },\n\n /**\n * Returns a window to be used for converting HTML to Markdown using the base URI provided.\n *\n * It's important to note that the base URI cannot be changed in some environments, in which case baseUri\n * will be ignored.\n *\n * Implementations of {@link WindowService} must override this method with their own specific logic.\n *\n * @param {string} baseUri - the base URI to be used\n * @return {Window} The window.\n * @public\n * @abstract\n * @memberof WindowService#\n */\n getWindow: function(baseUri) {},\n\n /**\n * Returns whether the specified window which was retrieved by this {@link WindowService} is closeable.\n *\n * The default implementation of this method will always return false.\n *\n * @param {Window} window - the window to be checked\n * @return {boolean} true if window is closeable; otherwise false.\n * @public\n * @memberof WindowService#\n */\n isCloseable: function(window) {\n return false;\n }\n\n });\n\n var WindowService_1 = WindowService;\n\n /**\n * An implementation of {@link WindowService} intended for use within a browser environment.\n *\n * @public\n * @class\n * @extends WindowService\n */\n var BrowserWindowService = WindowService_1.extend({\n\n /**\n * @override\n */\n getDefaultBaseUri: function() {\n return window.document.baseURI;\n },\n\n /**\n * @override\n */\n getWindow: function(baseUri) {\n return window;\n }\n\n });\n\n var BrowserWindowService_1 = BrowserWindowService;\n\n index.use(new BrowserWindowService_1());\n\n var Europa_1 = index;\n\n return Europa_1;\n\n})));\n\n//# sourceMappingURL=europa.js.map","/*!\n * jQuery formRender: https://formbuilder.online/\n * Version: 3.7.2\n * Author: Kevin Chappell \n */\n!function(e){\"use strict\";!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=30)}([function(t,n,r){function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}r.d(n,\"A\",(function(){return l})),r.d(n,\"C\",(function(){return u})),r.d(n,\"b\",(function(){return d})),r.d(n,\"h\",(function(){return f})),r.d(n,\"n\",(function(){return m})),r.d(n,\"c\",(function(){return g})),r.d(n,\"s\",(function(){return b})),r.d(n,\"k\",(function(){return y})),r.d(n,\"q\",(function(){return v})),r.d(n,\"t\",(function(){return q})),r.d(n,\"u\",(function(){return j})),r.d(n,\"g\",(function(){return k})),r.d(n,\"i\",(function(){return S})),r.d(n,\"B\",(function(){return E})),r.d(n,\"v\",(function(){return A})),r.d(n,\"l\",(function(){return T})),r.d(n,\"p\",(function(){return R})),r.d(n,\"m\",(function(){return L})),r.d(n,\"d\",(function(){return D})),r.d(n,\"a\",(function(){return N})),r.d(n,\"e\",(function(){return F})),r.d(n,\"r\",(function(){return M})),r.d(n,\"x\",(function(){return B})),r.d(n,\"j\",(function(){return U})),r.d(n,\"y\",(function(){return z})),r.d(n,\"o\",(function(){return I})),r.d(n,\"w\",(function(){return H})),r.d(n,\"z\",(function(){return $})),window.fbLoaded={js:[],css:[]},window.fbEditors={quill:{},tinymce:{}};const l=function(e,t=!1){const n=[null,void 0,\"\"];t&&n.push(!1);for(const t in e)n.includes(e[t])?delete e[t]:Array.isArray(e[t])&&(e[t].length||delete e[t]);return e},c=function(e){return![\"values\",\"enableOther\",\"other\",\"label\",\"subtype\"].includes(e)},u=e=>Object.entries(e).map(([e,t])=>`${m(e)}=\"${t}\"`).join(\" \"),d=e=>Object.entries(e).map(([e,t])=>c(e)&&Object.values(p(e,t)).join(\"\")).filter(Boolean).join(\" \"),p=(e,t)=>{let n;return e=h(e),t&&(Array.isArray(t)?n=C(t.join(\" \")):(\"boolean\"==typeof t&&(t=t.toString()),n=C(t.trim()))),{name:e,value:t=t?`=\"${n}\"`:\"\"}},f=e=>e.reduce((e,t)=>e.concat(Array.isArray(t)?f(t):t),[]),h=e=>({className:\"class\"}[e]||m(e)),m=e=>(e=(e=e.replace(/[^\\w\\s\\-]/gi,\"\")).replace(/([A-Z])/g,(function(e){return\"-\"+e.toLowerCase()}))).replace(/\\s/g,\"-\").replace(/^-+/g,\"\"),g=e=>e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()),b=function(){let e,t=0;return function(n){const r=(new Date).getTime();r===e?++t:(t=0,e=r);return(n.type||m(n.label))+\"-\"+r+\"-\"+t}}(),y=e=>void 0===e?e:[[\"array\",e=>Array.isArray(e)],[\"node\",e=>e instanceof window.Node||e instanceof window.HTMLElement],[\"component\",()=>e&&e.dom],[typeof e,()=>!0]].find(t=>t[1](e))[0],v=function(e,t=\"\",n={}){let r=y(t);const{events:o}=n,i=a(n,[\"events\"]),s=document.createElement(e),l={string:e=>{s.innerHTML+=e},object:e=>{const{tag:t,content:n}=e,r=a(e,[\"tag\",\"content\"]);return s.appendChild(v(t,n,r))},node:e=>s.appendChild(e),array:e=>{for(let t=0;t{e=e(),r=y(e),l[r](e)},undefined:()=>{}};for(const e in i)if(i.hasOwnProperty(e)){const t=h(e),n=Array.isArray(i[e])?E(i[e].join(\" \").split(\" \")).join(\" \"):i[e];s.setAttribute(t,n)}return t&&l[r](t),((e,t)=>{if(t)for(const n in t)t.hasOwnProperty(n)&&e.addEventListener(n,e=>t[n](e))})(s,o),s},x=e=>{const t=e.attributes,n={};return S(t,e=>{let r=t[e].value||\"\";r.match(/false|true/g)?r=\"true\"===r:r.match(/undefined/g)&&(r=void 0),r&&(n[g(t[e].name)]=r)}),n},w=e=>{const t=[];for(let n=0;n{const t=[];if(e.length){const n=e[0].getElementsByTagName(\"value\");for(let e=0;e{const t=(new window.DOMParser).parseFromString(e,\"text/xml\"),n=[];if(t){const e=t.getElementsByTagName(\"field\");for(let t=0;t{const t=document.createElement(\"textarea\");return t.innerHTML=e,t.textContent},k=e=>{const t=document.createElement(\"textarea\");return t.textContent=e,t.innerHTML},C=e=>{const t={'\"':\""\",\"&\":\"&\",\"<\":\"<\",\">\":\">\"};return\"string\"==typeof e?e.replace(/[\"&<>]/g,e=>t[e]||e):e},S=function(e,t,n){for(let r=0;re.filter((e,t,n)=>n.indexOf(e)===t),A=(e,t)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},T=(e,t)=>{const n=jQuery;let r=[];return Array.isArray(e)||(e=[e]),R(e)||(r=jQuery.map(e,e=>{const n={dataType:\"script\",cache:!0,url:(t||\"\")+e};return jQuery.ajax(n).done(()=>window.fbLoaded.js.push(e))})),r.push(jQuery.Deferred(e=>n(e.resolve))),jQuery.when(...r)},R=(e,t=\"js\")=>{let n=!1;const r=window.fbLoaded[t];return n=Array.isArray(e)?e.every(e=>r.includes(e)):r.includes(e),n},L=(t,n)=>{Array.isArray(t)||(t=[t]),t.forEach(t=>{let r=\"href\",o=t,i=\"\";if(\"object\"==typeof t&&(r=t.type||(t.style?\"inline\":\"href\"),i=t.id,t=\"inline\"==r?t.style:t.href,o=i||t.href||t.style),!R(o,\"css\")){if(\"href\"==r){const e=document.createElement(\"link\");e.type=\"text/css\",e.rel=\"stylesheet\",e.href=(n||\"\")+t,document.head.appendChild(e)}else e(``).attr(\"id\",i).appendTo(e(document.head));window.fbLoaded.css.push(o)}})},D=e=>e.replace(/\\b\\w/g,(function(e){return e.toUpperCase()})),P=(e,t)=>{const n=Object.assign({},e,t);for(const r in t)n.hasOwnProperty(r)&&(Array.isArray(t[r])?n[r]=Array.isArray(e[r])?E(e[r].concat(t[r])):t[r]:\"object\"==typeof t[r]?n[r]=P(e[r],t[r]):n[r]=t[r]);return n},N=(e,t,n)=>t.split(\" \").forEach(t=>e.addEventListener(t,n,!1)),F=(e,t)=>{const n=t.replace(\".\",\"\");for(;(e=e.parentElement)&&!e.classList.contains(n););return e},M=()=>{let e=\"\";var t;return t=navigator.userAgent||navigator.vendor||window.opera,/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)&&(e=\"formbuilder-mobile\"),e},B=e=>e.replace(/\\s/g,\"-\").replace(/[^a-zA-Z0-9[\\]_-]/g,\"\"),U=e=>e.replace(/[^0-9]/g,\"\"),z=(e,t)=>t.filter((function(e){return!~this.indexOf(e)}),e),I=e=>{const t=(e=Array.isArray(e)?e:[e]).map(({src:e,id:t})=>new Promise(n=>{if(window.fbLoaded.css.includes(e))return n(e);const r=v(\"link\",null,{href:e,rel:\"stylesheet\",id:t});document.head.insertBefore(r,document.head.firstChild)}));return Promise.all(t)},H=e=>{const t=document.getElementById(e);return t.parentElement.removeChild(t)};function $(e){const t=[\"a\",\"an\",\"and\",\"as\",\"at\",\"but\",\"by\",\"for\",\"for\",\"from\",\"in\",\"into\",\"near\",\"nor\",\"of\",\"on\",\"onto\",\"or\",\"the\",\"to\",\"with\"].map(e=>`\\\\s${e}\\\\s`),n=new RegExp(`(?!${t.join(\"|\")})\\\\w\\\\S*`,\"g\");return(\"\"+e).replace(n,e=>e.charAt(0).toUpperCase()+e.substr(1).replace(/[A-Z]/g,e=>\" \"+e))}const _={addEventListeners:N,attrString:d,camelCase:g,capitalize:D,closest:F,getContentType:y,escapeAttr:C,escapeAttrs:e=>{for(const t in e)e.hasOwnProperty(t)&&(e[t]=C(e[t]));return e},escapeHtml:k,forceNumber:U,forEach:S,getScripts:T,getStyles:L,hyphenCase:m,isCached:R,markup:v,merge:P,mobileClass:M,nameAttr:b,parseAttrs:x,parsedHtml:j,parseOptions:w,parseUserData:O,parseXML:q,removeFromArray:A,safeAttr:p,safeAttrName:h,safename:B,subtract:z,trimObj:l,unique:E,validAttr:c,titleCase:$,splitObject:(e,t)=>{const n=e=>(t,n)=>(t[n]=e[n],t);return[Object.keys(e).filter(e=>t.includes(e)).reduce(n(e),{}),Object.keys(e).filter(e=>!t.includes(e)).reduce(n(e),{})]}};n.f=_},function(e,t,n){n.d(t,\"a\",(function(){return a}));var r=n(0),o=n(2),i=n.n(o);function s(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}class a{constructor(e,t){this.rawConfig=jQuery.extend({},e),e=jQuery.extend({},e),this.preview=t,delete e.isPreview,this.preview&&delete e.required;const n=[\"label\",\"description\",\"subtype\",\"required\",\"disabled\"];for(const t of n)this[t]=e[t],delete e[t];e.id||(e.name?e.id=e.name:e.id=\"control-\"+Math.floor(1e7*Math.random()+1)),this.id=e.id,this.type=e.type,this.description&&(e.title=this.description),a.controlConfig||(a.controlConfig={});const r=this.subtype?this.type+\".\"+this.subtype:this.type;this.classConfig=jQuery.extend({},a.controlConfig[r]||{}),this.subtype&&(e.type=this.subtype),this.required&&(e.required=\"required\",e[\"aria-required\"]=\"true\"),this.disabled&&(e.disabled=\"disabled\"),this.config=e,this.configure()}static get definition(){return{}}static register(e,t,n){const r=n?n+\".\":\"\";a.classRegister||(a.classRegister={}),Array.isArray(e)||(e=[e]);for(const n of e)-1===n.indexOf(\".\")?a.classRegister[r+n]=t:a.error(`Ignoring type ${n}. Cannot use the character '.' in a type name.`)}static getRegistered(e=!1){const t=Object.keys(a.classRegister);return t.length?t.filter(t=>e?t.indexOf(e+\".\")>-1:-1==t.indexOf(\".\")):t}static getRegisteredSubtypes(){const e={};for(const t in a.classRegister)if(a.classRegister.hasOwnProperty(t)){const[n,r]=t.split(\".\");if(!r)continue;e[n]||(e[n]=[]),e[n].push(r)}return e}static getClass(e,t){const n=t?e+\".\"+t:e,r=a.classRegister[n]||a.classRegister[e];return r||a.error(\"Invalid control type. (Type: \"+e+\", Subtype: \"+t+\"). Please ensure you have registered it, and imported it correctly.\")}static loadCustom(e){let t=[];if(e&&(t=t.concat(e)),window.fbControls&&(t=t.concat(window.fbControls)),!this.fbControlsLoaded){for(const e of t)e(a,a.classRegister);this.fbControlsLoaded=!0}}static mi18n(e,t){const n=this.definition;let r=n.i18n||{};r=r[i.a.locale]||r.default||r;const o=this.camelCase(e),s=\"object\"==typeof r?r[o]||r[e]:r;if(s)return s;let a=n.mi18n;return\"object\"==typeof a&&(a=a[o]||a[e]),a||(a=o),i.a.get(a,t)}static active(e){return!Array.isArray(this.definition.inactive)||-1==this.definition.inactive.indexOf(e)}static label(e){return this.mi18n(e)}static icon(e){const t=this.definition;return t&&\"object\"==typeof t.icon?t.icon[e]:t.icon}configure(){}build(){const e=this.config,{label:t,type:n}=e,o=s(e,[\"label\",\"type\"]);return this.markup(n,Object(r.u)(t),o)}on(e){const t={prerender:e=>e,render:e=>{const t=()=>{this.onRender&&this.onRender(e)};this.css&&Object(r.m)(this.css),this.js&&!Object(r.p)(this.js)?Object(r.l)(this.js).done(t):t()}};return e?t[e]:t}static error(e){throw new Error(e)}markup(e,t=\"\",n={}){return this.element=Object(r.q)(e,t,n),this.element}parsedHtml(e){return Object(r.u)(e)}static camelCase(e){return Object(r.c)(e)}}},function(e,t){\n/*!\n * mi18n - https://github.com/Draggable/mi18n\n * Version: 0.4.7\n * Author: Kevin Chappell (http://kevin-chappell.com)\n */\ne.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=7)}([function(e,t,n){var r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o=n(2),i=n(10),s=Object.prototype.toString;function a(e){return\"[object Array]\"===s.call(e)}function l(e){return null!==e&&\"object\"===(void 0===e?\"undefined\":r(e))}function c(e){return\"[object Function]\"===s.call(e)}function u(e,t){if(null!=e)if(\"object\"!==(void 0===e?\"undefined\":r(e))&&(e=[e]),a(e))for(var n=0,o=e.length;n=200&&e<300},headers:{common:{Accept:\"application/json, text/plain, */*\"}}};r.forEach([\"delete\",\"get\",\"head\"],(function(e){a.headers[e]={}})),r.forEach([\"post\",\"put\",\"patch\"],(function(e){a.headers[e]=r.merge(i)})),e.exports=a}).call(this,n(12))},function(e,t,n){e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r0&&void 0!==arguments[0]?arguments[0]:s;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.langs=Object.create(null),this.loaded=[],this.processConfig(t)}return e.prototype.processConfig=function(e){var t=this,n=Object.assign({},s,e),r=n.location,o=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(n,[\"location\"]),i=r.replace(/\\/?$/,\"/\");this.config=Object.assign({},{location:i},o);var a=this.config,l=a.override,c=a.preloaded,u=void 0===c?{}:c,d=Object.entries(this.langs).concat(Object.entries(l||u));this.langs=d.reduce((function(e,n){var r=n[0],o=n[1];return e[r]=t.applyLanguage.call(t,r,o),e}),{}),this.locale=this.config.locale||this.config.langs[0]},e.prototype.init=function(e){return this.processConfig.call(this,Object.assign({},this.config,e)),this.setCurrent(this.locale)},e.prototype.addLanguage=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=\"string\"==typeof t?this.processFile.call(this,t):t,this.applyLanguage.call(this,e,t),this.config.langs.push(\"locale\")},e.prototype.getValue=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.locale;return this.langs[t]&&this.langs[t][e]||this.getFallbackValue(e)},e.prototype.getFallbackValue=function(e){var t=Object.values(this.langs).find((function(t){return t[e]}));return t&&t[e]},e.prototype.makeSafe=function(e){var t={\"{\":\"\\\\{\",\"}\":\"\\\\}\",\"|\":\"\\\\|\"};return e=e.replace(/\\{|\\}|\\|/g,(function(e){return t[e]})),new RegExp(e,\"g\")},e.prototype.put=function(e,t){return this.current[e]=t},e.prototype.get=function(e,t){var n=this.getValue(e);if(n){var o=n.match(/\\{[^}]+?\\}/g),i=void 0;if(t&&o)if(\"object\"===(void 0===t?\"undefined\":r(t)))for(var s=0;s1&&void 0!==arguments[1])||arguments[1],n=this;return new Promise((function(r,o){if(-1!==n.loaded.indexOf(e)&&t)return n.applyLanguage.call(n,n.langs[e]),r(n.langs[e]);var s=[n.config.location,e,n.config.extension].join(\"\");return(0,i.get)(s).then((function(t){var o=t.data,i=n.processFile(o);return n.applyLanguage.call(n,e,i),n.loaded.push(e),r(n.langs[e])})).catch((function(){var t=n.applyLanguage.call(n,e);r(t)}))}))},e.prototype.applyLanguage=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.config.override[e]||{},r=this.langs[e]||{};return this.langs[e]=Object.assign({},r,t,n),this.langs[e]},e.prototype.setCurrent=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"en-US\";return this.loadLang(t).then((function(){return e.locale=t,e.current=e.langs[t],e.current}))},o(e,[{key:\"getLangs\",get:function(){return this.config.langs}}]),e}();t.default=new a},function(e,t,n){e.exports=n(9)},function(e,t,n){var r=n(0),o=n(2),i=n(11),s=n(1);function a(e){var t=new i(e),n=o(i.prototype.request,t);return r.extend(n,i.prototype,t),r.extend(n,t),n}var l=a(s);l.Axios=i,l.create=function(e){return a(r.merge(s,e))},l.Cancel=n(6),l.CancelToken=n(26),l.isCancel=n(5),l.all=function(e){return Promise.all(e)},l.spread=n(27),e.exports=l,e.exports.default=l},function(e,t,n){\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nfunction r(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(r(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&r(e.slice(0,0))}(e)||!!e._isBuffer)}},function(e,t,n){var r=n(1),o=n(0),i=n(21),s=n(22);function a(e){this.defaults=e,this.interceptors={request:new i,response:new i}}a.prototype.request=function(e){\"string\"==typeof e&&(e=o.merge({url:arguments[0]},arguments[1])),(e=o.merge(r,{method:\"get\"},this.defaults,e)).method=e.method.toLowerCase();var t=[s,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)n=n.then(t.shift(),t.shift());return n},o.forEach([\"delete\",\"get\",\"head\",\"options\"],(function(e){a.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))}})),o.forEach([\"post\",\"put\",\"patch\"],(function(e){a.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))}})),e.exports=a},function(e,t,n){var r,o,i=e.exports={};function s(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function l(e){if(r===setTimeout)return setTimeout(e,0);if((r===s||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r=\"function\"==typeof setTimeout?setTimeout:s}catch(e){r=s}try{o=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){o=a}}();var c,u=[],d=!1,p=-1;function f(){d&&c&&(d=!1,c.length?u=c.concat(u):p=-1,u.length&&h())}function h(){if(!d){var e=l(f);d=!0;for(var t=u.length;t;){for(c=u,u=[];++p1)for(var n=1;n=0)return;s[t]=\"set-cookie\"===t?(s[t]?s[t]:[]).concat([n]):s[t]?s[t]+\", \"+n:n}})),s):s}},function(e,t,n){var r=n(0);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement(\"a\");function o(e){var r=e;return t&&(n.setAttribute(\"href\",r),r=n.href),n.setAttribute(\"href\",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,\"\"):\"\",host:n.host,search:n.search?n.search.replace(/^\\?/,\"\"):\"\",hash:n.hash?n.hash.replace(/^#/,\"\"):\"\",hostname:n.hostname,port:n.port,pathname:\"/\"===n.pathname.charAt(0)?n.pathname:\"/\"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){function r(){this.message=\"String contains an invalid character\"}r.prototype=new Error,r.prototype.code=5,r.prototype.name=\"InvalidCharacterError\",e.exports=function(e){for(var t,n,o=String(e),i=\"\",s=0,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";o.charAt(0|s)||(a=\"=\",s%1);i+=a.charAt(63&t>>8-s%1*8)){if((n=o.charCodeAt(s+=.75))>255)throw new r;t=t<<8|n}return i}},function(e,t,n){var r=n(0);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,o,i,s){var a=[];a.push(e+\"=\"+encodeURIComponent(t)),r.isNumber(n)&&a.push(\"expires=\"+new Date(n).toGMTString()),r.isString(o)&&a.push(\"path=\"+o),r.isString(i)&&a.push(\"domain=\"+i),!0===s&&a.push(\"secure\"),document.cookie=a.join(\"; \")},read:function(e){var t=document.cookie.match(new RegExp(\"(^|;\\\\s*)(\"+e+\")=([^;]*)\"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,\"\",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){var r=n(0);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},function(e,t,n){var r=n(0),o=n(23),i=n(5),s=n(1),a=n(24),l=n(25);function c(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return c(e),e.baseURL&&!a(e.url)&&(e.url=l(e.baseURL,e.url)),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),r.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(function(t){delete e.headers[t]})),(e.adapter||s.adapter)(e).then((function(t){return c(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return i(t)||(c(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},function(e,t,n){var r=n(0);e.exports=function(e,t,n){return r.forEach(n,(function(n){e=n(e,t)})),e}},function(e,t,n){e.exports=function(e){return/^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(e)}},function(e,t,n){e.exports=function(e,t){return t?e.replace(/\\/+$/,\"\")+\"/\"+t.replace(/^\\/+/,\"\"):e}},function(e,t,n){var r=n(6);function o(e){if(\"function\"!=typeof e)throw new TypeError(\"executor must be a function.\");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},function(e,t,n){e.exports=function(e){return function(t){return e.apply(null,t)}}}])},function(e,t,n){n.d(t,\"c\",(function(){return i})),n.d(t,\"d\",(function(){return s})),n.d(t,\"b\",(function(){return a})),n.d(t,\"a\",(function(){return l}));var r=n(2);const o=()=>null;n.n(r).a.addLanguage(\"en-US\",{NATIVE_NAME:\"English (US)\",ENGLISH_NAME:\"English\",addOption:\"Add Option +\",allFieldsRemoved:\"All fields were removed.\",allowMultipleFiles:\"Allow users to upload multiple files\",autocomplete:\"Autocomplete\",button:\"Button\",cannotBeEmpty:\"This field cannot be empty\",checkboxGroup:\"Checkbox Group\",checkbox:\"Checkbox\",checkboxes:\"Checkboxes\",className:\"Class\",clearAllMessage:\"Are you sure you want to clear all fields?\",clear:\"Clear\",close:\"Close\",content:\"Content\",copy:\"Copy To Clipboard\",copyButton:\"+\",copyButtonTooltip:\"Copy\",dateField:\"Date Field\",description:\"Help Text\",descriptionField:\"Description\",devMode:\"Developer Mode\",editNames:\"Edit Names\",editorTitle:\"Form Elements\",editXML:\"Edit XML\",enableOther:\"Enable "Other"\",enableOtherMsg:\"Let users enter an unlisted option\",fieldDeleteWarning:\"false\",fieldVars:\"Field Variables\",fieldNonEditable:\"This field cannot be edited.\",fieldRemoveWarning:\"Are you sure you want to remove this field?\",fileUpload:\"File Upload\",formUpdated:\"Form Updated\",getStarted:\"Drag a field from the right to this area\",header:\"Header\",hide:\"Edit\",hidden:\"Hidden Input\",inline:\"Inline\",inlineDesc:\"Display {type} inline\",label:\"Label\",labelEmpty:\"Field Label cannot be empty\",limitRole:\"Limit access to one or more of the following roles:\",mandatory:\"Mandatory\",maxlength:\"Max Length\",minOptionMessage:\"This field requires a minimum of 2 options\",minSelectionRequired:\"Minimum {min} selections required\",multipleFiles:\"Multiple Files\",name:\"Name\",no:\"No\",noFieldsToClear:\"There are no fields to clear\",number:\"Number\",off:\"Off\",on:\"On\",option:\"Option\",optionCount:\"Option {count}\",options:\"Options\",optional:\"optional\",optionLabelPlaceholder:\"Label\",optionValuePlaceholder:\"Value\",optionEmpty:\"Option value required\",other:\"Other\",paragraph:\"Paragraph\",placeholder:\"Placeholder\",\"placeholders.value\":\"Value\",\"placeholders.label\":\"Label\",\"placeholders.email\":\"Enter your email\",\"placeholders.className\":\"space separated classes\",\"placeholders.password\":\"Enter your password\",preview:\"Preview\",radioGroup:\"Radio Group\",radio:\"Radio\",removeMessage:\"Remove Element\",removeOption:\"Remove Option\",remove:\"×\",required:\"Required\",requireValidOption:\"Only accept a pre-defined Option\",richText:\"Rich Text Editor\",roles:\"Access\",rows:\"Rows\",save:\"Save\",selectOptions:\"Options\",select:\"Select\",selectColor:\"Select Color\",selectionsMessage:\"Allow Multiple Selections\",size:\"Size\",\"size.xs\":\"Extra Small\",\"size.sm\":\"Small\",\"size.m\":\"Default\",\"size.lg\":\"Large\",style:\"Style\",\"styles.btn.default\":\"Default\",\"styles.btn.danger\":\"Danger\",\"styles.btn.info\":\"Info\",\"styles.btn.primary\":\"Primary\",\"styles.btn.success\":\"Success\",\"styles.btn.warning\":\"Warning\",subtype:\"Type\",text:\"Text Field\",textArea:\"Text Area\",toggle:\"Toggle\",warning:\"Warning!\",value:\"Value\",viewJSON:\"[{…}]\",viewXML:\"</>\",yes:\"Yes\"});const i={actionButtons:[],allowStageSort:!0,append:!1,controlOrder:[\"autocomplete\",\"button\",\"checkbox-group\",\"checkbox\",\"date\",\"file\",\"header\",\"hidden\",\"number\",\"paragraph\",\"radio-group\",\"select\",\"text\",\"textarea\"],controlPosition:\"right\",dataType:\"json\",defaultFields:[],disabledActionButtons:[],disabledAttrs:[],disabledFieldButtons:{},disabledSubtypes:{},disableFields:[],disableHTMLLabels:!1,disableInjectedStyle:!1,editOnAdd:!1,fields:[],fieldRemoveWarn:!1,fieldEditContainer:null,inputSets:[],notify:{error:e=>{console.log(e)},success:e=>{console.log(e)},warning:e=>{console.warn(e)}},onAddField:(e,t)=>t,onAddFieldAfter:(e,t)=>t,onAddOption:e=>e,onClearAll:o,onCloseFieldEdit:o,onOpenFieldEdit:o,onSave:o,persistDefaultFields:!1,prepend:!1,replaceFields:[],roles:{1:\"Administrator\"},scrollToFieldOnAdd:!0,showActionButtons:!0,sortableControls:!1,stickyControls:{enable:!0,offset:{top:5,bottom:\"auto\",right:\"auto\"}},subtypes:{},templates:{},typeUserAttrs:{},typeUserDisabledAttrs:{},typeUserEvents:{}},s={btn:[\"default\",\"danger\",\"info\",\"primary\",\"success\",\"warning\"]},a={location:\"assets/lang/\"},l={}},function(e,t,n){n.d(t,\"d\",(function(){return r})),n.d(t,\"f\",(function(){return i})),n.d(t,\"b\",(function(){return s})),n.d(t,\"c\",(function(){return a})),n.d(t,\"e\",(function(){return l})),n.d(t,\"a\",(function(){return u}));const r={},o={text:[\"text\",\"password\",\"email\",\"color\",\"tel\"],header:[\"h1\",\"h2\",\"h3\"],button:[\"button\",\"submit\",\"reset\"],paragraph:[\"p\",\"address\",\"blockquote\",\"canvas\",\"output\"],textarea:[\"textarea\",\"quill\"]},i=e=>{e.parentNode&&e.parentNode.removeChild(e)},s=e=>{for(;e.firstChild;)e.removeChild(e.firstChild);return e},a=(e,t,n=!0)=>{const r=[];let o=[\"none\",\"block\"];n&&(o=o.reverse());for(let n=e.length-1;n>=0;n--){-1!==e[n].textContent.toLowerCase().indexOf(t.toLowerCase())?(e[n].style.display=o[0],r.push(e[n])):e[n].style.display=o[1]}return r},l=[\"select\",\"checkbox-group\",\"checkbox\",\"radio-group\",\"autocomplete\"],c=new RegExp(`(${l.join(\"|\")})`);class u{constructor(e){return this.optionFields=l,this.optionFieldsRegEx=c,this.subtypes=o,this.empty=s,this.filter=a,r[e]=this,r[e]}onRender(e,t){e.parentElement?t(e):window.requestAnimationFrame(()=>this.onRender(e,t))}}},function(e,t,n){function r(e){let t;return\"function\"==typeof Event?t=new Event(e):(t=document.createEvent(\"Event\"),t.initEvent(e,!0,!0)),t}const o={loaded:r(\"loaded\"),viewData:r(\"viewData\"),userDeclined:r(\"userDeclined\"),modalClosed:r(\"modalClosed\"),modalOpened:r(\"modalOpened\"),formSaved:r(\"formSaved\"),fieldAdded:r(\"fieldAdded\"),fieldRemoved:r(\"fieldRemoved\"),fieldRendered:r(\"fieldRendered\"),fieldEditOpened:r(\"fieldEditOpened\"),fieldEditClosed:r(\"fieldEditClosed\")};t.a=o},function(e,t,n){n.d(t,\"a\",(function(){return s}));var r=n(1),o=n(2),i=n.n(o);class s extends r.a{static register(e={},t=[]){s.customRegister={},s.def||(s.def={icon:{},i18n:{}}),s.templates=e;const n=i.a.locale;s.def.i18n[n]||(s.def.i18n[n]={}),r.a.register(Object.keys(e),s);for(const o of t){let t=o.type;if(o.attrs=o.attrs||{},!t){if(!o.attrs.type){this.error(\"Ignoring invalid custom field definition. Please specify a type property.\");continue}t=o.attrs.type}let i=o.subtype||t;if(!e[t]){const e=r.a.getClass(t,o.subtype);if(!e){this.error(\"Error while registering custom field: \"+t+(o.subtype?\":\"+o.subtype:\"\")+\". Unable to find any existing defined control or template for rendering.\");continue}i=o.datatype?o.datatype:`${t}-${Math.floor(9e3*Math.random()+1e3)}`,s.customRegister[i]=jQuery.extend(o,{type:t,class:e})}s.def.i18n[n][i]=o.label,s.def.icon[i]=o.icon}}static getRegistered(e=!1){return e?r.a.getRegistered(e):Object.keys(s.customRegister)}static lookup(e){return s.customRegister[e]}static get definition(){return s.def}build(){let e=s.templates[this.type];if(!e)return this.error(\"Invalid custom control type. Please ensure you have registered it correctly as a template option.\");const t=Object.assign(this.config),n=[\"label\",\"description\",\"subtype\",\"id\",\"isPreview\",\"required\",\"title\",\"aria-required\",\"type\"];for(const e of n)t[e]=this.config[e]||this[e];return e=e.bind(this),e=e(t),e.js&&(this.js=e.js),e.css&&(this.css=e.css),this.onRender=e.onRender,{field:e.field,layout:e.layout}}}s.customRegister={}},function(e,t,n){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",r=e[3];if(!r)return n;if(t&&\"function\"==typeof btoa){var o=(s=r,a=btoa(unescape(encodeURIComponent(JSON.stringify(s)))),l=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),\"/*# \".concat(l,\" */\")),i=r.sources.map((function(e){return\"/*# sourceURL=\".concat(r.sourceRoot||\"\").concat(e,\" */\")}));return[n].concat(i).concat([o]).join(\"\\n\")}var s,a,l;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,r){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var o={};if(r)for(var i=0;i{let n=e.id?`formbuilder-${e.type} form-group field-${e.id}`:\"\";if(e.className){let r=e.className.split(\" \");r=r.filter(e=>/^col-(xs|sm|md|lg)-([^\\s]+)/.test(e)||e.startsWith(\"row-\")),r&&r.length>0&&(n+=\" \"+r.join(\" \"));for(let e=0;e(n&&t.appendChild(n),this.markup(\"div\",[t,e],{className:o(r,e)})),noLabel:(e,t,n,r)=>this.markup(\"div\",e,{className:o(r,e)}),hidden:e=>e},e&&(this.templates=jQuery.extend(this.templates,e)),this.configure()}configure(){}build(e,t,n){this.preview&&(t.name?t.name=t.name+\"-preview\":t.name=r.f.nameAttr(t)+\"-preview\"),t.id=t.name,this.data=jQuery.extend({},t);const o=new e(t,this.preview);let i=o.build();\"object\"==typeof i&&i.field||(i={field:i});const s=this.label(),a=this.help();let l;l=n&&this.isTemplate(n)?n:this.isTemplate(i.layout)?i.layout:\"default\";const c=this.processTemplate(l,i.field,s,a);return o.on(\"prerender\")(c),c.addEventListener(\"fieldRendered\",o.on(\"render\")),c}label(){const e=this.data.label||\"\",t=[r.f.parsedHtml(e)];return this.data.required&&t.push(this.markup(\"span\",\"*\",{className:\"formbuilder-required\"})),this.isTemplate(\"label\")?this.processTemplate(\"label\",t):this.markup(\"label\",t,{for:this.data.id,className:`formbuilder-${this.data.type}-label`})}help(){return this.data.description?this.isTemplate(\"help\")?this.processTemplate(\"help\",this.data.description):this.markup(\"span\",\"?\",{className:\"tooltip-element\",tooltip:this.data.description}):null}isTemplate(e){return\"function\"==typeof this.templates[e]}processTemplate(e,...t){let n=this.templates[e](...t,this.data);return n.jquery&&(n=n[0]),n}markup(e,t=\"\",n={}){return r.f.markup(e,t,n)}}},,function(t,n,r){var o=r(1),i=r(4);function s(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}class a extends o.a{static get definition(){return{mi18n:{requireValidOption:\"requireValidOption\"}}}build(){const e=this.config,{values:t,type:n}=e,r=s(e,[\"values\",\"type\"]),o=e=>{const t=e.target.nextSibling.nextSibling,n=e.target.nextSibling,r=this.getActiveOption(t);let o=new Map([[38,()=>{const e=this.getPreviousOption(r);e&&this.selectOption(t,e)}],[40,()=>{const e=this.getNextOption(r);e&&this.selectOption(t,e)}],[13,()=>{r?(e.target.value=r.innerHTML,n.value=r.getAttribute(\"value\"),\"none\"===t.style.display?this.showList(t,r):this.hideList(t)):this.config.requireValidOption&&(this.isOptionValid(t,e.target.value)||(e.target.value=\"\",e.target.nextSibling.value=\"\")),e.preventDefault()}],[27,()=>{this.hideList(t)}]]).get(e.keyCode);return o||(o=()=>!1),o()},a={focus:e=>{const t=e.target.nextSibling.nextSibling,n=Object(i.c)(t.querySelectorAll(\"li\"),e.target.value);if(e.target.addEventListener(\"keydown\",o),e.target.value.length>0){const e=n.length>0?n[n.length-1]:null;this.showList(t,e)}},blur:e=>{e.target.removeEventListener(\"keydown\",o);const t=setTimeout(()=>{e.target.nextSibling.nextSibling.style.display=\"none\",clearTimeout(t)},200);if(this.config.requireValidOption){const t=e.target.nextSibling.nextSibling;this.isOptionValid(t,e.target.value)||(e.target.value=\"\",e.target.nextSibling.value=\"\")}},input:e=>{const t=e.target.nextSibling.nextSibling;e.target.nextSibling.value=e.target.value;const n=Object(i.c)(t.querySelectorAll(\"li\"),e.target.value);if(0==n.length)this.hideList(t);else{let e=this.getActiveOption(t);e||(e=n[n.length-1]),this.showList(t,e)}}},l=Object.assign({},r,{id:r.id+\"-input\",autocomplete:\"off\",events:a}),c=Object.assign({},r,{type:\"hidden\"});delete l.name;const u=[this.markup(\"input\",null,l),this.markup(\"input\",null,c)],d=t.map(e=>{const t=e.label,n={events:{click:t=>{const n=t.target.parentElement,r=n.previousSibling.previousSibling;r.value=e.label,r.nextSibling.value=e.value,this.hideList(n)}},value:e.value};return this.markup(\"li\",t,n)});return u.push(this.markup(\"ul\",d,{id:r.id+\"-list\",className:`formbuilder-${n}-list`})),u}hideList(e){this.selectOption(e,null),e.style.display=\"none\"}showList(e,t){this.selectOption(e,t),e.style.display=\"block\",e.style.width=e.parentElement.offsetWidth+\"px\"}getActiveOption(e){const t=e.getElementsByClassName(\"active-option\")[0];return t&&\"none\"!==t.style.display?t:null}getPreviousOption(e){let t=e;do{t=t?t.previousSibling:null}while(null!=t&&\"none\"===t.style.display);return t}getNextOption(e){let t=e;do{t=t?t.nextSibling:null}while(null!=t&&\"none\"===t.style.display);return t}selectOption(e,t){const n=e.querySelectorAll(\"li\");for(let e=0;e=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}class f extends o.a{build(){const e=this.config,{type:t}=e,n=p(e,[\"type\"]);let r=t;const o={paragraph:\"p\",header:this.subtype};return o[t]&&(r=o[t]),{field:this.markup(r,d.f.parsedHtml(this.label),n),layout:\"noLabel\"}}}function h(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}o.a.register([\"paragraph\",\"header\"],f),o.a.register([\"p\",\"address\",\"blockquote\",\"canvas\",\"output\"],f,\"paragraph\"),o.a.register([\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"],f,\"header\");class m extends o.a{static get definition(){return{inactive:[\"checkbox\"],mi18n:{minSelectionRequired:\"minSelectionRequired\"}}}build(){const e=[],t=this.config,{values:n,value:r,placeholder:o,type:i,inline:s,other:a,toggle:l}=t,c=h(t,[\"values\",\"value\",\"placeholder\",\"type\",\"inline\",\"other\",\"toggle\"]),u=i.replace(\"-group\",\"\"),p=\"select\"===i;if((c.multiple||\"checkbox-group\"===i)&&(c.name=c.name+\"[]\"),\"checkbox-group\"===i&&c.required&&(this.onRender=this.groupRequired),delete c.title,n){o&&p&&e.push(this.markup(\"option\",o,{disabled:null,selected:null}));for(let t=0;t{const t=e.target,n=t.parentElement.previousElementSibling;n.value=t.value,n.name=c.id+\"[]\"}},id:t.id+\"-value\",className:\"other-val\"},i=this.markup(\"input\",null,r),a=[document.createTextNode(\"Other\"),this.markup(\"input\",null,o)],l=this.markup(\"label\",a,{for:r.id}),d=this.markup(\"div\",[i,l],{className:n});e.push(d)}}return this.dom=\"select\"==i?this.markup(u,e,Object(d.A)(c,!0)):this.markup(\"div\",e,{className:i}),this.dom}groupRequired(){const e=this.element.getElementsByTagName(\"input\"),t=(e,t)=>{[].forEach.call(e,e=>{t?e.removeAttribute(\"required\"):e.setAttribute(\"required\",\"required\"),((e,t)=>{const n=o.a.mi18n(\"minSelectionRequired\",1);t?e.setCustomValidity(\"\"):e.setCustomValidity(n)})(e,t)})},n=()=>{const n=[].some.call(e,e=>e.checked);t(e,n)};for(let t=e.length-1;t>=0;t--)e[t].addEventListener(\"change\",n);n()}onRender(){if(this.config.userData){const t=this.config.userData.slice();\"select\"===this.config.type?e(this.dom).val(t).prop(\"selected\",!0):this.config.type.endsWith(\"-group\")&&this.dom.querySelectorAll(\"input\").forEach(e=>{if(!e.classList.contains(\"other-val\")){for(let n=0;ndelete this.classConfig[e]);const t=this.classConfig.template||'\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
Upload a file
\\n
\\n \\n Processing dropped files...\\n \\n \\n
    \\n
  • \\n \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n \\n \\n \\n \\n \\n
    \\n
  • \\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n \\n
\\n \\n \\n
\\n
\\n
';this.fineTemplate=e(\"
\").attr(\"id\",\"qq-template\").html(t)}build(){return this.input=this.markup(\"input\",null,{type:\"hidden\",name:this.config.name,id:this.config.name}),this.wrapper=this.markup(\"div\",\"\",{id:this.config.name+\"-wrapper\"}),[this.input,this.wrapper]}onRender(){const t=e(this.wrapper),n=e(this.input),r=jQuery.extend(!0,{request:{endpoint:this.handler},deleteFile:{enabled:!0,endpoint:this.handler},chunking:{enabled:!0,concurrent:{enabled:!0},success:{endpoint:this.handler+(-1==this.handler.indexOf(\"?\")?\"?\":\"&\")+\"done\"}},resume:{enabled:!0},retry:{enableAuto:!0,showButton:!0},callbacks:{onError:(n,r,o)=>{\".\"!=o.slice(-1)&&(o+=\".\");const i=e(\"
\").addClass(\"qq-error-message\").html(`Error processing upload: ${r}.
Reason: ${o}
`).prependTo(t.find(\".qq-uploader\")),s=window.setTimeout(()=>{i.fadeOut(()=>{i.remove(),window.clearTimeout(s)})},6e3);return n},onStatusChange:(e,r,o)=>{const i=t.fineUploader(\"getUploads\"),s=[];for(const e of i)\"upload successful\"==e.status&&s.push(e.name);return n.val(s.join(\", \")),{id:e,oldStatus:r,newStatus:o}}},template:this.fineTemplate},this.classConfig);t.fineUploader(r)}}function y(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}g.register(\"file\",g,\"file\"),g.register(\"fineuploader\",b,\"file\");class v extends o.a{static get definition(){return{mi18n:{textarea:\"textArea\"}}}build(){const e=this.config,{value:t=\"\"}=e,n=y(e,[\"value\"]);return this.field=this.markup(\"textarea\",this.parsedHtml(t),n),this.field}onRender(){this.config.userData&&e(\"#\"+this.config.name).val(this.config.userData[0])}on(t){return\"prerender\"==t&&this.preview?t=>{this.field&&(t=this.field),e(t).on(\"mousedown\",e=>{e.stopPropagation()})}:super.on(t)}}function x(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}o.a.register(\"textarea\",v),o.a.register(\"textarea\",v,\"textarea\");class w extends v{configure(){if(this.js=[\"https://cdn.tinymce.com/4/tinymce.min.js\"],this.classConfig.js){let e=this.classConfig.js;Array.isArray(e)||(e=new Array(e)),this.js.concat(e),delete this.classConfig.js}this.classConfig.css&&(this.css=this.classConfig.css),this.editorOptions={height:250,paste_data_images:!0,plugins:[\"advlist autolink lists link image charmap print preview anchor\",\"searchreplace visualblocks code fullscreen\",\"insertdatetime media table contextmenu paste code\"],toolbar:\"undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | table\"}}build(){const e=this.config,{value:t=\"\"}=e,n=x(e,[\"value\"]);return this.field=this.markup(\"textarea\",this.parsedHtml(t),n),n.disabled&&(this.editorOptions.readonly=!0),this.field}onRender(e){window.tinymce.editors[this.id]&&window.tinymce.editors[this.id].remove();const t=jQuery.extend(this.editorOptions,this.classConfig);return t.target=this.field,window.tinymce.init(t),this.config.userData&&window.tinymce.editors[this.id].setContent(this.parsedHtml(this.config.userData[0])),e}}function O(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var t=1;t{},render:!0,templates:{},notify:{error:e=>{console.log(e)},success:e=>{console.log(e)},warning:e=>{console.warn(e)}}};if(this.options=jQuery.extend(!0,t,e),this.instanceContainers=[],i.a.current||i.a.init(this.options.i18n),!this.options.formData)return!1;this.options.formData=this.parseFormData(this.options.formData),u.a.controlConfig=e.controlConfig||{},u.a.loadCustom(e.controls),Object.keys(this.options.templates).length&&d.a.register(this.options.templates),\"function\"!=typeof Element.prototype.appendFormFields&&(Element.prototype.appendFormFields=function(e){Array.isArray(e)||(e=[e]);const t=s.f.markup(\"div\",e,{className:\"rendered-form\"});this.appendChild(t),e.forEach(e=>{const[n]=e.className.match(/row-([^\\s]+)/)||[];if(n){const r=this.id?`${this.id}-row-${n}`:\"row-\"+n;let o=document.getElementById(r);o||(o=s.f.markup(\"div\",null,{id:r,className:\"row form-inline\"}),t.appendChild(o)),o.appendChild(e)}else t.appendChild(e);e.dispatchEvent(l.a.fieldRendered)})}),\"function\"!=typeof Element.prototype.emptyContainer&&(Element.prototype.emptyContainer=function(){const e=this;for(;e.lastChild;)e.removeChild(e.lastChild)})}santizeField(e,t){const n=Object.assign({},e);return t&&(n.id=e.id&&`${e.id}-${t}`,n.name=e.name&&`${e.name}-${t}`),n.className=Array.isArray(e.className)?s.f.unique(e.className.join(\" \").split(\" \")).join(\" \"):e.className||e.class||null,delete n.class,e.values&&(e.values=e.values.map(e=>s.f.trimObj(e))),s.f.trimObj(n)}getElement(e){return(e=this.options.container||e)instanceof jQuery?e=e[0]:\"string\"==typeof e&&(e=document.querySelector(e)),e}render(e=null,t=0){const n=this,r=this.options;e=this.getElement(e);const o=[];if(r.formData){const i=new r.layout(r.layoutTemplates);for(let e=0;ee.map(e=>e.innerHTML).join(\"\");n.markup=e(o)}}else{const e=s.f.markup(\"div\",r.messages.noFormData,{className:\"no-form-data\"});o.push(e),r.notify.error(r.messages.noFormData)}if(r.disableInjectedStyle){const e=document.getElementsByClassName(\"formBuilder-injected-style\");Object(s.i)(e,t=>Object(a.f)(e[t]))}return n}renderControl(e=null){const t=this.options,n=t.formData;if(!n||Array.isArray(n))throw new Error(\"To render a single element, please specify a single object of formData for the field in question\");const r=this.santizeField(n),o=new t.layout,i=u.a.getClass(n.type,n.subtype),s=t.forceTemplate||\"hidden\",a=o.build(i,r,s);return e.appendFormFields(a),t.notify.success(t.messages.formRendered),this}get userData(){const t=this.options.formData.slice();return t.filter(e=>\"tinymce\"===e.subtype).forEach(e=>window.tinymce.get(e.name).save()),this.instanceContainers.forEach(n=>{const r=e(\"select, input, textarea\",n).serializeArray().reduce((e,{name:t,value:n})=>(e[t=t.replace(\"[]\",\"\")]?e[t].push(n):e[t]=[n],e),{}),o=t.length;for(let e=0;e{this.options.formData.slice().filter(e=>\"tinymce\"===e.subtype).forEach(e=>window.tinymce.get(e.name).setContent(\"\")),e.querySelectorAll(\"input, select, textarea\").forEach(e=>{[\"checkbox\",\"radio\"].includes(e.type)?e.checked=!1:e.value=\"\"})})}parseFormData(e){return\"object\"!=typeof e&&(e={xml:e=>Object(s.t)(e),json:e=>window.JSON.parse(e)}[this.options.dataType](e)||!1),e}}!function(){let e;const t={init:(n,r={})=>(e=n,t.instance=new f(r),n.each(e=>t.instance.render(n[e],e)),t.instance),userData:()=>t.instance&&t.instance.userData,clear:()=>t.instance&&t.instance.clear(),setData:e=>{if(t.instance){const n=t.instance;n.options.formData=n.parseFormData(e)}},render:(n,r={})=>{if(t.instance){const o=t.instance;o.options=Object.assign({},o.options,r,{formData:o.parseFormData(n)}),e.each(n=>t.instance.render(e[n],n))}},html:()=>e.map(t=>e[t]).html()};jQuery.fn.formRender=function(e={},...n){if(t[e])return t[e].apply(this,n);{const n=t.init(this,e);return Object.assign(t,n),n}},jQuery.fn.controlRender=function(e,t={}){t.formData=e,t.dataType=\"string\"==typeof e?\"json\":\"xml\";const n=new f(t),r=this;return r.each(e=>n.renderControl(r[e])),r}}(jQuery)},function(e,t,n){var r=n(9),o=n(32);\"string\"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,\"\"]]);var i={attributes:{class:\"formBuilder-injected-style\"},insert:\"head\",singleton:!1};r(o,i);e.exports=o.locals||{}},function(e,t,n){n.r(t);var r=n(7),o=n.n(r)()(!1);o.push([e.i,\".rendered-form *{box-sizing:border-box}.rendered-form button,.rendered-form input,.rendered-form select,.rendered-form textarea{font-family:inherit;font-size:inherit;line-height:inherit}.rendered-form input{line-height:normal}.rendered-form textarea{overflow:auto}.rendered-form button,.rendered-form input,.rendered-form select,.rendered-form textarea{font-family:inherit;font-size:inherit;line-height:inherit}.rendered-form .btn-group{position:relative;display:inline-block;vertical-align:middle}.rendered-form .btn-group>.btn{position:relative;float:left}.rendered-form .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.rendered-form .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.rendered-form .btn-group .btn+.btn,.rendered-form .btn-group .btn+.btn-group,.rendered-form .btn-group .btn-group+.btn,.rendered-form .btn-group .btn-group+.btn-group{margin-left:-1px}.rendered-form .btn-group>.btn:last-child:not(:first-child),.rendered-form .btn-group>.dropdown-toggle:not(:first-child),.rendered-form .btn-group .input-group .form-control:last-child,.rendered-form .btn-group .input-group-addon:last-child,.rendered-form .btn-group .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.rendered-form .btn-group .input-group-btn:first-child>.btn:not(:first-child),.rendered-form .btn-group .input-group-btn:last-child>.btn,.rendered-form .btn-group .input-group-btn:last-child>.btn-group>.btn,.rendered-form .btn-group .input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.rendered-form .btn-group>.btn.active,.rendered-form .btn-group>.btn:active,.rendered-form .btn-group>.btn:focus,.rendered-form .btn-group>.btn:hover{z-index:2}.rendered-form .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;user-select:none;background-image:none;border-radius:4px}.rendered-form .btn.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.rendered-form .btn.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.rendered-form .btn.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.rendered-form .btn.active,.rendered-form .btn.btn-active,.rendered-form .btn:active{background-image:none}.rendered-form .input-group .form-control:last-child,.rendered-form .input-group-addon:last-child,.rendered-form .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.rendered-form .input-group-btn:first-child>.btn:not(:first-child),.rendered-form .input-group-btn:last-child>.btn,.rendered-form .input-group-btn:last-child>.btn-group>.btn,.rendered-form .input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.rendered-form .input-group .form-control,.rendered-form .input-group-addon,.rendered-form .input-group-btn{display:table-cell}.rendered-form .input-group-lg>.form-control,.rendered-form .input-group-lg>.input-group-addon,.rendered-form .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333}.rendered-form .input-group{position:relative;display:table;border-collapse:separate}.rendered-form .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.rendered-form .form-control,.rendered-form output{font-size:14px;line-height:1.42857143;display:block}.rendered-form textarea.form-control{height:auto}.rendered-form .form-control{height:34px;display:block;width:100%;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px}.rendered-form .form-control:focus{outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.rendered-form .form-group{margin-left:0px;margin-bottom:15px}.rendered-form .btn,.rendered-form .form-control{background-image:none}.rendered-form .pull-right{float:right}.rendered-form .pull-left{float:left}.rendered-form .formbuilder-required,.rendered-form .required-asterisk{color:#c10000}.rendered-form .formbuilder-checkbox-group input[type='checkbox'],.rendered-form .formbuilder-checkbox-group input[type='radio'],.rendered-form .formbuilder-radio-group input[type='checkbox'],.rendered-form .formbuilder-radio-group input[type='radio']{margin:0 4px 0 0}.rendered-form .formbuilder-checkbox-inline,.rendered-form .formbuilder-radio-inline{margin-right:8px;display:inline-block;vertical-align:middle;padding-left:0}.rendered-form .formbuilder-checkbox-inline label input[type='text'],.rendered-form .formbuilder-radio-inline label input[type='text']{margin-top:0}.rendered-form .formbuilder-checkbox-inline:first-child,.rendered-form .formbuilder-radio-inline:first-child{padding-left:0}.rendered-form .formbuilder-autocomplete-list{background-color:#fff;display:none;list-style:none;padding:0;border:1px solid #ccc;border-width:0 1px 1px;position:absolute;z-index:20;max-height:200px;overflow-y:auto}.rendered-form .formbuilder-autocomplete-list li{display:none;cursor:default;padding:5px;margin:0;transition:background-color 200ms ease-in-out}.rendered-form .formbuilder-autocomplete-list li:hover,.rendered-form .formbuilder-autocomplete-list li.active-option{background-color:rgba(0,0,0,0.075)}.rendered-form .kc-toggle{padding-left:0 !important}.rendered-form .kc-toggle span{position:relative;width:48px;height:24px;background:#e6e6e6;display:inline-block;border-radius:4px;border:1px solid #ccc;padding:2px;overflow:hidden;float:left;margin-right:5px;will-change:transform}.rendered-form .kc-toggle span::after,.rendered-form .kc-toggle span::before{position:absolute;display:inline-block;top:0}.rendered-form .kc-toggle span::after{position:relative;content:'';width:50%;height:100%;left:0;border-radius:3px;background:linear-gradient(to bottom, #fff 0%, #ccc 100%);border:1px solid #999;transition:transform 100ms;transform:translateX(0)}.rendered-form .kc-toggle span::before{border-radius:4px;top:2px;left:2px;content:'';width:calc(100% - 4px);height:18px;box-shadow:0 0 1px 1px #b3b3b3 inset;background-color:transparent}.rendered-form .kc-toggle input{height:0;overflow:hidden;width:0;opacity:0;pointer-events:none;margin:0}.rendered-form .kc-toggle input:checked+span::after{transform:translateX(100%)}.rendered-form .kc-toggle input:checked+span::before{background-color:#6fc665}.rendered-form label{font-weight:normal}.form-group .formbuilder-required{color:#c10000}.other-option:checked+label input{display:inline-block}.other-val{margin-left:5px;display:none}*[tooltip]{position:relative}*[tooltip]:hover::after{background:rgba(0,0,0,0.9);border-radius:5px 5px 5px 0;bottom:23px;color:#fff;content:attr(tooltip);padding:10px 5px;position:absolute;z-index:98;left:2px;width:230px;text-shadow:none;font-size:12px;line-height:1.5em}*[tooltip]:hover::before{border:solid;border-color:#222 transparent;border-width:6px 6px 0;bottom:17px;content:'';left:2px;position:absolute;z-index:99}.tooltip-element{color:#fff;background:#000;width:16px;height:16px;border-radius:8px;display:inline-block;text-align:center;line-height:16px;margin:0 5px;font-size:12px}.form-control.number{width:auto}.form-control[type='color']{width:60px;padding:2px;display:inline-block}.form-control[multiple]{height:auto}\\n\",\"\"]),t.default=o}])}(jQuery);","/*global require,module*/\r\n'use strict';\r\nvar CodeMirror = require('codemirror');\r\nrequire('codemirror/addon/edit/continuelist.js');\r\nrequire('./codemirror/tablist');\r\nrequire('codemirror/addon/display/fullscreen.js');\r\nrequire('codemirror/mode/markdown/markdown.js');\r\nrequire('codemirror/addon/mode/overlay.js');\r\nrequire('codemirror/addon/display/placeholder.js');\r\nrequire('codemirror/addon/selection/mark-selection.js');\r\nrequire('codemirror/mode/gfm/gfm.js');\r\nrequire('codemirror/mode/xml/xml.js');\r\nvar CodeMirrorSpellChecker = require('codemirror-spell-checker');\r\nvar marked = require('marked');\r\n\r\n\r\n// Some variables\r\nvar isMac = /Mac/.test(navigator.platform);\r\n\r\n// Mapping of actions that can be bound to keyboard shortcuts or toolbar buttons\r\nvar bindings = {\r\n 'toggleBold': toggleBold,\r\n 'toggleItalic': toggleItalic,\r\n 'drawLink': drawLink,\r\n 'toggleHeadingSmaller': toggleHeadingSmaller,\r\n 'toggleHeadingBigger': toggleHeadingBigger,\r\n 'drawImage': drawImage,\r\n 'toggleBlockquote': toggleBlockquote,\r\n 'toggleOrderedList': toggleOrderedList,\r\n 'toggleUnorderedList': toggleUnorderedList,\r\n 'toggleCodeBlock': toggleCodeBlock,\r\n 'togglePreview': togglePreview,\r\n 'toggleStrikethrough': toggleStrikethrough,\r\n 'toggleHeading1': toggleHeading1,\r\n 'toggleHeading2': toggleHeading2,\r\n 'toggleHeading3': toggleHeading3,\r\n 'cleanBlock': cleanBlock,\r\n 'drawTable': drawTable,\r\n 'drawHorizontalRule': drawHorizontalRule,\r\n 'undo': undo,\r\n 'redo': redo,\r\n 'toggleSideBySide': toggleSideBySide,\r\n 'toggleFullScreen': toggleFullScreen\r\n};\r\n\r\nvar shortcuts = {\r\n 'toggleBold': 'Cmd-B',\r\n 'toggleItalic': 'Cmd-I',\r\n 'drawLink': 'Cmd-K',\r\n 'toggleHeadingSmaller': 'Cmd-H',\r\n 'toggleHeadingBigger': 'Shift-Cmd-H',\r\n 'cleanBlock': 'Cmd-E',\r\n 'drawImage': 'Cmd-Alt-I',\r\n 'toggleBlockquote': 'Cmd-\\'',\r\n 'toggleOrderedList': 'Cmd-Alt-L',\r\n 'toggleUnorderedList': 'Cmd-L',\r\n 'toggleCodeBlock': 'Cmd-Alt-C',\r\n 'togglePreview': 'Cmd-P',\r\n 'toggleSideBySide': 'F9',\r\n 'toggleFullScreen': 'F11'\r\n};\r\n\r\nvar getBindingName = function (f) {\r\n for (var key in bindings) {\r\n if (bindings[key] === f) {\r\n return key;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nvar isMobile = function () {\r\n var check = false;\r\n (function (a) {\r\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(a.substr(0, 4))) check = true;\r\n })(navigator.userAgent || navigator.vendor || window.opera);\r\n return check;\r\n};\r\n\r\n\r\n/**\r\n * Fix shortcut. Mac use Command, others use Ctrl.\r\n */\r\nfunction fixShortcut(name) {\r\n if (isMac) {\r\n name = name.replace('Ctrl', 'Cmd');\r\n } else {\r\n name = name.replace('Cmd', 'Ctrl');\r\n }\r\n return name;\r\n}\r\n\r\n\r\n/**\r\n * Create icon element for toolbar.\r\n */\r\nfunction createIcon(options, enableTooltips, shortcuts) {\r\n options = options || {};\r\n var el = document.createElement('button');\r\n enableTooltips = (enableTooltips == undefined) ? true : enableTooltips;\r\n\r\n if (options.title && enableTooltips) {\r\n el.title = createTooltip(options.title, options.action, shortcuts);\r\n\r\n if (isMac) {\r\n el.title = el.title.replace('Ctrl', '⌘');\r\n el.title = el.title.replace('Alt', '⌥');\r\n }\r\n }\r\n\r\n if (options.noDisable) {\r\n el.classList.add('no-disable');\r\n }\r\n\r\n if (options.noMobile) {\r\n el.classList.add('no-mobile');\r\n }\r\n\r\n el.tabIndex = -1;\r\n\r\n // Create icon element and append as a child to the button\r\n var icon = document.createElement('i');\r\n icon.className = options.className;\r\n el.appendChild(icon);\r\n\r\n return el;\r\n}\r\n\r\nfunction createSep() {\r\n var el = document.createElement('i');\r\n el.className = 'separator';\r\n el.innerHTML = '|';\r\n return el;\r\n}\r\n\r\nfunction createTooltip(title, action, shortcuts) {\r\n var actionName;\r\n var tooltip = title;\r\n\r\n if (action) {\r\n actionName = getBindingName(action);\r\n if (shortcuts[actionName]) {\r\n tooltip += ' (' + fixShortcut(shortcuts[actionName]) + ')';\r\n }\r\n }\r\n\r\n return tooltip;\r\n}\r\n\r\n/**\r\n * The state of CodeMirror at the given position.\r\n */\r\nfunction getState(cm, pos) {\r\n pos = pos || cm.getCursor('start');\r\n var stat = cm.getTokenAt(pos);\r\n if (!stat.type) return {};\r\n\r\n var types = stat.type.split(' ');\r\n\r\n var ret = {},\r\n data, text;\r\n for (var i = 0; i < types.length; i++) {\r\n data = types[i];\r\n if (data === 'strong') {\r\n ret.bold = true;\r\n } else if (data === 'variable-2') {\r\n text = cm.getLine(pos.line);\r\n if (/^\\s*\\d+\\.\\s/.test(text)) {\r\n ret['ordered-list'] = true;\r\n } else {\r\n ret['unordered-list'] = true;\r\n }\r\n } else if (data === 'atom') {\r\n ret.quote = true;\r\n } else if (data === 'em') {\r\n ret.italic = true;\r\n } else if (data === 'quote') {\r\n ret.quote = true;\r\n } else if (data === 'strikethrough') {\r\n ret.strikethrough = true;\r\n } else if (data === 'comment') {\r\n ret.code = true;\r\n } else if (data === 'link') {\r\n ret.link = true;\r\n } else if (data === 'tag') {\r\n ret.image = true;\r\n } else if (data.match(/^header(-[1-6])?$/)) {\r\n ret[data.replace('header', 'heading')] = true;\r\n }\r\n }\r\n return ret;\r\n}\r\n\r\n\r\n// Saved overflow setting\r\nvar saved_overflow = '';\r\n\r\n/**\r\n * Toggle full screen of the editor.\r\n */\r\nfunction toggleFullScreen(editor) {\r\n // Set fullscreen\r\n var cm = editor.codemirror;\r\n cm.setOption('fullScreen', !cm.getOption('fullScreen'));\r\n\r\n\r\n // Prevent scrolling on body during fullscreen active\r\n if (cm.getOption('fullScreen')) {\r\n saved_overflow = document.body.style.overflow;\r\n document.body.style.overflow = 'hidden';\r\n } else {\r\n document.body.style.overflow = saved_overflow;\r\n }\r\n\r\n\r\n // Update toolbar class\r\n var wrap = cm.getWrapperElement();\r\n\r\n if (!/fullscreen/.test(wrap.previousSibling.className)) {\r\n wrap.previousSibling.className += ' fullscreen';\r\n } else {\r\n wrap.previousSibling.className = wrap.previousSibling.className.replace(/\\s*fullscreen\\b/, '');\r\n }\r\n\r\n\r\n // Update toolbar button\r\n if (editor.toolbarElements.fullscreen) {\r\n var toolbarButton = editor.toolbarElements.fullscreen;\r\n\r\n if (!/active/.test(toolbarButton.className)) {\r\n toolbarButton.className += ' active';\r\n } else {\r\n toolbarButton.className = toolbarButton.className.replace(/\\s*active\\s*/g, '');\r\n }\r\n }\r\n\r\n\r\n // Hide side by side if needed\r\n var sidebyside = cm.getWrapperElement().nextSibling;\r\n if (/editor-preview-active-side/.test(sidebyside.className))\r\n toggleSideBySide(editor);\r\n}\r\n\r\n\r\n/**\r\n * Action for toggling bold.\r\n */\r\nfunction toggleBold(editor) {\r\n _toggleBlock(editor, 'bold', editor.options.blockStyles.bold);\r\n}\r\n\r\n\r\n/**\r\n * Action for toggling italic.\r\n */\r\nfunction toggleItalic(editor) {\r\n _toggleBlock(editor, 'italic', editor.options.blockStyles.italic);\r\n}\r\n\r\n\r\n/**\r\n * Action for toggling strikethrough.\r\n */\r\nfunction toggleStrikethrough(editor) {\r\n _toggleBlock(editor, 'strikethrough', '~~');\r\n}\r\n\r\n/**\r\n * Action for toggling code block.\r\n */\r\nfunction toggleCodeBlock(editor) {\r\n var fenceCharsToInsert = editor.options.blockStyles.code;\r\n\r\n function fencing_line(line) {\r\n /* return true, if this is a ``` or ~~~ line */\r\n if (typeof line !== 'object') {\r\n throw 'fencing_line() takes a \\'line\\' object (not a line number, or line text). Got: ' + typeof line + ': ' + line;\r\n }\r\n return line.styles && line.styles[2] && line.styles[2].indexOf('formatting-code-block') !== -1;\r\n }\r\n\r\n function token_state(token) {\r\n // base goes an extra level deep when mode backdrops are used, e.g. spellchecker on\r\n return token.state.base.base || token.state.base;\r\n }\r\n\r\n function code_type(cm, line_num, line, firstTok, lastTok) {\r\n /*\r\n * Return \"single\", \"indented\", \"fenced\" or false\r\n *\r\n * cm and line_num are required. Others are optional for efficiency\r\n * To check in the middle of a line, pass in firstTok yourself.\r\n */\r\n line = line || cm.getLineHandle(line_num);\r\n firstTok = firstTok || cm.getTokenAt({\r\n line: line_num,\r\n ch: 1\r\n });\r\n lastTok = lastTok || (!!line.text && cm.getTokenAt({\r\n line: line_num,\r\n ch: line.text.length - 1\r\n }));\r\n var types = firstTok.type ? firstTok.type.split(' ') : [];\r\n if (lastTok && token_state(lastTok).indentedCode) {\r\n // have to check last char, since first chars of first line aren\"t marked as indented\r\n return 'indented';\r\n } else if (types.indexOf('comment') === -1) {\r\n // has to be after \"indented\" check, since first chars of first indented line aren\"t marked as such\r\n return false;\r\n } else if (token_state(firstTok).fencedChars || token_state(lastTok).fencedChars || fencing_line(line)) {\r\n return 'fenced';\r\n } else {\r\n return 'single';\r\n }\r\n }\r\n\r\n function insertFencingAtSelection(cm, cur_start, cur_end, fenceCharsToInsert) {\r\n var start_line_sel = cur_start.line + 1,\r\n end_line_sel = cur_end.line + 1,\r\n sel_multi = cur_start.line !== cur_end.line,\r\n repl_start = fenceCharsToInsert + '\\n',\r\n repl_end = '\\n' + fenceCharsToInsert;\r\n if (sel_multi) {\r\n end_line_sel++;\r\n }\r\n // handle last char including \\n or not\r\n if (sel_multi && cur_end.ch === 0) {\r\n repl_end = fenceCharsToInsert + '\\n';\r\n end_line_sel--;\r\n }\r\n _replaceSelection(cm, false, [repl_start, repl_end]);\r\n cm.setSelection({\r\n line: start_line_sel,\r\n ch: 0\r\n }, {\r\n line: end_line_sel,\r\n ch: 0\r\n });\r\n }\r\n\r\n var cm = editor.codemirror,\r\n cur_start = cm.getCursor('start'),\r\n cur_end = cm.getCursor('end'),\r\n tok = cm.getTokenAt({\r\n line: cur_start.line,\r\n ch: cur_start.ch || 1\r\n }), // avoid ch 0 which is a cursor pos but not token\r\n line = cm.getLineHandle(cur_start.line),\r\n is_code = code_type(cm, cur_start.line, line, tok);\r\n var block_start, block_end, lineCount;\r\n\r\n if (is_code === 'single') {\r\n // similar to some InscrybMDE _toggleBlock logic\r\n var start = line.text.slice(0, cur_start.ch).replace('`', ''),\r\n end = line.text.slice(cur_start.ch).replace('`', '');\r\n cm.replaceRange(start + end, {\r\n line: cur_start.line,\r\n ch: 0\r\n }, {\r\n line: cur_start.line,\r\n ch: 99999999999999\r\n });\r\n cur_start.ch--;\r\n if (cur_start !== cur_end) {\r\n cur_end.ch--;\r\n }\r\n cm.setSelection(cur_start, cur_end);\r\n cm.focus();\r\n } else if (is_code === 'fenced') {\r\n if (cur_start.line !== cur_end.line || cur_start.ch !== cur_end.ch) {\r\n // use selection\r\n\r\n // find the fenced line so we know what type it is (tilde, backticks, number of them)\r\n for (block_start = cur_start.line; block_start >= 0; block_start--) {\r\n line = cm.getLineHandle(block_start);\r\n if (fencing_line(line)) {\r\n break;\r\n }\r\n }\r\n var fencedTok = cm.getTokenAt({\r\n line: block_start,\r\n ch: 1\r\n });\r\n var fence_chars = token_state(fencedTok).fencedChars;\r\n var start_text, start_line;\r\n var end_text, end_line;\r\n // check for selection going up against fenced lines, in which case we don't want to add more fencing\r\n if (fencing_line(cm.getLineHandle(cur_start.line))) {\r\n start_text = '';\r\n start_line = cur_start.line;\r\n } else if (fencing_line(cm.getLineHandle(cur_start.line - 1))) {\r\n start_text = '';\r\n start_line = cur_start.line - 1;\r\n } else {\r\n start_text = fence_chars + '\\n';\r\n start_line = cur_start.line;\r\n }\r\n if (fencing_line(cm.getLineHandle(cur_end.line))) {\r\n end_text = '';\r\n end_line = cur_end.line;\r\n if (cur_end.ch === 0) {\r\n end_line += 1;\r\n }\r\n } else if (cur_end.ch !== 0 && fencing_line(cm.getLineHandle(cur_end.line + 1))) {\r\n end_text = '';\r\n end_line = cur_end.line + 1;\r\n } else {\r\n end_text = fence_chars + '\\n';\r\n end_line = cur_end.line + 1;\r\n }\r\n if (cur_end.ch === 0) {\r\n // full last line selected, putting cursor at beginning of next\r\n end_line -= 1;\r\n }\r\n cm.operation(function () {\r\n // end line first, so that line numbers don't change\r\n cm.replaceRange(end_text, {\r\n line: end_line,\r\n ch: 0\r\n }, {\r\n line: end_line + (end_text ? 0 : 1),\r\n ch: 0\r\n });\r\n cm.replaceRange(start_text, {\r\n line: start_line,\r\n ch: 0\r\n }, {\r\n line: start_line + (start_text ? 0 : 1),\r\n ch: 0\r\n });\r\n });\r\n cm.setSelection({\r\n line: start_line + (start_text ? 1 : 0),\r\n ch: 0\r\n }, {\r\n line: end_line + (start_text ? 1 : -1),\r\n ch: 0\r\n });\r\n cm.focus();\r\n } else {\r\n // no selection, search for ends of this fenced block\r\n var search_from = cur_start.line;\r\n if (fencing_line(cm.getLineHandle(cur_start.line))) { // gets a little tricky if cursor is right on a fenced line\r\n if (code_type(cm, cur_start.line + 1) === 'fenced') {\r\n block_start = cur_start.line;\r\n search_from = cur_start.line + 1; // for searching for \"end\"\r\n } else {\r\n block_end = cur_start.line;\r\n search_from = cur_start.line - 1; // for searching for \"start\"\r\n }\r\n }\r\n if (block_start === undefined) {\r\n for (block_start = search_from; block_start >= 0; block_start--) {\r\n line = cm.getLineHandle(block_start);\r\n if (fencing_line(line)) {\r\n break;\r\n }\r\n }\r\n }\r\n if (block_end === undefined) {\r\n lineCount = cm.lineCount();\r\n for (block_end = search_from; block_end < lineCount; block_end++) {\r\n line = cm.getLineHandle(block_end);\r\n if (fencing_line(line)) {\r\n break;\r\n }\r\n }\r\n }\r\n cm.operation(function () {\r\n cm.replaceRange('', {\r\n line: block_start,\r\n ch: 0\r\n }, {\r\n line: block_start + 1,\r\n ch: 0\r\n });\r\n cm.replaceRange('', {\r\n line: block_end - 1,\r\n ch: 0\r\n }, {\r\n line: block_end,\r\n ch: 0\r\n });\r\n });\r\n cm.focus();\r\n }\r\n } else if (is_code === 'indented') {\r\n if (cur_start.line !== cur_end.line || cur_start.ch !== cur_end.ch) {\r\n // use selection\r\n block_start = cur_start.line;\r\n block_end = cur_end.line;\r\n if (cur_end.ch === 0) {\r\n block_end--;\r\n }\r\n } else {\r\n // no selection, search for ends of this indented block\r\n for (block_start = cur_start.line; block_start >= 0; block_start--) {\r\n line = cm.getLineHandle(block_start);\r\n if (line.text.match(/^\\s*$/)) {\r\n // empty or all whitespace - keep going\r\n continue;\r\n } else {\r\n if (code_type(cm, block_start, line) !== 'indented') {\r\n block_start += 1;\r\n break;\r\n }\r\n }\r\n }\r\n lineCount = cm.lineCount();\r\n for (block_end = cur_start.line; block_end < lineCount; block_end++) {\r\n line = cm.getLineHandle(block_end);\r\n if (line.text.match(/^\\s*$/)) {\r\n // empty or all whitespace - keep going\r\n continue;\r\n } else {\r\n if (code_type(cm, block_end, line) !== 'indented') {\r\n block_end -= 1;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n // if we are going to un-indent based on a selected set of lines, and the next line is indented too, we need to\r\n // insert a blank line so that the next line(s) continue to be indented code\r\n var next_line = cm.getLineHandle(block_end + 1),\r\n next_line_last_tok = next_line && cm.getTokenAt({\r\n line: block_end + 1,\r\n ch: next_line.text.length - 1\r\n }),\r\n next_line_indented = next_line_last_tok && token_state(next_line_last_tok).indentedCode;\r\n if (next_line_indented) {\r\n cm.replaceRange('\\n', {\r\n line: block_end + 1,\r\n ch: 0\r\n });\r\n }\r\n\r\n for (var i = block_start; i <= block_end; i++) {\r\n cm.indentLine(i, 'subtract'); // TODO: this doesn't get tracked in the history, so can't be undone :(\r\n }\r\n cm.focus();\r\n } else {\r\n // insert code formatting\r\n var no_sel_and_starting_of_line = (cur_start.line === cur_end.line && cur_start.ch === cur_end.ch && cur_start.ch === 0);\r\n var sel_multi = cur_start.line !== cur_end.line;\r\n if (no_sel_and_starting_of_line || sel_multi) {\r\n insertFencingAtSelection(cm, cur_start, cur_end, fenceCharsToInsert);\r\n } else {\r\n _replaceSelection(cm, false, ['`', '`']);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Action for toggling blockquote.\r\n */\r\nfunction toggleBlockquote(editor) {\r\n var cm = editor.codemirror;\r\n _toggleLine(cm, 'quote');\r\n}\r\n\r\n/**\r\n * Action for toggling heading size: normal -> h1 -> h2 -> h3 -> h4 -> h5 -> h6 -> normal\r\n */\r\nfunction toggleHeadingSmaller(editor) {\r\n var cm = editor.codemirror;\r\n _toggleHeading(cm, 'smaller');\r\n}\r\n\r\n/**\r\n * Action for toggling heading size: normal -> h6 -> h5 -> h4 -> h3 -> h2 -> h1 -> normal\r\n */\r\nfunction toggleHeadingBigger(editor) {\r\n var cm = editor.codemirror;\r\n _toggleHeading(cm, 'bigger');\r\n}\r\n\r\n/**\r\n * Action for toggling heading size 1\r\n */\r\nfunction toggleHeading1(editor) {\r\n var cm = editor.codemirror;\r\n _toggleHeading(cm, undefined, 1);\r\n}\r\n\r\n/**\r\n * Action for toggling heading size 2\r\n */\r\nfunction toggleHeading2(editor) {\r\n var cm = editor.codemirror;\r\n _toggleHeading(cm, undefined, 2);\r\n}\r\n\r\n/**\r\n * Action for toggling heading size 3\r\n */\r\nfunction toggleHeading3(editor) {\r\n var cm = editor.codemirror;\r\n _toggleHeading(cm, undefined, 3);\r\n}\r\n\r\n\r\n/**\r\n * Action for toggling ul.\r\n */\r\nfunction toggleUnorderedList(editor) {\r\n var cm = editor.codemirror;\r\n _toggleLine(cm, 'unordered-list');\r\n}\r\n\r\n\r\n/**\r\n * Action for toggling ol.\r\n */\r\nfunction toggleOrderedList(editor) {\r\n var cm = editor.codemirror;\r\n _toggleLine(cm, 'ordered-list');\r\n}\r\n\r\n/**\r\n * Action for clean block (remove headline, list, blockquote code, markers)\r\n */\r\nfunction cleanBlock(editor) {\r\n var cm = editor.codemirror;\r\n _cleanBlock(cm);\r\n}\r\n\r\n/**\r\n * Action for drawing a link.\r\n */\r\nfunction drawLink(editor) {\r\n var cm = editor.codemirror;\r\n var stat = getState(cm);\r\n var options = editor.options;\r\n var url = 'https://';\r\n if (options.promptURLs) {\r\n url = prompt(options.promptTexts.link);\r\n if (!url) {\r\n return false;\r\n }\r\n }\r\n _replaceSelection(cm, stat.link, options.insertTexts.link, url);\r\n}\r\n\r\n/**\r\n * Action for drawing an img.\r\n */\r\nfunction drawImage(editor) {\r\n var cm = editor.codemirror;\r\n var stat = getState(cm);\r\n var options = editor.options;\r\n var url = 'https://';\r\n if (options.promptURLs) {\r\n url = prompt(options.promptTexts.image);\r\n if (!url) {\r\n return false;\r\n }\r\n }\r\n _replaceSelection(cm, stat.image, options.insertTexts.image, url);\r\n}\r\n\r\n/**\r\n * Action for drawing a table.\r\n */\r\nfunction drawTable(editor) {\r\n var cm = editor.codemirror;\r\n var stat = getState(cm);\r\n var options = editor.options;\r\n _replaceSelection(cm, stat.table, options.insertTexts.table);\r\n}\r\n\r\n/**\r\n * Action for drawing a horizontal rule.\r\n */\r\nfunction drawHorizontalRule(editor) {\r\n var cm = editor.codemirror;\r\n var stat = getState(cm);\r\n var options = editor.options;\r\n _replaceSelection(cm, stat.image, options.insertTexts.horizontalRule);\r\n}\r\n\r\n\r\n/**\r\n * Undo action.\r\n */\r\nfunction undo(editor) {\r\n var cm = editor.codemirror;\r\n cm.undo();\r\n cm.focus();\r\n}\r\n\r\n\r\n/**\r\n * Redo action.\r\n */\r\nfunction redo(editor) {\r\n var cm = editor.codemirror;\r\n cm.redo();\r\n cm.focus();\r\n}\r\n\r\n\r\n/**\r\n * Toggle side by side preview\r\n */\r\nfunction toggleSideBySide(editor) {\r\n var cm = editor.codemirror;\r\n var wrapper = cm.getWrapperElement();\r\n var preview = wrapper.nextSibling;\r\n var toolbarButton = editor.toolbarElements['side-by-side'];\r\n var useSideBySideListener = false;\r\n if (/editor-preview-active-side/.test(preview.className)) {\r\n preview.className = preview.className.replace(\r\n /\\s*editor-preview-active-side\\s*/g, ''\r\n );\r\n toolbarButton.className = toolbarButton.className.replace(/\\s*active\\s*/g, '');\r\n wrapper.className = wrapper.className.replace(/\\s*CodeMirror-sided\\s*/g, ' ');\r\n } else {\r\n // When the preview button is clicked for the first time,\r\n // give some time for the transition from editor.css to fire and the view to slide from right to left,\r\n // instead of just appearing.\r\n setTimeout(function () {\r\n if (!cm.getOption('fullScreen'))\r\n toggleFullScreen(editor);\r\n preview.className += ' editor-preview-active-side';\r\n }, 1);\r\n toolbarButton.className += ' active';\r\n wrapper.className += ' CodeMirror-sided';\r\n useSideBySideListener = true;\r\n }\r\n\r\n // Hide normal preview if active\r\n var previewNormal = wrapper.lastChild;\r\n if (/editor-preview-active/.test(previewNormal.className)) {\r\n previewNormal.className = previewNormal.className.replace(\r\n /\\s*editor-preview-active\\s*/g, ''\r\n );\r\n var toolbar = editor.toolbarElements.preview;\r\n var toolbar_div = wrapper.previousSibling;\r\n toolbar.className = toolbar.className.replace(/\\s*active\\s*/g, '');\r\n toolbar_div.className = toolbar_div.className.replace(/\\s*disabled-for-preview*/g, '');\r\n }\r\n\r\n var sideBySideRenderingFunction = function () {\r\n preview.innerHTML = editor.options.previewRender(editor.value(), preview);\r\n };\r\n\r\n if (!cm.sideBySideRenderingFunction) {\r\n cm.sideBySideRenderingFunction = sideBySideRenderingFunction;\r\n }\r\n\r\n if (useSideBySideListener) {\r\n preview.innerHTML = editor.options.previewRender(editor.value(), preview);\r\n cm.on('update', cm.sideBySideRenderingFunction);\r\n } else {\r\n cm.off('update', cm.sideBySideRenderingFunction);\r\n }\r\n\r\n // Refresh to fix selection being off (#309)\r\n cm.refresh();\r\n}\r\n\r\n\r\n/**\r\n * Preview action.\r\n */\r\nfunction togglePreview(editor) {\r\n var cm = editor.codemirror;\r\n var wrapper = cm.getWrapperElement();\r\n var toolbar_div = wrapper.previousSibling;\r\n var toolbar = editor.options.toolbar ? editor.toolbarElements.preview : false;\r\n var preview = wrapper.lastChild;\r\n if (!preview || !/editor-preview/.test(preview.className)) {\r\n preview = document.createElement('div');\r\n preview.className = 'editor-preview';\r\n wrapper.appendChild(preview);\r\n }\r\n if (/editor-preview-active/.test(preview.className)) {\r\n preview.className = preview.className.replace(\r\n /\\s*editor-preview-active\\s*/g, ''\r\n );\r\n if (toolbar) {\r\n toolbar.className = toolbar.className.replace(/\\s*active\\s*/g, '');\r\n toolbar_div.className = toolbar_div.className.replace(/\\s*disabled-for-preview*/g, '');\r\n }\r\n } else {\r\n // When the preview button is clicked for the first time,\r\n // give some time for the transition from editor.css to fire and the view to slide from right to left,\r\n // instead of just appearing.\r\n setTimeout(function () {\r\n preview.className += ' editor-preview-active';\r\n }, 1);\r\n if (toolbar) {\r\n toolbar.className += ' active';\r\n toolbar_div.className += ' disabled-for-preview';\r\n }\r\n }\r\n preview.innerHTML = editor.options.previewRender(editor.value(), preview);\r\n\r\n // Turn off side by side if needed\r\n var sidebyside = cm.getWrapperElement().nextSibling;\r\n if (/editor-preview-active-side/.test(sidebyside.className))\r\n toggleSideBySide(editor);\r\n}\r\n\r\nfunction _replaceSelection(cm, active, startEnd, url) {\r\n if (/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\r\n return;\r\n\r\n var text;\r\n var start = startEnd[0];\r\n var end = startEnd[1];\r\n var startPoint = {},\r\n endPoint = {};\r\n Object.assign(startPoint, cm.getCursor('start'));\r\n Object.assign(endPoint, cm.getCursor('end'));\r\n if (url) {\r\n end = end.replace('#url#', url);\r\n }\r\n if (active) {\r\n text = cm.getLine(startPoint.line);\r\n start = text.slice(0, startPoint.ch);\r\n end = text.slice(startPoint.ch);\r\n cm.replaceRange(start + end, {\r\n line: startPoint.line,\r\n ch: 0\r\n });\r\n } else {\r\n text = cm.getSelection();\r\n cm.replaceSelection(start + text + end);\r\n\r\n startPoint.ch += start.length;\r\n if (startPoint !== endPoint) {\r\n endPoint.ch += start.length;\r\n }\r\n }\r\n cm.setSelection(startPoint, endPoint);\r\n cm.focus();\r\n}\r\n\r\n\r\nfunction _toggleHeading(cm, direction, size) {\r\n if (/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\r\n return;\r\n\r\n var startPoint = cm.getCursor('start');\r\n var endPoint = cm.getCursor('end');\r\n for (var i = startPoint.line; i <= endPoint.line; i++) {\r\n (function (i) {\r\n var text = cm.getLine(i);\r\n var currHeadingLevel = text.search(/[^#]/);\r\n\r\n if (direction !== undefined) {\r\n if (currHeadingLevel <= 0) {\r\n if (direction == 'bigger') {\r\n text = '###### ' + text;\r\n } else {\r\n text = '# ' + text;\r\n }\r\n } else if (currHeadingLevel == 6 && direction == 'smaller') {\r\n text = text.substr(7);\r\n } else if (currHeadingLevel == 1 && direction == 'bigger') {\r\n text = text.substr(2);\r\n } else {\r\n if (direction == 'bigger') {\r\n text = text.substr(1);\r\n } else {\r\n text = '#' + text;\r\n }\r\n }\r\n } else {\r\n if (size == 1) {\r\n if (currHeadingLevel <= 0) {\r\n text = '# ' + text;\r\n } else if (currHeadingLevel == size) {\r\n text = text.substr(currHeadingLevel + 1);\r\n } else {\r\n text = '# ' + text.substr(currHeadingLevel + 1);\r\n }\r\n } else if (size == 2) {\r\n if (currHeadingLevel <= 0) {\r\n text = '## ' + text;\r\n } else if (currHeadingLevel == size) {\r\n text = text.substr(currHeadingLevel + 1);\r\n } else {\r\n text = '## ' + text.substr(currHeadingLevel + 1);\r\n }\r\n } else {\r\n if (currHeadingLevel <= 0) {\r\n text = '### ' + text;\r\n } else if (currHeadingLevel == size) {\r\n text = text.substr(currHeadingLevel + 1);\r\n } else {\r\n text = '### ' + text.substr(currHeadingLevel + 1);\r\n }\r\n }\r\n }\r\n\r\n cm.replaceRange(text, {\r\n line: i,\r\n ch: 0\r\n }, {\r\n line: i,\r\n ch: 99999999999999\r\n });\r\n })(i);\r\n }\r\n cm.focus();\r\n}\r\n\r\n\r\nfunction _toggleLine(cm, name) {\r\n if (/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\r\n return;\r\n\r\n var listRegexp = /^(\\s*)(\\*|-|\\+|\\d*\\.)(\\s+)/;\r\n var whitespacesRegexp = /^\\s*/;\r\n\r\n var stat = getState(cm);\r\n var startPoint = cm.getCursor('start');\r\n var endPoint = cm.getCursor('end');\r\n var repl = {\r\n 'quote': /^(\\s*)>\\s+/,\r\n 'unordered-list': listRegexp,\r\n 'ordered-list': listRegexp\r\n };\r\n\r\n var _getChar = function (name, i) {\r\n var map = {\r\n 'quote': '>',\r\n 'unordered-list': '*',\r\n 'ordered-list': '%%i.'\r\n };\r\n\r\n return map[name].replace('%%i', i);\r\n };\r\n\r\n var _checkChar = function (name, char) {\r\n var map = {\r\n 'quote': '>',\r\n 'unordered-list': '*',\r\n 'ordered-list': 'd+.'\r\n };\r\n var rt = new RegExp(map[name]);\r\n\r\n return char && rt.test(char);\r\n };\r\n\r\n var line = 1;\r\n for (var i = startPoint.line; i <= endPoint.line; i++) {\r\n (function (i) {\r\n var text = cm.getLine(i);\r\n if (stat[name]) {\r\n text = text.replace(repl[name], '$1');\r\n } else {\r\n var arr = listRegexp.exec(text);\r\n var char = _getChar(name, line);\r\n if (arr !== null) {\r\n if (_checkChar(name, arr[2])) {\r\n char = '';\r\n }\r\n text = arr[1] + char + arr[3] + text.replace(whitespacesRegexp, '').replace(repl[name], '$1');\r\n } else {\r\n text = char + ' ' + text;\r\n }\r\n line += 1;\r\n }\r\n cm.replaceRange(text, {\r\n line: i,\r\n ch: 0\r\n }, {\r\n line: i,\r\n ch: 99999999999999\r\n });\r\n })(i);\r\n }\r\n cm.focus();\r\n}\r\n\r\nfunction _toggleBlock(editor, type, start_chars, end_chars) {\r\n if (/editor-preview-active/.test(editor.codemirror.getWrapperElement().lastChild.className))\r\n return;\r\n\r\n end_chars = (typeof end_chars === 'undefined') ? start_chars : end_chars;\r\n var cm = editor.codemirror;\r\n var stat = getState(cm);\r\n\r\n var text;\r\n var start = start_chars;\r\n var end = end_chars;\r\n\r\n var startPoint = cm.getCursor('start');\r\n var endPoint = cm.getCursor('end');\r\n\r\n if (stat[type]) {\r\n text = cm.getLine(startPoint.line);\r\n start = text.slice(0, startPoint.ch);\r\n end = text.slice(startPoint.ch);\r\n if (type == 'bold') {\r\n start = start.replace(/(\\*\\*|__)(?![\\s\\S]*(\\*\\*|__))/, '');\r\n end = end.replace(/(\\*\\*|__)/, '');\r\n } else if (type == 'italic') {\r\n start = start.replace(/(\\*|_)(?![\\s\\S]*(\\*|_))/, '');\r\n end = end.replace(/(\\*|_)/, '');\r\n } else if (type == 'strikethrough') {\r\n start = start.replace(/(\\*\\*|~~)(?![\\s\\S]*(\\*\\*|~~))/, '');\r\n end = end.replace(/(\\*\\*|~~)/, '');\r\n }\r\n cm.replaceRange(start + end, {\r\n line: startPoint.line,\r\n ch: 0\r\n }, {\r\n line: startPoint.line,\r\n ch: 99999999999999\r\n });\r\n\r\n if (type == 'bold' || type == 'strikethrough') {\r\n startPoint.ch -= 2;\r\n if (startPoint !== endPoint) {\r\n endPoint.ch -= 2;\r\n }\r\n } else if (type == 'italic') {\r\n startPoint.ch -= 1;\r\n if (startPoint !== endPoint) {\r\n endPoint.ch -= 1;\r\n }\r\n }\r\n } else {\r\n text = cm.getSelection();\r\n if (type == 'bold') {\r\n text = text.split('**').join('');\r\n text = text.split('__').join('');\r\n } else if (type == 'italic') {\r\n text = text.split('*').join('');\r\n text = text.split('_').join('');\r\n } else if (type == 'strikethrough') {\r\n text = text.split('~~').join('');\r\n }\r\n cm.replaceSelection(start + text + end);\r\n\r\n startPoint.ch += start_chars.length;\r\n endPoint.ch = startPoint.ch + text.length;\r\n }\r\n\r\n cm.setSelection(startPoint, endPoint);\r\n cm.focus();\r\n}\r\n\r\nfunction _cleanBlock(cm) {\r\n if (/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\r\n return;\r\n\r\n var startPoint = cm.getCursor('start');\r\n var endPoint = cm.getCursor('end');\r\n var text;\r\n\r\n for (var line = startPoint.line; line <= endPoint.line; line++) {\r\n text = cm.getLine(line);\r\n text = text.replace(/^[ ]*([# ]+|\\*|-|[> ]+|[0-9]+(.|\\)))[ ]*/, '');\r\n\r\n cm.replaceRange(text, {\r\n line: line,\r\n ch: 0\r\n }, {\r\n line: line,\r\n ch: 99999999999999\r\n });\r\n }\r\n}\r\n\r\n// Merge the properties of one object into another.\r\nfunction _mergeProperties(target, source) {\r\n for (var property in source) {\r\n if (source.hasOwnProperty(property)) {\r\n if (source[property] instanceof Array) {\r\n target[property] = source[property].concat(target[property] instanceof Array ? target[property] : []);\r\n } else if (\r\n source[property] !== null &&\r\n typeof source[property] === 'object' &&\r\n source[property].constructor === Object\r\n ) {\r\n target[property] = _mergeProperties(target[property] || {}, source[property]);\r\n } else {\r\n target[property] = source[property];\r\n }\r\n }\r\n }\r\n\r\n return target;\r\n}\r\n\r\n// Merge an arbitrary number of objects into one.\r\nfunction extend(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n target = _mergeProperties(target, arguments[i]);\r\n }\r\n\r\n return target;\r\n}\r\n\r\n/* The right word count in respect for CJK. */\r\nfunction wordCount(data) {\r\n var pattern = /[a-zA-Z0-9_\\u0392-\\u03c9\\u0410-\\u04F9]+|[\\u4E00-\\u9FFF\\u3400-\\u4dbf\\uf900-\\ufaff\\u3040-\\u309f\\uac00-\\ud7af]+/g;\r\n var m = data.match(pattern);\r\n var count = 0;\r\n if (m === null) return count;\r\n for (var i = 0; i < m.length; i++) {\r\n if (m[i].charCodeAt(0) >= 0x4E00) {\r\n count += m[i].length;\r\n } else {\r\n count += 1;\r\n }\r\n }\r\n return count;\r\n}\r\n\r\nvar toolbarBuiltInButtons = {\r\n 'bold': {\r\n name: 'bold',\r\n action: toggleBold,\r\n className: 'fa fa-bold',\r\n title: 'Bold',\r\n default: true\r\n },\r\n 'italic': {\r\n name: 'italic',\r\n action: toggleItalic,\r\n className: 'fa fa-italic',\r\n title: 'Italic',\r\n default: true\r\n },\r\n 'strikethrough': {\r\n name: 'strikethrough',\r\n action: toggleStrikethrough,\r\n className: 'fa fa-strikethrough',\r\n title: 'Strikethrough'\r\n },\r\n 'heading': {\r\n name: 'heading',\r\n action: toggleHeadingSmaller,\r\n className: 'fa fa-header fa-heading',\r\n title: 'Heading',\r\n default: true\r\n },\r\n 'heading-smaller': {\r\n name: 'heading-smaller',\r\n action: toggleHeadingSmaller,\r\n className: 'fa fa-header fa-header-x fa-header-smaller',\r\n title: 'Smaller Heading'\r\n },\r\n 'heading-bigger': {\r\n name: 'heading-bigger',\r\n action: toggleHeadingBigger,\r\n className: 'fa fa-header fa-header-x fa-header-bigger',\r\n title: 'Bigger Heading'\r\n },\r\n 'heading-1': {\r\n name: 'heading-1',\r\n action: toggleHeading1,\r\n className: 'fa fa-header fa-header-x fa-header-1 fa-h1',\r\n title: 'Big Heading'\r\n },\r\n 'heading-2': {\r\n name: 'heading-2',\r\n action: toggleHeading2,\r\n className: 'fa fa-header fa-header-x fa-header-2 fa-h2',\r\n title: 'Medium Heading'\r\n },\r\n 'heading-3': {\r\n name: 'heading-3',\r\n action: toggleHeading3,\r\n className: 'fa fa-header fa-header-x fa-header-3 fa-h3',\r\n title: 'Small Heading'\r\n },\r\n 'separator-1': {\r\n name: 'separator-1'\r\n },\r\n 'code': {\r\n name: 'code',\r\n action: toggleCodeBlock,\r\n className: 'fa fa-code',\r\n title: 'Code'\r\n },\r\n 'quote': {\r\n name: 'quote',\r\n action: toggleBlockquote,\r\n className: 'fa fa-quote-left',\r\n title: 'Quote',\r\n default: true\r\n },\r\n 'unordered-list': {\r\n name: 'unordered-list',\r\n action: toggleUnorderedList,\r\n className: 'fa fa-list-ul',\r\n title: 'Generic List',\r\n default: true\r\n },\r\n 'ordered-list': {\r\n name: 'ordered-list',\r\n action: toggleOrderedList,\r\n className: 'fa fa-list-ol',\r\n title: 'Numbered List',\r\n default: true\r\n },\r\n 'clean-block': {\r\n name: 'clean-block',\r\n action: cleanBlock,\r\n className: 'fa fa-eraser fa-clean-block',\r\n title: 'Clean block'\r\n },\r\n 'separator-2': {\r\n name: 'separator-2'\r\n },\r\n 'link': {\r\n name: 'link',\r\n action: drawLink,\r\n className: 'fa fa-link',\r\n title: 'Create Link',\r\n default: true\r\n },\r\n 'image': {\r\n name: 'image',\r\n action: drawImage,\r\n className: 'fa fa-image',\r\n title: 'Insert Image',\r\n default: true\r\n },\r\n 'table': {\r\n name: 'table',\r\n action: drawTable,\r\n className: 'fa fa-table',\r\n title: 'Insert Table'\r\n },\r\n 'horizontal-rule': {\r\n name: 'horizontal-rule',\r\n action: drawHorizontalRule,\r\n className: 'fa fa-minus',\r\n title: 'Insert Horizontal Line'\r\n },\r\n 'separator-3': {\r\n name: 'separator-3'\r\n },\r\n 'preview': {\r\n name: 'preview',\r\n action: togglePreview,\r\n className: 'fa fa-eye',\r\n noDisable: true,\r\n title: 'Toggle Preview',\r\n default: true\r\n },\r\n 'side-by-side': {\r\n name: 'side-by-side',\r\n action: toggleSideBySide,\r\n className: 'fa fa-columns',\r\n noDisable: true,\r\n noMobile: true,\r\n title: 'Toggle Side by Side',\r\n default: true\r\n },\r\n 'fullscreen': {\r\n name: 'fullscreen',\r\n action: toggleFullScreen,\r\n className: 'fa fa-arrows-alt',\r\n noDisable: true,\r\n noMobile: true,\r\n title: 'Toggle Fullscreen',\r\n default: true\r\n },\r\n 'separator-4': {\r\n name: 'separator-4'\r\n },\r\n 'guide': {\r\n name: 'guide',\r\n action: 'https://www.inscryb.com/InscrybMDE/markdown-guide/',\r\n className: 'fa fa-question-circle',\r\n noDisable: true,\r\n title: 'Markdown Guide',\r\n default: true\r\n },\r\n 'separator-5': {\r\n name: 'separator-5'\r\n },\r\n 'undo': {\r\n name: 'undo',\r\n action: undo,\r\n className: 'fa fa-undo',\r\n noDisable: true,\r\n title: 'Undo'\r\n },\r\n 'redo': {\r\n name: 'redo',\r\n action: redo,\r\n className: 'fa fa-repeat',\r\n noDisable: true,\r\n title: 'Redo'\r\n }\r\n};\r\n\r\nvar insertTexts = {\r\n link: ['[', '](#url#)'],\r\n image: ['![](', '#url#)'],\r\n table: ['', '\\n\\n| Column 1 | Column 2 | Column 3 |\\n| -------- | -------- | -------- |\\n| Text | Text | Text |\\n\\n'],\r\n horizontalRule: ['', '\\n\\n-----\\n\\n']\r\n};\r\n\r\nvar promptTexts = {\r\n link: 'URL for the link:',\r\n image: 'URL of the image:'\r\n};\r\n\r\nvar blockStyles = {\r\n 'bold': '**',\r\n 'code': '```',\r\n 'italic': '*'\r\n};\r\n\r\n/**\r\n * Interface of InscrybMDE.\r\n */\r\nfunction InscrybMDE(options) {\r\n // Handle options parameter\r\n options = options || {};\r\n\r\n\r\n // Used later to refer to it\"s parent\r\n options.parent = this;\r\n\r\n\r\n // Check if Font Awesome needs to be auto downloaded\r\n var autoDownloadFA = true;\r\n\r\n if (options.autoDownloadFontAwesome === false) {\r\n autoDownloadFA = false;\r\n }\r\n\r\n if (options.autoDownloadFontAwesome !== true) {\r\n var styleSheets = document.styleSheets;\r\n for (var i = 0; i < styleSheets.length; i++) {\r\n if (!styleSheets[i].href)\r\n continue;\r\n\r\n if (styleSheets[i].href.indexOf('//maxcdn.bootstrapcdn.com/font-awesome/') > -1) {\r\n autoDownloadFA = false;\r\n }\r\n }\r\n }\r\n\r\n if (autoDownloadFA) {\r\n var link = document.createElement('link');\r\n link.rel = 'stylesheet';\r\n link.href = 'https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css';\r\n document.getElementsByTagName('head')[0].appendChild(link);\r\n }\r\n\r\n\r\n // Find the textarea to use\r\n if (options.element) {\r\n this.element = options.element;\r\n } else if (options.element === null) {\r\n // This means that the element option was specified, but no element was found\r\n console.log('InscrybMDE: Error. No element was found.');\r\n return;\r\n }\r\n\r\n\r\n // Handle toolbar\r\n if (options.toolbar === undefined) {\r\n // Initialize\r\n options.toolbar = [];\r\n\r\n\r\n // Loop over the built in buttons, to get the preferred order\r\n for (var key in toolbarBuiltInButtons) {\r\n if (toolbarBuiltInButtons.hasOwnProperty(key)) {\r\n if (key.indexOf('separator-') != -1) {\r\n options.toolbar.push('|');\r\n }\r\n\r\n if (toolbarBuiltInButtons[key].default === true || (options.showIcons && options.showIcons.constructor === Array && options.showIcons.indexOf(key) != -1)) {\r\n options.toolbar.push(key);\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n // Handle status bar\r\n if (!options.hasOwnProperty('status')) {\r\n options.status = ['autosave', 'lines', 'words', 'cursor'];\r\n }\r\n\r\n\r\n // Add default preview rendering function\r\n if (!options.previewRender) {\r\n options.previewRender = function (plainText) {\r\n // Note: \"this\" refers to the options object\r\n return this.parent.markdown(plainText);\r\n };\r\n }\r\n\r\n\r\n // Set default options for parsing config\r\n options.parsingConfig = extend({\r\n highlightFormatting: true // needed for toggleCodeBlock to detect types of code\r\n }, options.parsingConfig || {});\r\n\r\n\r\n // Merging the insertTexts, with the given options\r\n options.insertTexts = extend({}, insertTexts, options.insertTexts || {});\r\n\r\n\r\n // Merging the promptTexts, with the given options\r\n options.promptTexts = extend({}, promptTexts, options.promptTexts || {});\r\n\r\n\r\n // Merging the blockStyles, with the given options\r\n options.blockStyles = extend({}, blockStyles, options.blockStyles || {});\r\n\r\n\r\n // Merging the shortcuts, with the given options\r\n options.shortcuts = extend({}, shortcuts, options.shortcuts || {});\r\n\r\n options.minHeight = options.minHeight || '300px';\r\n\r\n\r\n // Change unique_id to uniqueId for backwards compatibility\r\n if (options.autosave != undefined && options.autosave.unique_id != undefined && options.autosave.unique_id != '')\r\n options.autosave.uniqueId = options.autosave.unique_id;\r\n\r\n\r\n // Update this options\r\n this.options = options;\r\n\r\n\r\n // Auto render\r\n this.render();\r\n\r\n\r\n // The codemirror component is only available after rendering\r\n // so, the setter for the initialValue can only run after\r\n // the element has been rendered\r\n if (options.initialValue && (!this.options.autosave || this.options.autosave.foundSavedValue !== true)) {\r\n this.value(options.initialValue);\r\n }\r\n}\r\n\r\n/**\r\n * Default markdown render.\r\n */\r\nInscrybMDE.prototype.markdown = function (text) {\r\n if (marked) {\r\n // Initialize\r\n var markedOptions;\r\n if (this.options && this.options.renderingConfig && this.options.renderingConfig.markedOptions) {\r\n markedOptions = this.options.renderingConfig.markedOptions;\r\n } else {\r\n markedOptions = {};\r\n }\r\n\r\n // Update options\r\n if (this.options && this.options.renderingConfig && this.options.renderingConfig.singleLineBreaks === false) {\r\n markedOptions.breaks = false;\r\n } else {\r\n markedOptions.breaks = true;\r\n }\r\n\r\n if (this.options && this.options.renderingConfig && this.options.renderingConfig.codeSyntaxHighlighting === true) {\r\n\r\n /* Get HLJS from config or window */\r\n var hljs = this.options.renderingConfig.hljs || window.hljs;\r\n\r\n /* Check if HLJS loaded */\r\n if (hljs) {\r\n markedOptions.highlight = function (code) {\r\n return hljs.highlightAuto(code).value;\r\n };\r\n }\r\n }\r\n\r\n\r\n // Set options\r\n marked.setOptions(markedOptions);\r\n\r\n\r\n // Return\r\n return marked(text);\r\n }\r\n};\r\n\r\n/**\r\n * Render editor to the given element.\r\n */\r\nInscrybMDE.prototype.render = function (el) {\r\n if (!el) {\r\n el = this.element || document.getElementsByTagName('textarea')[0];\r\n }\r\n\r\n if (this._rendered && this._rendered === el) {\r\n // Already rendered.\r\n return;\r\n }\r\n\r\n this.element = el;\r\n var options = this.options;\r\n\r\n var self = this;\r\n var keyMaps = {};\r\n\r\n for (var key in options.shortcuts) {\r\n // null stands for \"do not bind this command\"\r\n if (options.shortcuts[key] !== null && bindings[key] !== null) {\r\n (function (key) {\r\n keyMaps[fixShortcut(options.shortcuts[key])] = function () {\r\n bindings[key](self);\r\n };\r\n })(key);\r\n }\r\n }\r\n\r\n keyMaps['Enter'] = 'newlineAndIndentContinueMarkdownList';\r\n keyMaps['Tab'] = 'tabAndIndentMarkdownList';\r\n keyMaps['Shift-Tab'] = 'shiftTabAndUnindentMarkdownList';\r\n keyMaps['Esc'] = function (cm) {\r\n if (cm.getOption('fullScreen')) toggleFullScreen(self);\r\n };\r\n\r\n document.addEventListener('keydown', function (e) {\r\n e = e || window.event;\r\n\r\n if (e.keyCode == 27) {\r\n if (self.codemirror.getOption('fullScreen')) toggleFullScreen(self);\r\n }\r\n }, false);\r\n\r\n var mode, backdrop;\r\n if (options.spellChecker !== false) {\r\n mode = 'spell-checker';\r\n backdrop = options.parsingConfig;\r\n backdrop.name = 'gfm';\r\n backdrop.gitHubSpice = false;\r\n\r\n CodeMirrorSpellChecker({\r\n codeMirrorInstance: CodeMirror\r\n });\r\n } else {\r\n mode = options.parsingConfig;\r\n mode.name = 'gfm';\r\n mode.gitHubSpice = false;\r\n }\r\n\r\n this.codemirror = CodeMirror.fromTextArea(el, {\r\n mode: mode,\r\n backdrop: backdrop,\r\n theme: 'paper',\r\n tabSize: (options.tabSize != undefined) ? options.tabSize : 2,\r\n indentUnit: (options.tabSize != undefined) ? options.tabSize : 2,\r\n indentWithTabs: (options.indentWithTabs === false) ? false : true,\r\n lineNumbers: false,\r\n autofocus: (options.autofocus === true) ? true : false,\r\n extraKeys: keyMaps,\r\n lineWrapping: (options.lineWrapping === false) ? false : true,\r\n allowDropFileTypes: ['text/plain'],\r\n placeholder: options.placeholder || el.getAttribute('placeholder') || '',\r\n styleSelectedText: (options.styleSelectedText != undefined) ? options.styleSelectedText : !isMobile(),\r\n inputStyle: (options.inputStyle != undefined) ? options.inputStyle : isMobile() ? 'contenteditable' : 'textarea',\r\n });\r\n\r\n this.codemirror.getScrollerElement().style.minHeight = options.minHeight;\r\n\r\n if (options.forceSync === true) {\r\n var cm = this.codemirror;\r\n cm.on('change', function () {\r\n cm.save();\r\n });\r\n }\r\n\r\n this.gui = {};\r\n\r\n if (options.toolbar !== false) {\r\n this.gui.toolbar = this.createToolbar();\r\n }\r\n if (options.status !== false) {\r\n this.gui.statusbar = this.createStatusbar();\r\n }\r\n if (options.autosave != undefined && options.autosave.enabled === true) {\r\n this.autosave();\r\n }\r\n\r\n this.gui.sideBySide = this.createSideBySide();\r\n\r\n this._rendered = this.element;\r\n\r\n\r\n // Fixes CodeMirror bug (#344)\r\n var temp_cm = this.codemirror;\r\n setTimeout(function () {\r\n temp_cm.refresh();\r\n }.bind(temp_cm), 0);\r\n};\r\n\r\n// Safari, in Private Browsing Mode, looks like it supports localStorage but all calls to setItem throw QuotaExceededError. We're going to detect this and set a variable accordingly.\r\nfunction isLocalStorageAvailable() {\r\n if (typeof localStorage === 'object') {\r\n try {\r\n localStorage.setItem('smde_localStorage', 1);\r\n localStorage.removeItem('smde_localStorage');\r\n } catch (e) {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nInscrybMDE.prototype.autosave = function () {\r\n if (isLocalStorageAvailable()) {\r\n var inscrybmde = this;\r\n\r\n if (this.options.autosave.uniqueId == undefined || this.options.autosave.uniqueId == '') {\r\n console.log('InscrybMDE: You must set a uniqueId to use the autosave feature');\r\n return;\r\n }\r\n\r\n if (inscrybmde.element.form != null && inscrybmde.element.form != undefined) {\r\n inscrybmde.element.form.addEventListener('submit', function () {\r\n localStorage.removeItem('smde_' + inscrybmde.options.autosave.uniqueId);\r\n });\r\n }\r\n\r\n if (this.options.autosave.loaded !== true) {\r\n if (typeof localStorage.getItem('smde_' + this.options.autosave.uniqueId) == 'string' && localStorage.getItem('smde_' + this.options.autosave.uniqueId) != '') {\r\n this.codemirror.setValue(localStorage.getItem('smde_' + this.options.autosave.uniqueId));\r\n this.options.autosave.foundSavedValue = true;\r\n }\r\n\r\n this.options.autosave.loaded = true;\r\n }\r\n\r\n localStorage.setItem('smde_' + this.options.autosave.uniqueId, inscrybmde.value());\r\n\r\n if (typeof this.options.autosave.callback === 'function')\r\n this.options.autosave.callback.call(this);\r\n\r\n var el = document.getElementById('autosaved');\r\n if (el != null && el != undefined && el != '') {\r\n var d = new Date();\r\n var hh = d.getHours();\r\n var m = d.getMinutes();\r\n var dd = 'am';\r\n var h = hh;\r\n if (h >= 12) {\r\n h = hh - 12;\r\n dd = 'pm';\r\n }\r\n if (h == 0) {\r\n h = 12;\r\n }\r\n m = m < 10 ? '0' + m : m;\r\n\r\n el.innerHTML = 'Autosaved: ' + h + ':' + m + ' ' + dd;\r\n }\r\n\r\n this.autosaveTimeoutId = setTimeout(function () {\r\n inscrybmde.autosave();\r\n }, this.options.autosave.delay || 10000);\r\n } else {\r\n console.log('InscrybMDE: localStorage not available, cannot autosave');\r\n }\r\n};\r\n\r\nInscrybMDE.prototype.clearAutosavedValue = function () {\r\n if (isLocalStorageAvailable()) {\r\n if (this.options.autosave == undefined || this.options.autosave.uniqueId == undefined || this.options.autosave.uniqueId == '') {\r\n console.log('InscrybMDE: You must set a uniqueId to clear the autosave value');\r\n return;\r\n }\r\n\r\n localStorage.removeItem('smde_' + this.options.autosave.uniqueId);\r\n } else {\r\n console.log('InscrybMDE: localStorage not available, cannot autosave');\r\n }\r\n};\r\n\r\nInscrybMDE.prototype.createSideBySide = function () {\r\n var cm = this.codemirror;\r\n var wrapper = cm.getWrapperElement();\r\n var preview = wrapper.nextSibling;\r\n\r\n if (!preview || !/editor-preview-side/.test(preview.className)) {\r\n preview = document.createElement('div');\r\n preview.className = 'editor-preview-side';\r\n wrapper.parentNode.insertBefore(preview, wrapper.nextSibling);\r\n }\r\n\r\n if (this.options.syncSideBySidePreviewScroll === false) return preview;\r\n // Syncs scroll editor -> preview\r\n var cScroll = false;\r\n var pScroll = false;\r\n cm.on('scroll', function (v) {\r\n if (cScroll) {\r\n cScroll = false;\r\n return;\r\n }\r\n pScroll = true;\r\n var height = v.getScrollInfo().height - v.getScrollInfo().clientHeight;\r\n var ratio = parseFloat(v.getScrollInfo().top) / height;\r\n var move = (preview.scrollHeight - preview.clientHeight) * ratio;\r\n preview.scrollTop = move;\r\n });\r\n\r\n // Syncs scroll preview -> editor\r\n preview.onscroll = function () {\r\n if (pScroll) {\r\n pScroll = false;\r\n return;\r\n }\r\n cScroll = true;\r\n var height = preview.scrollHeight - preview.clientHeight;\r\n var ratio = parseFloat(preview.scrollTop) / height;\r\n var move = (cm.getScrollInfo().height - cm.getScrollInfo().clientHeight) * ratio;\r\n cm.scrollTo(0, move);\r\n };\r\n return preview;\r\n};\r\n\r\nInscrybMDE.prototype.createToolbar = function (items) {\r\n items = items || this.options.toolbar;\r\n\r\n if (!items || items.length === 0) {\r\n return;\r\n }\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n if (toolbarBuiltInButtons[items[i]] != undefined) {\r\n items[i] = toolbarBuiltInButtons[items[i]];\r\n }\r\n }\r\n\r\n var bar = document.createElement('div');\r\n bar.className = 'editor-toolbar';\r\n\r\n var self = this;\r\n\r\n var toolbarData = {};\r\n self.toolbar = items;\r\n\r\n for (i = 0; i < items.length; i++) {\r\n if (items[i].name == 'guide' && self.options.toolbarGuideIcon === false)\r\n continue;\r\n\r\n if (self.options.hideIcons && self.options.hideIcons.indexOf(items[i].name) != -1)\r\n continue;\r\n\r\n // Fullscreen does not work well on mobile devices (even tablets)\r\n // In the future, hopefully this can be resolved\r\n if ((items[i].name == 'fullscreen' || items[i].name == 'side-by-side') && isMobile())\r\n continue;\r\n\r\n\r\n // Don't include trailing separators\r\n if (items[i] === '|') {\r\n var nonSeparatorIconsFollow = false;\r\n\r\n for (var x = (i + 1); x < items.length; x++) {\r\n if (items[x] !== '|' && (!self.options.hideIcons || self.options.hideIcons.indexOf(items[x].name) == -1)) {\r\n nonSeparatorIconsFollow = true;\r\n }\r\n }\r\n\r\n if (!nonSeparatorIconsFollow)\r\n continue;\r\n }\r\n\r\n\r\n // Create the icon and append to the toolbar\r\n (function (item) {\r\n var el;\r\n if (item === '|') {\r\n el = createSep();\r\n } else {\r\n el = createIcon(item, self.options.toolbarTips, self.options.shortcuts);\r\n }\r\n\r\n // bind events, special for info\r\n if (item.action) {\r\n if (typeof item.action === 'function') {\r\n el.onclick = function (e) {\r\n e.preventDefault();\r\n item.action(self);\r\n };\r\n } else if (typeof item.action === 'string') {\r\n el.onclick = function (e) {\r\n e.preventDefault();\r\n window.open(item.action, '_blank');\r\n };\r\n }\r\n }\r\n\r\n toolbarData[item.name || item] = el;\r\n bar.appendChild(el);\r\n })(items[i]);\r\n }\r\n\r\n self.toolbarElements = toolbarData;\r\n\r\n var cm = this.codemirror;\r\n cm.on('cursorActivity', function () {\r\n var stat = getState(cm);\r\n\r\n for (var key in toolbarData) {\r\n (function (key) {\r\n var el = toolbarData[key];\r\n if (stat[key]) {\r\n el.className += ' active';\r\n } else if (key != 'fullscreen' && key != 'side-by-side') {\r\n el.className = el.className.replace(/\\s*active\\s*/g, '');\r\n }\r\n })(key);\r\n }\r\n });\r\n\r\n var cmWrapper = cm.getWrapperElement();\r\n cmWrapper.parentNode.insertBefore(bar, cmWrapper);\r\n return bar;\r\n};\r\n\r\nInscrybMDE.prototype.createStatusbar = function (status) {\r\n // Initialize\r\n status = status || this.options.status;\r\n var options = this.options;\r\n var cm = this.codemirror;\r\n\r\n\r\n // Make sure the status variable is valid\r\n if (!status || status.length === 0)\r\n return;\r\n\r\n\r\n // Set up the built-in items\r\n var items = [];\r\n var i, onUpdate, defaultValue;\r\n\r\n for (i = 0; i < status.length; i++) {\r\n // Reset some values\r\n onUpdate = undefined;\r\n defaultValue = undefined;\r\n\r\n\r\n // Handle if custom or not\r\n if (typeof status[i] === 'object') {\r\n items.push({\r\n className: status[i].className,\r\n defaultValue: status[i].defaultValue,\r\n onUpdate: status[i].onUpdate\r\n });\r\n } else {\r\n var name = status[i];\r\n\r\n if (name === 'words') {\r\n defaultValue = function (el) {\r\n el.innerHTML = wordCount(cm.getValue());\r\n };\r\n onUpdate = function (el) {\r\n el.innerHTML = wordCount(cm.getValue());\r\n };\r\n } else if (name === 'lines') {\r\n defaultValue = function (el) {\r\n el.innerHTML = cm.lineCount();\r\n };\r\n onUpdate = function (el) {\r\n el.innerHTML = cm.lineCount();\r\n };\r\n } else if (name === 'cursor') {\r\n defaultValue = function (el) {\r\n el.innerHTML = '0:0';\r\n };\r\n onUpdate = function (el) {\r\n var pos = cm.getCursor();\r\n el.innerHTML = pos.line + ':' + pos.ch;\r\n };\r\n } else if (name === 'autosave') {\r\n defaultValue = function (el) {\r\n if (options.autosave != undefined && options.autosave.enabled === true) {\r\n el.setAttribute('id', 'autosaved');\r\n }\r\n };\r\n }\r\n\r\n items.push({\r\n className: name,\r\n defaultValue: defaultValue,\r\n onUpdate: onUpdate\r\n });\r\n }\r\n }\r\n\r\n\r\n // Create element for the status bar\r\n var bar = document.createElement('div');\r\n bar.className = 'editor-statusbar';\r\n\r\n\r\n // Create a new span for each item\r\n for (i = 0; i < items.length; i++) {\r\n // Store in temporary variable\r\n var item = items[i];\r\n\r\n\r\n // Create span element\r\n var el = document.createElement('span');\r\n el.className = item.className;\r\n\r\n\r\n // Ensure the defaultValue is a function\r\n if (typeof item.defaultValue === 'function') {\r\n item.defaultValue(el);\r\n }\r\n\r\n\r\n // Ensure the onUpdate is a function\r\n if (typeof item.onUpdate === 'function') {\r\n // Create a closure around the span of the current action, then execute the onUpdate handler\r\n this.codemirror.on('update', (function (el, item) {\r\n return function () {\r\n item.onUpdate(el);\r\n };\r\n }(el, item)));\r\n }\r\n\r\n\r\n // Append the item to the status bar\r\n bar.appendChild(el);\r\n }\r\n\r\n\r\n // Insert the status bar into the DOM\r\n var cmWrapper = this.codemirror.getWrapperElement();\r\n cmWrapper.parentNode.insertBefore(bar, cmWrapper.nextSibling);\r\n return bar;\r\n};\r\n\r\n/**\r\n * Get or set the text content.\r\n */\r\nInscrybMDE.prototype.value = function (val) {\r\n var cm = this.codemirror;\r\n if (val === undefined) {\r\n return cm.getValue();\r\n } else {\r\n cm.getDoc().setValue(val);\r\n if (this.isPreviewActive()) {\r\n var wrapper = cm.getWrapperElement();\r\n var preview = wrapper.lastChild;\r\n preview.innerHTML = this.options.previewRender(val, preview);\r\n }\r\n return this;\r\n }\r\n};\r\n\r\n\r\n/**\r\n * Bind static methods for exports.\r\n */\r\nInscrybMDE.toggleBold = toggleBold;\r\nInscrybMDE.toggleItalic = toggleItalic;\r\nInscrybMDE.toggleStrikethrough = toggleStrikethrough;\r\nInscrybMDE.toggleBlockquote = toggleBlockquote;\r\nInscrybMDE.toggleHeadingSmaller = toggleHeadingSmaller;\r\nInscrybMDE.toggleHeadingBigger = toggleHeadingBigger;\r\nInscrybMDE.toggleHeading1 = toggleHeading1;\r\nInscrybMDE.toggleHeading2 = toggleHeading2;\r\nInscrybMDE.toggleHeading3 = toggleHeading3;\r\nInscrybMDE.toggleCodeBlock = toggleCodeBlock;\r\nInscrybMDE.toggleUnorderedList = toggleUnorderedList;\r\nInscrybMDE.toggleOrderedList = toggleOrderedList;\r\nInscrybMDE.cleanBlock = cleanBlock;\r\nInscrybMDE.drawLink = drawLink;\r\nInscrybMDE.drawImage = drawImage;\r\nInscrybMDE.drawTable = drawTable;\r\nInscrybMDE.drawHorizontalRule = drawHorizontalRule;\r\nInscrybMDE.undo = undo;\r\nInscrybMDE.redo = redo;\r\nInscrybMDE.togglePreview = togglePreview;\r\nInscrybMDE.toggleSideBySide = toggleSideBySide;\r\nInscrybMDE.toggleFullScreen = toggleFullScreen;\r\n\r\n/**\r\n * Bind instance methods for exports.\r\n */\r\nInscrybMDE.prototype.toggleBold = function () {\r\n toggleBold(this);\r\n};\r\nInscrybMDE.prototype.toggleItalic = function () {\r\n toggleItalic(this);\r\n};\r\nInscrybMDE.prototype.toggleStrikethrough = function () {\r\n toggleStrikethrough(this);\r\n};\r\nInscrybMDE.prototype.toggleBlockquote = function () {\r\n toggleBlockquote(this);\r\n};\r\nInscrybMDE.prototype.toggleHeadingSmaller = function () {\r\n toggleHeadingSmaller(this);\r\n};\r\nInscrybMDE.prototype.toggleHeadingBigger = function () {\r\n toggleHeadingBigger(this);\r\n};\r\nInscrybMDE.prototype.toggleHeading1 = function () {\r\n toggleHeading1(this);\r\n};\r\nInscrybMDE.prototype.toggleHeading2 = function () {\r\n toggleHeading2(this);\r\n};\r\nInscrybMDE.prototype.toggleHeading3 = function () {\r\n toggleHeading3(this);\r\n};\r\nInscrybMDE.prototype.toggleCodeBlock = function () {\r\n toggleCodeBlock(this);\r\n};\r\nInscrybMDE.prototype.toggleUnorderedList = function () {\r\n toggleUnorderedList(this);\r\n};\r\nInscrybMDE.prototype.toggleOrderedList = function () {\r\n toggleOrderedList(this);\r\n};\r\nInscrybMDE.prototype.cleanBlock = function () {\r\n cleanBlock(this);\r\n};\r\nInscrybMDE.prototype.drawLink = function () {\r\n drawLink(this);\r\n};\r\nInscrybMDE.prototype.drawImage = function () {\r\n drawImage(this);\r\n};\r\nInscrybMDE.prototype.drawTable = function () {\r\n drawTable(this);\r\n};\r\nInscrybMDE.prototype.drawHorizontalRule = function () {\r\n drawHorizontalRule(this);\r\n};\r\nInscrybMDE.prototype.undo = function () {\r\n undo(this);\r\n};\r\nInscrybMDE.prototype.redo = function () {\r\n redo(this);\r\n};\r\nInscrybMDE.prototype.togglePreview = function () {\r\n togglePreview(this);\r\n};\r\nInscrybMDE.prototype.toggleSideBySide = function () {\r\n toggleSideBySide(this);\r\n};\r\nInscrybMDE.prototype.toggleFullScreen = function () {\r\n toggleFullScreen(this);\r\n};\r\n\r\nInscrybMDE.prototype.isPreviewActive = function () {\r\n var cm = this.codemirror;\r\n var wrapper = cm.getWrapperElement();\r\n var preview = wrapper.lastChild;\r\n\r\n return /editor-preview-active/.test(preview.className);\r\n};\r\n\r\nInscrybMDE.prototype.isSideBySideActive = function () {\r\n var cm = this.codemirror;\r\n var wrapper = cm.getWrapperElement();\r\n var preview = wrapper.nextSibling;\r\n\r\n return /editor-preview-active-side/.test(preview.className);\r\n};\r\n\r\nInscrybMDE.prototype.isFullscreenActive = function () {\r\n var cm = this.codemirror;\r\n\r\n return cm.getOption('fullScreen');\r\n};\r\n\r\nInscrybMDE.prototype.getState = function () {\r\n var cm = this.codemirror;\r\n\r\n return getState(cm);\r\n};\r\n\r\nInscrybMDE.prototype.toTextArea = function () {\r\n var cm = this.codemirror;\r\n var wrapper = cm.getWrapperElement();\r\n\r\n if (wrapper.parentNode) {\r\n if (this.gui.toolbar) {\r\n wrapper.parentNode.removeChild(this.gui.toolbar);\r\n }\r\n if (this.gui.statusbar) {\r\n wrapper.parentNode.removeChild(this.gui.statusbar);\r\n }\r\n if (this.gui.sideBySide) {\r\n wrapper.parentNode.removeChild(this.gui.sideBySide);\r\n }\r\n }\r\n\r\n cm.toTextArea();\r\n\r\n if (this.autosaveTimeoutId) {\r\n clearTimeout(this.autosaveTimeoutId);\r\n this.autosaveTimeoutId = undefined;\r\n this.clearAutosavedValue();\r\n }\r\n};\r\n\r\nmodule.exports = InscrybMDE;\r\n","var hljs = require('./core');\n\nhljs.registerLanguage('1c', require('./languages/1c'));\nhljs.registerLanguage('abnf', require('./languages/abnf'));\nhljs.registerLanguage('accesslog', require('./languages/accesslog'));\nhljs.registerLanguage('actionscript', require('./languages/actionscript'));\nhljs.registerLanguage('ada', require('./languages/ada'));\nhljs.registerLanguage('angelscript', require('./languages/angelscript'));\nhljs.registerLanguage('apache', require('./languages/apache'));\nhljs.registerLanguage('applescript', require('./languages/applescript'));\nhljs.registerLanguage('arcade', require('./languages/arcade'));\nhljs.registerLanguage('arduino', require('./languages/arduino'));\nhljs.registerLanguage('armasm', require('./languages/armasm'));\nhljs.registerLanguage('xml', require('./languages/xml'));\nhljs.registerLanguage('asciidoc', require('./languages/asciidoc'));\nhljs.registerLanguage('aspectj', require('./languages/aspectj'));\nhljs.registerLanguage('autohotkey', require('./languages/autohotkey'));\nhljs.registerLanguage('autoit', require('./languages/autoit'));\nhljs.registerLanguage('avrasm', require('./languages/avrasm'));\nhljs.registerLanguage('awk', require('./languages/awk'));\nhljs.registerLanguage('axapta', require('./languages/axapta'));\nhljs.registerLanguage('bash', require('./languages/bash'));\nhljs.registerLanguage('basic', require('./languages/basic'));\nhljs.registerLanguage('bnf', require('./languages/bnf'));\nhljs.registerLanguage('brainfuck', require('./languages/brainfuck'));\nhljs.registerLanguage('c', require('./languages/c'));\nhljs.registerLanguage('cal', require('./languages/cal'));\nhljs.registerLanguage('capnproto', require('./languages/capnproto'));\nhljs.registerLanguage('ceylon', require('./languages/ceylon'));\nhljs.registerLanguage('clean', require('./languages/clean'));\nhljs.registerLanguage('clojure', require('./languages/clojure'));\nhljs.registerLanguage('clojure-repl', require('./languages/clojure-repl'));\nhljs.registerLanguage('cmake', require('./languages/cmake'));\nhljs.registerLanguage('coffeescript', require('./languages/coffeescript'));\nhljs.registerLanguage('coq', require('./languages/coq'));\nhljs.registerLanguage('cos', require('./languages/cos'));\nhljs.registerLanguage('cpp', require('./languages/cpp'));\nhljs.registerLanguage('crmsh', require('./languages/crmsh'));\nhljs.registerLanguage('crystal', require('./languages/crystal'));\nhljs.registerLanguage('csharp', require('./languages/csharp'));\nhljs.registerLanguage('csp', require('./languages/csp'));\nhljs.registerLanguage('css', require('./languages/css'));\nhljs.registerLanguage('d', require('./languages/d'));\nhljs.registerLanguage('markdown', require('./languages/markdown'));\nhljs.registerLanguage('dart', require('./languages/dart'));\nhljs.registerLanguage('delphi', require('./languages/delphi'));\nhljs.registerLanguage('diff', require('./languages/diff'));\nhljs.registerLanguage('django', require('./languages/django'));\nhljs.registerLanguage('dns', require('./languages/dns'));\nhljs.registerLanguage('dockerfile', require('./languages/dockerfile'));\nhljs.registerLanguage('dos', require('./languages/dos'));\nhljs.registerLanguage('dsconfig', require('./languages/dsconfig'));\nhljs.registerLanguage('dts', require('./languages/dts'));\nhljs.registerLanguage('dust', require('./languages/dust'));\nhljs.registerLanguage('ebnf', require('./languages/ebnf'));\nhljs.registerLanguage('elixir', require('./languages/elixir'));\nhljs.registerLanguage('elm', require('./languages/elm'));\nhljs.registerLanguage('ruby', require('./languages/ruby'));\nhljs.registerLanguage('erb', require('./languages/erb'));\nhljs.registerLanguage('erlang-repl', require('./languages/erlang-repl'));\nhljs.registerLanguage('erlang', require('./languages/erlang'));\nhljs.registerLanguage('excel', require('./languages/excel'));\nhljs.registerLanguage('fix', require('./languages/fix'));\nhljs.registerLanguage('flix', require('./languages/flix'));\nhljs.registerLanguage('fortran', require('./languages/fortran'));\nhljs.registerLanguage('fsharp', require('./languages/fsharp'));\nhljs.registerLanguage('gams', require('./languages/gams'));\nhljs.registerLanguage('gauss', require('./languages/gauss'));\nhljs.registerLanguage('gcode', require('./languages/gcode'));\nhljs.registerLanguage('gherkin', require('./languages/gherkin'));\nhljs.registerLanguage('glsl', require('./languages/glsl'));\nhljs.registerLanguage('gml', require('./languages/gml'));\nhljs.registerLanguage('go', require('./languages/go'));\nhljs.registerLanguage('golo', require('./languages/golo'));\nhljs.registerLanguage('gradle', require('./languages/gradle'));\nhljs.registerLanguage('groovy', require('./languages/groovy'));\nhljs.registerLanguage('haml', require('./languages/haml'));\nhljs.registerLanguage('handlebars', require('./languages/handlebars'));\nhljs.registerLanguage('haskell', require('./languages/haskell'));\nhljs.registerLanguage('haxe', require('./languages/haxe'));\nhljs.registerLanguage('hsp', require('./languages/hsp'));\nhljs.registerLanguage('http', require('./languages/http'));\nhljs.registerLanguage('hy', require('./languages/hy'));\nhljs.registerLanguage('inform7', require('./languages/inform7'));\nhljs.registerLanguage('ini', require('./languages/ini'));\nhljs.registerLanguage('irpf90', require('./languages/irpf90'));\nhljs.registerLanguage('isbl', require('./languages/isbl'));\nhljs.registerLanguage('java', require('./languages/java'));\nhljs.registerLanguage('javascript', require('./languages/javascript'));\nhljs.registerLanguage('jboss-cli', require('./languages/jboss-cli'));\nhljs.registerLanguage('json', require('./languages/json'));\nhljs.registerLanguage('julia', require('./languages/julia'));\nhljs.registerLanguage('julia-repl', require('./languages/julia-repl'));\nhljs.registerLanguage('kotlin', require('./languages/kotlin'));\nhljs.registerLanguage('lasso', require('./languages/lasso'));\nhljs.registerLanguage('latex', require('./languages/latex'));\nhljs.registerLanguage('ldif', require('./languages/ldif'));\nhljs.registerLanguage('leaf', require('./languages/leaf'));\nhljs.registerLanguage('less', require('./languages/less'));\nhljs.registerLanguage('lisp', require('./languages/lisp'));\nhljs.registerLanguage('livecodeserver', require('./languages/livecodeserver'));\nhljs.registerLanguage('livescript', require('./languages/livescript'));\nhljs.registerLanguage('llvm', require('./languages/llvm'));\nhljs.registerLanguage('lsl', require('./languages/lsl'));\nhljs.registerLanguage('lua', require('./languages/lua'));\nhljs.registerLanguage('makefile', require('./languages/makefile'));\nhljs.registerLanguage('mathematica', require('./languages/mathematica'));\nhljs.registerLanguage('matlab', require('./languages/matlab'));\nhljs.registerLanguage('maxima', require('./languages/maxima'));\nhljs.registerLanguage('mel', require('./languages/mel'));\nhljs.registerLanguage('mercury', require('./languages/mercury'));\nhljs.registerLanguage('mipsasm', require('./languages/mipsasm'));\nhljs.registerLanguage('mizar', require('./languages/mizar'));\nhljs.registerLanguage('perl', require('./languages/perl'));\nhljs.registerLanguage('mojolicious', require('./languages/mojolicious'));\nhljs.registerLanguage('monkey', require('./languages/monkey'));\nhljs.registerLanguage('moonscript', require('./languages/moonscript'));\nhljs.registerLanguage('n1ql', require('./languages/n1ql'));\nhljs.registerLanguage('nestedtext', require('./languages/nestedtext'));\nhljs.registerLanguage('nginx', require('./languages/nginx'));\nhljs.registerLanguage('nim', require('./languages/nim'));\nhljs.registerLanguage('nix', require('./languages/nix'));\nhljs.registerLanguage('node-repl', require('./languages/node-repl'));\nhljs.registerLanguage('nsis', require('./languages/nsis'));\nhljs.registerLanguage('objectivec', require('./languages/objectivec'));\nhljs.registerLanguage('ocaml', require('./languages/ocaml'));\nhljs.registerLanguage('openscad', require('./languages/openscad'));\nhljs.registerLanguage('oxygene', require('./languages/oxygene'));\nhljs.registerLanguage('parser3', require('./languages/parser3'));\nhljs.registerLanguage('pf', require('./languages/pf'));\nhljs.registerLanguage('pgsql', require('./languages/pgsql'));\nhljs.registerLanguage('php', require('./languages/php'));\nhljs.registerLanguage('php-template', require('./languages/php-template'));\nhljs.registerLanguage('plaintext', require('./languages/plaintext'));\nhljs.registerLanguage('pony', require('./languages/pony'));\nhljs.registerLanguage('powershell', require('./languages/powershell'));\nhljs.registerLanguage('processing', require('./languages/processing'));\nhljs.registerLanguage('profile', require('./languages/profile'));\nhljs.registerLanguage('prolog', require('./languages/prolog'));\nhljs.registerLanguage('properties', require('./languages/properties'));\nhljs.registerLanguage('protobuf', require('./languages/protobuf'));\nhljs.registerLanguage('puppet', require('./languages/puppet'));\nhljs.registerLanguage('purebasic', require('./languages/purebasic'));\nhljs.registerLanguage('python', require('./languages/python'));\nhljs.registerLanguage('python-repl', require('./languages/python-repl'));\nhljs.registerLanguage('q', require('./languages/q'));\nhljs.registerLanguage('qml', require('./languages/qml'));\nhljs.registerLanguage('r', require('./languages/r'));\nhljs.registerLanguage('reasonml', require('./languages/reasonml'));\nhljs.registerLanguage('rib', require('./languages/rib'));\nhljs.registerLanguage('roboconf', require('./languages/roboconf'));\nhljs.registerLanguage('routeros', require('./languages/routeros'));\nhljs.registerLanguage('rsl', require('./languages/rsl'));\nhljs.registerLanguage('ruleslanguage', require('./languages/ruleslanguage'));\nhljs.registerLanguage('rust', require('./languages/rust'));\nhljs.registerLanguage('sas', require('./languages/sas'));\nhljs.registerLanguage('scala', require('./languages/scala'));\nhljs.registerLanguage('scheme', require('./languages/scheme'));\nhljs.registerLanguage('scilab', require('./languages/scilab'));\nhljs.registerLanguage('scss', require('./languages/scss'));\nhljs.registerLanguage('shell', require('./languages/shell'));\nhljs.registerLanguage('smali', require('./languages/smali'));\nhljs.registerLanguage('smalltalk', require('./languages/smalltalk'));\nhljs.registerLanguage('sml', require('./languages/sml'));\nhljs.registerLanguage('sqf', require('./languages/sqf'));\nhljs.registerLanguage('sql', require('./languages/sql'));\nhljs.registerLanguage('stan', require('./languages/stan'));\nhljs.registerLanguage('stata', require('./languages/stata'));\nhljs.registerLanguage('step21', require('./languages/step21'));\nhljs.registerLanguage('stylus', require('./languages/stylus'));\nhljs.registerLanguage('subunit', require('./languages/subunit'));\nhljs.registerLanguage('swift', require('./languages/swift'));\nhljs.registerLanguage('taggerscript', require('./languages/taggerscript'));\nhljs.registerLanguage('yaml', require('./languages/yaml'));\nhljs.registerLanguage('tap', require('./languages/tap'));\nhljs.registerLanguage('tcl', require('./languages/tcl'));\nhljs.registerLanguage('thrift', require('./languages/thrift'));\nhljs.registerLanguage('tp', require('./languages/tp'));\nhljs.registerLanguage('twig', require('./languages/twig'));\nhljs.registerLanguage('typescript', require('./languages/typescript'));\nhljs.registerLanguage('vala', require('./languages/vala'));\nhljs.registerLanguage('vbnet', require('./languages/vbnet'));\nhljs.registerLanguage('vbscript', require('./languages/vbscript'));\nhljs.registerLanguage('vbscript-html', require('./languages/vbscript-html'));\nhljs.registerLanguage('verilog', require('./languages/verilog'));\nhljs.registerLanguage('vhdl', require('./languages/vhdl'));\nhljs.registerLanguage('vim', require('./languages/vim'));\nhljs.registerLanguage('wasm', require('./languages/wasm'));\nhljs.registerLanguage('wren', require('./languages/wren'));\nhljs.registerLanguage('x86asm', require('./languages/x86asm'));\nhljs.registerLanguage('xl', require('./languages/xl'));\nhljs.registerLanguage('xquery', require('./languages/xquery'));\nhljs.registerLanguage('zephir', require('./languages/zephir'));\n\nhljs.HighlightJS = hljs\nhljs.default = hljs\nmodule.exports = hljs;"],"names":["module","exports","Constructor","hasOwnProperty","Object","prototype","slice","Array","createObject","properties","result","create","extendObject","extend","name","constructor","statics","superConstructor","this","apply","arguments","class_","super_","own","target","sources","property","source","i","length","call","extend_1","Nevis","lite","Utilities","forOwn","object","callback","context","key","hasOwn","leftPad","string","times","padding","Utilities_1","Conversion","europa","options","atLeft","atNoWhiteSpace","atParagraph","buffer","inCodeBlock","inOrderedList","inPreformattedBlock","last","left","listDepth","listIndex","_document","document","_element","_tagName","_window","window","append","appendParagraph","output","clean","replace","replacements","value","replacementsRegExp","test","replaceLeft","defineProperties","get","element","set","tagName","toLowerCase","RegExp","Conversion_1","DOMUtilities_1","isVisible","style","getComputedStyle","getPropertyValue","Option","defaultValue","_defaultValue","defineProperty","Option_1","OptionParser_1","exists","some","option","parse","forEach","Plugin_1","after","conversion","afterAll","before","beforeAll","convert","getTagNames","ServiceManager","_services","getService","service","Error","setService","plugins","serviceManager","Europa","_options","getDefaultBaseUri","html","root","createElement","innerHTML","wrapper","contains","display","appendChild","body","plugin","convertElement","removeChild","trim","convertChildren","nodeType","Node","ELEMENT_NODE","childNodes","TEXT_NODE","nodeValue","release","closeWindow","Plugin","register","tag","use","getName","getWindow","baseUri","Europa_1$2","AnchorPlugin","anchors","anchorMap","href","absolute","getAttribute","index","title","inline","push","BlockQuotePlugin","previousLeft","BreakPlugin","CodePlugin","skipped","previousInCodeBlock","DefinitionTermPlugin","DetailsPlugin","hasAttribute","summary","querySelector","EmphasisPlugin","EmptyPlugin","FramePlugin","previousWindow","contentWindow","HeadingPlugin","level","parseInt","match","heading","HorizontalRulePlugin","ImagePlugin","images","imageMap","src","alternativeText","ListItemPlugin","OrderedListPlugin","previousInOrderedList","previousListIndex","ParagraphPlugin","PreformattedPlugin","previousInPreformattedBlock","QuotePlugin","StrongPlugin","UnorderedListPlugin","BrowserWindowService_1","isCloseable","close","baseURI","factory","e","t","n","r","o","l","m","c","d","enumerable","Symbol","toStringTag","__esModule","bind","default","p","s","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","getOwnPropertyDescriptors","configurable","writable","a","indexOf","propertyIsEnumerable","u","f","g","b","y","v","q","j","k","S","E","A","T","R","L","D","N","F","M","B","U","z","I","H","$","fbLoaded","js","css","fbEditors","quill","tinymce","includes","isArray","entries","map","join","values","Boolean","h","C","toString","reduce","concat","className","toUpperCase","Date","getTime","type","label","HTMLElement","dom","find","events","content","node","array","function","undefined","split","setAttribute","addEventListener","x","attributes","w","textContent","O","getElementsByTagName","DOMParser","parseFromString","userData","splice","jQuery","dataType","cache","url","ajax","done","Deferred","resolve","when","every","id","rel","head","attr","appendTo","P","assign","parentElement","classList","navigator","userAgent","vendor","opera","Promise","insertBefore","firstChild","all","getElementById","charAt","substr","_","addEventListeners","attrString","camelCase","capitalize","closest","getContentType","escapeAttr","escapeAttrs","escapeHtml","forceNumber","getScripts","getStyles","hyphenCase","isCached","markup","merge","mobileClass","nameAttr","parseAttrs","parsedHtml","parseOptions","parseUserData","parseXML","removeFromArray","safeAttr","safeAttrName","safename","subtract","trimObj","unique","validAttr","titleCase","splitObject","rawConfig","preview","isPreview","required","Math","floor","random","description","controlConfig","subtype","classConfig","disabled","config","configure","definition","static","classRegister","error","fbControls","fbControlsLoaded","i18n","locale","mi18n","inactive","icon","build","on","prerender","render","onRender","iterator","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","isString","isNumber","isObject","isUndefined","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","adapter","XMLHttpRequest","transformRequest","JSON","stringify","transformResponse","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","headers","common","Accept","btoa","data","XDomainRequest","onprogress","ontimeout","auth","username","password","Authorization","open","method","params","paramsSerializer","readyState","status","responseURL","getAllResponseHeaders","responseType","response","responseText","statusText","request","onerror","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","then","abort","send","__CANCEL__","message","I18N","extension","location","langs","override","TypeError","loaded","processConfig","preloaded","applyLanguage","init","setCurrent","addLanguage","processFile","getValue","getFallbackValue","makeSafe","put","current","substring","fromFile","loadLang","catch","Axios","Cancel","CancelToken","isCancel","spread","readFloatLE","_isBuffer","defaults","interceptors","unshift","fulfilled","rejected","shift","setTimeout","clearTimeout","run","fun","nextTick","browser","env","argv","version","versions","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","code","encodeURIComponent","toISOString","protocol","host","search","hash","hostname","port","pathname","String","charCodeAt","write","toGMTString","cookie","decodeURIComponent","remove","now","handlers","eject","throwIfRequested","baseURL","reject","reason","token","cancel","NATIVE_NAME","ENGLISH_NAME","addOption","allFieldsRemoved","allowMultipleFiles","autocomplete","button","cannotBeEmpty","checkboxGroup","checkbox","checkboxes","clearAllMessage","clear","copy","copyButton","copyButtonTooltip","dateField","descriptionField","devMode","editNames","editorTitle","editXML","enableOther","enableOtherMsg","fieldDeleteWarning","fieldVars","fieldNonEditable","fieldRemoveWarning","fileUpload","formUpdated","getStarted","header","hide","hidden","inlineDesc","labelEmpty","limitRole","mandatory","maxlength","minOptionMessage","minSelectionRequired","multipleFiles","no","noFieldsToClear","number","optionCount","optional","optionLabelPlaceholder","optionValuePlaceholder","optionEmpty","other","paragraph","placeholder","radioGroup","radio","removeMessage","removeOption","requireValidOption","richText","roles","rows","save","selectOptions","select","selectColor","selectionsMessage","size","text","textArea","toggle","warning","viewJSON","viewXML","yes","actionButtons","allowStageSort","controlOrder","controlPosition","defaultFields","disabledActionButtons","disabledAttrs","disabledFieldButtons","disabledSubtypes","disableFields","disableHTMLLabels","disableInjectedStyle","editOnAdd","fields","fieldRemoveWarn","fieldEditContainer","inputSets","notify","console","log","success","warn","onAddField","onAddFieldAfter","onAddOption","onClearAll","onCloseFieldEdit","onOpenFieldEdit","onSave","persistDefaultFields","prepend","replaceFields","scrollToFieldOnAdd","showActionButtons","sortableControls","stickyControls","enable","offset","top","bottom","right","subtypes","templates","typeUserAttrs","typeUserDisabledAttrs","typeUserEvents","btn","textarea","parentNode","reverse","optionFields","optionFieldsRegEx","empty","requestAnimationFrame","Event","createEvent","initEvent","viewData","userDeclined","modalClosed","modalOpened","formSaved","fieldAdded","fieldRemoved","fieldRendered","fieldEditOpened","fieldEditClosed","customRegister","def","attrs","getClass","datatype","class","getRegistered","field","layout","unescape","sourceRoot","HTMLIFrameElement","contentDocument","identifier","base","media","sourceMap","references","updater","nonce","nc","insert","styleSheet","cssText","createTextNode","removeAttribute","singleton","atob","startsWith","help","noLabel","isTemplate","processTemplate","for","tooltip","jquery","nextSibling","getActiveOption","Map","getPreviousOption","selectOption","getNextOption","showList","hideList","isOptionValid","preventDefault","keyCode","focus","querySelectorAll","blur","removeEventListener","input","click","previousSibling","width","offsetWidth","getElementsByClassName","add","next","each","prev","val","multiple","groupRequired","selected","checked","previousElementSibling","setCustomValidity","prop","endsWith","date","file","handler","template","fineTemplate","endpoint","deleteFile","enabled","chunking","concurrent","resume","retry","enableAuto","showButton","callbacks","onError","addClass","prependTo","fadeOut","onStatusChange","fineUploader","oldStatus","newStatus","stopPropagation","super","editorOptions","height","paste_data_images","toolbar","readonly","editors","setContent","modules","theme","editorConfig","Quill","import","instance","setContents","compose","layoutTemplates","controls","container","formData","messages","formRendered","noFormData","invalidControl","instanceContainers","parseFormData","loadCustom","Element","appendFormFields","dispatchEvent","emptyContainer","lastChild","santizeField","getElement","renderControl","forceTemplate","serializeArray","xml","json","setData","fn","formRender","controlRender","locals","CodeMirror","CodeMirrorSpellChecker","marked","isMac","platform","bindings","toggleBold","toggleItalic","drawLink","toggleHeadingSmaller","toggleHeadingBigger","drawImage","toggleBlockquote","toggleOrderedList","toggleUnorderedList","toggleCodeBlock","togglePreview","toggleStrikethrough","toggleHeading1","toggleHeading2","toggleHeading3","cleanBlock","drawTable","drawHorizontalRule","undo","redo","toggleSideBySide","toggleFullScreen","shortcuts","isMobile","check","fixShortcut","createIcon","enableTooltips","el","action","actionName","getBindingName","createTooltip","noDisable","noMobile","tabIndex","createSep","getState","cm","pos","getCursor","stat","getTokenAt","types","ret","bold","getLine","line","quote","italic","strikethrough","link","image","saved_overflow","editor","codemirror","setOption","getOption","overflow","wrap","getWrapperElement","toolbarElements","fullscreen","toolbarButton","sidebyside","_toggleBlock","blockStyles","fenceCharsToInsert","fencing_line","styles","token_state","state","code_type","line_num","firstTok","lastTok","getLineHandle","ch","indentedCode","fencedChars","block_start","block_end","lineCount","cur_start","cur_end","tok","is_code","start","end","replaceRange","setSelection","start_text","start_line","end_text","end_line","fence_chars","operation","search_from","next_line","next_line_last_tok","indentLine","no_sel_and_starting_of_line","sel_multi","start_line_sel","end_line_sel","repl_start","repl_end","_replaceSelection","insertFencingAtSelection","_toggleLine","_toggleHeading","startPoint","endPoint","_cleanBlock","promptURLs","prompt","promptTexts","insertTexts","table","horizontalRule","useSideBySideListener","previewNormal","toolbar_div","sideBySideRenderingFunction","previewRender","refresh","active","startEnd","getSelection","replaceSelection","direction","currHeadingLevel","listRegexp","whitespacesRegexp","repl","_getChar","_checkChar","char","rt","arr","exec","start_chars","end_chars","_mergeProperties","wordCount","count","toolbarBuiltInButtons","InscrybMDE","parent","autoDownloadFA","autoDownloadFontAwesome","styleSheets","showIcons","plainText","markdown","parsingConfig","highlightFormatting","minHeight","autosave","unique_id","uniqueId","initialValue","foundSavedValue","isLocalStorageAvailable","localStorage","setItem","removeItem","markedOptions","renderingConfig","singleLineBreaks","breaks","codeSyntaxHighlighting","hljs","highlight","highlightAuto","setOptions","_rendered","mode","backdrop","self","keyMaps","event","spellChecker","gitHubSpice","codeMirrorInstance","fromTextArea","tabSize","indentUnit","indentWithTabs","lineNumbers","autofocus","extraKeys","lineWrapping","allowDropFileTypes","styleSelectedText","inputStyle","getScrollerElement","forceSync","gui","createToolbar","statusbar","createStatusbar","sideBySide","createSideBySide","temp_cm","inscrybmde","form","getItem","setValue","hh","getHours","getMinutes","dd","autosaveTimeoutId","delay","clearAutosavedValue","syncSideBySidePreviewScroll","cScroll","pScroll","getScrollInfo","clientHeight","ratio","parseFloat","move","scrollHeight","scrollTop","onscroll","scrollTo","items","bar","toolbarData","toolbarGuideIcon","hideIcons","nonSeparatorIconsFollow","item","toolbarTips","onclick","cmWrapper","onUpdate","getDoc","isPreviewActive","isSideBySideActive","isFullscreenActive","toTextArea","registerLanguage","HighlightJS"],"sourceRoot":""}