diff --git a/.gitignore b/.gitignore index c9f7cd07..51c95140 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,15 @@ npm-debug.log config/development.* config/production.* dump.rdb + +public/mosaico/uploads/* +!public/mosaico/uploads/README.md +public/mosaico/custom/* +!public/mosaico/custom/README.md +public/mosaico/templates/* +!public/mosaico/templates/versafix-1 + +public/grapejs/uploads/* +!public/grapejs/uploads/README.md +public/grapejs/templates/* +!public/grapejs/templates/demo diff --git a/app.js b/app.js index 51a4a915..6252b44b 100644 --- a/app.js +++ b/app.js @@ -35,6 +35,9 @@ let webhooks = require('./routes/webhooks'); let subscription = require('./routes/subscription'); let archive = require('./routes/archive'); let api = require('./routes/api'); +let editorapi = require('./routes/editorapi'); +let grapejs = require('./routes/grapejs'); +let mosaico = require('./routes/mosaico'); let app = express(); @@ -205,6 +208,9 @@ app.use('/webhooks', webhooks); app.use('/subscription', subscription); app.use('/archive', archive); app.use('/api', api); +app.use('/editorapi', editorapi); +app.use('/grapejs', grapejs); +app.use('/mosaico', mosaico); // catch 404 and forward to error handler app.use((req, res, next) => { diff --git a/config/default.toml b/config/default.toml index c547295e..55b7f786 100644 --- a/config/default.toml +++ b/config/default.toml @@ -24,6 +24,8 @@ title="mailtrain" # Enabled HTML editors editors=[ ["summernote", "Summernote"], + ["grapejs", "GrapeJS"], + ["mosaico", "Mosaico"], ["codeeditor", "Code Editor"] ] @@ -123,3 +125,13 @@ host="127.0.0.1" # How many parallel sender processes to spawn # You can use more than 1 process only if you have Redis enabled processes=1 + +[mosaico] +# Installed templates +templates=[["versafix-1", "Versafix One"]] +# Inject custom scripts from public/mosaico/custom/ +# customscripts=["some-lib.js", "my-mosaico-plugin.js"] + +[grapejs] +# Installed templates +templates=[["demo", "Demo Template"]] diff --git a/languages/mailtrain.pot b/languages/mailtrain.pot index aa434c94..5630ab85 100644 --- a/languages/mailtrain.pot +++ b/languages/mailtrain.pot @@ -8,7 +8,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2017-03-07 19:52+0000\n" +"POT-Creation-Date: 2017-03-10 08:57+0000\n" #: views/archive/layout.hbs:1 #: views/layout.hbs:1 @@ -65,7 +65,7 @@ msgstr "" #: views/users/forgot.hbs:1 #: views/users/login.hbs:1 #: views/users/reset.hbs:1 -#: app.js:169 +#: app.js:172 msgid "Home" msgstr "" @@ -118,7 +118,7 @@ msgstr "" #: views/campaigns/delivered.hbs:7 #: views/campaigns/opened.hbs:7 #: views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:9 +#: views/lists/subscription/import-failed.hbs:8 #: views/lists/view.hbs:18 #: views/triggers/triggered.hbs:6 msgid "Address" @@ -216,6 +216,7 @@ msgstr "" #: views/lists/create.hbs:7 #: views/lists/edit.hbs:10 #: views/lists/lists.hbs:8 +#: views/mosaico/editor.hbs:3 #: views/partials/merge-tag-reference.hbs:4 #: views/templates/create.hbs:9 #: views/templates/edit.hbs:8 @@ -1451,6 +1452,7 @@ msgstr "" #: views/lists/fields/edit.hbs:30 #: views/lists/fields/fields.hbs:8 +#: views/mosaico/editor.hbs:2 #: views/partials/merge-tag-reference.hbs:3 msgid "Merge tag" msgstr "" @@ -1789,10 +1791,17 @@ msgid "Failed addresses" msgstr "" #: views/lists/subscription/import-failed.hbs:6 +msgid "" +"Role-based addresses like postmaster@example.com are blocked when " +"importing. Subscribers with role-based email addresses can join your list " +"using the subscription form" +msgstr "" + +#: views/lists/subscription/import-failed.hbs:7 msgid "see here" msgstr "" -#: views/lists/subscription/import-failed.hbs:10 +#: views/lists/subscription/import-failed.hbs:9 msgid "Fail reason" msgstr "" @@ -1908,17 +1917,76 @@ msgstr "" msgid "Restart" msgstr "" +#: views/mosaico/editor.hbs:1 +#: views/partials/merge-tag-reference.hbs:1 +msgid "Merge tag reference" +msgstr "" + +#: views/mosaico/editor.hbs:4 +msgid "MOSAICO Responsive Email Designer" +msgstr "" + +#: views/mosaico/editor.hbs:5 +msgid "Sucessfully saved" +msgstr "" + +#: views/mosaico/editor.hbs:6 +msgid "An error occured while saving the document" +msgstr "" + +#: views/mosaico/editor.hbs:7 +msgid "Unsaved changes will be lost. Close now?" +msgstr "" + +#: views/mosaico/editor.hbs:8 +#: views/mosaico/editor.hbs:9 +msgid "Tags" +msgstr "" + #: views/partials/codeeditor.hbs:1 +#: views/partials/grapejs.hbs:1 +#: views/partials/mosaico.hbs:1 #: views/partials/summernote.hbs:1 msgid "Template content (HTML)" msgstr "" +#: views/partials/editor-navbar.hbs:1 +msgid "SAVE" +msgstr "" + +#: views/partials/editor-navbar.hbs:2 +msgid "SAVING" +msgstr "" + +#: views/partials/editor-navbar.hbs:3 +msgid "CLOSE" +msgstr "" + +#: views/partials/grapejs.hbs:2 +msgid "Open GrapeJS" +msgstr "" + #: views/partials/html-preview.hbs:1 msgid "Toggle HTML preview" msgstr "" -#: views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" +#: views/partials/html-to-text.hbs:1 +msgid "" +"To extract the text from HTML click here." +msgstr "" + +#: views/partials/html-to-text.hbs:2 +msgid "" +"Please note that your existing plaintext in the field above will be " +"overwritten. This feature uses the Premailer API, a third party service. Their Terms of " +"Service and Privacy Policy apply." +msgstr "" + +#: views/partials/html-to-text.hbs:3 +msgid "An error occurred while talking to the server" msgstr "" #: views/partials/merge-tag-reference.hbs:2 @@ -1929,6 +1997,10 @@ msgid "" "text value used when TAG_NAME is empty." msgstr "" +#: views/partials/mosaico.hbs:2 +msgid "Open Mosaico" +msgstr "" + #: views/partials/plaintext.hbs:1 msgid "Template content (plaintext)" msgstr "" @@ -2891,6 +2963,31 @@ msgstr "" msgid "Please enter a new password." msgstr "" +#: lib/editor-helpers.js:16 +#: routes/templates.js:109 +msgid "Could not find template with specified ID" +msgstr "" + +#: lib/editor-helpers.js:32 +#: routes/archive.js:140 +#: routes/campaigns.js:131 +#: routes/campaigns.js:295 +#: routes/campaigns.js:390 +#: routes/campaigns.js:435 +#: routes/campaigns.js:475 +#: routes/campaigns.js:739 +#: routes/campaigns.js:762 +#: routes/campaigns.js:781 +#: routes/campaigns.js:803 +#: routes/triggers.js:146 +msgid "Could not find campaign with specified ID" +msgstr "" + +#: lib/editor-helpers.js:46 +#: routes/editorapi.js:276 +msgid "Invalid resource type" +msgstr "" + #: lib/feed.js:31 msgid "Bad status code %s" msgstr "" @@ -3364,37 +3461,26 @@ msgstr "" #: routes/archive.js:31 #: routes/archive.js:43 #: routes/archive.js:55 -#: app.js:211 +#: app.js:217 msgid "Not Found" msgstr "" #: routes/archive.js:116 -#: services/sender.js:447 +#: services/sender.js:451 msgid "Received status code %s from %s" msgstr "" -#: routes/archive.js:140 -#: routes/campaigns.js:131 -#: routes/campaigns.js:295 -#: routes/campaigns.js:390 -#: routes/campaigns.js:435 -#: routes/campaigns.js:475 -#: routes/campaigns.js:739 -#: routes/campaigns.js:762 -#: routes/campaigns.js:781 -#: routes/campaigns.js:803 -#: routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "" - #: routes/archive.js:148 #: routes/campaigns.js:789 msgid "Attachment not found" msgstr "" #: routes/campaigns.js:26 +#: routes/editorapi.js:33 #: routes/fields.js:13 +#: routes/grapejs.js:13 #: routes/lists.js:49 +#: routes/mosaico.js:14 #: routes/segments.js:13 #: routes/settings.js:23 #: routes/templates.js:17 @@ -3520,6 +3606,19 @@ msgstr "" msgid "Could not delete attachment" msgstr "" +#: routes/editorapi.js:39 +msgid "Invalid editor name" +msgstr "" + +#: routes/editorapi.js:220 +#: routes/editorapi.js:246 +msgid "Method not supported" +msgstr "" + +#: routes/editorapi.js:316 +msgid "Invalid resource type or ID" +msgstr "" + #: routes/fields.js:28 #: routes/fields.js:64 #: routes/fields.js:118 @@ -3891,10 +3990,6 @@ msgstr "" msgid "Template created" msgstr "" -#: routes/templates.js:109 -msgid "Could not find template with specified ID" -msgstr "" - #: routes/templates.js:140 msgid "Template settings updated" msgstr "" diff --git a/lib/editor-helpers.js b/lib/editor-helpers.js new file mode 100644 index 00000000..c81eebad --- /dev/null +++ b/lib/editor-helpers.js @@ -0,0 +1,68 @@ +'use strict'; + +let _ = require('../lib/translate')._; +let helpers = require('../lib/helpers'); +let templates = require('../lib/models/templates'); +let campaigns = require('../lib/models/campaigns'); + +module.exports = { + getResource +}; + +function getResource(type, id, callback) { + if (type === 'template') { + templates.get(id, (err, template) => { + if (err || !template) { + return callback(err && err.message || err || _('Could not find template with specified ID')); + } + + getMergeTagsForResource(template, (err, mergeTags) => { + if (err) { + return callback(err.message || err); + } + + template.mergeTags = mergeTags; + return callback(null, template); + }); + }); + + } else if (type === 'campaign') { + campaigns.get(id, false, (err, campaign) => { + if (err || !campaign) { + return callback(err && err.message || err || _('Could not find campaign with specified ID')); + } + + getMergeTagsForResource(campaign, (err, mergeTags) => { + if (err) { + return callback(err.message || err); + } + + campaign.mergeTags = mergeTags; + return callback(null, campaign); + }); + }); + + } else { + return callback(_('Invalid resource type')); + } +} + +function getMergeTagsForResource(resource, callback) { + helpers.getDefaultMergeTags((err, defaultMergeTags) => { + if (err) { + return callback(err.message || err); + } + + if (!resource.list) { + return callback(null, defaultMergeTags); + } + + helpers.getListMergeTags(resource.list, (err, listMergeTags) => { + if (err) { + return callback(err.message || err); + } + + callback(null, defaultMergeTags.concat(listMergeTags)); + }); + }); +} diff --git a/package.json b/package.json index a22bb2c2..dab0933f 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "jsxgettext-andris": "^0.9.0-patch.1" }, "dependencies": { + "async": "^2.1.5", "aws-sdk": "^2.24.0", "bcrypt-nodejs": "0.0.3", "body-parser": "^1.17.1", @@ -51,8 +52,10 @@ "express-session": "^1.15.1", "faker": "^4.1.0", "feedparser": "^2.1.0", + "file-type": "^4.1.0", "geoip-ultralight": "^0.1.5", "gettext-parser": "^1.2.2", + "gm": "^1.23.0", "handlebars": "^4.0.6", "hbs": "^4.0.1", "he": "^1.1.1", @@ -60,21 +63,27 @@ "humanize": "0.0.9", "is-url": "^1.2.2", "isemail": "^2.2.1", + "jquery-file-upload-middleware": "^0.1.8", "jsdom": "^9.11.0", "juice": "^4.0.2", "libmime": "^3.1.0", "marked": "^0.3.6", + "memory-cache": "^0.1.6", "mkdirp": "^0.5.1", "moment-timezone": "^0.5.11", "morgan": "^1.8.1", "multer": "^1.3.0", + "multiparty": "^4.1.3", "mysql": "^2.13.0", + "node-gettext": "^2.0.0-rc.0", + "node-mocks-http": "^1.6.1", "nodemailer": "^3.1.5", "nodemailer-openpgp": "^1.0.2", "npmlog": "^4.0.2", "openpgp": "^2.4.0", "passport": "^0.3.2", "passport-local": "^1.0.0", + "premailer-api": "^1.0.4", "redfour": "^1.0.0", "redis": "^2.6.5", "request": "^2.80.0", @@ -83,7 +92,6 @@ "slugify": "^1.1.0", "smtp-server": "^2.0.2", "striptags": "^3.0.1", - "toml": "^2.3.2", - "node-gettext": "^2.0.0-rc.0" + "toml": "^2.3.2" } } diff --git a/public/grapejs/LICENSE b/public/grapejs/LICENSE new file mode 100755 index 00000000..33625788 --- /dev/null +++ b/public/grapejs/LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2016, Artur Arseniev +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +- Neither the name "GrapesJS" nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/public/grapejs/README.md b/public/grapejs/README.md new file mode 100755 index 00000000..c6e9b001 --- /dev/null +++ b/public/grapejs/README.md @@ -0,0 +1,183 @@ +# [GrapesJS](http://grapesjs.com) + +[![Build Status](https://travis-ci.org/artf/grapesjs.svg?branch=master)](https://travis-ci.org/artf/grapesjs) + +

GrapesJS

+
+ +GrapesJS is a free and open source Web Builder Framework which helps you building HTML templates to be used inside sites, newsletters and mobile apps. +Mainly GrapesJS was designed to be used inside a [CMS] to speed up a creation of dynamic templates. To better understand this concept check the image below + +
+

GrapesJS - Style Manager

+
+ +Generally any 'template system', that you'd find in various applications like CMS, is composed by the **structure** (HTML), **style** (CSS) and **variables**, which are then replaced with other templates and contents on server-side and rendered on client. + +This demos show examples of what is possible to achieve: +Webpage Demo - http://grapesjs.com/demo.html +Newsletter Demo - http://grapesjs.com/demo-newsletter-editor.html + + +## Features + + +* Blocks +

GrapesJS - Block Manager

+ +* Style Manager, for component styling
+

GrapesJS - Style Manager

+ +* Layer Manager, that comes handy with nested elements
+

GrapesJS - Layer Manager

+ +* Code Viewer
+

GrapesJS - Code Viewer

+ +* Asset Manager, for uploading and managing images
+

GrapesJS - Asset Manager

+ +* Local and remote storage + +* Default built-in commands (basically for creating and managing different components) + + +## Installation + +You can get GrapesJS with `bower install grapesjs` or via `git clone https://github.com/artf/grapesjs.git` to directly use it. For development purpose you should follow instructions below. + + +## Development + +GrapesJS uses [RequireJS](http://requirejs.org/) to organize its files inside `src` folder and [Grunt](http://gruntjs.com/) for build them to `dist` + +Clone the repository and enter inside the folder + +```sh +$ npm install -g grunt-cli +$ git clone https://github.com/artf/grapesjs.git +$ cd grapesjs +``` + +Install all necessary dependencies + +```sh +$ npm install +``` + +Build GrapesJS + +```sh +$ npm run build +``` + +Launch server, which also gonna watch some files, and try out the demo on `localhost:8000` + +```sh +$ npm start +``` + +Tests are already available inside browser on `localhost:8000/test` + +If [Grunt](http://gruntjs.com/) is already installed globally you could change the port by using `grunt dev --port 9000` + + +## Usage + +JQuery is the only hard dependency so you have to include it before using GrapesJS + +```html + +``` +After that include scripts from GrapesJS with all your configurations + +```html + + + +
+ + +``` + +You could also grab the content directly from the element with `fromElement` property + +```html +
+
Hello world!
+ +
+ + +``` + +For more practical example I suggest to look up the code inside this demo: http://grapesjs.com/demo.html + + +## Configuration + +Check the getting started guide here: [wiki] + + +## API + +API References (draft) could be found here: [API-Reference] + + +## Testing + +```sh +$ npm test +``` + +## Acknowledgements + +GrapesJS is built on top of this amazing open source projects: + +* [Backbone] - gives Backbone to web applications +* [Backbone.Undo] - a simple Backbone undo-manager +* [Keymaster] - keyboard shortcuts +* [CodeMirror] - versatile text editor +* [Spectrum] - no hassle colorpicker +* [FontAwesome] - the iconic font and CSS framework + + +## Sponsors + +The project is sponsored by + +[![Sendloop](http://grapesjs.com/img/sendloop-logo-l.png)](https://sendloop.com) + + +## Support + +If you like the project support it with a donation of your choice. + +[![PayPalMe](http://grapesjs.com/img/ppme.png)](https://paypal.me/grapesjs) + + +## License + +BSD 3-clause + + +[Backbone]: +[Backbone.Undo]: +[Keymaster]: +[CodeMirror]: +[Spectrum]: +[FontAwesome]: +[wiki]: +[API-Reference]: +[CMS]: diff --git a/public/grapejs/dist/css/grapes.min.css b/public/grapejs/dist/css/grapes.min.css new file mode 100755 index 00000000..d4134c45 --- /dev/null +++ b/public/grapejs/dist/css/grapes.min.css @@ -0,0 +1,6 @@ +.CodeMirror{font-family:monospace;height:300px;color:#000}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:none;font-variant-ligatures:none}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0} +.cm-s-hopscotch.CodeMirror{background:#322931;color:#d5d3d5}.cm-s-hopscotch div.CodeMirror-selected{background:#433b42!important}.cm-s-hopscotch .CodeMirror-gutters{background:#322931;border-right:0}.cm-s-hopscotch .CodeMirror-linenumber{color:#797379}.cm-s-hopscotch .CodeMirror-cursor{border-left:1px solid #989498!important}.cm-s-hopscotch span.cm-comment{color:#b33508}.cm-s-hopscotch span.cm-atom,.cm-s-hopscotch span.cm-number{color:#c85e7c}.cm-s-hopscotch span.cm-attribute,.cm-s-hopscotch span.cm-property{color:#8fc13e}.cm-s-hopscotch span.cm-keyword{color:#dd464c}.cm-s-hopscotch span.cm-string{color:#fdcc59}.cm-s-hopscotch span.cm-variable{color:#8fc13e}.cm-s-hopscotch span.cm-variable-2{color:#1290bf}.cm-s-hopscotch span.cm-def{color:#fd8b19}.cm-s-hopscotch span.cm-error{background:#dd464c;color:#989498}.cm-s-hopscotch span.cm-bracket{color:#d5d3d5}.cm-s-hopscotch span.cm-tag{color:#dd464c}.cm-s-hopscotch span.cm-link{color:#c85e7c}.cm-s-hopscotch .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-hopscotch .CodeMirror-activeline-background{background:#302020} +@charset "UTF-8";.sp-alpha-handle,.sp-slider{opacity:.8;background-color:#ccc}.fa-fw,.fa-li,.sp-container button{text-align:center}.fa,.gjs-fonts::before{text-rendering:auto;-moz-osx-font-smoothing:grayscale}.gjs-cv-canvas,.gjs-grabbing,.sp-container,.sp-replacer{overflow:hidden}.sp-container{position:absolute;top:0;left:0;display:inline-block;z-index:9999994}.sp-container.sp-flat,.sp-top{position:relative}.sp-container,.sp-container *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.sp-top{width:100%;display:inline-block}.sp-alpha-handle,.sp-color,.sp-dragger,.sp-hue,.sp-sat,.sp-slider,.sp-top-inner,.sp-val{position:absolute}.sp-top-inner{top:0;left:0;bottom:0;right:0}.sp-color{top:0;left:0;bottom:0}.sp-hue{top:0;right:0;bottom:0;height:100%}.sp-clear-enabled .sp-hue{top:33px;height:77.5%}.sp-fill{padding-top:80%}.sp-sat,.sp-val{top:0;left:0;right:0;bottom:0}.sp-alpha-enabled .sp-top{margin-bottom:18px}.sp-alpha-enabled .sp-alpha{display:block}.sp-alpha,.sp-clear{display:none}.sp-alpha-handle{top:-4px;bottom:-4px;left:50%;background:#fff;opacity:.8}.sp-alpha{bottom:-14px;right:0;left:0;height:8px}.sp-alpha-inner{border:1px solid #333}.sp-clear.sp-clear-display{background-position:center}.sp-clear-enabled .sp-clear{display:block;position:absolute;top:0;right:0;bottom:0;left:84%;height:28px}.sp-alpha,.sp-alpha-handle,.sp-clear,.sp-container,.sp-container button,.sp-container.sp-dragging .sp-input,.sp-dragger,.sp-preview,.sp-replacer,.sp-slider{-webkit-user-select:none;-moz-user-select:-moz-none;-o-user-select:none;user-select:none}.sp-container.sp-buttons-disabled .sp-button-container,.sp-container.sp-input-disabled .sp-input-container,.sp-container.sp-palette-buttons-disabled .sp-palette-button-container,.sp-initial-disabled .sp-initial,.sp-palette-disabled .sp-palette-container,.sp-palette-only .sp-picker-container{display:none}.sp-sat{background-image:-webkit-gradient(linear,0 0,100% 0,from(#FFF),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(left,#FFF,rgba(204,154,129,0));background-image:-moz-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-o-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-ms-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:linear-gradient(to right,#fff,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81')}.sp-val{background-image:-webkit-gradient(linear,0 100%,0 0,from(#000),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-moz-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-o-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-ms-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:linear-gradient(to top,#000,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000')}.sp-hue{background:-moz-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-ms-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-o-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(.17,#ff0),color-stop(.33,#0f0),color-stop(.5,#0ff),color-stop(.67,#00f),color-stop(.83,#f0f),to(red));background:-webkit-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.sp-1{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00')}.sp-2{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00')}.sp-3{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff')}.sp-4{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff')}.sp-5{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff')}.sp-6{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000')}.sp-hidden{display:none!important}.sp-cf:after,.sp-cf:before{content:"";display:table}.sp-cf:after{clear:both}@media (max-device-width:480px){.sp-color{right:40%}.sp-hue{left:63%}.sp-fill{padding-top:60%}}.sp-dragger{border-radius:5px;height:5px;width:5px;border:1px solid #fff;top:0;left:0}.sp-slider{top:0;right:-1px;background:#fff;opacity:.8}.sp-container{border:1px solid #f0c49B;padding:0}.sp-clear,.sp-color,.sp-container,.sp-container button,.sp-container input,.sp-hue{font:400 12px "Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.gjs-btnt,.gjs-com-dashed *,.gjs-cv-canvas,.gjs-cv-canvas *,.gjs-editor,.gjs-input,.gjs-pn-btn,.gjs-pn-panel,.gjs-select{box-sizing:border-box}.sp-top{margin-bottom:3px}.sp-clear,.sp-color,.sp-hue{border:1px solid #666}.sp-input-container{float:right;width:100px;margin-bottom:4px}.sp-initial-disabled .sp-input-container,.sp-input{width:100%}.sp-input{font-size:12px!important;border:1px inset;padding:4px 5px;margin:0;background:0 0;border-radius:3px;color:#222}.sp-input:focus{border:1px solid orange}.sp-input.sp-validation-error{border:1px solid red;background:#fdd}.sp-palette-container,.sp-picker-container{float:left;position:relative;padding:10px 10px 300px;margin-bottom:-290px}.sp-picker-container{width:172px}.sp-palette-only .sp-palette-container{border:0}.sp-palette .sp-thumb-el{display:block;position:relative;float:left;cursor:pointer}.sp-palette .sp-thumb-el.sp-thumb-active,.sp-palette .sp-thumb-el:hover{border-color:orange}.sp-thumb-el{position:relative}.sp-initial{float:left;border:1px solid #333}.sp-initial span{width:30px;height:25px;border:none;display:block;float:left;margin:0}.sp-initial .sp-clear-display{background-position:center}.sp-button-container,.sp-palette-button-container{float:right}.sp-replacer{margin:0;cursor:pointer;padding:4px;display:inline-block;border:1px solid #91765d;background:#eee;color:#333;vertical-align:middle}.sp-replacer.sp-active,.sp-replacer:hover{border-color:#F0C49B;color:#111}.sp-replacer.sp-disabled{cursor:default;border-color:silver;color:silver}.sp-dd{padding:2px 0;height:16px;line-height:16px;float:left;font-size:10px}.sp-preview{width:25px;height:20px;border:1px solid #222;margin-right:5px;float:left;z-index:0}.sp-palette{max-width:220px}.sp-palette .sp-thumb-el{width:16px;height:16px;margin:2px 1px;border:1px solid #d0d0d0}.sp-container{padding-bottom:0}.sp-container button{background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#ccc);background-image:-moz-linear-gradient(top,#eee,#ccc);background-image:-ms-linear-gradient(top,#eee,#ccc);background-image:-o-linear-gradient(top,#eee,#ccc);background-image:linear-gradient(to bottom,#eee,#ccc);border:1px solid #ccc;border-bottom:1px solid #bbb;border-radius:3px;font-size:14px;line-height:1;vertical-align:middle}.sp-container button:hover{background-color:#ddd;background-image:-webkit-linear-gradient(top,#ddd,#bbb);background-image:-moz-linear-gradient(top,#ddd,#bbb);background-image:-ms-linear-gradient(top,#ddd,#bbb);background-image:-o-linear-gradient(top,#ddd,#bbb);background-image:linear-gradient(to bottom,#ddd,#bbb);border:1px solid #bbb;border-bottom:1px solid #999;cursor:pointer}.sp-container button:active{border:1px solid #aaa;border-bottom:1px solid #888;-webkit-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-moz-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-ms-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-o-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee}.sp-cancel{margin:0 5px 0 0;padding:2px;vertical-align:middle}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}.sp-palette span.sp-thumb-active,.sp-palette span:hover{border-color:#000}.sp-alpha,.sp-preview,.sp-thumb-el{position:relative;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.sp-alpha-inner,.sp-preview-inner,.sp-thumb-inner{display:block;position:absolute;top:0;left:0;bottom:0;right:0}.fa,.fa-stack{display:inline-block}.sp-palette .sp-thumb-inner{background-position:50% 50%;background-repeat:no-repeat}.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=)}.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=)}.sp-clear-display{background-repeat:no-repeat;background-position:center;background-image:url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==)}/*! + * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.5.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0) format("embedded-opentype"),url(../fonts/fontawesome-webfont.woff2?v=4.5.0) format("woff2"),url(../fonts/fontawesome-webfont.woff?v=4.5.0) format("woff"),url(../fonts/fontawesome-webfont.ttf?v=4.5.0) format("truetype"),url(../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;-webkit-font-smoothing:antialiased}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857em}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.pull-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.gjs-clm-tags #gjs-clm-close,.gjs-freezed,.gjs-nv-freezed,.opac50{opacity:.5;filter:alpha(opacity=50)}.fa-stack{position:relative;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}@font-face{font-family:font3336;src:url(../fonts/main-fonts.eot?v=20);src:url(../fonts/main-fonts.woff?v=20) format("woff"),url(../fonts/main-fonts.ttf?v=20) format("truetype"),url(../fonts/main-fonts.svg?v=20) format("svg"),url(../fonts/main-fonts.eot?v=20) format("embedded-opentype");font-weight:400;font-style:normal}.gjs-fonts::before{display:block;font:normal normal normal 14px font3336;-webkit-font-smoothing:antialiased;font-size:5em}.gjs-block-label,.gjs-editor,.gjs-mdl-container{font-family:Helvetica,sans-serif}.gjs-f-b1::before{content:'Q'}.gjs-f-b2::before{content:'W'}.gjs-f-b3::before{content:'E'}.gjs-f-b37::before{content:'R'}.gjs-f-hero::before{content:'T'}.gjs-f-h1p::before{content:'y'}.gjs-f-3ba::before{content:'u'}.gjs-f-image::before{content:'I'}.gjs-f-text::before{content:'o'}.gjs-f-quo::before{content:'p'}.gjs-f-button::before{content:'B'}.gjs-f-divider::before{content:'D'}.gjs-clm-tags #gjs-clm-new,.gjs-invis-invis,.gjs-no-app{background-color:transparent;border:none;color:inherit}.gjs-no-app{height:10px}.gjs-test::btn{color:'#fff'}.checker-bg,.gjs-checker-bg,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.gjs-grabbing,.gjs-grabbing *,.gjs-nav-comp-name,.gjs-no-user-select{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.gjs-fixedmargin-v-el,.gjs-fixedpadding-v-el,.gjs-margin-v-el,.gjs-no-pointer-events,.gjs-padding-v-el,.gjs-resizer-c{pointer-events:none}.gjs-bdrag,.gjs-drag-helper{pointer-events:none!important;position:absolute!important;z-index:10!important}#gjs-rte-toolbar,.gjs-bg-main,.gjs-block,.gjs-clm-select option,.gjs-clm-tags .gjs-sm-colorp-c,.gjs-mdl-dialog,.gjs-nv-item .gjs-nv-title-c,.gjs-off-prv,.gjs-pn-panel,.gjs-select option,.gjs-sm-sector .gjs-sm-colorp-c,.gjs-sm-select option,.gjs-sm-unit option,.sp-container{background-color:#444}#gjs-rte-toolbar .gjs-rte-btn,.gjs-btn-prim,.gjs-btnt,.gjs-clm-tags .gjs-sm-composite.gjs-clm-field,.gjs-clm-tags .gjs-sm-field.gjs-sm-composite,.gjs-clm-tags .gjs-sm-stack #gjs-sm-add,.gjs-color-main,.gjs-mdl-dialog,.gjs-off-prv,.gjs-pn-btn,.gjs-pn-panel,.gjs-sm-sector .gjs-sm-composite.gjs-clm-field,.gjs-sm-sector .gjs-sm-field.gjs-sm-composite,.gjs-sm-sector .gjs-sm-stack #gjs-sm-add{color:#ddd}.gjs-btnt.gjs-pn-active,.gjs-color-active,.gjs-pn-btn.gjs-pn-active{color:#f8f8f8}.gjs-bdrag{width:auto}.gjs-drag-helper{background-color:#3b97e3!important;transform:scale(.3)!important;transform-origin:top left!important;-webkit-transform-origin:top left!important;margin:15px!important;transition:none!important;outline:0!important}.gjs-grabbing,.gjs-grabbing *{cursor:grabbing!important;cursor:-webkit-grabbing!important}.gjs-off-prv{position:relative;z-index:10;padding:5px;cursor:pointer}.gjs-editor-cont ::-webkit-scrollbar-track{background:rgba(0,0,0,.1)}.gjs-editor-cont ::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.2)}.gjs-editor-cont ::-webkit-scrollbar{width:8px}.clear{clear:both}.gjs-clm-tags #gjs-clm-close,.gjs-clm-tags #gjs-clm-tag-label,.gjs-com-no-select,.gjs-com-no-select img,.no-select{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.gjs-editor{background-color:#444;position:relative;height:100%}.gjs-btn-prim,.gjs-btn-prim:active{background-color:rgba(255,255,255,.1)}.gjs-freezed,.gjs-nv-freezed{pointer-events:none}.gjs-btn-prim{border-radius:2px;cursor:pointer;padding:.5em;border:none}.gjs-input,.gjs-select{background-color:rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.1);border-radius:2px;box-shadow:1px 1px 0 rgba(255,255,255,.1);color:#ddd;padding:.5em 1em}div.gjs-select{padding:0}.gjs-select select{padding-right:10px}.gjs-select select:-moz-focusring,.gjs-select:-moz-focusring{color:transparent;text-shadow:0 0 0 rgba(255,255,255,.7)}.gjs-btn-prim:focus,.gjs-button:focus,.gjs-input:focus,.gjs-select select:focus,.gjs-select:focus{outline:0}.gjs-traits-label{border-bottom:1px solid rgba(0,0,0,.3);font-size:13px;font-weight:lighter;margin-bottom:5px;padding:10px;text-align:left}.gjs-trt-trait{display:flex;justify-content:start;padding:5px 10px;font-size:.75em;font-weight:lighter}.gjs-trt-trait .gjs-label{width:30%;text-align:left}.gjs-trt-trait .gjs-field{width:70%}.gjs-cv-canvas{background-color:rgba(0,0,0,.15);position:absolute;width:85%;height:100%;bottom:0;left:0;padding-top:40px;z-index:1}.gjs-cv-canvas>iframe{height:100%;outline:0;width:100%;border:none;margin:0 auto;display:block}.gjs-cv-canvas .gjs-ghost{display:none;pointer-events:none;background-color:#5b5b5b;border:2px dashed #ccc;position:absolute;z-index:10;opacity:.55;filter:alpha(opacity=55)}.gjs-cv-canvas .gjs-highlighter,.gjs-cv-canvas .gjs-highlighter-sel{position:absolute;outline:#3b97e3 solid 1px;pointer-events:none}.gjs-cv-canvas .gjs-highlighter-warning{outline:#ffca6f solid 3px}.gjs-cv-canvas .gjs-highlighter-sel{outline:#3b97e3 solid 3px}.gjs-cv-canvas #gjs-tools{width:100%;position:absolute;top:0;left:0;outline:0}.gjs-cv-canvas>div:first-child{background-color:#fff;position:relative;height:100%;overflow:auto;width:100%}.dragged,.gjs-resizer-c,.gjs-resizer-h,.gjs-toolbar{position:absolute}.gjs-frame{transition:width .35s ease}.gjs-toolbar{background-color:#3b97e3;color:#fff;z-index:10}.gjs-toolbar-item{padding:5px 7px;font-size:.8rem;cursor:pointer}.gjs-resizer-c{z-index:9}.gjs-fixedmargin-v-el,.gjs-fixedpadding-v-el,.gjs-margin-v-el,.gjs-padding-v-el{opacity:.1;filter:alpha(opacity=10);position:absolute;background-color:#ff0}.gjs-fixedmargin-v-el,.gjs-fixedpadding-v-el{opacity:.2;filter:alpha(opacity=20)}.gjs-fixedpadding-v-el,.gjs-padding-v-el{background-color:navy}.gjs-resizer-h{pointer-events:all;border:3px solid #3b97e3;width:10px;height:10px;background-color:#fff;margin:-5px}.gjs-resizer-h-tl{top:0;left:0;cursor:nwse-resize}.gjs-resizer-h-tr{top:0;right:0;cursor:nesw-resize}.gjs-resizer-h-tc{top:0;margin:-5px auto;left:0;right:0;cursor:ns-resize}.gjs-resizer-h-cl,.gjs-resizer-h-cr{margin:auto -5px;cursor:ew-resize;bottom:0;top:0}.gjs-resizer-h-cl{left:0}.gjs-resizer-h-cr{right:0}.gjs-resizer-h-bl{bottom:0;left:0;cursor:nesw-resize}.gjs-resizer-h-bc{bottom:0;margin:-5px auto;left:0;right:0;cursor:ns-resize}.gjs-resizer-h-br{bottom:0;right:0;cursor:nwse-resize}.gjs-resizing .gjs-badge,.gjs-resizing .gjs-highlighter{display:none!important}.gjs-resizing-tl *{cursor:nwse-resize!important}.gjs-resizing-tr *{cursor:nesw-resize!important}.gjs-resizing-tc *{cursor:ns-resize!important}.gjs-resizing-cl *,.gjs-resizing-cr *{cursor:ew-resize!important}.gjs-resizing-bl *{cursor:nesw-resize!important}.gjs-resizing-bc *{cursor:ns-resize!important}.gjs-resizing-br *{cursor:nwse-resize!important}.btn-cl,.gjs-am-assets-cont #gjs-am-close,.gjs-mdl-dialog .gjs-mdl-btn-close{opacity:.3;filter:alpha(opacity=30);font-size:25px;cursor:pointer}.btn-cl:hover,.gjs-am-assets-cont #gjs-am-close:hover,.gjs-mdl-dialog .gjs-mdl-btn-close:hover{opacity:.7;filter:alpha(opacity=70)}.dragged,.gjs-nv-opac50{opacity:.5;filter:alpha(opacity=50)}#commands.panel{min-width:35px;height:100%;z-index:3}#options.panel{z-index:4;bottom:0}#views.panel{width:16.5%;font-weight:lighter;color:#ddd;right:0;top:0;z-index:3;height:100%;padding:0}#views.panel .c{height:100%}#commands.panel,#options.panel{width:3.5%;left:0}#options .c{display:table;margin:0 auto}body.dragging,body.dragging *{cursor:move!important}.dragged{z-index:2000}ol.example li.placeholder{position:relative}ol.example li.placeholder:before{position:absolute}.no-dots,.ui-resizable-handle{border:none!important;margin:0!important;outline:0!important}.gjs-com-dashed *{outline:#888 dashed 1px;outline-offset:-2px}.gjs-cv-canvas .gjs-comp-selected{outline:#3b97e3 solid 3px!important}.gjs-com-hover,div.gjs-com-hover{outline:#3b97e3 solid 1px}.gjs-com-hover-delete,div.gjs-com-hover-delete{outline:#dd3636 solid 2px;opacity:.5;filter:alpha(opacity=50)}.gjs-com-hover-move,div.gjs-com-hover-move{outline:#ffca6f solid 3px}.gjs-badge,.gjs-com-badge,.gjs-com-badge-red{pointer-events:none;background-color:#3b97e3;color:#fff;padding:2px 5px;position:absolute;z-index:1;font-size:12px;outline:0;display:none}.gjs-com-badge-red{background-color:#dd3636}.gjs-badge-warning{background-color:#ffca6f}.gjs-com-placeholder,.gjs-nv-placeholder,.gjs-placeholder{position:absolute;z-index:10;pointer-events:none;display:none}.gjs-nv-placeholder,.gjs-placeholder{border-style:solid!important;border-color:#62c462;outline:0;box-sizing:border-box}.gjs-com-placeholder-int,.gjs-nv-placeholder-int,.gjs-placeholder-int{background-color:#62c462;box-shadow:0 0 3px rgba(0,0,0,.2);height:100%;width:100%;pointer-events:none;padding:1.5px;outline:0}.gjs-pn-panel{display:inline-block;padding:5px;position:absolute;text-align:center;z-index:3}.gjs-pn-panel#gjs-pn-commands,.gjs-pn-panel#gjs-pn-options2{width:85%;left:0;top:0;box-shadow:0 0 5px rgba(0,0,0,.3)}.gjs-pn-panel#gjs-pn-options{right:15%;top:0}.gjs-pn-panel#gjs-pn-options2{bottom:150px;height:auto}.gjs-pn-panel .icon-redo,.gjs-pn-panel .icon-undo{font-size:20px;height:30px;width:25px}.gjs-pn-panel#gjs-pn-views{border-bottom:2px solid rgba(0,0,0,.3);right:0;width:15%;z-index:4}.gjs-pn-panel#gjs-pn-views-container{height:100%;padding:42px 0 0;right:0;width:15%;overflow:auto;box-shadow:0 0 5px rgba(0,0,0,.3)}.gjs-pn-buttons{align-items:center;display:flex;justify-content:center}.gjs-btnt,.gjs-pn-btn{height:30px;width:30px;line-height:21px;background-color:transparent;border:none;font-size:18px;margin-right:5px;border-radius:2px;cursor:pointer;padding:5px;position:relative}.gjs-btnt.gjs-pn-active,.gjs-pn-btn.gjs-pn-active{background-color:rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.25) inset}.gjs-btnt>.gjs-pn-arrow-rd,.gjs-pn-btn>.gjs-pn-arrow-rd{border-bottom:5px solid rgba(255,255,255,.7);border-left:5px solid transparent;bottom:2px;right:2px;position:absolute}.gjs-btnt>.gjs-pn-buttons,.gjs-pn-btn>.gjs-pn-buttons{background-color:#444;border-radius:2px;position:absolute;display:none;left:50px;top:0;padding:5px}.gjs-btnt>.gjs-pn-buttons.gjs-pn-visible,.gjs-pn-btn>.gjs-pn-buttons.gjs-pn-visible{display:block}.gjs-btnt>.gjs-pn-buttons>.gjs-pn-arrow-l,.gjs-pn-btn>.gjs-pn-buttons>.gjs-pn-arrow-l{border-bottom:5px solid transparent;border-right:5px solid #444;border-top:5px solid transparent;left:-5px;top:15px;position:absolute}.gjs-nv-navigator{position:relative;height:100%}.gjs-nv-navigator #gjs-nv-placeholder{width:100%;position:absolute}.gjs-nv-navigator #gjs-nv-placeholder #gjs-nv-plh-int{height:100%;padding:1px}.gjs-nv-navigator #gjs-nv-placeholder #gjs-nv-plh-int.gjs-nv-insert{background-color:#62c462}.gjs-nv-navigator .gjs-nv-item{font-weight:lighter;text-align:left;position:relative;background-color:rgba(0,0,0,.1)}.gjs-nv-navigator .gjs-nv-item.gjs-nv-hide{opacity:.55;filter:alpha(opacity=55)}.gjs-nv-navigator .gjs-nv-item #gjs-nv-counter{font-size:10px;position:absolute;right:27px;top:9px}.gjs-nv-navigator .gjs-nv-item #gjs-nv-btn-eye{height:auto!important;width:auto!important;font-size:13px;left:0;top:0;padding:7px 5px 7px 10px;position:absolute;cursor:pointer;z-index:1}.gjs-nv-item #gjs-nv-caret{font-size:7px;width:8px;padding:5px;cursor:pointer;opacity:.7;filter:alpha(opacity=70)}.gjs-nv-item #gjs-nv-caret:hover{opacity:1;filter:alpha(opacity=100)}.gjs-nv-title{background-color:rgba(0,0,0,.1);font-size:11px;letter-spacing:1px;padding:3px 10px 5px 30px;border-bottom:1px solid rgba(0,0,0,.3);border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center}.gjs-nv-item .gjs-nv-children .gjs-nv-title{border-left:1px solid rgba(5,5,5,.3)}.gjs-nv-item>.gjs-nv-children{margin-left:7px;display:none}.gjs-nv-item.open>.gjs-nv-children{display:block}.gjs-nv-item>.gjs-nv-no-chld>#gjs-nv-caret::before{content:''}.gjs-nv-no-chld>#gjs-nv-caret{display:none}.gjs-nv-item>#gjs-nv-move{position:absolute;cursor:move;font-size:12px;right:0;top:0;padding:7px 10px 7px 5px}.gjs-nv-selected .gjs-nv-title{background-color:rgba(255,255,255,.1)}.gjs-nv-nav-item-edit{visibility:hidden;padding:5px;font-size:10px;opacity:.7;filter:alpha(opacity=70)}.gjs-nv-nav-item-edit:hover{opacity:1;filter:alpha(opacity=100)}.gjs-nv-title-c:hover .gjs-nv-nav-item-edit{visibility:visible;cursor:pointer}.gjs-nav-comp-name{padding:5px;box-sizing:content-box}.btn.expand,.gjs-nv-navigator .gjs-nv-item .expand#gjs-nv-btn-eye{background-image:none}.gjs-comp-image-placeholder{display:block;background-color:#f5f5f5;color:#777;height:50px;width:50px;line-height:50px;outline:#ffca6f solid 3px;outline-offset:-3px;text-align:center;font-size:16.67px;cursor:pointer}.gjs-field-checkbox input,.gjs-radio-item input{display:none}.gjs-comp-image-placeholder.fa-picture-o::after{content:"\f03e"}.gjs-label{line-height:18px}.gjs-field{background-color:rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 0 rgba(255,255,255,.1);border-radius:2px;box-sizing:border-box;padding:0;position:relative}.gjs-field input,.gjs-field select,.gjs-field textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:rgba(255,255,255,.7);border:none;background-color:transparent;box-sizing:border-box;width:100%;position:relative;padding:3px 4px 4px;z-index:1}.gjs-field textarea{resize:vertical}.gjs-field select{height:20px;padding-right:12px}.gjs-field option{padding:3px 0}.gjs-field .gjs-sel-arrow{height:100%;width:9px;position:absolute;right:0;top:0;z-index:0}.gjs-field .gjs-d-s-arrow{bottom:7px;border-top:4px solid rgba(255,255,255,.7);position:absolute;height:0;width:0;border-left:3px solid transparent;border-right:4px solid transparent;cursor:pointer}.gjs-field-color input{padding-right:22px;box-sizing:border-box}.gjs-field-colorp{border-left:1px solid rgba(0,0,0,.3);box-sizing:border-box;height:100%;padding:2px;position:absolute;right:0;top:0;width:22px;z-index:10}.gjs-field-colorp .gjs-checker-bg{height:100%;width:100%;border-radius:1px}.gjs-field-colorp-c{height:100%;position:relative;width:100%}.gjs-field-color-picker{background-color:#ddd;cursor:pointer;height:100%;width:100%;box-shadow:0 0 1px rgba(0,0,0,.3);border-radius:1px;position:absolute;top:0}.gjs-field-radio{float:left;overflow:hidden;padding:0;width:auto}.gjs-field-checkbox{padding:0;width:auto!important}.gjs-field-checkbox input:checked+.gjs-chk-icon{border-color:rgba(255,255,255,.5);border-width:0 2px 2px 0;border-style:solid}.gjs-radio-item{float:left;border-left:1px solid rgba(0,0,0,.3)}.gjs-radio-item:first-child{border:none}.gjs-radio-item:hover{background:rgba(0,0,0,.3)}.gjs-radio-item input:checked+.gjs-radio-item-label{background-color:rgba(255,255,255,.2)}.gjs-radio-item-label{cursor:pointer;display:block;padding:5px}.gjs-field-units{position:absolute;right:0;top:0}.gjs-field-units select{padding:0 12px 0 0}.gjs-field-unit{position:absolute;right:10px;top:3px;font-size:10px;color:rgba(255,255,255,.7);cursor:pointer}.gjs-field-arrows{z-index:10;cursor:ns-resize;height:100%;position:absolute;right:0;top:0;width:9px}.gjs-field-arrow-d,.gjs-field-arrow-u{position:absolute;height:0;width:0;border-left:3px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.7);bottom:4px;cursor:pointer}.gjs-field-arrow-u{border-bottom:4px solid rgba(255,255,255,.7);border-top:none;top:4px}.gjs-field-select{padding:0}.gjs-field-range{background-color:transparent;border:none;box-shadow:none;padding:0}.gjs-field-range input{margin:0}.gjs-field-range input::-moz-range-thumb{height:10px;width:10px;border:1px solid rgba(0,0,0,.3);border-radius:100%;background-color:#ddd;cursor:pointer}.gjs-field-range input::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-5px;height:10px;width:10px;border:1px solid rgba(0,0,0,.3);border-radius:100%;background-color:#ddd;cursor:pointer}.gjs-field-range input::-ms-thumb{height:10px;width:10px;border:1px solid rgba(0,0,0,.3);border-radius:100%;background-color:#ddd;cursor:pointer}.gjs-field-range input::-moz-range-track{background-color:rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.15);border-radius:1px;height:2px}.gjs-field-range input::-webkit-slider-runnable-track{background-color:rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.15);border-radius:1px;height:2px}.gjs-field-range input::-ms-track{background-color:rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.15);border-radius:1px;height:2px}.gjs-chk-icon{-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);box-sizing:border-box;display:block;height:14px;margin:0 5px;width:6px;cursor:pointer}.gjs-add-trasp{background:0 0;border:none;color:#ddd;cursor:pointer;font-size:1em;border-radius:2px;opacity:.75;filter:alpha(opacity=75)}.gjs-add-trasp:hover{opacity:1;filter:alpha(opacity=100)}.gjs-add-trasp:active{background-color:rgba(0,0,0,.2)}.gjs-devices-c{display:flex;align-items:center;padding:4px}.gjs-devices-c .gjs-device-label{flex-grow:2;font-size:.7em;text-align:left;margin-right:10px}.gjs-devices-c .gjs-select{flex-grow:20}.gjs-devices-c .gjs-add-trasp{flex-grow:1;margin-left:5px}.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close,.gjs-sm-close-btn,.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close{display:block;font-size:23px;position:absolute;cursor:pointer;right:5px;top:0;opacity:.2;filter:alpha(opacity=20)}.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close:hover,.gjs-sm-close-btn:hover,.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close:hover{opacity:.7;filter:alpha(opacity=70)}.gjs-sm-header{font-size:11px;font-weight:lighter;padding:10px}.gjs-clm-tags,.gjs-sm-sector{clear:both;border-bottom:1px solid rgba(0,0,0,.3);font-weight:lighter;text-align:left}.gjs-clm-tags #gjs-sm-caret,.gjs-sm-sector #gjs-sm-caret{padding-right:5px;font-size:11px}.gjs-clm-tags .gjs-sm-title,.gjs-sm-sector .gjs-sm-title{background-color:rgba(0,0,0,.1);font-size:13px;letter-spacing:1px;padding:12px 10px 12px 20px;border-top:1px solid rgba(255,255,255,.1);cursor:pointer}.gjs-clm-tags .gjs-sm-label,.gjs-sm-sector .gjs-sm-label{margin:5px 5px 2px 0}.gjs-clm-tags .gjs-clm-field,.gjs-clm-tags .gjs-sm-field,.gjs-sm-sector .gjs-clm-field,.gjs-sm-sector .gjs-sm-field{width:100%;position:relative}.gjs-clm-tags .gjs-clm-field input,.gjs-clm-tags .gjs-clm-field select,.gjs-clm-tags .gjs-sm-field input,.gjs-clm-tags .gjs-sm-field select,.gjs-sm-sector .gjs-clm-field input,.gjs-sm-sector .gjs-clm-field select,.gjs-sm-sector .gjs-sm-field input,.gjs-sm-sector .gjs-sm-field select{background-color:transparent;color:rgba(255,255,255,.7);border:none;width:100%}.gjs-clm-tags .gjs-clm-field input,.gjs-clm-tags .gjs-sm-field input,.gjs-sm-sector .gjs-clm-field input,.gjs-sm-sector .gjs-sm-field input{box-sizing:border-box}.gjs-clm-tags .gjs-clm-field select,.gjs-clm-tags .gjs-sm-field select,.gjs-sm-sector .gjs-clm-field select,.gjs-sm-sector .gjs-sm-field select{position:relative;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none}.gjs-clm-tags .gjs-clm-field select::-ms-expand,.gjs-clm-tags .gjs-sm-field select::-ms-expand,.gjs-sm-sector .gjs-clm-field select::-ms-expand,.gjs-sm-sector .gjs-sm-field select::-ms-expand{display:none}.gjs-clm-tags .gjs-clm-field select:-moz-focusring,.gjs-clm-tags .gjs-sm-field select:-moz-focusring,.gjs-sm-sector .gjs-clm-field select:-moz-focusring,.gjs-sm-sector .gjs-sm-field select:-moz-focusring{color:transparent;text-shadow:0 0 0 rgba(255,255,255,.7)}.gjs-clm-tags .gjs-clm-field input:focus,.gjs-clm-tags .gjs-clm-field select:focus,.gjs-clm-tags .gjs-sm-field input:focus,.gjs-clm-tags .gjs-sm-field select:focus,.gjs-sm-sector .gjs-clm-field input:focus,.gjs-sm-sector .gjs-clm-field select:focus,.gjs-sm-sector .gjs-sm-field input:focus,.gjs-sm-sector .gjs-sm-field select:focus{outline:0}.gjs-clm-tags .gjs-clm-field .gjs-sm-unit,.gjs-clm-tags .gjs-sm-field .gjs-sm-unit,.gjs-sm-sector .gjs-clm-field .gjs-sm-unit,.gjs-sm-sector .gjs-sm-field .gjs-sm-unit{position:absolute;right:10px;top:3px;font-size:10px;color:rgba(255,255,255,.7);cursor:pointer}.gjs-clm-tags .gjs-clm-field .gjs-clm-sel-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-int-arrows,.gjs-clm-tags .gjs-clm-field .gjs-sm-sel-arrow,.gjs-clm-tags .gjs-sm-field .gjs-clm-sel-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-int-arrows,.gjs-clm-tags .gjs-sm-field .gjs-sm-sel-arrow,.gjs-sm-sector .gjs-clm-field .gjs-clm-sel-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-int-arrows,.gjs-sm-sector .gjs-clm-field .gjs-sm-sel-arrow,.gjs-sm-sector .gjs-sm-field .gjs-clm-sel-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-int-arrows,.gjs-sm-sector .gjs-sm-field .gjs-sm-sel-arrow{height:100%;width:9px;position:absolute;right:0;top:0;cursor:ns-resize}.gjs-clm-tags .gjs-clm-field .gjs-sm-sel-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-sel-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-sel-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-sel-arrow{cursor:pointer}.gjs-clm-tags .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-u-arrow,.gjs-clm-tags .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-u-arrow,.gjs-sm-sector .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-u-arrow,.gjs-sm-sector .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-u-arrow{position:absolute;height:0;width:0;border-left:3px solid transparent;border-right:4px solid transparent;cursor:pointer}.gjs-clm-tags .gjs-clm-field .gjs-sm-u-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-u-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-u-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-u-arrow{border-bottom:4px solid rgba(255,255,255,.7);top:4px}.gjs-clm-tags .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-s-arrow{border-top:4px solid rgba(255,255,255,.7);bottom:4px}.gjs-clm-tags .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-clm-tags .gjs-sm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-clm-field .gjs-sm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-clm-d-s-arrow,.gjs-sm-sector .gjs-sm-field .gjs-sm-d-s-arrow{bottom:7px}.gjs-clm-tags .gjs-clm-select,.gjs-clm-tags .gjs-sm-color.gjs-clm-field,.gjs-clm-tags .gjs-sm-field.gjs-sm-color,.gjs-clm-tags .gjs-sm-field.gjs-sm-input,.gjs-clm-tags .gjs-sm-field.gjs-sm-integer,.gjs-clm-tags .gjs-sm-field.gjs-sm-list,.gjs-clm-tags .gjs-sm-field.gjs-sm-select,.gjs-clm-tags .gjs-sm-input.gjs-clm-field,.gjs-clm-tags .gjs-sm-integer.gjs-clm-field,.gjs-clm-tags .gjs-sm-list.gjs-clm-field,.gjs-clm-tags .gjs-sm-select.gjs-clm-field,.gjs-sm-sector .gjs-clm-select,.gjs-sm-sector .gjs-sm-color.gjs-clm-field,.gjs-sm-sector .gjs-sm-field.gjs-sm-color,.gjs-sm-sector .gjs-sm-field.gjs-sm-input,.gjs-sm-sector .gjs-sm-field.gjs-sm-integer,.gjs-sm-sector .gjs-sm-field.gjs-sm-list,.gjs-sm-sector .gjs-sm-field.gjs-sm-select,.gjs-sm-sector .gjs-sm-input.gjs-clm-field,.gjs-sm-sector .gjs-sm-integer.gjs-clm-field,.gjs-sm-sector .gjs-sm-list.gjs-clm-field,.gjs-sm-sector .gjs-sm-select.gjs-clm-field{background-color:rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 0 rgba(255,255,255,.1);color:rgba(255,255,255,.7);border-radius:2px;box-sizing:border-box;padding:0 5px}.gjs-clm-tags .gjs-sm-composite.gjs-clm-field,.gjs-clm-tags .gjs-sm-field.gjs-sm-composite,.gjs-sm-sector .gjs-sm-composite.gjs-clm-field,.gjs-sm-sector .gjs-sm-field.gjs-sm-composite{border-radius:2px;background-color:rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.25)}.gjs-clm-tags .gjs-clm-select,.gjs-clm-tags .gjs-sm-field.gjs-sm-select,.gjs-clm-tags .gjs-sm-select.gjs-clm-field,.gjs-sm-sector .gjs-clm-select,.gjs-sm-sector .gjs-sm-field.gjs-sm-select,.gjs-sm-sector .gjs-sm-select.gjs-clm-field{padding:0}.gjs-clm-tags .gjs-clm-select select,.gjs-clm-tags .gjs-sm-field.gjs-sm-select select,.gjs-clm-tags .gjs-sm-select.gjs-clm-field select,.gjs-sm-sector .gjs-clm-select select,.gjs-sm-sector .gjs-sm-field.gjs-sm-select select,.gjs-sm-sector .gjs-sm-select.gjs-clm-field select{height:20px}.gjs-clm-tags .gjs-clm-select option,.gjs-clm-tags .gjs-sm-field.gjs-sm-select option,.gjs-clm-tags .gjs-sm-select.gjs-clm-field option,.gjs-sm-sector .gjs-clm-select option,.gjs-sm-sector .gjs-sm-field.gjs-sm-select option,.gjs-sm-sector .gjs-sm-select.gjs-clm-field option{padding:3px 0}.gjs-clm-tags .gjs-sm-field.gjs-sm-list,.gjs-clm-tags .gjs-sm-list.gjs-clm-field,.gjs-sm-sector .gjs-sm-field.gjs-sm-list,.gjs-sm-sector .gjs-sm-list.gjs-clm-field{width:auto;padding:0;overflow:hidden;float:left}.gjs-clm-tags .gjs-sm-field.gjs-sm-list input,.gjs-clm-tags .gjs-sm-list.gjs-clm-field input,.gjs-sm-sector .gjs-sm-field.gjs-sm-list input,.gjs-sm-sector .gjs-sm-list.gjs-clm-field input{display:none}.gjs-clm-tags .gjs-sm-field.gjs-sm-list label,.gjs-clm-tags .gjs-sm-list.gjs-clm-field label,.gjs-sm-sector .gjs-sm-field.gjs-sm-list label,.gjs-sm-sector .gjs-sm-list.gjs-clm-field label{cursor:pointer;padding:5px;display:block}.gjs-clm-tags .gjs-sm-field.gjs-sm-list .gjs-sm-radio:checked+label,.gjs-clm-tags .gjs-sm-list.gjs-clm-field .gjs-sm-radio:checked+label,.gjs-sm-sector .gjs-sm-field.gjs-sm-list .gjs-sm-radio:checked+label,.gjs-sm-sector .gjs-sm-list.gjs-clm-field .gjs-sm-radio:checked+label{background-color:rgba(255,255,255,.2)}.gjs-clm-tags .gjs-sm-field.gjs-sm-list .gjs-sm-icon,.gjs-clm-tags .gjs-sm-list.gjs-clm-field .gjs-sm-icon,.gjs-sm-sector .gjs-sm-field.gjs-sm-list .gjs-sm-icon,.gjs-sm-sector .gjs-sm-list.gjs-clm-field .gjs-sm-icon{background-repeat:no-repeat;background-position:center;text-shadow:none;line-height:normal}.gjs-clm-tags .gjs-sm-field.gjs-sm-integer select,.gjs-clm-tags .gjs-sm-integer.gjs-clm-field select,.gjs-sm-sector .gjs-sm-field.gjs-sm-integer select,.gjs-sm-sector .gjs-sm-integer.gjs-clm-field select{width:auto;padding:0}.gjs-clm-tags .gjs-sm-list .gjs-sm-el,.gjs-sm-sector .gjs-sm-list .gjs-sm-el{float:left;border-left:1px solid rgba(0,0,0,.3)}.gjs-clm-tags .gjs-sm-list .gjs-sm-el:first-child,.gjs-sm-sector .gjs-sm-list .gjs-sm-el:first-child{border:none}.gjs-clm-tags .gjs-sm-list .gjs-sm-el:hover,.gjs-sm-sector .gjs-sm-list .gjs-sm-el:hover{background:rgba(0,0,0,.3)}.gjs-clm-tags .gjs-sm-properties,.gjs-sm-sector .gjs-sm-properties{font-size:11px;padding:10px 5px}.gjs-clm-tags .gjs-sm-property,.gjs-sm-sector .gjs-sm-property{box-sizing:border-box;float:left;width:50%;margin-bottom:5px;padding:0 5px}.gjs-clm-tags .gjs-sm-property.gjs-sm-composite,.gjs-clm-tags .gjs-sm-property.gjs-sm-file,.gjs-clm-tags .gjs-sm-property.gjs-sm-list,.gjs-clm-tags .gjs-sm-property.gjs-sm-stack,.gjs-sm-sector .gjs-sm-property.gjs-sm-composite,.gjs-sm-sector .gjs-sm-property.gjs-sm-file,.gjs-sm-sector .gjs-sm-property.gjs-sm-list,.gjs-sm-sector .gjs-sm-property.gjs-sm-stack{width:100%}.gjs-clm-tags .gjs-sm-property .gjs-sm-btn,.gjs-sm-sector .gjs-sm-property .gjs-sm-btn{background-color:rgba(33,33,33,.3);border-radius:2px;box-shadow:1px 1px 0 rgba(5,5,5,.3),1px 1px 0 rgba(43,43,43,.3) inset;padding:5px;position:relative;text-align:center;height:auto;width:100%;cursor:pointer;color:#ddd;box-sizing:border-box;text-shadow:-1px -1px 0 rgba(0,0,0,.3);border:none;opacity:.85;filter:alpha(opacity=85)}.gjs-clm-tags .gjs-sm-property .gjs-sm-btn-c,.gjs-sm-sector .gjs-sm-property .gjs-sm-btn-c{box-sizing:border-box;float:left;width:100%;padding:0 5px}.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box,.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box{background-color:rgba(255,255,255,.05);border-radius:2px;margin-top:5px;position:relative;overflow:hidden}.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box.gjs-sm-show,.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box.gjs-sm-show{border:1px solid rgba(252,252,252,.05);padding:3px 5px}.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close,.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-box #gjs-sm-close{display:block}.gjs-clm-tags .gjs-sm-property.gjs-sm-file .gjs-sm-show #gjs-sm-preview-file,.gjs-sm-sector .gjs-sm-property.gjs-sm-file .gjs-sm-show #gjs-sm-preview-file{height:50px}.gjs-clm-tags .gjs-sm-property.gjs-sm-file #gjs-sm-preview-file,.gjs-sm-sector .gjs-sm-property.gjs-sm-file #gjs-sm-preview-file{background-size:auto 100%;background-repeat:no-repeat;background-position:center center}.gjs-clm-tags .gjs-sm-property .gjs-sm-layers,.gjs-sm-sector .gjs-sm-property .gjs-sm-layers{margin-top:5px;min-height:30px}.gjs-clm-tags .gjs-sm-property .gjs-sm-layer,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer{background-color:rgba(255,255,255,.055);border-radius:2px;box-shadow:1px 1px 0 rgba(0,0,0,.2),1px 1px 0 rgba(255,255,255,.055) inset;margin:2px;padding:7px;position:relative;cursor:pointer}.gjs-clm-tags .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box{height:15px;position:absolute;right:27px;top:6px;width:15px}.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-preview,.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-preview-box,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-preview,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-preview-box{border-radius:2px}.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer{display:block;font-size:23px;position:absolute;cursor:pointer;right:5px;top:0;opacity:.5;filter:alpha(opacity=50)}.gjs-clm-tags .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer:hover,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer #gjs-sm-close-layer:hover{opacity:.8;filter:alpha(opacity=80)}.gjs-clm-tags .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box #gjs-sm-preview,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer>#gjs-sm-preview-box #gjs-sm-preview{background-color:#fff;height:100%;width:100%;background-size:cover!important}.gjs-clm-tags .gjs-sm-property .gjs-sm-layer.gjs-sm-active,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer.gjs-sm-active{background-color:rgba(255,255,255,.12)}.gjs-clm-tags .gjs-sm-property .gjs-sm-layer.gjs-sm-no-preview #gjs-sm-preview-box,.gjs-sm-sector .gjs-sm-property .gjs-sm-layer.gjs-sm-no-preview #gjs-sm-preview-box{display:none}.gjs-clm-tags #gjs-sm-text-shadow #gjs-sm-preview::after,.gjs-sm-sector #gjs-sm-text-shadow #gjs-sm-preview::after{color:#000;content:"T";font-weight:900;line-height:17px;padding:0 4px}.gjs-clm-tags .gjs-sm-stack .gjs-sm-properties,.gjs-sm-sector .gjs-sm-stack .gjs-sm-properties{padding-top:5px}.gjs-clm-tags .gjs-sm-stack #gjs-sm-add,.gjs-sm-sector .gjs-sm-stack #gjs-sm-add{background:0 0;border:none;cursor:pointer;font-size:22px;line-height:10px;position:absolute;right:0;top:-20px;opacity:.75}.gjs-clm-tags .gjs-sm-stack #gjs-sm-add:hover,.gjs-sm-sector .gjs-sm-stack #gjs-sm-add:hover{opacity:1;filter:alpha(opacity=100)}.gjs-clm-tags .gjs-sm-colorp-c,.gjs-sm-sector .gjs-sm-colorp-c{height:100%;width:20px;position:absolute;right:0;top:0;box-sizing:border-box;border-radius:2px;padding:2px}.gjs-clm-tags .gjs-sm-colorp-c .gjs-checker-bg,.gjs-sm-sector .gjs-sm-colorp-c .gjs-checker-bg{height:100%;width:100%;border-radius:1px}.gjs-clm-tags .gjs-sm-color-picker,.gjs-sm-sector .gjs-sm-color-picker{background-color:#ddd;cursor:pointer;height:16px;width:100%;margin-top:-16px;box-shadow:0 0 1px rgba(0,0,0,.3);border-radius:1px}.gjs-clm-tags .gjs-sm-btn-upload #gjs-sm-upload,.gjs-sm-sector .gjs-sm-btn-upload #gjs-sm-upload{left:0;top:0;position:absolute;width:100%;opacity:0;cursor:pointer}.gjs-clm-tags .gjs-sm-btn-upload #gjs-sm-label,.gjs-sm-sector .gjs-sm-btn-upload #gjs-sm-label{padding:2px 0}.gjs-sm-layer>#gjs-sm-move{opacity:.7;filter:alpha(opacity=70);cursor:move;font-size:12px;float:left;margin:0 5px 0 0}.gjs-sm-layer>#gjs-sm-move:hover{opacity:.9;filter:alpha(opacity=90)}.gjs-blocks-c{display:flex;flex-wrap:wrap;justify-content:flex-start}.gjs-block{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;width:45%;padding:1em;box-sizing:border-box;height:90px;cursor:all-scroll;font-size:11px;font-weight:lighter;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(0,0,0,.2);border-radius:3px;margin:10px 2.5% 5px;box-shadow:0 1px 0 0 rgba(0,0,0,.15);transition:all .2s ease 0s;transition-property:box-shadow,color}.gjs-block:hover{box-shadow:0 3px 4px 0 rgba(0,0,0,.15)}.gjs-block.fa{font-size:2em;line-height:2em;padding:11px}.gjs-block-label{line-height:normal;font-size:.65rem;font-weight:400}.gjs-block.gjs-bdrag{width:auto;padding:0}.gjs-clm-tags{font-size:11px;padding:10px 5px}.gjs-clm-tags #gjs-clm-label,.gjs-clm-tags #gjs-clm-sel{padding:7px 0;float:left}.gjs-clm-tags #gjs-clm-sel{font-style:italic;margin-left:5px}.gjs-clm-tags #gjs-clm-status-c{float:right}.gjs-clm-tags #gjs-clm-tags-field{clear:both;padding:5px;margin-bottom:5px}.gjs-clm-tags #gjs-clm-tags-c{display:inline-block;vertical-align:top}.gjs-clm-tags #gjs-clm-add-tag{background-color:rgba(255,255,255,.15);border-radius:2px;padding:5px 6px;box-shadow:1px 1px 0 rgba(255,255,255,.2) inset;border:1px solid rgba(0,0,0,.15);cursor:pointer}.gjs-clm-tags #gjs-clm-new{color:#ddd;padding:5px 6px;display:none}.gjs-clm-tags .gjs-clm-tag{background-color:#804f7b;border:1px solid #5a3857;box-shadow:1px 1px #9c6196 inset;text-shadow:1px 1px #6a4166;display:inline-block;border-radius:3px;margin:0 3px 3px 0;padding:4px;cursor:default}.gjs-clm-tags #gjs-clm-close{font-size:20px;line-height:0;cursor:pointer;color:rgba(255,255,255,.9)}.gjs-clm-tags #gjs-clm-close:hover{opacity:.7;filter:alpha(opacity=70)}.gjs-clm-tags #gjs-clm-checkbox{color:rgba(255,255,255,.9);vertical-align:middle;cursor:pointer;font-size:9px}.gjs-clm-tags #gjs-clm-tag-label{cursor:text}.gjs-clm-tags #gjs-clm-tag-label input{width:auto;padding:0 4px}.gjs-mdl-backlayer,.gjs-mdl-container{position:absolute;top:0;left:0;width:100%;height:100%}.gjs-mdl-backlayer{background-color:#000;z-index:1;opacity:.5;filter:alpha(opacity=50)}.gjs-mdl-container{z-index:10}.gjs-mdl-dialog{text-shadow:-1px -1px 0 rgba(0,0,0,.05);animation:gjs-slide-down 215ms;margin:30px auto 0;max-width:850px;width:90%;border-radius:3px;font-weight:lighter;position:relative;z-index:2}.gjs-mdl-dialog .gjs-mdl-btn-close{position:absolute;right:15px;top:5px}.gjs-mdl-active .gjs-mdl-dialog{animation:gjs-mdl-slide-down 216ms}.gjs-mdl-content,.gjs-mdl-header{padding:10px 15px;clear:both}.gjs-mdl-header{position:relative;border-bottom:1px solid rgba(0,0,0,.3);padding:15px 15px 7px}.gjs-mdl-content{border-top:1px solid rgba(255,255,255,.1)}.gjs-export-dl::after{content:"";clear:both;display:block;margin-bottom:10px}.gjs-am-assets{height:290px;overflow:auto;clear:both}.gjs-am-assets-header{padding:5px}.gjs-am-add-asset .gjs-am-add-field{width:70%;float:left}.gjs-am-add-asset button{width:25%;float:right}.gjs-am-add-field input{padding:6px}.gjs-am-assets-cont{background-color:rgba(0,0,0,.1);border-radius:3px;box-sizing:border-box;padding:10px;width:45%;float:right;height:325px;overflow:hidden}.gjs-am-assets-cont #gjs-am-preview-cont{position:relative;height:70px;width:30%;background-color:#444;border-radius:2px;float:left;overflow:hidden}.gjs-am-assets-cont #gjs-am-preview{position:absolute;background-position:center center;background-size:cover;background-repeat:no-repeat;height:100%;width:100%;z-index:1}.gjs-am-assets-cont #gjs-am-preview-bg{position:absolute;height:100%;width:100%;opacity:.5;filter:alpha(opacity=50);z-index:0}.gjs-am-assets-cont .gjs-am-highlight{background-color:rgba(255,255,255,.1)}.gjs-am-assets-cont .gjs-am-asset{border-bottom:1px solid rgba(0,0,0,.3);padding:5px;cursor:pointer;position:relative}.gjs-am-assets-cont .gjs-am-asset:hover #gjs-am-close{display:block}.gjs-am-assets-cont #gjs-am-close{position:absolute;right:5px;top:0;display:none}.gjs-am-assets-cont #gjs-am-meta{width:70%;float:left;font-size:12px;padding:5px 0 0 5px;box-sizing:border-box}.gjs-am-assets-cont #gjs-am-meta>div{margin-bottom:5px}.gjs-am-assets-cont #gjs-am-meta #gjs-am-dimensions{font-size:10px;opacity:.5;filter:alpha(opacity=50)}.gjs-am-file-uploader{width:55%;float:left}.gjs-am-file-uploader>form{background-color:rgba(0,0,0,.1);border:2px dashed;border-radius:3px;position:relative;text-align:center;margin-bottom:15px}#gjs-rte-toolbar .gjs-rte-btn.btn-info,.gjs-cm-editor #gjs-cm-title{background-color:rgba(0,0,0,.3)}.gjs-am-file-uploader>form.gjs-am-hover{border:2px solid #62c462;color:#75cb75}.gjs-am-file-uploader>form.gjs-am-disabled{border-color:red}.gjs-am-file-uploader>form #gjs-am-uploadFile{opacity:0;filter:alpha(opacity=0);padding:150px 10px;width:100%;box-sizing:border-box}.gjs-am-file-uploader #gjs-am-title{position:absolute;padding:150px 10px;width:100%}.gjs-cm-editor-c{float:left;box-sizing:border-box;width:50%}.gjs-cm-editor-c .CodeMirror{height:450px}.gjs-cm-editor{font-size:12px}.gjs-cm-editor#gjs-cm-htmlmixed{padding-right:10px;border-right:1px solid rgba(0,0,0,.3)}.gjs-cm-editor#gjs-cm-htmlmixed #gjs-cm-title{color:#a97d44}.gjs-cm-editor#gjs-cm-css{padding-left:10px;border-left:1px solid rgba(255,255,255,.1)}.gjs-cm-editor#gjs-cm-css #gjs-cm-title{color:#ddca7e}.gjs-cm-editor #gjs-cm-title{font-size:12px;padding:5px 10px 3px;text-align:right}#gjs-rte-toolbar{display:none;border:1px solid rgba(0,0,0,.3);position:absolute;border-radius:3px;overflow:hidden;z-index:10}#gjs-rte-toolbar .gjs-rte-btn{display:inline-block;padding:5px;min-width:25px;border-right:1px solid rgba(0,0,0,.3);text-align:center;cursor:pointer;outline:0}#gjs-rte-toolbar .gjs-rte-btn:last-child{border-right:none}#gjs-rte-toolbar .gjs-rte-btn:hover{background-color:rgba(255,255,255,.1)}#gjs-rte-toolbar select{height:16px}.sp-hue,.sp-slider{cursor:row-resize}.sp-color,.sp-dragger{cursor:crosshair}.sp-alpha-handle,.sp-alpha-inner{cursor:col-resize}.sp-hue{left:90%}.sp-color{right:15%}.sp-container{border:1px solid rgba(0,0,0,.3);box-shadow:0 0 7px rgba(0,0,0,.3);border-radius:3px}.sp-picker-container{border:none}.colpick_dark .colpick_color{outline:rgba(0,0,0,.3) solid 1px}.sp-cancel,.sp-cancel:hover{bottom:-8px;color:#777!important;font-size:25px;left:0;position:absolute;text-decoration:none}.sp-alpha-handle{border:1px solid #555;width:4px}.sp-color,.sp-hue{border:1px solid #333}.sp-slider{border:1px solid #555;height:3px;left:-4px;width:22px}.sp-dragger{background:0 0;box-shadow:0 0 0 1px #111}.sp-button-container{float:none;width:100%;position:relative;text-align:right}.sp-container button,.sp-container button:active,.sp-container button:hover{background:rgba(0,0,0,.3);border-color:rgba(0,0,0,.3);color:#ddd;text-shadow:none;box-shadow:none;padding:3px 5px}.sp-palette-container{border:none;float:none;margin:0;padding:5px 10px 0}.sp-palette .sp-thumb-el,.sp-palette .sp-thumb-el:hover{border:1px solid rgba(0,0,0,.9)}.sp-palette .sp-thumb-el.sp-thumb-active,.sp-palette .sp-thumb-el:hover{border-color:rgba(0,0,0,.9)}.gjs-hidden{display:none}@keyframes gjs-slide-down{0%{transform:translate(0,-3rem);opacity:0}100%{transform:translate(0,0);opacity:1}}@keyframes gjs-slide-up{0%{transform:translate(0,0);opacity:1}100%{transform:translate(0,-3rem);opacity:0}} \ No newline at end of file diff --git a/public/grapejs/dist/css/grapesjs-preset-newsletter.css b/public/grapejs/dist/css/grapesjs-preset-newsletter.css new file mode 100644 index 00000000..9eb4c81e --- /dev/null +++ b/public/grapejs/dist/css/grapesjs-preset-newsletter.css @@ -0,0 +1,215 @@ +/* #008f73 #4c9790 */ +.gjs-clm-tags .gjs-sm-title, +.gjs-sm-sector .gjs-sm-title { + border-top: none; } + +.gjs-clm-tags .gjs-clm-tag { + background-color: #4c9790; + border: none; + box-shadow: none; + padding: 5px 8px; + text-shadow: none; } + +.gjs-field { + background-color: rgba(0, 0, 0, 0.15); + box-shadow: none; } + +.gjs-btnt.gjs-pn-active, +.gjs-pn-btn.gjs-pn-active { + box-shadow: none; } + +.gjs-pn-btn:hover { + color: rgba(255, 255, 255, 0.75); } + +.gjs-btnt.gjs-pn-active, +.gjs-color-active, +.gjs-pn-btn.gjs-pn-active, +.gjs-pn-btn:active, +.gjs-block:hover { + color: #35d7bb; } + +#gjs-rte-toolbar .gjs-rte-btn, +.gjs-btn-prim, +.gjs-btnt, +.gjs-clm-tags .gjs-sm-composite.gjs-clm-field, +.gjs-clm-tags .gjs-sm-field.gjs-sm-composite, +.gjs-clm-tags .gjs-sm-stack #gjs-sm-add, +.gjs-color-main, +.gjs-mdl-dialog, +.gjs-off-prv, +.gjs-pn-btn, +.gjs-pn-panel, +.gjs-sm-sector .gjs-sm-composite.gjs-clm-field, +.gjs-sm-sector .gjs-sm-field.gjs-sm-composite, +.gjs-sm-sector .gjs-sm-stack #gjs-sm-add { + color: #a0aabf; + /* #a0aabf #d0d6e2 */ } + +#gjs-rte-toolbar, +.gjs-bg-main, +.gjs-clm-select option, +.gjs-clm-tags .gjs-sm-colorp-c, +.gjs-editor, +.gjs-mdl-dialog, +.gjs-nv-item .gjs-nv-title-c, +.gjs-off-prv, +.gjs-pn-panel, +.gjs-select option, +.gjs-sm-sector .gjs-sm-colorp-c, +.gjs-sm-select option, +.gjs-sm-unit option, +.sp-container, +.gjs-block { + background-color: #373d49; +} + +.gjs-import-label, +.gjs-export-label { + margin-bottom: 10px; + font-size: 13px; } + +.gjs-mdl-dialog .gjs-btn-import { + margin-top: 10px; } + +.CodeMirror { + border-radius: 3px; + height: 450px; + font-family: sans-serif, monospace; + letter-spacing: 0.3px; + font-size: 12px; } + +/* Extra */ + +.gjs-block { + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + margin: 10px 2.5% 5px; + box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.15); + transition: box-shadow 0.2s ease 0s; +} + +.gjs-block:hover { + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.15); +} + +#gjs-pn-views-container.gjs-pn-panel { + padding: 39px 0 0; } + +#gjs-pn-views.gjs-pn-panel { + padding: 0; + border: none; } + +#gjs-pn-views .gjs-pn-btn { + margin: 0; + height: 40px; + padding: 10px; + width: 25%; + border-bottom: 2px solid rgba(0, 0, 0, 0.3); } + +#gjs-pn-views .gjs-pn-active { + color: rgba(255, 255, 255, 0.9); + border-bottom: 2px solid #35d7bb; + border-radius: 0; } + +#gjs-pn-devices-c { + padding-left: 30px; } + +#gjs-pn-options { + padding-right: 30px; } + +.gjs-sm-composite .gjs-sm-properties { + display: flex; + flex-flow: row wrap; + justify-content: space-between; } + +#gjs-sm-border-top-left-radius, +#gjs-sm-border-top-right-radius, +#gjs-sm-border-bottom-left-radius, +#gjs-sm-border-bottom-right-radius, +#gjs-sm-margin-top, +#gjs-sm-margin-bottom, +#gjs-sm-margin-right, +#gjs-sm-margin-left, +#gjs-sm-padding-top, +#gjs-sm-padding-bottom, +#gjs-sm-padding-right, +#gjs-sm-padding-left { + flex: 999 1 60px; } + +#gjs-sm-border-width, +#gjs-sm-border-style, +#gjs-sm-border-color { + flex: 999 1 80px; } + +#gjs-sm-margin-left, +#gjs-sm-padding-left { + order: 2; } + +#gjs-sm-margin-right, +#gjs-sm-padding-right { + order: 3; } + +#gjs-sm-margin-bottom, +#gjs-sm-padding-bottom { + order: 4; } + +.gjs-field-radio { + width: 100%; } + +.gjs-field-radio #gjs-sm-input-holder { + display: flex; } + +.gjs-radio-item { + flex: 1 0 auto; + text-align: center; } + +.gjs-sm-sector .gjs-sm-property.gjs-sm-list { + width: 50%; } + +.gjs-mdl-content { + border-top: none; } + +.gjs-sm-sector .gjs-sm-property .gjs-sm-layer.gjs-sm-active { + background-color: rgba(255, 255, 255, 0.09); } + +/* + +#gjs-pn-views-container, +#gjs-pn-views{ + min-width: 270px; +} +*/ +.gjs-f-button::before { + content: 'B'; } + +.gjs-f-divider::before { + content: 'D'; } + +.gjs-mdl-dialog-sm { + width: 300px; } + +.gjs-mdl-dialog form .gjs-sm-property { + font-size: 12px; + margin-bottom: 15px; } + +.gjs-mdl-dialog form .gjs-sm-label { + margin-bottom: 5px; } + +#gjs-clm-status-c { + display: none; } + +.anim-spin { + animation: 0.5s linear 0s normal none infinite running spin; } + +.form-status { + float: right; + font-size: 14px; } + +.text-danger { + color: #f92929; } + +@keyframes spin { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } diff --git a/public/grapejs/dist/css/material.css b/public/grapejs/dist/css/material.css new file mode 100644 index 00000000..1bc89d6b --- /dev/null +++ b/public/grapejs/dist/css/material.css @@ -0,0 +1,53 @@ +/* + + Name: material + Author: Michael Kaminsky (http://github.com/mkaminsky11) + + Original material color scheme by Mattia Astorino (https://github.com/equinusocio/material-theme) + +*/ + +.cm-s-material { + background-color: #263238; + color: rgba(233, 237, 237, 1); +} +.cm-s-material .CodeMirror-gutters { + background: #263238; + color: rgb(83,127,126); + border: none; +} +.cm-s-material .CodeMirror-guttermarker, .cm-s-material .CodeMirror-guttermarker-subtle, .cm-s-material .CodeMirror-linenumber { color: rgb(83,127,126); } +.cm-s-material .CodeMirror-cursor { border-left: 1px solid #f8f8f0; } +.cm-s-material div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); } +.cm-s-material.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } +.cm-s-material .CodeMirror-line::selection, .cm-s-material .CodeMirror-line > span::selection, .cm-s-material .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-material .CodeMirror-line::-moz-selection, .cm-s-material .CodeMirror-line > span::-moz-selection, .cm-s-material .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } + +.cm-s-material .CodeMirror-activeline-background { background: rgba(0, 0, 0, 0); } +.cm-s-material .cm-keyword { color: rgba(199, 146, 234, 1); } +.cm-s-material .cm-operator { color: rgba(233, 237, 237, 1); } +.cm-s-material .cm-variable-2 { color: #80CBC4; } +.cm-s-material .cm-variable-3 { color: #82B1FF; } +.cm-s-material .cm-builtin { color: #DECB6B; } +.cm-s-material .cm-atom { color: #F77669; } +.cm-s-material .cm-number { color: #F77669; } +.cm-s-material .cm-def { color: rgba(233, 237, 237, 1); } +.cm-s-material .cm-string { color: #C3E88D; } +.cm-s-material .cm-string-2 { color: #80CBC4; } +.cm-s-material .cm-comment { color: #546E7A; } +.cm-s-material .cm-variable { color: #82B1FF; } +.cm-s-material .cm-tag { color: #80CBC4; } +.cm-s-material .cm-meta { color: #80CBC4; } +.cm-s-material .cm-attribute { color: #FFCB6B; } +.cm-s-material .cm-property { color: #80CBAE; } +.cm-s-material .cm-qualifier { color: #DECB6B; } +.cm-s-material .cm-variable-3 { color: #DECB6B; } +.cm-s-material .cm-tag { color: rgba(255, 83, 112, 1); } +.cm-s-material .cm-error { + color: rgba(255, 255, 255, 1.0); + background-color: #EC5F67; +} +.cm-s-material .CodeMirror-matchingbracket { + text-decoration: underline; + color: white !important; +} \ No newline at end of file diff --git a/public/grapejs/dist/css/toastr.min.css b/public/grapejs/dist/css/toastr.min.css new file mode 100644 index 00000000..095b99ca --- /dev/null +++ b/public/grapejs/dist/css/toastr.min.css @@ -0,0 +1,6 @@ +/* + * Note that this is toastr v2.1.3, the "latest" version in url has no more maintenance, + * please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use, + * make sure you copy the url from the website since the url may change between versions. + * */ +.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#FFF}.toast-message a:hover{color:#CCC;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#FFF;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#FFF;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51A351}.toast-error{background-color:#BD362F}.toast-info{background-color:#2F96B4}.toast-warning{background-color:#F89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}} \ No newline at end of file diff --git a/public/grapejs/dist/css/tooltip.css b/public/grapejs/dist/css/tooltip.css new file mode 100644 index 00000000..c9a3160d --- /dev/null +++ b/public/grapejs/dist/css/tooltip.css @@ -0,0 +1,88 @@ +[data-tooltip] { + position: relative; +} + +[data-tooltip]::after { + font-family: Helvetica, sans-serif; + background: rgba(51, 51, 51, 0.9); + background: rgba(55, 61, 73, 0.9); + border-radius: 3px; + bottom: 100%; + color: #fff; + content: attr(data-tooltip); + display: block; + font-size: 12px; + left: 50%; + line-height: normal; + max-width: 32rem; + opacity: 0; + overflow: hidden; + padding: 0.6rem 1rem; + pointer-events: none; + position: absolute; + text-overflow: ellipsis; + -webkit-transform: translate(-50%, 0); + -ms-transform: translate(-50%, 0); + transform: translate(-50%, 0); + transition: all 0.216s ease; + z-index: 99; +} + +[data-tooltip]:focus::after, +[data-tooltip]:hover::after { + opacity: 1; + -webkit-transform: translate(-50%, -0.5rem); + -ms-transform: translate(-50%, -0.5rem); + transform: translate(-50%, -0.5rem); +} + +[data-tooltip][disabled], +[data-tooltip].disabled { + pointer-events: auto; +} + +[data-tooltip-pos=right]::after { + bottom: 50%; + left: 100%; + -webkit-transform: translate(0, 50%); + -ms-transform: translate(0, 50%); + transform: translate(0, 50%); +} + +[data-tooltip-pos=right]:focus::after, +[data-tooltip-pos=right]:hover::after { + -webkit-transform: translate(0.5rem, 50%); + -ms-transform: translate(0.5rem, 50%); + transform: translate(0.5rem, 50%); +} + +[data-tooltip-pos=bottom]::after { + bottom: auto; + top: 100%; + -webkit-transform: translate(-50%, 0); + -ms-transform: translate(-50%, 0); + transform: translate(-50%, 0); +} + +[data-tooltip-pos=bottom]:focus::after, +[data-tooltip-pos=bottom]:hover::after { + -webkit-transform: translate(-50%, 0.5rem); + -ms-transform: translate(-50%, 0.5rem); + transform: translate(-50%, 0.5rem); +} + +[data-tooltip-pos=left]::after { + bottom: 50%; + left: auto; + right: 100%; + -webkit-transform: translate(0, 50%); + -ms-transform: translate(0, 50%); + transform: translate(0, 50%); +} + +[data-tooltip-pos=left]:focus::after, +[data-tooltip-pos=left]:hover::after { + -webkit-transform: translate(-0.5rem, 50%); + -ms-transform: translate(-0.5rem, 50%); + transform: translate(-0.5rem, 50%); +} \ No newline at end of file diff --git a/public/grapejs/dist/fonts/FontAwesome.otf b/public/grapejs/dist/fonts/FontAwesome.otf new file mode 100755 index 00000000..3ed7f8b4 Binary files /dev/null and b/public/grapejs/dist/fonts/FontAwesome.otf differ diff --git a/public/grapejs/dist/fonts/fontawesome-webfont.eot b/public/grapejs/dist/fonts/fontawesome-webfont.eot new file mode 100755 index 00000000..9b6afaed Binary files /dev/null and b/public/grapejs/dist/fonts/fontawesome-webfont.eot differ diff --git a/public/grapejs/dist/fonts/fontawesome-webfont.svg b/public/grapejs/dist/fonts/fontawesome-webfont.svg new file mode 100755 index 00000000..d05688e9 --- /dev/null +++ b/public/grapejs/dist/fonts/fontawesome-webfont.svg @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/grapejs/dist/fonts/fontawesome-webfont.ttf b/public/grapejs/dist/fonts/fontawesome-webfont.ttf new file mode 100755 index 00000000..26dea795 Binary files /dev/null and b/public/grapejs/dist/fonts/fontawesome-webfont.ttf differ diff --git a/public/grapejs/dist/fonts/fontawesome-webfont.woff b/public/grapejs/dist/fonts/fontawesome-webfont.woff new file mode 100755 index 00000000..dc35ce3c Binary files /dev/null and b/public/grapejs/dist/fonts/fontawesome-webfont.woff differ diff --git a/public/grapejs/dist/fonts/fontawesome-webfont.woff2 b/public/grapejs/dist/fonts/fontawesome-webfont.woff2 new file mode 100755 index 00000000..500e5172 Binary files /dev/null and b/public/grapejs/dist/fonts/fontawesome-webfont.woff2 differ diff --git a/public/grapejs/dist/fonts/main-fonts.eot b/public/grapejs/dist/fonts/main-fonts.eot new file mode 100755 index 00000000..b0a083bf Binary files /dev/null and b/public/grapejs/dist/fonts/main-fonts.eot differ diff --git a/public/grapejs/dist/fonts/main-fonts.svg b/public/grapejs/dist/fonts/main-fonts.svg new file mode 100755 index 00000000..ff483d53 --- /dev/null +++ b/public/grapejs/dist/fonts/main-fonts.svg @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + Borders: 30pxCanvas: 1000x1000px + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/grapejs/dist/fonts/main-fonts.ttf b/public/grapejs/dist/fonts/main-fonts.ttf new file mode 100755 index 00000000..4399759f Binary files /dev/null and b/public/grapejs/dist/fonts/main-fonts.ttf differ diff --git a/public/grapejs/dist/fonts/main-fonts.woff b/public/grapejs/dist/fonts/main-fonts.woff new file mode 100755 index 00000000..77e183be Binary files /dev/null and b/public/grapejs/dist/fonts/main-fonts.woff differ diff --git a/public/grapejs/dist/js/ajaxable.min.js b/public/grapejs/dist/js/ajaxable.min.js new file mode 100644 index 00000000..76165b56 --- /dev/null +++ b/public/grapejs/dist/js/ajaxable.min.js @@ -0,0 +1,2 @@ +/*! ajaxable - 0.2.3 */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ajaxable=t():e.ajaxable=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}var o=n(1),i=r(o);e.exports=function(e,t){return new i["default"](e,t)}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"";o(this,t);var r=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));if(!e)throw new Error("The element is empty");var s={responseType:"json",headers:{}},a=n||{};for(var u in s)u in a||(a[u]=s[u]);var f="X-Requested-With";""!=a.headers[f]&&(a.headers[f]="XMLHttpRequest"),r.els=r.parseEl(e),r.opts=a;for(var c=0;c0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if(e=p[o.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,b){return function(){var c=w.call(arguments,0);return"string"!=typeof c[0]&&1===c.length&&c.push(null),o.apply(d,c.concat([a,b]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var b=s[a];delete s[a],u[a]=!0,n.apply(d,b)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return"undefined"!=typeof b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,b,c,f){var h,k,m,n,o,t,v,w=[],x=typeof c;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(b=!b.length&&c.length?["require","exports","module"]:b,o=0;o
",attributes:{"class":"gjs-fonts gjs-f-b1"}},{id:"b2",label:"2 Blocks",content:'
",attributes:{"class":"gjs-fonts gjs-f-b2"}},{id:"b3",label:"3 Blocks",content:'
",attributes:{"class":"gjs-fonts gjs-f-b3"}},{id:"b4",label:"3/7 Block",content:'
",attributes:{"class":"gjs-fonts gjs-f-b37"}},{id:"hero",label:"Hero section",content:'
Build your templates without coding
Try it now
',attributes:{"class":"gjs-fonts gjs-f-hero"}},{id:"h1p",label:"Text section",content:'

Insert title here

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua

',attributes:{"class":"gjs-fonts gjs-f-h1p"}},{id:"3ba",label:"Badges",content:'
Adam Smith
CEO
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ipsum dolor sit
ftln
John Black
Software Engineer
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ipsum dolor sit
ftln
Jessica White
Web Designer
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ipsum dolor sit
ftln
',attributes:{"class":"gjs-fonts gjs-f-3ba"}},{id:"text",label:"Text",attributes:{"class":"gjs-fonts gjs-f-text"},content:{type:"text",content:"Insert your text here",style:{padding:"10px"},activeOnRender:1}},{id:"image",label:"Image",attributes:{"class":"gjs-fonts gjs-f-image"},content:{style:{color:"black"},type:"image",activeOnRender:1}},{id:"quo",label:"Quote",content:'
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ipsum dolor sit
',attributes:{"class":"fa fa-quote-right"}},{id:"link",label:"Link",attributes:{"class":"fa fa-link"},content:{type:"link",content:"Link",style:{color:"#d983a6"}}},{id:"map",label:"Map",attributes:{"class":"fa fa-map-o"},content:{type:"map",style:{height:"350px"}}},{id:"video",label:"Video",attributes:{"class":"fa fa-youtube-play"},content:{type:"video",src:"img/video2.webm",style:{height:"350px",width:"615px"}}}]}}}),function(){function a(a){function b(b,c,d,e,f,g){for(;f>=0&&f0?0:h-1;return arguments.length<3&&(e=c[g?g[i]:i],i+=a),b(c,d,e,g,i,h)}}function b(a){return function(b,c,d){c=v(c,d);for(var e=A(b),f=a>0?0:e-1;f>=0&&f0?g=f>=0?f:Math.max(f+h,g):h=f>=0?Math.min(f+1,h):f+h+1;else if(c&&f&&h)return f=c(d,e),d[f]===e?f:-1;if(e!==e)return f=b(l.call(d,g,h),t.isNaN),f>=0?f+g:-1;for(f=a>0?g:h-1;f>=0&&f=0&&b<=z};t.each=t.forEach=function(a,b,c){b=u(b,c);var d,e;if(B(a))for(d=0,e=a.length;d=0},t.invoke=function(a,b){var c=l.call(arguments,2),d=t.isFunction(b);return t.map(a,function(a){var e=d?b:a[b];return null==e?e:e.apply(a,c)})},t.pluck=function(a,b){return t.map(a,t.property(b))},t.where=function(a,b){return t.filter(a,t.matcher(b))},t.findWhere=function(a,b){return t.find(a,t.matcher(b))},t.max=function(a,b,c){var d,e,f=-(1/0),g=-(1/0);if(null==b&&null!=a){a=B(a)?a:t.values(a);for(var h=0,i=a.length;hf&&(f=d)}else b=v(b,c),t.each(a,function(a,c,d){e=b(a,c,d),(e>g||e===-(1/0)&&f===-(1/0))&&(f=a,g=e)});return f},t.min=function(a,b,c){var d,e,f=1/0,g=1/0;if(null==b&&null!=a){a=B(a)?a:t.values(a);for(var h=0,i=a.length;hd||void 0===c)return 1;if(cb?(g&&(clearTimeout(g),g=null),h=j,f=a.apply(d,e),g||(d=e=null)):g||c.trailing===!1||(g=setTimeout(i,k)),f}},t.debounce=function(a,b,c){var d,e,f,g,h,i=function(){var j=t.now()-g;j=0?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e),d||(f=e=null)))};return function(){f=this,e=arguments,g=t.now();var j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e),f=e=null),h}},t.wrap=function(a,b){return t.partial(b,a)},t.negate=function(a){return function(){return!a.apply(this,arguments)}},t.compose=function(){var a=arguments,b=a.length-1;return function(){for(var c=b,d=a[b].apply(this,arguments);c--;)d=a[c].call(this,d);return d}},t.after=function(a,b){return function(){if(--a<1)return b.apply(this,arguments)}},t.before=function(a,b){var c;return function(){return--a>0&&(c=b.apply(this,arguments)),a<=1&&(b=null),c}},t.once=t.partial(t.before,2);var F=!{toString:null}.propertyIsEnumerable("toString"),G=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];t.keys=function(a){if(!t.isObject(a))return[];if(p)return p(a);var b=[];for(var c in a)t.has(a,c)&&b.push(c);return F&&e(a,b),b},t.allKeys=function(a){if(!t.isObject(a))return[];var b=[];for(var c in a)b.push(c);return F&&e(a,b),b},t.values=function(a){for(var b=t.keys(a),c=b.length,d=Array(c),e=0;e":">",'"':""","'":"'","`":"`"},J=t.invert(I),K=function(a){var b=function(b){return a[b]},c="(?:"+t.keys(a).join("|")+")",d=RegExp(c),e=RegExp(c,"g");return function(a){return a=null==a?"":""+a,d.test(a)?a.replace(e,b):a}};t.escape=K(I),t.unescape=K(J),t.result=function(a,b,c){var d=null==a?void 0:a[b];return void 0===d&&(d=c),t.isFunction(d)?d.call(a):d};var L=0;t.uniqueId=function(a){var b=++L+"";return a?a+b:b},t.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var M=/(.)^/,N={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},O=/\\|'|\r|\n|\u2028|\u2029/g,P=function(a){return"\\"+N[a]};t.template=function(a,b,c){!b&&c&&(b=c),b=t.defaults({},b,t.templateSettings);var d=RegExp([(b.escape||M).source,(b.interpolate||M).source,(b.evaluate||M).source].join("|")+"|$","g"),e=0,f="__p+='";a.replace(d,function(b,c,d,g,h){return f+=a.slice(e,h).replace(O,P),e=h+b.length,c?f+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'":d?f+="'+\n((__t=("+d+"))==null?'':__t)+\n'":g&&(f+="';\n"+g+"\n__p+='"),b}),f+="';\n",b.variable||(f="with(obj||{}){\n"+f+"}\n"),f="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+f+"return __p;\n";try{var g=new Function(b.variable||"obj","_",f)}catch(h){throw h.source=f,h}var i=function(a){return g.call(this,a,t)},j=b.variable||"obj";return i.source="function("+j+"){\n"+f+"}",i},t.chain=function(a){var b=t(a);return b._chain=!0,b};var Q=function(a,b){return a._chain?t(b).chain():b};t.mixin=function(a){t.each(t.functions(a),function(b){var c=t[b]=a[b];t.prototype[b]=function(){var a=[this._wrapped];return k.apply(a,arguments),Q(this,c.apply(t,a))}})},t.mixin(t),t.each(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=h[a];t.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!==a&&"splice"!==a||0!==c.length||delete c[0],Q(this,c)}}),t.each(["concat","join","slice"],function(a){var b=h[a];t.prototype[a]=function(){return Q(this,b.apply(this._wrapped,arguments))}}),t.prototype.value=function(){return this._wrapped},t.prototype.valueOf=t.prototype.toJSON=t.prototype.value,t.prototype.toString=function(){return""+this._wrapped},"function"==typeof c&&c.amd&&c("underscore",[],function(){return t})}.call(this),c("jquery",[],function(){return jQuery}),function(a){var d="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof c&&c.amd)c("backbone",["underscore","jquery","exports"],function(b,c,e){d.Backbone=a(d,e,b,c)});else if("undefined"!=typeof exports){var e,f=b("underscore");try{e=b("jquery")}catch(g){}a(d,exports,f,e)}else d.Backbone=a(d,{},d._,d.jQuery||d.Zepto||d.ender||d.$)}(function(a,b,c,d){var e=a.Backbone,f=Array.prototype.slice;b.VERSION="1.3.3",b.$=d,b.noConflict=function(){return a.Backbone=e,this},b.emulateHTTP=!1,b.emulateJSON=!1;var g=function(a,b,d){switch(a){case 1:return function(){return c[b](this[d])};case 2:return function(a){return c[b](this[d],a)};case 3:return function(a,e){return c[b](this[d],i(a,this),e)};case 4:return function(a,e,f){return c[b](this[d],i(a,this),e,f)};default:return function(){var a=f.call(arguments);return a.unshift(this[d]),c[b].apply(c,a)}}},h=function(a,b,d){c.each(b,function(b,e){c[e]&&(a.prototype[e]=g(b,e,d))})},i=function(a,b){return c.isFunction(a)?a:c.isObject(a)&&!b._isModel(a)?j(a):c.isString(a)?function(b){return b.get(a)}:a},j=function(a){var b=c.matches(a);return function(a){return b(a.attributes)}},k=b.Events={},l=/\s+/,m=function(a,b,d,e,f){var g,h=0;if(d&&"object"==typeof d){void 0!==e&&"context"in f&&void 0===f.context&&(f.context=e);for(g=c.keys(d);hthis.length&&(e=this.length),e<0&&(e+=this.length+1);var f,g,h=[],i=[],j=[],k=[],l={},m=b.add,n=b.merge,o=b.remove,p=!1,q=this.comparator&&null==e&&b.sort!==!1,r=c.isString(this.comparator)?this.comparator:null;for(g=0;g7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var b=this.root.slice(0,-1)||"/";return this.location.replace(b+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var d=document.body,e=d.insertBefore(this.iframe,d.firstChild).contentWindow;e.document.open(),e.document.close(),e.location.hash="#"+this.fragment}var f=window.addEventListener||function(a,b){return attachEvent("on"+a,b)};if(this._usePushState?f("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?f("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var a=window.removeEventListener||function(a,b){return detachEvent("on"+a,b)};this._usePushState?a("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&a("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),J.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();return b===this.fragment&&this.iframe&&(b=this.getHash(this.iframe.contentWindow)),b!==this.fragment&&(this.iframe&&this.navigate(b),void this.loadUrl())},loadUrl:function(a){return!!this.matchRoot()&&(a=this.fragment=this.getFragment(a),c.some(this.handlers,function(b){if(b.route.test(a))return b.callback(a),!0}))},navigate:function(a,b){if(!J.started)return!1;b&&b!==!0||(b={trigger:!!b}),a=this.getFragment(a||"");var c=this.root;""!==a&&"?"!==a.charAt(0)||(c=c.slice(0,-1)||"/");var d=c+a;if(a=this.decodeFragment(a.replace(M,"")),this.fragment!==a){if(this.fragment=a,this._usePushState)this.history[b.replace?"replaceState":"pushState"]({},document.title,d);else{if(!this._wantsHashChange)return this.location.assign(d);if(this._updateHash(this.location,a,b.replace),this.iframe&&a!==this.getHash(this.iframe.contentWindow)){var e=this.iframe.contentWindow;b.replace||(e.document.open(),e.document.close()),this._updateHash(e.location,a,b.replace)}}return b.trigger?this.loadUrl(a):void 0}},_updateHash:function(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}}),b.history=new J;var N=function(a,b){var d,e=this;return d=a&&c.has(a,"constructor")?a.constructor:function(){return e.apply(this,arguments)},c.extend(d,e,b),d.prototype=c.create(e.prototype,a),d.prototype.constructor=d,d.__super__=e.prototype,d};t.extend=v.extend=E.extend=A.extend=J.extend=N;var O=function(){throw new Error('A "url" property or function must be specified')},P=function(a,b){var c=b.error;b.error=function(d){c&&c.call(b.context,a,d,b),a.trigger("error",a,d,b)}};return b}),function(a){"function"==typeof c&&c.amd?c("backboneUndo",["underscore","backbone"],a):"undefined"!=typeof exports?module.exports=a(b("underscore"),b("backbone")):a(_,Backbone)}(function(a,b){function c(a,b,c){return c.length<=4?a.call(b,c[0],c[1],c[2],c[3]):a.apply(b,c)}function d(a,b){return n.call(a,b)}function e(b,c){return null!=b&&(a.isArray(c)||(c=d(arguments,1)),a.all(c,function(a){return a in b}))}function f(){this.registeredObjects=[],this.cidIndexes=[]}function g(b,c,d,e){for(var f,g=0,h=c.length;ga.maximumStackLength&&(a.shift(),a.pointer--)}}}function l(){}function m(b,c,d,f){if("object"==typeof c)return a.each(c,function(a,c){2===b?m(b,a,d,f):m(b,c,a,d)});switch(b){case 0:e(d,"undo","redo","on")&&a.all(a.pick(d,"undo","redo","on"),a.isFunction)&&(f[c]=d);break;case 1:f[c]&&a.isObject(d)&&(f[c]=a.extend({},f[c],d));break;case 2:delete f[c]}return this}var n=Array.prototype.slice,o=function(){function b(){d++,c=!0,a.defer(function(){c=!1})}var c=!1,d=-1;return function(){return c||b(),d}}();f.prototype={isRegistered:function(b){return b&&b.cid?this.registeredObjects[b.cid]:a.contains(this.registeredObjects,b)},register:function(a){return!this.isRegistered(a)&&(a&&a.cid?(this.registeredObjects[a.cid]=a,this.cidIndexes.push(a.cid)):this.registeredObjects.push(a),!0)},unregister:function(b){if(this.isRegistered(b)){if(b&&b.cid)delete this.registeredObjects[b.cid],this.cidIndexes.splice(a.indexOf(this.cidIndexes,b.cid),1);else{var c=a.indexOf(this.registeredObjects,b);this.registeredObjects.splice(c,1)}return!0}return!1},get:function(){return a.map(this.cidIndexes,function(a){return this.registeredObjects[a]},this).concat(this.registeredObjects)}};var p={add:{undo:function(a,b,c,d){a.remove(c,d)},redo:function(a,b,c,d){d.index&&(d.at=d.index),a.add(c,d)},on:function(b,c,d){return{object:c,before:void 0,after:b,options:a.clone(d)}}},remove:{undo:function(a,b,c,d){"index"in d&&(d.at=d.index),a.add(b,d)},redo:function(a,b,c,d){a.remove(b,d)},on:function(b,c,d){return{object:c,before:b,after:void 0,options:a.clone(d)}}},change:{undo:function(b,c,d,e){a.isEmpty(c)?a.each(a.keys(d),b.unset,b):(b.set(c),e&&e.unsetData&&e.unsetData.before&&e.unsetData.before.length&&a.each(e.unsetData.before,b.unset,b))},redo:function(b,c,d,e){a.isEmpty(d)?a.each(a.keys(c),b.unset,b):(b.set(d),e&&e.unsetData&&e.unsetData.after&&e.unsetData.after.length&&a.each(e.unsetData.after,b.unset,b))},on:function(b,c){var d=b.changedAttributes(),e=a.keys(d),f=a.pick(b.previousAttributes(),e),g=a.keys(f),h=(c||(c={})).unsetData={after:[],before:[]};return e.length!=g.length&&(e.length>g.length?a.each(e,function(a){a in f||h.before.push(a)},this):a.each(g,function(a){a in d||h.after.push(a)})),{object:b,before:f,after:d,options:a.clone(c)}}},reset:{undo:function(a,b,c){a.reset(b)},redo:function(a,b,c){a.reset(c)},on:function(b,c){return{object:b,before:c.previousModels,after:a.clone(b.models)}}}};l.prototype=p;var q=b.Model.extend({defaults:{type:null,object:null,before:null,after:null,magicFusionIndex:null},undo:function(a){h("undo",this.attributes)},redo:function(a){h("redo",this.attributes)}}),r=b.Collection.extend({model:q,pointer:-1,track:!1,isCurrentlyUndoRedoing:!1,maximumStackLength:1/0,setMaxLength:function(a){this.maximumStackLength=a}}),s=b.Model.extend({defaults:{maximumStackLength:1/0,track:!1},initialize:function(b){this.stack=new r,this.objectRegistry=new f,this.undoTypes=new l,this.stack.setMaxLength(this.get("maximumStackLength")),this.on("change:maximumStackLength",function(a,b){this.stack.setMaxLength(b)},this),b&&b.track&&this.startTracking(),b&&b.register&&(a.isArray(b.register)||a.isArguments(b.register)?c(this.register,this,b.register):this.register(b.register))},startTracking:function(){this.set("track",!0),this.stack.track=!0},stopTracking:function(){this.set("track",!1),this.stack.track=!1},isTracking:function(){return this.get("track")},_addToStack:function(a){k(this.stack,a,d(arguments,1),this.undoTypes)},register:function(){g("on",arguments,this._addToStack,this)},unregister:function(){g("off",arguments,this._addToStack,this)},unregisterAll:function(){c(this.unregister,this,this.objectRegistry.get())},undo:function(a){i("undo",this,this.stack,a)},undoAll:function(){i("undo",this,this.stack,!1,!0)},redo:function(a){i("redo",this,this.stack,a)},redoAll:function(){i("redo",this,this.stack,!1,!0)},isAvailable:function(a){var b=this.stack,c=b.length;switch(a){case"undo":return c>0&&b.pointer>-1;case"redo":return c>0&&b.pointer0;for(f in v)(!v[f]&&b(e.mods,+f)>-1||v[f]&&b(e.mods,+f)==-1)&&(i=!1);(0!=e.mods.length||v[16]||v[18]||v[17]||v[91])&&!i||e.method(a,e)===!1&&(a.preventDefault?a.preventDefault():a.returnValue=!1,a.stopPropagation&&a.stopPropagation(),a.cancelBubble&&(a.cancelBubble=!0))}}function f(a){var c,d=a.keyCode,e=b(A,d);if(e>=0&&A.splice(e,1),93!=d&&224!=d||(d=91),d in v){v[d]=!1;for(c in x)x[c]==d&&(h[c]=!1)}}function g(){for(t in v)v[t]=!1;for(t in x)h[t]=!1}function h(a,b,c){var d,e;d=p(a),void 0===c&&(c=b,b="all");for(var f=0;f1&&(e=q(a),a=[a[a.length-1]]),a=a[0],a=z(a),a in u||(u[a]=[]),u[a].push({shortcut:d[f],scope:b,method:c,key:d[f],mods:e})}function i(a,b){var d,e,f,g,h,i=[];for(d=p(a),g=0;g1&&(i=q(e),a=e[e.length-1]),a=z(a),void 0===b&&(b=n()),!u[a])return;for(f=0;fg||g>h+j-e||i+e>f||f>i+k-e)&&(d=1),!!d},findPosition:function(a,b,c){for(var d={index:0,method:"before"},e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=a.length;mf||h&&j>=h||e&&gg?d.h=Math.round(d.w/g):d.w=Math.round(d.h*g)}return~e.indexOf("l")&&(d.l=c.w-d.w),~e.indexOf("t")&&(d.t=c.h-d.h),d}}}}),c("Utils/main",["require","./Sorter","./Resizer"],function(a){var b=function(){var b=a("./Sorter"),c=a("./Resizer");return{name:"Utils",init:function(){return this},Sorter:b,Resizer:c}};return b}),c("Utils",["Utils/main"],function(a){return a}),c("StorageManager/config/config",[],function(){return{id:"gjs-",autosave:1,autoload:1,type:"local",stepsBeforeSave:1,storeComponents:!1,storeStyles:!1,storeHtml:!0,storeCss:!0,checkLocal:!0,params:{},urlStore:"",urlLoad:"",beforeSend:function(a,b){},onComplete:function(a,b){}}}),c("StorageManager/model/LocalStorage",["backbone"],function(a){return a.Model.extend({defaults:{checkLocal:!0},store:function(a){this.checkStorageEnvironment();for(var b in a)localStorage.setItem(b,a[b])},load:function(a){this.checkStorageEnvironment();for(var b={},c=0,d=a.length;c/im,j=/]*>\s*([\s\S]+)\s*<\/body>/im,k="undefined"!=typeof location&&location.href,l=k&&location.protocol&&location.protocol.replace(/\:/,""),m=k&&location.hostname,n=k&&(location.port||void 0),o={},p=a.config&&a.config()||{};return c={version:"2.0.12",strip:function(a){if(a){a=a.replace(i,"");var b=a.match(j);b&&(a=b[1])}else a="";return a},jsEscape:function(a){return a.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")},createXhr:p.createXhr||function(){var a,b,c;if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"!=typeof ActiveXObject)for(b=0;b<3;b+=1){c=h[b];try{a=new ActiveXObject(c)}catch(d){}if(a){h=[c];break}}return a},parseName:function(a){var b,c,d,e=!1,f=a.indexOf("."),g=0===a.indexOf("./")||0===a.indexOf("../");return f!==-1&&(!g||f>1)?(b=a.substring(0,f),c=a.substring(f+1,a.length)):b=a,d=c||b,f=d.indexOf("!"),f!==-1&&(e="strip"===d.substring(f+1),d=d.substring(0,f),c?c=d:b=d),{moduleName:b,ext:c,strip:e}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(a,b,d,e){var f,g,h,i=c.xdRegExp.exec(a);return!i||(f=i[2],g=i[3],g=g.split(":"),h=g[1],g=g[0],!(f&&f!==b||g&&g.toLowerCase()!==d.toLowerCase()||(h||g)&&h!==e))},finishLoad:function(a,b,d,e){d=b?c.strip(d):d,p.isBuild&&(o[a]=d),e(d)},load:function(a,b,d,e){if(e&&e.isBuild&&!e.inlineText)return void d();p.isBuild=e&&e.isBuild;var f=c.parseName(a),g=f.moduleName+(f.ext?"."+f.ext:""),h=b.toUrl(g),i=p.useXhr||c.useXhr;return 0===h.indexOf("empty:")?void d():void(!k||i(h,l,m,n)?c.get(h,function(b){c.finishLoad(a,f.strip,b,d)},function(a){d.error&&d.error(a)}):b([g],function(a){c.finishLoad(f.moduleName+"."+f.ext,f.strip,a,d)}))},write:function(a,b,d,e){if(o.hasOwnProperty(b)){var f=c.jsEscape(o[b]);d.asModule(a+"!"+b,"define(function () { return '"+f+"';});\n")}},writeFile:function(a,b,d,e,f){var g=c.parseName(b),h=g.ext?"."+g.ext:"",i=g.moduleName+h,j=d.toUrl(g.moduleName+h)+".js";c.load(i,d,function(b){var d=function(a){return e(j,a)};d.asModule=function(a,b){return e.asModule(a,j,b)},c.write(a,i,d,f)},f)}},"node"===p.env||!p.env&&"undefined"!=typeof process&&process.versions&&process.versions.node&&!process.versions["node-webkit"]?(d=b.nodeRequire("fs"),c.get=function(a,b,c){try{var e=d.readFileSync(a,"utf8");0===e.indexOf("\ufeff")&&(e=e.substring(1)),b(e)}catch(f){c&&c(f)}}):"xhr"===p.env||!p.env&&c.createXhr()?c.get=function(a,b,d,e){var f,g=c.createXhr();if(g.open("GET",a,!0),e)for(f in e)e.hasOwnProperty(f)&&g.setRequestHeader(f.toLowerCase(),e[f]);p.onXhr&&p.onXhr(g,a),g.onreadystatechange=function(c){var e,f;4===g.readyState&&(e=g.status||0,e>399&&e<600?(f=new Error(a+" HTTP status: "+e),f.xhr=g,d&&d(f)):b(g.responseText),p.onXhrComplete&&p.onXhrComplete(g,a))},g.send(null)}:"rhino"===p.env||!p.env&&"undefined"!=typeof Packages&&"undefined"!=typeof java?c.get=function(a,b){var c,d,e="utf-8",f=new java.io.File(a),g=java.lang.System.getProperty("line.separator"),h=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(f),e)),i="";try{for(c=new java.lang.StringBuffer,d=h.readLine(),d&&d.length()&&65279===d.charAt(0)&&(d=d.substring(1)),null!==d&&c.append(d);null!==(d=h.readLine());)c.append(g),c.append(d);i=String(c.toString())}finally{h.close()}b(i)}:("xpconnect"===p.env||!p.env&&"undefined"!=typeof Components&&Components.classes&&Components.interfaces)&&(e=Components.classes,f=Components.interfaces,Components.utils["import"]("resource://gre/modules/FileUtils.jsm"),g="@mozilla.org/windows-registry-key;1"in e,c.get=function(a,b){var c,d,h,i={};g&&(a=a.replace(/\//g,"\\")),h=new FileUtils.File(a);try{c=e["@mozilla.org/network/file-input-stream;1"].createInstance(f.nsIFileInputStream),c.init(h,1,0,!1),d=e["@mozilla.org/intl/converter-input-stream;1"].createInstance(f.nsIConverterInputStream),d.init(c,"utf-8",c.available(),f.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER),d.readString(c.available(),i),d.close(),c.close(),b(i.value)}catch(j){throw new Error((h&&h.path||"")+": "+j)}}),c}),c("text!DeviceManager/template/devices.html",[],function(){return'
<%= deviceLabel %>
\n
\n \n \n \n
\n
\n
\n
\n'}),c("DeviceManager/view/DevicesView",["backbone","text!./../template/devices.html"],function(a,b){return a.View.extend({template:_.template(b),events:{change:"updateDevice"},initialize:function(a){this.config=a.config||{},this.em=this.config.em,this.ppfx=this.config.pStylePrefix||"",this.events["click ."+this.ppfx+"add-trasp"]=this.startAdd,this.listenTo(this.em,"change:device",this.updateSelect),this.delegateEvents()},startAdd:function(){},updateDevice:function(){var a=this.em;if(a){var b=this.devicesEl,c=b?b.val():"";a.set("device",c)}},updateSelect:function(){var a=this.em,b=this.devicesEl;if(a&&a.getDeviceModel&&b){var c=a.getDeviceModel(),d=c?c.get("name"):"";b.val(d)}},getOptions:function(){var a="";return this.collection.each(function(b){var c=b.get("name");a+='"}),a},render:function(){var a=this.ppfx;return this.$el.html(this.template({ppfx:a,deviceLabel:this.config.deviceLabel})),this.devicesEl=this.$el.find("."+a+"devices"),this.devicesEl.append(this.getOptions()),this.el.className=a+"devices-c",this}})}),c("DeviceManager/main",["require","./config/config","./model/Devices","./view/DevicesView"],function(a){return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Devices"),g=a("./view/DevicesView");return{name:"DeviceManager",init:function(a){d=a||{};for(var h in e)h in d||(d[h]=e[h]);return b=new f(d.devices),c=new g({collection:b,config:d}),this},add:function(a,c,d){var e=d||{};return e.name=a,e.width=c,b.add(e)},get:function(a){return b.get(a)},getAll:function(){return b},render:function(){return c.render().el}}}}),c("DeviceManager",["DeviceManager/main"],function(a){return a}),c("Parser/config/config",[],function(){return{textTags:["br","b","i","u"]}}),c("Parser/model/ParserCss",["require"],function(a){return function(a){return{parseSelector:function(a){for(var b=[],c=a.split(","),d=0,e=c.length;d\n
<%= label %>
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n\n
\n
\n \n \n
\n
\n
Selected
\n
\n
\n
\n'}),c("text!SelectorManager/template/classTag.html",[],function(){return'\n \n />\n \n'}),c("SelectorManager/view/ClassTagView",["backbone","text!./../template/classTag.html"],function(a,b){return a.View.extend({template:_.template(b),events:{},initialize:function(a){this.config=a.config||{},this.coll=a.coll||null,this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.inputProp="readonly",this.target=this.config.em,this.className=this.pfx+"tag",this.closeId=this.pfx+"close",this.chkId=this.pfx+"checkbox",this.labelId=this.pfx+"tag-label",this.events["click #"+this.closeId]="removeTag",this.events["click #"+this.chkId]="changeStatus",this.events["dblclick #"+this.labelId]="startEditTag",this.events["keypress #"+this.labelId+" input"]="updateInputLabel",this.events["blur #"+this.labelId+" input"]="endEditTag",this.listenTo(this.model,"change:active",this.updateStatus),this.delegateEvents()},startEditTag:function(){this.$labelInput.prop(this.inputProp,!1)},endEditTag:function(){var a=this.$labelInput.val(),b=this.model.escapeName(a);if(this.target){var c=this.target.get("SelectorManager");c&&(c.get(b)?this.$labelInput.val(this.model.get("label")):this.model.set({name:b,label:a}))}this.$labelInput.prop(this.inputProp,!0)},changeStatus:function(){this.model.set("active",!this.model.get("active")),this.target.trigger("targetClassUpdated")},removeTag:function(a){var b=this.target.get("selectedComponent");b&&b.get("classes").remove(this.model),this.coll&&(this.coll.remove(this.model),this.target.trigger("targetClassRemoved")),this.remove()},updateStatus:function(){this.$chk||(this.$chk=this.$el.find("#"+this.pfx+"checkbox")),this.model.get("active")?(this.$chk.removeClass("fa-circle-o").addClass("fa-dot-circle-o"),this.$el.removeClass("opac50")):(this.$chk.removeClass("fa-dot-circle-o").addClass("fa-circle-o"),this.$el.addClass("opac50"))},updateInputLabel:function(){this.$labelInput||(this.$labelInput=this.$el.find("input"));var a=this.$labelInput.val().length-1;a=a<1?1:a,this.$labelInput.attr("size",a)},render:function(){return this.$el.html(this.template({label:this.model.get("label"),pfx:this.pfx,ppfx:this.ppfx,inputProp:this.inputProp})),this.updateStatus(),this.$el.attr("class",this.className),this.updateInputLabel(),this}})}),c("SelectorManager/view/ClassTagsView",["backbone","text!./../template/classTags.html","./ClassTagView"],function(a,b,c){return a.View.extend({template:_.template(b),events:{},initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.className=this.pfx+"tags",this.addBtnId=this.pfx+"add-tag",this.newInputId=this.pfx+"new",this.stateInputId=this.pfx+"states",this.stateInputC=this.pfx+"input-c",this.states=this.config.states||[],this.events["click #"+this.addBtnId]="startNewTag",this.events["blur #"+this.newInputId]="endNewTag",this.events["keyup #"+this.newInputId]="onInputKeyUp",this.events["change #"+this.stateInputId]="stateChanged",this.target=this.config.em,this.listenTo(this.target,"change:selectedComponent",this.componentChanged),this.listenTo(this.target,"targetClassUpdated",this.updateSelector),this.listenTo(this.collection,"add",this.addNew),this.listenTo(this.collection,"reset",this.renderClasses),this.listenTo(this.collection,"remove",this.tagRemoved),this.delegateEvents()},tagRemoved:function(a){this.updateStateVis()},getStateOptions:function(){for(var a="",b=0;b'+this.states[b].label+"";return a},addNew:function(a){this.addToClasses(a)},startNewTag:function(a){this.$addBtn.hide(),this.$input.show().focus()},endNewTag:function(a){this.$addBtn.show(),this.$input.hide().val("")},onInputKeyUp:function(a){13===a.keyCode?this.addNewTag(this.$input.val()):27===a.keyCode&&this.endNewTag()},componentChanged:function(a){this.compTarget=this.target.get("selectedComponent"),this.compTarget&&this.getStates().val(this.compTarget.get("state"));var b=this.compTarget?this.compTarget.get("classes").models:[];this.collection.reset(b),this.updateStateVis()},updateStateVis:function(){this.collection.length?this.getStatesC().css("display","block"):this.getStatesC().css("display","none"),this.updateSelector()},updateSelector:function(){if(this.compTarget=this.target.get("selectedComponent"),this.compTarget&&this.compTarget.get){var a="",b=this.compTarget.get("classes");b.each(function(b){b.get("active")&&(a+="."+b.get("name"))});var c=this.compTarget.get("state");a=c?a+":"+c:a;var d=this.el.querySelector("#"+this.pfx+"sel");d&&(d.innerHTML=a)}},stateChanged:function(a){this.compTarget&&(this.compTarget.set("state",this.$states.val()),this.target&&this.target.trigger("targetStateUpdated"),this.updateSelector())},addNewTag:function(a){if(a){if(this.target){var b=this.target.get("SelectorManager"),c=b.add(a);if(this.compTarget){var d=this.compTarget.get("classes"),e=d.length;d.add(c);var f=d.length;this.collection.add(c),f>e&&this.target.trigger("targetClassAdded"),this.updateStateVis()}}this.endNewTag()}},addToClasses:function(a,b){var d=b||null,e=new c({model:a,config:this.config,coll:this.collection}),f=e.render().el;return d?d.appendChild(f):this.getClasses().append(f),f},renderClasses:function(){var a=document.createDocumentFragment();return this.collection.each(function(b){this.addToClasses(b,a)},this),this.getClasses()&&this.getClasses().empty().append(a),this},getClasses:function(){return this.$classes||(this.$classes=this.$el.find("#"+this.pfx+"tags-c")),this.$classes},getStates:function(){return this.$states||(this.$states=this.$el.find("#"+this.stateInputId)),this.$states},getStatesC:function(){return this.$statesC||(this.$statesC=this.$el.find("#"+this.stateInputC)),this.$statesC},render:function(){return this.$el.html(this.template({label:this.config.label,statesLabel:this.config.statesLabel,pfx:this.pfx,ppfx:this.ppfx})),this.$input=this.$el.find("input#"+this.newInputId),this.$addBtn=this.$el.find("#"+this.addBtnId),this.$classes=this.$el.find("#"+this.pfx+"tags-c"),this.$states=this.$el.find("#"+this.stateInputId),this.$statesC=this.$el.find("#"+this.stateInputC),this.$states.append(this.getStateOptions()),this.renderClasses(),this.$el.attr("class",this.className),this}})}),c("SelectorManager/main",["require","./config/config","./model/Selectors","./view/ClassTagsView"],function(a){return function(b){var c=b||{},d=a("./config/config");Selectors=a("./model/Selectors"),ClassTagsView=a("./view/ClassTagsView");var e,f;return{name:"SelectorManager",init:function(a){c=a||{};for(var b in d)b in c||(c[b]=d[b]);var g=c.pStylePrefix;return g&&(c.stylePrefix=g+c.stylePrefix),e=new Selectors(c.selectors),f=new ClassTagsView({collection:e,config:c}),this},add:function(a,b){var c=b||{};return c.name=a.name||a,e.add(c)},get:function(a){return e.where({name:a})[0]},getAll:function(){return e},render:function(a){if(a){var b=new ClassTagsView({collection:new Selectors(a),config:c});return b.render().el}return f.render().el}}}}),c("SelectorManager",["SelectorManager/main"],function(a){return a}),c("ModalDialog/config/config",[],function(){return{stylePrefix:"mdl-",title:"",content:"",backdrop:!0}}),c("ModalDialog/model/Modal",["backbone"],function(a){return a.Model.extend({defaults:{title:"",content:"",open:!1}})}),c("text!ModalDialog/template/modal.html",[],function(){return'
\n
\n
<%= title %>
\n
\n
\n
\n
<%= content %>
\n
\n
\n
\n
\n\n'}),c("ModalDialog/view/ModalView",["backbone","text!./../template/modal.html"],function(a,b){return a.View.extend({template:_.template(b),events:{},initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.listenTo(this.model,"change:open",this.updateOpen),this.listenTo(this.model,"change:title",this.updateTitle),this.listenTo(this.model,"change:content",this.updateContent), +this.events["click ."+this.pfx+"btn-close"]="hide",this.config.backdrop&&(this.events["click ."+this.pfx+"backlayer"]="hide"),this.delegateEvents()},getCollector:function(){return this.$collector||(this.$collector=this.$el.find("."+this.pfx+"collector")),this.$collector},getContent:function(){return this.$content||(this.$content=this.$el.find("."+this.pfx+"content #"+this.pfx+"c")),this.$content},getTitle:function(){return this.$title||(this.$title=this.$el.find("."+this.pfx+"title")),this.$title.get(0)},updateContent:function(){var a=this.getContent();this.getCollector().append(a.children()),a.html(this.model.get("content"))},updateTitle:function(){var a=this.getTitle();a&&(a.innerHTML=this.model.get("title"))},updateOpen:function(){this.model.get("open")?this.$el.show():this.$el.hide()},hide:function(){this.model.set("open",0)},show:function(){this.model.set("open",1)},render:function(){var a=this.model.toJSON();return a.pfx=this.pfx,this.$el.html(this.template(a)),this.$el.attr("class",this.pfx+"container"),this.updateOpen(),this}})}),c("ModalDialog/main",["require","./config/config","./model/Modal","./view/ModalView"],function(a){return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Modal"),g=a("./view/ModalView");return{name:"Modal",init:function(a){d=a||{};for(var h in e)h in d||(d[h]=e[h]);var i=d.pStylePrefix;return i&&(d.stylePrefix=i+d.stylePrefix),b=new f(d),c=new g({model:b,config:d}),d.em&&d.em.on("loaded",function(){this.render().appendTo(d.em.config.el||"body")},this),this},open:function(){return c.show(),this},close:function(){return c.hide(),this},isOpen:function(){return!!b.get("open")},setTitle:function(a){return b.set("title",a),this},getTitle:function(){return b.get("title")},setContent:function(a){return b.set("content"," "),b.set("content",a),this},getContent:function(){return b.get("content")},getContentEl:function(){return c.getContent().get(0)},getModel:function(){return b},render:function(){return c.render().$el}}}}),c("ModalDialog",["ModalDialog/main"],function(a){return a}),c("CodeManager/config/config",[],function(){return{stylePrefix:"cm-",inlineCss:!1}}),c("CodeManager/model/HtmlGenerator",["backbone"],function(a){return a.Model.extend({build:function(a,b){var c=a.get("components")||a,d="";return c.each(function(a){d+=a.toHTML({cssc:b})},this),d}})}),c("CodeManager/model/CssGenerator",["backbone"],function(a){return a.Model.extend({initialize:function(){this.compCls=[]},buildFromModel:function(a){var b="",c=a.get("style"),d=a.get("classes");if(d&&d.each(function(a){this.compCls.push(a.get("name"))},this),c&&0!==Object.keys(c).length){b+="#"+a.cid+"{";for(var e in c)c.hasOwnProperty(e)&&(b+=e+":"+c[e]+";");b+="}"}return b},buildFromComp:function(a){var b=a.get("components")||a,c="";return b.each(function(a){var b=a.get("components");c+=this.buildFromModel(a),b.length&&(c+=this.buildFromComp(b))},this),c},build:function(a,b){this.compCls=[];var c=this.buildFromModel(a);c+=this.buildFromComp(a);this.compCls;if(b){var d=b.getAll(),e={};d.each(function(a){var b=a.get("maxWidth");if(b){var d=e[b];return void(d?d.push(a):e[b]=[a])}c+=this.buildFromRule(a)},this);for(var f in e){for(var g=e[f],h="",i=0,j=g.length;i-1&&(g=1)}),f&&g){f+=e?":"+e:"";var i="";if(d&&0!==Object.keys(d).length)for(var j in d)d.hasOwnProperty(j)&&(i+=j+":"+d[j]+";");i&&(b+=f+"{"+i+"}")}return b}})}),c("CodeManager/model/JsonGenerator",["backbone"],function(a){return a.Model.extend({build:function(b){var c=b.toJSON();return this.beforeEach(c),_.each(c,function(b,d){var e=c[d];if(e instanceof a.Model)c[d]=this.build(e);else if(e instanceof a.Collection){var f=e;c[d]=[],f.length&&f.each(function(a,b){c[d][b]=this.build(a)},this)}},this),c},beforeEach:function(a){delete a.status}})}),function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof c&&c.amd?c("codemirror/lib/codemirror",b):a.CodeMirror=b()}(this,function(){"use strict";function a(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function b(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild);return a}function c(a,c){return b(a).appendChild(c)}function d(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}}function l(){this.id=null}function m(a,b){for(var c=0;c=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}}function o(a){for(;Hg.length<=a;)Hg.push(p(Hg)+" ");return Hg[a]}function p(a){return a[a.length-1]}function q(a,b){for(var c=[],d=0;d"€"&&(a.toUpperCase()!=a.toLowerCase()||Ig.test(a))}function v(a,b){return b?!!(b.source.indexOf("\\w")>-1&&u(a))||b.test(a):u(a)}function w(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function x(a){return a.charCodeAt(0)>=768&&Jg.test(a)}function y(a,b,c){var e=this;this.input=c,e.scrollbarFiller=d("div",null,"CodeMirror-scrollbar-filler"),e.scrollbarFiller.setAttribute("cm-not-content","true"),e.gutterFiller=d("div",null,"CodeMirror-gutter-filler"),e.gutterFiller.setAttribute("cm-not-content","true"),e.lineDiv=d("div",null,"CodeMirror-code"),e.selectionDiv=d("div",null,null,"position: relative; z-index: 1"),e.cursorDiv=d("div",null,"CodeMirror-cursors"),e.measure=d("div",null,"CodeMirror-measure"),e.lineMeasure=d("div",null,"CodeMirror-measure"),e.lineSpace=d("div",[e.measure,e.lineMeasure,e.selectionDiv,e.cursorDiv,e.lineDiv],null,"position: relative; outline: none"),e.mover=d("div",[d("div",[e.lineSpace],"CodeMirror-lines")],null,"position: relative"),e.sizer=d("div",[e.mover],"CodeMirror-sizer"),e.sizerWidth=null,e.heightForcer=d("div",null,null,"position: absolute; height: "+Cg+"px; width: 1px;"),e.gutters=d("div",null,"CodeMirror-gutters"),e.lineGutter=null,e.scroller=d("div",[e.sizer,e.heightForcer,e.gutters],"CodeMirror-scroll"),e.scroller.setAttribute("tabIndex","-1"),e.wrapper=d("div",[e.scrollbarFiller,e.gutterFiller,e.scroller],"CodeMirror"),gg&&hg<8&&(e.gutters.style.zIndex=-1,e.scroller.style.paddingRight=0),ig||dg&&qg||(e.scroller.draggable=!0),a&&(a.appendChild?a.appendChild(e.wrapper):a(e.wrapper)),e.viewFrom=e.viewTo=b.first,e.reportedViewFrom=e.reportedViewTo=b.first,e.view=[],e.renderedView=null,e.externalMeasured=null,e.viewOffset=0,e.lastWrapHeight=e.lastWrapWidth=0,e.updateLineNumbers=null,e.nativeBarWidth=e.barHeight=e.barWidth=0,e.scrollbarsClipped=!1,e.lineNumWidth=e.lineNumInnerWidth=e.lineNumChars=null,e.alignWidgets=!1,e.cachedCharWidth=e.cachedTextHeight=e.cachedPaddingH=null,e.maxLine=null,e.maxLineLength=0,e.maxLineChanged=!1,e.wheelDX=e.wheelDY=e.wheelStartX=e.wheelStartY=null,e.shift=!1,e.selForContextMenu=null,e.activeTouch=null,c.init(e)}function z(a,b){if(b-=a.first,b<0||b>=a.size)throw new Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b=a.first&&bc?H(c,z(a,c).text.length):O(b,z(a,b.line).text.length)}function O(a,b){var c=a.ch;return null==c||c>b?H(a.line,b):c<0?H(a.line,0):a}function P(a,b){for(var c=[],d=0;d=b:f.to>b);(d||(d=[])).push(new S(g,f.from,i?null:f.to))}}return d}function X(a,b,c){var d;if(a)for(var e=0;e=b:f.to>b);if(h||f.from==b&&"bookmark"==g.type&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from0&&h)for(var v=0;v0)){var k=[i,1],l=I(j.from,h.from),n=I(j.to,h.to);(l<0||!g.inclusiveLeft&&!l)&&k.push({from:j.from,to:h.from}),(n>0||!g.inclusiveRight&&!n)&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-1}}return e}function _(a){var b=a.markedSpans;if(b){for(var c=0;c=0&&l<=0||k<=0&&l>=0)&&(k<=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?I(j.to,c)>=0:I(j.to,c)>0)||k>=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?I(j.from,d)<=0:I(j.from,d)<0)))return!0}}}function ia(a){for(var b;b=fa(a);)a=b.find(-1,!0).line;return a}function ja(a){for(var b,c;b=ga(a);)a=b.find(1,!0).line,(c||(c=[])).push(a);return c}function ka(a,b){var c=z(a,b),d=ia(c);return c==d?b:D(d)}function la(a,b){if(b>a.lastLine())return b;var c,d=z(a,b);if(!ma(a,d))return b;for(;c=ga(d);)d=c.find(1,!0).line;return D(d)+1}function ma(a,b){var c=Lg&&b.markedSpans;if(c)for(var d=void 0,e=0;eb.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)})}function ra(a,b,c,d){if(!a)return d(b,c,"ltr");for(var e=!1,f=0;fb||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0)}e||d(b,c,"ltr")}function sa(a){return a.level%2?a.to:a.from}function ta(a){return a.level%2?a.from:a.to}function ua(a){var b=Ba(a);return b?sa(b[0]):0}function va(a){var b=Ba(a);return b?ta(p(b)):a.text.length}function wa(a,b,c){var d=a[0].level;return b==d||c!=d&&bb)return d;if(e.from==b||e.to==b){if(null!=c)return wa(a,e.level,a[c].level)?(e.from!=e.to&&(Mg=c),d):(e.from!=e.to&&(Mg=d),c);c=d}}return c}function ya(a,b,c,d){if(!d)return b+c;do b+=c;while(b>0&&x(a.text.charAt(b)));return b}function za(a,b,c,d){var e=Ba(a);if(!e)return Aa(a,b,c,d);for(var f=xa(e,b),g=e[f],h=ya(a,b,g.level%2?-c:c,d);;){if(h>g.from&&h0==g.level%2?g.to:g.from);if(g=e[f+=c],!g)return null;h=c>0==g.level%2?ya(a,g.to,-1,d):ya(a,g.from,1,d)}}function Aa(a,b,c,d){var e=b+c;if(d)for(;e>0&&x(a.text.charAt(e));)e+=c;return e<0||e>a.text.length?null:e}function Ba(a){var b=a.order;return null==b&&(b=a.order=Ng(a.text)),b}function Ca(a,b){return a._handlers&&a._handlers[b]||Og}function Da(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=a._handlers,e=d&&d[b];if(e){var f=m(e,c);f>-1&&(d[b]=e.slice(0,f).concat(e.slice(f+1)))}}}function Ea(a,b){var c=Ca(a,b);if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e0}function Ia(a){a.prototype.on=function(a,b){Pg(this,a,b)},a.prototype.off=function(a,b){Da(this,a,b)}}function Ja(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Ka(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function La(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Ma(a){Ja(a),Ka(a)}function Na(a){return a.target||a.srcElement}function Oa(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),rg&&a.ctrlKey&&1==b&&(b=3),b}function Pa(a){if(null==Ag){var b=d("span","​");c(a,d("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(Ag=b.offsetWidth<=1&&b.offsetHeight>2&&!(gg&&hg<8))}var e=Ag?d("span","​"):d("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return e.setAttribute("cm-text",""),e}function Qa(a){if(null!=Bg)return Bg;var d=c(a,document.createTextNode("AخA")),e=vg(d,0,1).getBoundingClientRect(),f=vg(d,1,2).getBoundingClientRect();return b(a),!(!e||e.left==e.right)&&(Bg=f.right-e.right<3)}function Ra(a){if(null!=Ug)return Ug;var b=c(a,d("span","x")),e=b.getBoundingClientRect(),f=vg(b,0,1).getBoundingClientRect();return Ug=Math.abs(e.left-f.left)>1}function Sa(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),Vg[a]=b}function Ta(a,b){Wg[a]=b}function Ua(a){if("string"==typeof a&&Wg.hasOwnProperty(a))a=Wg[a];else if(a&&"string"==typeof a.name&&Wg.hasOwnProperty(a.name)){var b=Wg[a.name];"string"==typeof b&&(b={name:b}),a=t(b,a),a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return Ua("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return Ua("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Va(a,b){b=Ua(b);var c=Vg[b.name];if(!c)return Va(a,"text/plain");var d=c(a,b);if(Xg.hasOwnProperty(b.name)){var e=Xg[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var g in b.modeProps)d[g]=b.modeProps[g];return d}function Wa(a,b){var c=Xg.hasOwnProperty(a)?Xg[a]:Xg[a]={};j(b,c)}function Xa(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function Ya(a,b){for(var c;a.innerMode&&(c=a.innerMode(b),c&&c.mode!=a);)b=c.state,a=c.mode;return c||{mode:a,state:b}}function Za(a,b,c){return!a.startState||a.startState(b,c)}function $a(a,b,c,d){var e=[a.state.modeGen],f={};gb(a,b.text,a.doc.mode,c,function(a,b){return e.push(a,b)},f,d);for(var g=function(c){var d=a.state.overlays[c],g=1,h=0;gb(a,b.text,d.mode,!0,function(a,b){for(var c=g;ha&&e.splice(g,1,a,e[g+1],f),g+=2,h=Math.min(a,f)}if(b)if(d.opaque)e.splice(c,g-c,a,"overlay "+b),g=c+2;else for(;ca.options.maxHighlightLength?Xa(a.doc.mode,d):d);b.stateAfter=d,b.styles=e.styles,e.classes?b.styleClasses=e.classes:b.styleClasses&&(b.styleClasses=null),c===a.doc.frontier&&a.doc.frontier++}return b.styles}function ab(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=hb(a,b,c),g=f>d.first&&z(d,f-1).stateAfter;return g=g?Xa(d.mode,g):Za(d.mode),d.iter(f,b,function(c){bb(a,c.text,g);var h=f==b-1||f%5==0||f>=e.viewFrom&&fb.start)return f}throw new Error("Mode "+a.name+" failed to advance stream.")}function eb(a,b,c,d){var e,f=function(a){return{start:l.start,end:l.pos,string:l.current(),type:e||null,state:a?Xa(g.mode,k):k}},g=a.doc,h=g.mode;b=N(g,b);var i,j=z(g,b.line),k=ab(a,b.line,c),l=new Yg(j.text,a.options.tabSize);for(d&&(i=[]);(d||l.posa.options.maxHighlightLength?(h=!1,g&&bb(a,b,d,l.pos),l.pos=b.length,i=null):i=fb(db(c,l,d,m),f),m){var n=m[0].name;n&&(i="m-"+(i?n+" "+i:n))}if(!h||k!=i){for(;jg;--h){if(h<=f.first)return f.first;var i=z(f,h-1);if(i.stateAfter&&(!c||h<=f.frontier))return h;var j=k(i.text,null,a.options.tabSize);(null==e||d>j)&&(e=h-1,d=j)}return e}function ib(a,b,c){this.text=a,aa(this,b),this.height=c?c(this):1}function jb(a,b,c,d){a.text=b,a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null),null!=a.order&&(a.order=null),_(a),aa(a,c);var e=d?d(a):1;e!=a.height&&C(a,e)}function kb(a){a.parent=null,_(a)}function lb(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?_g:$g;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$&"))}function mb(a,b){var c=d("span",null,null,ig?"padding-right: .1px":null),e={pre:d("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(gg||ig)&&a.getOption("lineWrapping")};b.measure={};for(var f=0;f<=(b.rest?b.rest.length:0);f++){var g=f?b.rest[f-1]:b.line,i=void 0;e.pos=0,e.addToken=ob,Qa(a.display.measure)&&(i=Ba(g))&&(e.addToken=qb(e.addToken,i)),e.map=[];var j=b!=a.display.externalMeasured&&D(g);sb(g,e,_a(a,g,j)),g.styleClasses&&(g.styleClasses.bgClass&&(e.bgClass=h(g.styleClasses.bgClass,e.bgClass||"")),g.styleClasses.textClass&&(e.textClass=h(g.styleClasses.textClass,e.textClass||""))),0==e.map.length&&e.map.push(0,0,e.content.appendChild(Pa(a.display.measure))),0==f?(b.measure.map=e.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(e.map),(b.measure.caches||(b.measure.caches=[])).push({}))}if(ig){var k=e.content.lastChild;(/\bcm-tab\b/.test(k.className)||k.querySelector&&k.querySelector(".cm-tab"))&&(e.content.className="cm-tab-wrap-hack")}return Ea(a,"renderLine",a,b.line,e.pre),e.pre.className&&(e.textClass=h(e.pre.className,e.textClass||"")),e}function nb(a){var b=d("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b.setAttribute("aria-label",b.title),b}function ob(a,b,c,e,f,g,h){if(b){var i,j=a.splitSpaces?pb(b,a.trailingSpace):b,k=a.cm.state.specialChars,l=!1;if(k.test(b)){i=document.createDocumentFragment();for(var m=0;;){k.lastIndex=m;var n=k.exec(b),p=n?n.index-m:b.length-m;if(p){var q=document.createTextNode(j.slice(m,m+p));gg&&hg<9?i.appendChild(d("span",[q])):i.appendChild(q),a.map.push(a.pos,a.pos+p,q),a.col+=p,a.pos+=p}if(!n)break;m+=p+1;var r=void 0;if("\t"==n[0]){var s=a.cm.options.tabSize,t=s-a.col%s;r=i.appendChild(d("span",o(t),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text","\t"),a.col+=t}else"\r"==n[0]||"\n"==n[0]?(r=i.appendChild(d("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0]),a.col+=1):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),gg&&hg<9?i.appendChild(d("span",[r])):i.appendChild(r),a.col+=1);a.map.push(a.pos,a.pos+1,r),a.pos++}}else a.col+=b.length,i=document.createTextNode(j),a.map.push(a.pos,a.pos+b.length,i),gg&&hg<9&&(l=!0),a.pos+=b.length;if(a.trailingSpace=32==j.charCodeAt(b.length-1),c||e||f||l||h){var u=c||"";e&&(u+=e),f&&(u+=f);var v=d("span",[i],u,h);return g&&(v.title=g),a.content.appendChild(v)}a.content.appendChild(i)}}function pb(a,b){if(a.length>1&&!/ /.test(a))return a;for(var c=b,d="",e=0;ej&&l.from<=j));m++);if(l.to>=k)return a(c,d,e,f,g,h,i);a(c,d.slice(0,l.to-j),e,f,null,h,i),f=null,d=d.slice(l.to-j),j=l.to}}}function rb(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e),!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id)),e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e)),a.pos+=b,a.trailingSpace=!1}function sb(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var g,h,i,j,k,l,m,n=e.length,o=0,p=1,q="",r=0;;){if(r==o){i=j=k=l=h="",m=null,r=1/0;for(var s=[],t=void 0,u=0;uo||w.collapsed&&v.to==o&&v.from==o)?(null!=v.to&&v.to!=o&&r>v.to&&(r=v.to,j=""),w.className&&(i+=" "+w.className),w.css&&(h=(h?h+";":"")+w.css),w.startStyle&&v.from==o&&(k+=" "+w.startStyle),w.endStyle&&v.to==r&&(t||(t=[])).push(w.endStyle,v.to),w.title&&!l&&(l=w.title),w.collapsed&&(!m||da(m.marker,w)<0)&&(m=v)):v.from>o&&r>v.from&&(r=v.from)}if(t)for(var x=0;x=n)break;for(var z=Math.min(n,r);;){if(q){var A=o+q.length;if(!m){var B=A>z?q.slice(0,z-o):q;b.addToken(b,B,g?g+i:i,k,o+B.length==r?j:"",l,h)}if(A>=z){q=q.slice(z-o),o=z;break}o=A,k=""}q=e.slice(f,f=c[p++]),g=lb(c[p++],b.cm.options)}}else for(var C=1;C2&&f.push((i.bottom+j.top)/2-c.top)}}f.push(c.bottom-c.top)}}function Vb(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;dc)return{map:a.measure.maps[e],cache:a.measure.caches[e],before:!0}}function Wb(a,b){b=ia(b);var d=D(b),e=a.display.externalMeasured=new tb(a.doc,b,d);e.lineN=d;var f=e.built=mb(a,e);return e.text=f.pre,c(a.display.lineMeasure,f.pre),e}function Xb(a,b,c,d){return $b(a,Zb(a,b),c,d)}function Yb(a,b){if(b>=a.display.viewFrom&&b=c.lineN&&bb)&&(f=i-h,e=f-1,b>=i&&(g="right")),null!=e){if(d=a[j+2],h==i&&c==(d.insertLeft?"left":"right")&&(g=c),"left"==c&&0==e)for(;j&&a[j-2]==a[j-3]&&a[j-1].insertLeft;)d=a[(j-=3)+2],g="left";if("right"==c&&e==i-h)for(;j=0&&(c=a[e]).left==c.right;e--);return c}function bc(a,b,c,d){var e,f=_b(b.map,c,d),g=f.node,h=f.start,i=f.end,j=f.collapse;if(3==g.nodeType){for(var k=0;k<4;k++){for(;h&&x(b.line.text.charAt(f.coverStart+h));)--h;for(;f.coverStart+i0&&(j=d="right");var l;e=a.options.lineWrapping&&(l=g.getClientRects()).length>1?l["right"==d?l.length-1:0]:g.getBoundingClientRect()}if(gg&&hg<9&&!h&&(!e||!e.left&&!e.right)){var m=g.parentNode.getClientRects()[0];e=m?{left:m.left,right:m.left+rc(a.display),top:m.top,bottom:m.bottom}:ch}for(var n=e.top-b.rect.top,o=e.bottom-b.rect.top,p=(n+o)/2,q=b.view.measure.heights,r=0;rc.from?g(a-1):g(a,d)}d=d||z(a.doc,b.line),e||(e=Zb(a,d));var i=Ba(d),j=b.ch;if(!i)return g(j);var k=xa(i,j),l=h(j,k);return null!=Mg&&(l.other=h(j,Mg)),l}function mc(a,b){var c=0;b=N(a.doc,b),a.options.lineWrapping||(c=rc(a.display)*b.ch);var d=z(a.doc,b.line),e=oa(d)+Ob(a.display);return{left:c,right:c,top:e,bottom:e+d.height}}function nc(a,b,c,d){var e=H(a,b);return e.xRel=d,c&&(e.outside=!0),e}function oc(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,c<0)return nc(d.first,0,!0,-1);var e=E(d,c),f=d.first+d.size-1;if(e>f)return nc(d.first+d.size-1,z(d,f).text.length,!0,1);b<0&&(b=0);for(var g=z(d,e);;){var h=pc(a,g,e,b,c),i=ga(g),j=i&&i.find(0,!0);if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=D(g=j.to.line)}}function pc(a,b,c,d,e){function f(d){var e=lc(a,H(c,d),"line",b,j);return h=!0,g>e.bottom?e.left-i:gq)return nc(c,n,r,1);for(;;){if(k?n==m||n==za(b,m,1):n-m<=1){var s=d0&&s1){var v=$b(a,j,s,"right");g<=v.bottom&&g>=v.top&&Math.abs(d-v.right)1?1:0);return w}var y=Math.ceil(l/2),z=m+y;if(k){z=m;for(var A=0;Ad?(n=z,q=B,(r=h)&&(q+=1e3),l=y):(m=z,o=B,p=h,l-=y)}}function qc(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==Zg){Zg=d("pre");for(var e=0;e<49;++e)Zg.appendChild(document.createTextNode("x")),Zg.appendChild(d("br"));Zg.appendChild(document.createTextNode("x"))}c(a.measure,Zg);var f=Zg.offsetHeight/50;return f>3&&(a.cachedTextHeight=f),b(a.measure),f||1}function rc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=d("span","xxxxxxxxxx"),e=d("pre",[b]);c(a.measure,e);var f=b.getBoundingClientRect(),g=(f.right-f.left)/10;return g>2&&(a.cachedCharWidth=g),g||10}function sc(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,f=b.gutters.firstChild,g=0;f;f=f.nextSibling,++g)c[a.options.gutters[g]]=f.offsetLeft+f.clientLeft+e,d[a.options.gutters[g]]=f.clientWidth;return{fixedPos:tc(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function tc(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function uc(a){var b=qc(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/rc(a.display)-3);return function(e){if(ma(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g=a.display.viewTo)return null;if(b-=a.display.viewFrom,b<0)return null;for(var c=a.display.view,d=0;d=a.display.viewTo||h.to().line3&&(e(n,p.top,null,p.bottom),n=k,p.bottomi.bottom||j.bottom==i.bottom&&j.right>i.right)&&(i=j),n0?b.blinker=setInterval(function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate):a.options.cursorBlinkRate<0&&(b.cursorDiv.style.visibility="hidden")}}function Dc(a){a.state.focused||(a.display.input.focus(),Fc(a))}function Ec(a){a.state.delayingBlurEvent=!0,setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Gc(a))},100)}function Fc(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1),"nocursor"!=a.options.readOnly&&(a.state.focused||(Ea(a,"focus",a,b),a.state.focused=!0,g(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),ig&&setTimeout(function(){return a.display.input.reset(!0)},20)),a.display.input.receivedFocus()),Cc(a))}function Gc(a,b){a.state.delayingBlurEvent||(a.state.focused&&(Ea(a,"blur",a,b),a.state.focused=!1,yg(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function Hc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=tc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g.001||i<-.001)&&(C(e.line,f),Kc(e.line),e.rest))for(var j=0;j=g&&(f=E(b,oa(z(b,i))-a.wrapper.clientHeight),g=i)}return{from:f,to:Math.max(g,f+1)}}function Mc(a,b){Math.abs(a.doc.scrollTop-b)<2||(a.doc.scrollTop=b,dg||Ad(a,{top:b}),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b),a.display.scrollbars.setScrollTop(b),dg&&Ad(a),ud(a,100))}function Nc(a,b,c){(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2)||(b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),a.doc.scrollLeft=b,Hc(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function Oc(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}}function Pc(a){var b=Oc(a);return b.x*=eh,b.y*=eh,b}function Qc(a,b){var c=Oc(b),d=c.x,e=c.y,f=a.display,g=f.scroller,h=g.scrollWidth>g.clientWidth,i=g.scrollHeight>g.clientHeight;if(d&&h||e&&i){if(e&&rg&&ig)a:for(var j=b.target,k=f.view;j!=g;j=j.parentNode)for(var l=0;l(window.innerHeight||document.documentElement.clientHeight)&&(f=!1),null!=f&&!og){var g=d("div","​",null,"position: absolute;\n top: "+(b.top-c.viewOffset-Ob(a.display))+"px;\n height: "+(b.bottom-b.top+Rb(a)+c.barHeight)+"px;\n left: "+b.left+"px; width: 2px;");a.display.lineSpace.appendChild(g),g.scrollIntoView(f),a.display.lineSpace.removeChild(g)}}}function Yc(a,b,c,d){null==d&&(d=0);for(var e,f=0;f<5;f++){var g=!1;e=lc(a,b);var h=c&&c!=b?lc(a,c):e,i=$c(a,Math.min(e.left,h.left),Math.min(e.top,h.top)-d,Math.max(e.left,h.left),Math.max(e.bottom,h.bottom)+d),j=a.doc.scrollTop,k=a.doc.scrollLeft;if(null!=i.scrollTop&&(Mc(a,i.scrollTop),Math.abs(a.doc.scrollTop-j)>1&&(g=!0)),null!=i.scrollLeft&&(Nc(a,i.scrollLeft),Math.abs(a.doc.scrollLeft-k)>1&&(g=!0)),!g)break}return e}function Zc(a,b,c,d,e){var f=$c(a,b,c,d,e);null!=f.scrollTop&&Mc(a,f.scrollTop),null!=f.scrollLeft&&Nc(a,f.scrollLeft)}function $c(a,b,c,d,e){var f=a.display,g=qc(a.display);c<0&&(c=0);var h=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:f.scroller.scrollTop,i=Tb(a),j={};e-c>i&&(e=c+i);var k=a.doc.height+Pb(f),l=ck-g;if(ch+i){var n=Math.min(c,(m?k:e)-i);n!=h&&(j.scrollTop=n)}var o=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:f.scroller.scrollLeft,p=Sb(a)-(a.options.fixedGutter?f.gutters.offsetWidth:0),q=d-b>p;return q&&(d=b+p),b<10?j.scrollLeft=0:bp+o-3&&(j.scrollLeft=d+(q?0:10)-p),j}function _c(a,b,c){null==b&&null==c||bd(a),null!=b&&(a.curOp.scrollLeft=(null==a.curOp.scrollLeft?a.doc.scrollLeft:a.curOp.scrollLeft)+b),null!=c&&(a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+c)}function ad(a){bd(a);var b=a.getCursor(),c=b,d=b;a.options.lineWrapping||(c=b.ch?H(b.line,b.ch-1):b,d=H(b.line,b.ch+1)),a.curOp.scrollToPos={from:c,to:d,margin:a.options.cursorScrollMargin,isCursor:!0}}function bd(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=mc(a,b.from),d=mc(a,b.to),e=$c(a,Math.min(c.left,d.left),Math.min(c.top,d.top)-b.margin,Math.max(c.right,d.right),Math.max(c.bottom,d.bottom)+b.margin);a.scrollTo(e.scrollLeft,e.scrollTop)}}function cd(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++gh},vb(a.curOp)}function dd(a){var b=a.curOp;xb(b,function(a){for(var b=0;b=c.viewTo)||c.maxLineChanged&&b.options.lineWrapping,a.update=a.mustUpdate&&new wd(b,a.mustUpdate&&{top:a.scrollTop,ensure:a.scrollToPos},a.forceUpdate)}function gd(a){a.updatedDisplay=a.mustUpdate&&yd(a.cm,a.update)}function hd(a){var b=a.cm,c=b.display;a.updatedDisplay&&Jc(b),a.barMeasure=Rc(b),c.maxLineChanged&&!b.options.lineWrapping&&(a.adjustWidthTo=Xb(b,c.maxLine,c.maxLine.text.length).left+3,b.display.sizerWidth=a.adjustWidthTo,a.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+a.adjustWidthTo+Rb(b)+b.display.barWidth),a.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+a.adjustWidthTo-Sb(b))),(a.updatedDisplay||a.selectionChanged)&&(a.preparedSelection=c.input.prepareSelection(a.focus))}function id(a){var b=a.cm;null!=a.adjustWidthTo&&(b.display.sizer.style.minWidth=a.adjustWidthTo+"px",a.maxScrollLeftb)&&(e.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=e.viewTo)Lg&&ka(a.doc,b)e.viewFrom?qd(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)qd(a);else if(b<=e.viewFrom){var f=rd(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):qd(a)}else if(c>=e.viewTo){var g=rd(a,b,b,-1);g?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):qd(a)}else{var h=rd(a,b,b,-1),i=rd(a,c,c+d,1);h&&i?(e.view=e.view.slice(0,h.index).concat(ub(a,h.lineN,i.lineN)).concat(e.view.slice(i.index)),e.viewTo+=d):qd(a)}var j=e.externalMeasured;j&&(c=e.lineN&&b=d.viewTo)){var f=d.view[xc(a,b)];if(null!=f.node){var g=f.changes||(f.changes=[]);m(g,c)==-1&&g.push(c)}}}function qd(a){a.display.viewFrom=a.display.viewTo=a.doc.first,a.display.view=[],a.display.viewOffset=0}function rd(a,b,c,d){var e,f=xc(a,b),g=a.display.view;if(!Lg||c==a.doc.first+a.doc.size)return{index:f,lineN:c};for(var h=a.display.viewFrom,i=0;i0){if(f==g.length-1)return null;e=h+g[f].size-b,f++}else e=h-b;b+=e,c+=e}for(;ka(a.doc,c)!=c;){if(f==(d<0?0:g.length-1))return null;c+=d*g[f-(d<0?1:0)].size,f+=d}return{index:f,lineN:c}}function sd(a,b,c){var d=a.display,e=d.view;0==e.length||b>=d.viewTo||c<=d.viewFrom?(d.view=ub(a,b,c),d.viewFrom=b):(d.viewFrom>b?d.view=ub(a,b,d.viewFrom).concat(d.view):d.viewFromc&&(d.view=d.view.slice(0,xc(a,c)))),d.viewTo=c}function td(a){for(var b=a.display.view,c=0,d=0;d=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Xa(b.mode,ab(a,b.frontier)),e=[];b.iter(b.frontier,Math.min(b.first+b.size,a.display.viewTo+500),function(f){if(b.frontier>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength,i=$a(a,f,h?Xa(b.mode,d):d,!0);f.styles=i.styles;var j=f.styleClasses,k=i.classes;k?f.styleClasses=k:j&&(f.styleClasses=null);for(var l=!g||g.length!=f.styles.length||j!=k&&(!j||!k||j.bgClass!=k.bgClass||j.textClass!=k.textClass),m=0;!l&&mc)return ud(a,a.options.workDelay),!0}),e.length&&kd(a,function(){for(var b=0;b=d.viewFrom&&c.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==td(a))return!1;Ic(a)&&(qd(a),c.dims=sc(a));var g=e.first+e.size,h=Math.max(c.visible.from-a.options.viewportMargin,e.first),i=Math.min(g,c.visible.to+a.options.viewportMargin);d.viewFromi&&d.viewTo-i<20&&(i=Math.min(g,d.viewTo)),Lg&&(h=ka(a.doc,h),i=la(a.doc,i));var j=h!=d.viewFrom||i!=d.viewTo||d.lastWrapHeight!=c.wrapperHeight||d.lastWrapWidth!=c.wrapperWidth;sd(a,h,i),d.viewOffset=oa(z(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px";var k=td(a);if(!j&&0==k&&!c.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo))return!1;var l=f();return k>4&&(d.lineDiv.style.display="none"),Bd(a,d.updateLineNumbers,c.dims),k>4&&(d.lineDiv.style.display=""),d.renderedView=d.view,l&&f()!=l&&l.offsetHeight&&l.focus(),b(d.cursorDiv),b(d.selectionDiv),d.gutters.style.height=d.sizer.style.minHeight=0,j&&(d.lastWrapHeight=c.wrapperHeight,d.lastWrapWidth=c.wrapperWidth,ud(a,400)),d.updateLineNumbers=null,!0}function zd(a,b){for(var c=b.viewport,d=!0;(d&&a.options.lineWrapping&&b.oldDisplayWidth!=Sb(a)||(c&&null!=c.top&&(c={top:Math.min(a.doc.height+Pb(a.display)-Tb(a),c.top)}),b.visible=Lc(a.display,a.doc,c),!(b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)))&&yd(a,b);d=!1){Jc(a);var e=Rc(a);yc(a),Uc(a,e),Dd(a,e)}b.signal(a,"update",a),a.display.viewFrom==a.display.reportedViewFrom&&a.display.viewTo==a.display.reportedViewTo||(b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo)}function Ad(a,b){var c=new wd(a,b);if(yd(a,c)){Jc(a),zd(a,c);var d=Rc(a);yc(a),Uc(a,d),Dd(a,d),c.finish()}}function Bd(a,c,d){function e(b){var c=b.nextSibling;return ig&&rg&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b),c}for(var f=a.display,g=a.options.lineNumbers,h=f.lineDiv,i=h.firstChild,j=f.view,k=f.viewFrom,l=0;l-1&&(o=!1),Ab(a,n,k,d)),o&&(b(n.lineNumber),n.lineNumber.appendChild(document.createTextNode(G(a.options,k)))), +i=n.node.nextSibling}else{var p=Ib(a,n,k,d);h.insertBefore(p,i)}k+=n.size}for(;i;)i=e(i)}function Cd(a){var b=a.display.gutters.offsetWidth;a.display.sizer.style.marginLeft=b+"px"}function Dd(a,b){a.display.sizer.style.minHeight=b.docHeight+"px",a.display.heightForcer.style.top=b.docHeight+"px",a.display.gutters.style.height=b.docHeight+a.display.barHeight+Rb(a)+"px"}function Ed(a){var c=a.display.gutters,e=a.options.gutters;b(c);for(var f=0;f-1&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Gd(a,b){this.ranges=a,this.primIndex=b}function Hd(a,b){this.anchor=a,this.head=b}function Id(a,b){var c=a[b];a.sort(function(a,b){return I(a.from(),b.from())}),b=m(a,c);for(var d=1;d=0){var g=L(f.from(),e.from()),h=K(f.to(),e.to()),i=f.empty()?e.from()==e.head:f.from()==f.head;d<=b&&--b,a.splice(--d,2,new Hd(i?h:g,i?g:h))}}return new Gd(a,b)}function Jd(a,b){return new Gd([new Hd(a,b||a)],0)}function Kd(a){return a.text?H(a.from.line+a.text.length-1,p(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Ld(a,b){if(I(a,b.from)<0)return a;if(I(a,b.to)<=0)return Kd(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=Kd(b).ch-b.to.ch),H(c,d)}function Md(a,b){for(var c=[],d=0;d1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}yb(a,"change",a,b)}function Td(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function Zd(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=Yd(e,e.lastOp==d)))g=p(f.changes),0==I(b.from,b.to)&&0==I(b.from,g.to)?g.to=Kd(b):f.changes.push(Wd(a,b));else{var i=p(e.done);for(i&&i.ranges||ae(a.sel,e.done),f={changes:[Wd(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Ea(a,"historyAdded")}function $d(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function _d(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||$d(a,f,p(e.done),b))?e.done[e.done.length-1]=b:ae(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&Xd(e.undone)}function ae(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function be(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f})}function ce(a){if(!a)return null;for(var b,c=0;c-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function ge(a,b,c,d){if(a.cm&&a.cm.display.shift||a.extend){var e=b.anchor;if(d){var f=I(c,e)<0;f!=I(d,e)<0?(e=c,c=d):f!=I(c,d)<0&&(c=d)}return new Hd(e,c)}return new Hd(d||c,c)}function he(a,b,c,d){ne(a,new Gd([ge(a,a.sel.primary(),b,c)],0),d)}function ie(a,b,c){for(var d=[],e=0;e=b.ch:h.to>b.ch))){if(e&&(Ea(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=ue(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=I(j,c))&&(d<0?k<0:k>0))return se(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=ue(a,l,d,l.line==b.line?f:null)),l?se(a,l,b,d,e):null}}return b}function te(a,b,c,d,e){var f=d||1,g=se(a,b,c,f,e)||!e&&se(a,b,c,f,!0)||se(a,b,c,-f,e)||!e&&se(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,H(a.first,0))}function ue(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?N(a,H(b.line-1)):null:c>0&&b.ch==(d||z(a,b.line)).text.length?b.line=0;--e)ye(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text});else ye(a,b)}}function ye(a,b){if(1!=b.text.length||""!=b.text[0]||0!=I(b.from,b.to)){var c=Md(a,b);Zd(a,b,c,a.cm?a.cm.curOp.id:NaN),Be(a,b,c,Y(a,b));var d=[];Td(a,function(a,c){c||m(d,a.history)!=-1||(Ge(a.history,b),d.push(a.history)),Be(a,b,null,Y(a,b))})}}function ze(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d,e=a.history,f=a.sel,g="undo"==b?e.done:e.undone,h="undo"==b?e.undone:e.done,i=0;i=0;--n){var o=l(n);if(o)return o.v}}}}function Ae(a,b){if(0!=b&&(a.first+=b,a.sel=new Gd(q(a.sel.ranges,function(a){return new Hd(H(a.anchor.line+b,a.anchor.ch),H(a.head.line+b,a.head.ch))}),a.sel.primIndex),a.cm)){od(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;da.lastLine())){if(b.from.linef&&(b={from:b.from,to:H(f,z(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=A(a,b.from,b.to),c||(c=Md(a,b)),a.cm?Ce(a.cm,b,d):Sd(a,b,d),oe(a,c,Eg)}}function Ce(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=D(ia(z(d,f.line))),d.iter(i,g.line+1,function(a){if(a==e.maxLine)return h=!0,!0})),d.sel.contains(b.from,b.to)>-1&&Ga(a),Sd(d,b,c,uc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,function(a){var b=pa(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)}),h&&(a.curOp.updateMaxLine=!0)),d.frontier=Math.min(d.frontier,f.line),ud(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?od(a):f.line!=g.line||1!=b.text.length||Rd(a.doc,b)?od(a,f.line,g.line+1,j):pd(a,f.line,"text");var k=Ha(a,"changes"),l=Ha(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&yb(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function De(a,b,c,d,e){if(d||(d=c),I(d,c)<0){var f=d;d=c,c=f}"string"==typeof b&&(b=a.splitLines(b)),xe(a,{from:c,to:d,text:b,origin:e})}function Ee(a,b,c,d){c0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=d("span",[g.replacedWith],"CodeMirror-widget"),e.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),e.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ha(a,b.line,b,c,g)||b.line!=c.line&&ha(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");R()}g.addToHistory&&Zd(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,k=b.line,l=a.cm;if(a.iter(k,c.line+1,function(a){l&&g.collapsed&&!l.options.lineWrapping&&ia(a)==l.display.maxLine&&(i=!0),g.collapsed&&k!=b.line&&C(a,0),V(a,new S(g,k==b.line?b.ch:null,k==c.line?c.ch:null)),++k}),g.collapsed&&a.iter(b.line,c.line+1,function(b){ma(a,b)&&C(b,0)}),g.clearOnEnter&&Pg(g,"beforeCursorEnter",function(){return g.clear()}),g.readOnly&&(Q(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++hh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)od(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)pd(l,m,"text");g.atomic&&qe(l.doc),yb(l,"markerAdded",l,g)}return g}function Pe(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d-1)return b.state.draggingText(a),void setTimeout(function(){return b.display.input.focus()},20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),oe(b.doc,Jd(c,c)),k)for(var l=0;l=0;b--)De(a.doc,"",d[b].from,d[b].to,"+delete");ad(a)})}function hf(a,b){var c=z(a.doc,b),d=ia(c);d!=c&&(b=D(d));var e=Ba(d),f=e?e[0].level%2?va(d):ua(d):0;return H(b,f)}function jf(a,b){for(var c,d=z(a.doc,b);c=ga(d);)d=c.find(1,!0).line,b=null;var e=Ba(d),f=e?e[0].level%2?ua(d):va(d):d.text.length;return H(null==b?D(d):b,f)}function kf(a,b){var c=hf(a,b.line),d=z(a.doc,c.line),e=Ba(d);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return H(c.line,g?0:f)}return c}function lf(a,b,c){if("string"==typeof b&&(b=th[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Dg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function mf(a,b,c){for(var d=0;de-400&&0==I(sh.pos,c)?d="triple":rh&&rh.time>e-400&&0==I(rh.pos,c)?(d="double",sh={time:e,pos:c}):(d="single",rh={time:e,pos:c});var g,h=a.doc.sel,j=rg?b.metaKey:b.ctrlKey;a.options.dragDrop&&Qg&&!a.isReadOnly()&&"single"==d&&(g=h.contains(c))>-1&&(I((g=h.ranges[g]).from(),c)<0||c.xRel>0)&&(I(g.to(),c)>0||c.xRel<0)?wf(a,b,c,j):xf(a,b,c,d,j)}function wf(a,b,c,d){var e=a.display,f=+new Date,g=ld(a,function(h){ig&&(e.scroller.draggable=!1),a.state.draggingText=!1,Da(document,"mouseup",g),Da(e.scroller,"drop",g),Math.abs(b.clientX-h.clientX)+Math.abs(b.clientY-h.clientY)<10&&(Ja(h),!d&&+new Date-200u&&e.push(new Hd(H(q,u),H(q,n(s,j,f))))}e.length||e.push(new Hd(c,c)),ne(l,Id(p.ranges.slice(0,o).concat(e),o),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v=m,w=v.anchor,x=b;if("single"!=d){var y;y="double"==d?a.findWordAt(b):new Hd(H(b.line,0),N(l,H(b.line+1,0))),I(y.anchor,w)>0?(x=y.head,w=L(v.from(),y.anchor)):(x=y.anchor,w=K(v.to(),y.head))}var A=p.ranges.slice(0);A[o]=new Hd(N(l,w),x),ne(l,Id(A,o),Fg)}}function h(b){var c=++v,e=wc(a,b,!0,"rect"==d);if(e)if(0!=I(e,t)){a.curOp.focus=f(),g(e);var i=Lc(j,l);(e.line>=i.to||e.lineu.bottom?20:0;k&&setTimeout(ld(a,function(){v==c&&(j.scroller.scrollTop+=k,h(b))}),50)}}function i(b){a.state.selectingText=!1,v=1/0,Ja(b),j.input.focus(),Da(document,"mousemove",w),Da(document,"mouseup",x),l.history.lastSelOrigin=null}var j=a.display,l=a.doc;Ja(b);var m,o,p=l.sel,q=p.ranges;if(e&&!b.shiftKey?(o=l.sel.contains(c),m=o>-1?q[o]:new Hd(c,c)):(m=l.sel.primary(),o=l.sel.primIndex),sg?b.shiftKey&&b.metaKey:b.altKey)d="rect",e||(m=new Hd(c,c)),c=wc(a,b,!0,!0),o=-1;else if("double"==d){var r=a.findWordAt(c);m=a.display.shift||l.extend?ge(l,m,r.anchor,r.head):r}else if("triple"==d){var s=new Hd(H(c.line,0),N(l,H(c.line+1,0)));m=a.display.shift||l.extend?ge(l,m,s.anchor,s.head):s}else m=ge(l,m,c);e?o==-1?(o=q.length,ne(l,Id(q.concat([m]),o),{scroll:!1,origin:"*mouse"})):q.length>1&&q[o].empty()&&"single"==d&&!b.shiftKey?(ne(l,Id(q.slice(0,o).concat(q.slice(o+1)),0),{scroll:!1,origin:"*mouse"}),p=l.sel):je(l,o,m,Fg):(o=0,ne(l,new Gd([m],0),Fg),p=l.sel);var t=c,u=j.wrapper.getBoundingClientRect(),v=0,w=ld(a,function(a){Oa(a)?h(a):i(a)}),x=ld(a,i);a.state.selectingText=x,Pg(document,"mousemove",w),Pg(document,"mouseup",x)}function yf(a,b,c,d){var e,f;try{e=b.clientX,f=b.clientY}catch(b){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Ja(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Ha(a,c))return La(b);f-=h.top-g.viewOffset;for(var i=0;i=e){var k=E(a.doc,f),l=a.options.gutters[i];return Ea(a,c,a,k,l,b),La(b)}}}function zf(a,b){return yf(a,b,"gutterClick",!0)}function Af(a,b){Nb(a.display,b)||Bf(a,b)||Fa(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function Bf(a,b){return!!Ha(a,"gutterContextMenu")&&yf(a,b,"gutterContextMenu",!1)}function Cf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),fc(a)}function Df(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=wh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=wh,b("value","",function(a,b){return a.setValue(b)},!0),b("mode",null,function(a,b){a.doc.modeOption=b,Pd(a)},!0),b("indentUnit",2,Pd,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,function(a){Qd(a),fc(a),od(a)},!0),b("lineSeparator",null,function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter(function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(H(d,f))}d++});for(var e=c.length-1;e>=0;e--)De(a.doc,b,c[e],H(c[e].line,c[e].ch+b.length))}}),b("specialChars",/[\u0000-\u001f\u007f\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=wh&&a.refresh()}),b("specialCharPlaceholder",nb,function(a){return a.refresh()},!0),b("electricChars",!0),b("inputStyle",qg?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),b("spellcheck",!1,function(a,b){return a.getInputField().spellcheck=b},!0),b("rtlMoveVisually",!tg),b("wholeLineUpdateBefore",!0),b("theme","default",function(a){Cf(a),Ef(a)},!0),b("keyMap","default",function(a,b,c){var d=ff(b),e=c!=wh&&ff(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)}),b("extraKeys",null),b("lineWrapping",!1,Gf,!0),b("gutters",[],function(a){Fd(a.options),Ef(a)},!0),b("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?tc(a.display)+"px":"0",a.refresh()},!0),b("coverGutterNextToScrollbar",!1,function(a){return Uc(a)},!0),b("scrollbarStyle","native",function(a){Wc(a),Uc(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)},!0),b("lineNumbers",!1,function(a){Fd(a.options),Ef(a)},!0),b("firstLineNumber",1,Ef,!0),b("lineNumberFormatter",function(a){return a},Ef,!0),b("showCursorWhenSelecting",!1,yc,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("readOnly",!1,function(a,b){"nocursor"==b?(Gc(a),a.display.input.blur(),a.display.disabled=!0):a.display.disabled=!1,a.display.input.readOnlyChanged(b)}),b("disableInput",!1,function(a,b){b||a.display.input.reset()},!0),b("dragDrop",!0,Ff),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,yc,!0),b("singleCursorHeightPerLine",!0,yc,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Qd,!0),b("addModeClass",!1,Qd,!0),b("pollInterval",100),b("undoDepth",200,function(a,b){return a.doc.history.undoDepth=b}),b("historyEventDelay",1250),b("viewportMargin",10,function(a){return a.refresh()},!0),b("maxHighlightLength",1e4,Qd,!0),b("moveInputWithCursor",!0,function(a,b){b||a.display.input.resetPosition()}),b("tabindex",null,function(a,b){return a.display.input.getField().tabIndex=b||""}),b("autofocus",null)}function Ef(a){Ed(a),od(a),setTimeout(function(){return Hc(a)},20)}function Ff(a,b,c){var d=c&&c!=wh;if(!b!=!d){var e=a.display.dragFunctions,f=b?Pg:Da;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Gf(a){a.options.lineWrapping?(g(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(yg(a.display.wrapper,"CodeMirror-wrap"),qa(a)),vc(a),od(a),fc(a),setTimeout(function(){return Uc(a)},100)}function Hf(a,b){ +var c=this;if(!(this instanceof Hf))return new Hf(a,b);this.options=b=b?j(b):{},j(xh,b,!1),Fd(b);var d=b.value;"string"==typeof d&&(d=new jh(d,b.mode,null,b.lineSeparator)),this.doc=d;var e=new Hf.inputStyles[b.inputStyle](this),f=this.display=new y(a,d,e);f.wrapper.CodeMirror=this,Ed(this),Cf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),b.autofocus&&!qg&&f.input.focus(),Wc(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new l,keySeq:null,specialChars:null},gg&&hg<11&&setTimeout(function(){return c.display.input.reset(!0)},20),If(this),Ze(),cd(this),this.curOp.forceUpdate=!0,Ud(this,d),b.autofocus&&!qg||this.hasFocus()?setTimeout(i(Fc,this),20):Gc(this);for(var g in yh)yh.hasOwnProperty(g)&&yh[g](c,b[g],wh);Ic(this),b.finishInit&&b.finishInit(this);for(var h=0;h400}var e=a.display;Pg(e.scroller,"mousedown",ld(a,uf)),gg&&hg<11?Pg(e.scroller,"dblclick",ld(a,function(b){if(!Fa(a,b)){var c=wc(a,b);if(c&&!zf(a,b)&&!Nb(a.display,b)){Ja(b);var d=a.findWordAt(c);he(a.doc,d.anchor,d.head)}}})):Pg(e.scroller,"dblclick",function(b){return Fa(a,b)||Ja(b)}),xg||Pg(e.scroller,"contextmenu",function(b){return Af(a,b)});var f,g={end:0};Pg(e.scroller,"touchstart",function(b){if(!Fa(a,b)&&!c(b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}}),Pg(e.scroller,"touchmove",function(){e.activeTouch&&(e.activeTouch.moved=!0)}),Pg(e.scroller,"touchend",function(c){var f=e.activeTouch;if(f&&!Nb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new Hd(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new Hd(H(h.line,0),N(a.doc,H(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Ja(c)}b()}),Pg(e.scroller,"touchcancel",b),Pg(e.scroller,"scroll",function(){e.scroller.clientHeight&&(Mc(a,e.scroller.scrollTop),Nc(a,e.scroller.scrollLeft,!0),Ea(a,"scroll",a))}),Pg(e.scroller,"mousewheel",function(b){return Qc(a,b)}),Pg(e.scroller,"DOMMouseScroll",function(b){return Qc(a,b)}),Pg(e.wrapper,"scroll",function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0}),e.dragFunctions={enter:function(b){Fa(a,b)||Ma(b)},over:function(b){Fa(a,b)||(We(a,b),Ma(b))},start:function(b){return Ve(a,b)},drop:ld(a,Ue),leave:function(b){Fa(a,b)||Xe(a)}};var h=e.input.getField();Pg(h,"keyup",function(b){return sf.call(a,b)}),Pg(h,"keydown",ld(a,qf)),Pg(h,"keypress",ld(a,tf)),Pg(h,"focus",function(b){return Fc(a,b)}),Pg(h,"blur",function(b){return Gc(a,b)})}function Jf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=ab(a,b):c="prev");var g=a.options.tabSize,h=z(f,b),i=k(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,l=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(l.length),h.text),j==Dg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?k(z(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n1)if(Ah&&Ah.text.join("\n")==b){if(d.ranges.length%Ah.text.length==0){i=[];for(var j=0;j=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=H(n.line,n.ch-c):a.state.overwrite&&!g?o=H(o.line,Math.min(z(f,o.line).text.length,o.ch+p(h).length)):Ah&&Ah.lineWise&&Ah.text.join("\n")==b&&(n=o=H(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};xe(a.doc,r),yb(a,"inputRead",a,r)}b&&!g&&Nf(a,b),ad(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function Mf(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||kd(b,function(){return Lf(b,c,0,null,"paste")}),!0}function Nf(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h-1){g=Jf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(z(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Jf(a,e.head.line,"smart"));g&&yb(a,"electricInput",a,e.head.line)}}}function Of(a){for(var b=[],c=[],d=0;dd&&(Jf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&ad(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j0&&je(b.doc,e,new Hd(g,k[e].to()),Eg)}}}),getTokenAt:function(a,b){return eb(this,a,b)},getLineTokens:function(a,b){return eb(this,H(a),b,!0)},getTokenTypeAt:function(a){a=N(this.doc,a);var b,c=_a(this,z(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]f&&(a=f,e=!0),d=z(this.doc,a)}else d=a;return ic(this,d,{top:0,left:0},b||"page",c).top+(e?this.doc.height-oa(d):0)},defaultTextHeight:function(){return qc(this.display)},defaultCharWidth:function(){return rc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=lc(this,N(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Zc(this,h,g,h+b.offsetWidth,g+b.offsetHeight)},triggerOnKeyDown:md(qf),triggerOnKeyPress:md(tf),triggerOnKeyUp:sf,execCommand:function(a){if(th.hasOwnProperty(a))return th[a].call(null,this)},triggerElectric:md(function(a){Nf(this,a)}),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=N(this.doc,a),h=0;h0&&h(c.charAt(d-1));)--d;for(;e.5)&&vc(this),Ea(this,"refresh",this)}),swapDoc:md(function(a){var b=this.doc;return b.cm=null,Ud(this,a),fc(this),this.display.input.reset(),this.scrollTo(a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,yb(this,"swapDoc",this,b),b}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ia(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}}function Sf(a,b,c,d,e){function f(){var b=h+c;return!(b=a.first+a.size)&&(h=b,k=z(a,b))}function g(a){var b=(e?za:Aa)(k,i,c,!0);if(null==b){if(a||!f())return!1;i=e?(c<0?va:ua)(k):c<0?k.text.length:0}else i=b;return!0}var h=b.line,i=b.ch,j=c,k=z(a,h);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var l=null,m="group"==d,n=a.cm&&a.cm.getHelper(b,"wordChars"),o=!0;!(c<0)||g(!o);o=!1){var p=k.text.charAt(i)||"\n",q=v(p,n)?"w":m&&"\n"==p?"n":!m||/\s/.test(p)?null:"p";if(!m||o||q||(q="s"),l&&l!=q){c<0&&(c=1,g());break}if(q&&(l=q),c>0&&!g(!o))break}var r=te(a,H(h,i),b,j,!0);return I(b,r)||(r.hitSide=!0),r}function Tf(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*qc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=oc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function Uf(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new l,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null}function Vf(a,b){var c=Yb(a,b.line);if(!c||c.hidden)return null;var d=z(a.doc,b.line),e=Vb(c,d,b.line),f=Ba(d),g="left";if(f){var h=xa(f,b.ch);g=h%2?"right":"left"}var i=_b(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function Wf(a,b){return b&&(a.bad=!0),a}function Xf(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void(h+=""==c?b.textContent.replace(/\u200b/g,""):c);var k,l=b.getAttribute("cm-marker");if(l){var m=a.findMarks(H(d,0),H(e+1,0),f(+l));return void(m.length&&(k=m[0].find())&&(h+=A(a.doc,k.from,k.to).join(j)))}if("false"==b.getAttribute("contenteditable"))return;for(var n=0;n=15&&(lg=!1,ig=!0);var vg,wg=rg&&(jg||lg&&(null==ug||ug<12.11)),xg=dg||gg&&hg>=9,yg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};vg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(e){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var zg=function(a){a.select()};pg?zg=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:gg&&(zg=function(a){try{a.select()}catch(b){}}),l.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Ag,Bg,Cg=30,Dg={toString:function(){return"CodeMirror.Pass"}},Eg={scroll:!1},Fg={origin:"*mouse"},Gg={origin:"+move"},Hg=[""],Ig=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Jg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Kg=!1,Lg=!1,Mg=null,Ng=function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1773?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/,j="L";return function(c){if(!e.test(c))return!1;for(var d=c.length,k=[],l=0;l=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.posb},eatSpace:function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},backUp:function(a){this.pos-=a},column:function(){return this.lastColumnPos0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}}},Ia(ib),ib.prototype.lineNo=function(){return D(this)};var Zg,$g={},_g={},ah=null,bh=null,ch={left:0,right:0,top:0,bottom:0},dh=0,eh=null;gg?eh=-.53:dg?eh=15:kg?eh=-.7:mg&&(eh=-1/3),Sc.prototype=j({update:function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=a.scrollWidth-a.clientWidth+f+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},setScrollLeft:function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz)},setScrollTop:function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert)},zeroWidthHack:function(){var a=rg&&!ng?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new l,this.disableVert=new l},enableZeroWidthBar:function(a,b){function c(){var d=a.getBoundingClientRect(),e=document.elementFromPoint(d.left+1,d.bottom-1);e!=a?a.style.pointerEvents="none":b.set(1e3,c)}a.style.pointerEvents="auto",b.set(1e3,c)},clear:function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)}},Sc.prototype),Tc.prototype=j({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},Tc.prototype);var fh={"native":Sc,"null":Tc},gh=0;wd.prototype.signal=function(a,b){Ha(a,b)&&this.events.push(arguments)},wd.prototype.finish=function(){for(var a=this,b=0;b=0&&I(a,e.to())<=0)return d}return-1}},Hd.prototype={from:function(){return L(this.anchor,this.head)},to:function(){return K(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}},Ie.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){ +for(var c=this,d=a,e=a+b;d1||!(this.children[0]instanceof Ie))){var i=[];this.collapse(i),this.children=[new Ie(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c50){for(var h=f.lines.length%25+25,i=h;i10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;eb.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&od(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&qe(b.doc)),b&&yb(b,"markerCleared",b,this),c&&dd(b),this.parent&&this.parent.clear()}},Ne.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f=0;j--)xe(d,e[j]);i?me(this,i):this.cm&&ad(this.cm)}),undo:nd(function(){ze(this,"undo")}),redo:nd(function(){ze(this,"redo")}),undoSelection:nd(function(){ze(this,"undo",!0)}),redoSelection:nd(function(){ze(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=N(this,a),b=N(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,function(f){var g=f.markedSpans;if(g)for(var h=0;h=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e}),d},getAllMarks:function(){var a=[];return this.iter(function(b){var c=b.markedSpans;if(c)for(var d=0;da?(b=a,!0):(a-=f,void++c)}),N(this,H(c,b))},indexFromPos:function(a){a=N(this,a);var b=a.ch;if(a.lineb&&(b=a.from),null!=a.to&&a.to0)e=new H(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),H(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=z(a.doc,e.line-1).text;g&&(e=new H(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),H(e.line-1,g.length-1),e,"+transpose"))}c.push(new Hd(e,e))}a.setSelections(c)})},newlineAndIndent:function(a){return kd(a,function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;da.firstLine()&&(d=H(d.line-1,z(a.doc,d.line-1).length)),e.ch==z(a.doc,e.line).text.length&&e.lineb.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=xc(a,d.line))?(g=D(b.view[0].line),h=b.view[0].node):(g=D(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=xc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=D(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(Xf(a,h,j,g,i)),m=A(a.doc,H(g,0),H(i,z(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n1||l[0]||I(w,x)?(De(a.doc,l,w,x,"+input"),!0):void 0},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){this.composing&&(this.composing=null,this.pollContent()||od(this.cm),this.div.blur(),this.div.focus())},readFromDOMSoon:function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){a.readDOMTimeout=null,a.composing||!a.cm.isReadOnly()&&a.pollContent()||kd(a.cm,function(){return od(a.cm)})},80))},setUneditable:function(a){a.contentEditable="false"},onKeyPress:function(a){a.preventDefault(),this.cm.isReadOnly()||ld(this.cm,Lf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0)},readOnlyChanged:function(a){this.div.contentEditable=String("nocursor"!=a)},onContextMenu:s,resetPosition:s,needsContentAttribute:!0},Uf.prototype),$f.prototype=j({init:function(a){function b(a){if(!Fa(e,a)){if(e.somethingSelected())Kf({lineWise:!1,text:e.getSelections()}),d.inaccurateSelection&&(d.prevInput="",d.inaccurateSelection=!1,g.value=Ah.text.join("\n"),zg(g));else{if(!e.options.lineWiseCopyCut)return;var b=Of(e);Kf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Eg):(d.prevInput="",g.value=b.text.join("\n"),zg(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=Qf(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),pg&&(g.style.width="0px"),Pg(g,"input",function(){gg&&hg>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()}),Pg(g,"paste",function(a){Fa(e,a)||Mf(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())}),Pg(g,"cut",b),Pg(g,"copy",b),Pg(a.scroller,"paste",function(b){Nb(a,b)||Fa(e,b)||(e.state.pasteIncoming=!0,d.focus())}),Pg(a.lineSpace,"selectstart",function(b){Nb(a,b)||Ja(b)}),Pg(g,"compositionstart",function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}}),Pg(g,"compositionend",function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)})},prepareSelection:function(){var a=this.cm,b=a.display,c=a.doc,d=zc(a);if(a.options.moveInputWithCursor){var e=lc(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},showSelection:function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},reset:function(a){if(!this.contextMenuPending){var b,c,d=this.cm,e=d.doc;if(d.somethingSelected()){this.prevInput="";var f=e.sel.primary();b=Tg&&(f.to().line-f.from().line>100||(c=d.getSelection()).length>1e3);var g=b?"-":c||d.getSelection();this.textarea.value=g,d.state.focused&&zg(this.textarea),gg&&hg>=9&&(this.hasSelection=g)}else a||(this.prevInput=this.textarea.value="",gg&&hg>=9&&(this.hasSelection=null));this.inaccurateSelection=b}},getField:function(){return this.textarea},supportsTouch:function(){return!1},focus:function(){if("nocursor"!=this.cm.options.readOnly&&(!qg||f()!=this.textarea))try{this.textarea.focus()}catch(a){}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){a.poll(),a.cm.state.focused&&a.slowPoll()})},fastPoll:function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},poll:function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||Sg(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(gg&&hg>=9&&this.hasSelection===e||rg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},ensurePolled:function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},onKeyPress:function(){gg&&hg>=9&&(this.hasSelection=null),this.fastPoll()},onContextMenu:function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,gg&&hg<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!gg||gg&&hg<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?ld(e,ve)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):f.input.reset()};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=wc(e,a),i=f.scroller.scrollTop;if(h&&!lg){ +var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&ld(e,ne)(e.doc,Jd(h),Eg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(gg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(ig&&(n=window.scrollY),f.input.focus(),ig&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),gg&&hg>=9&&b(),xg){Ma(a);var o=function(){Da(window,"mouseup",o),setTimeout(c,20)};Pg(window,"mouseup",o)}else setTimeout(c,50)}},readOnlyChanged:function(a){a||this.reset()},setUneditable:s,needsContentAttribute:!1},$f.prototype),Df(Hf),Rf(Hf);var Bh="iter insert remove copy getEditor constructor".split(" ");for(var Ch in jh.prototype)jh.prototype.hasOwnProperty(Ch)&&m(Bh,Ch)<0&&(Hf.prototype[Ch]=function(a){return function(){return a.apply(this.doc,arguments)}}(jh.prototype[Ch]));return Ia(jh),Hf.inputStyles={textarea:$f,contenteditable:Uf},Hf.defineMode=function(a){Hf.defaults.mode||"null"==a||(Hf.defaults.mode=a),Sa.apply(this,arguments)},Hf.defineMIME=Ta,Hf.defineMode("null",function(){return{token:function(a){return a.skipToEnd()}}}),Hf.defineMIME("text/plain","null"),Hf.defineExtension=function(a,b){Hf.prototype[a]=b},Hf.defineDocExtension=function(a,b){jh.prototype[a]=b},Hf.fromTextArea=_f,ag(Hf),Hf.version="5.21.0",Hf}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("../../lib/codemirror")):"function"==typeof c&&c.amd?c("codemirror/mode/xml/xml",["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";var b={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},c={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,caseFold:!1};a.defineMode("xml",function(d,e){function f(a,b){function c(c){return b.tokenize=c,c(a,b)}var d=a.next();if("<"==d)return a.eat("!")?a.eat("[")?a.match("CDATA[")?c(i("atom","]]>")):null:a.match("--")?c(i("comment","-->")):a.match("DOCTYPE",!0,!0)?(a.eatWhile(/[\w\._\-]/),c(j(1))):null:a.eat("?")?(a.eatWhile(/[\w\._\-]/),b.tokenize=i("meta","?>"),"meta"):(A=a.eat("/")?"closeTag":"openTag",b.tokenize=g,"tag bracket");if("&"==d){var e;return e=a.eat("#")?a.eat("x")?a.eatWhile(/[a-fA-F\d]/)&&a.eat(";"):a.eatWhile(/[\d]/)&&a.eat(";"):a.eatWhile(/[\w\.\-:]/)&&a.eat(";"),e?"atom":"error"}return a.eatWhile(/[^&<]/),null}function g(a,b){var c=a.next();if(">"==c||"/"==c&&a.eat(">"))return b.tokenize=f,A=">"==c?"endTag":"selfcloseTag","tag bracket";if("="==c)return A="equals",null;if("<"==c){b.tokenize=f,b.state=n,b.tagName=b.tagStart=null;var d=b.tokenize(a,b);return d?d+" tag error":"tag error"}return/[\'\"]/.test(c)?(b.tokenize=h(c),b.stringStartCol=a.column(),b.tokenize(a,b)):(a.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function h(a){var b=function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=g;break}return"string"};return b.isInAttribute=!0,b}function i(a,b){return function(c,d){for(;!c.eol();){if(c.match(b)){d.tokenize=f;break}c.next()}return a}}function j(a){return function(b,c){for(var d;null!=(d=b.next());){if("<"==d)return c.tokenize=j(a+1),c.tokenize(b,c);if(">"==d){if(1==a){c.tokenize=f;break}return c.tokenize=j(a-1),c.tokenize(b,c)}}return"meta"}}function k(a,b,c){this.prev=a.context,this.tagName=b,this.indent=a.indented,this.startOfLine=c,(x.doNotIndent.hasOwnProperty(b)||a.context&&a.context.noIndent)&&(this.noIndent=!0)}function l(a){a.context&&(a.context=a.context.prev)}function m(a,b){for(var c;;){if(!a.context)return;if(c=a.context.tagName,!x.contextGrabbers.hasOwnProperty(c)||!x.contextGrabbers[c].hasOwnProperty(b))return;l(a)}}function n(a,b,c){return"openTag"==a?(c.tagStart=b.column(),o):"closeTag"==a?p:n}function o(a,b,c){return"word"==a?(c.tagName=b.current(),B="tag",s):(B="error",o)}function p(a,b,c){if("word"==a){var d=b.current();return c.context&&c.context.tagName!=d&&x.implicitlyClosed.hasOwnProperty(c.context.tagName)&&l(c),c.context&&c.context.tagName==d||x.matchClosing===!1?(B="tag",q):(B="tag error",r)}return B="error",r}function q(a,b,c){return"endTag"!=a?(B="error",q):(l(c),n)}function r(a,b,c){return B="error",q(a,b,c)}function s(a,b,c){if("word"==a)return B="attribute",t;if("endTag"==a||"selfcloseTag"==a){var d=c.tagName,e=c.tagStart;return c.tagName=c.tagStart=null,"selfcloseTag"==a||x.autoSelfClosers.hasOwnProperty(d)?m(c,d):(m(c,d),c.context=new k(c,d,e==c.indented)),n}return B="error",s}function t(a,b,c){return"equals"==a?u:(x.allowMissing||(B="error"),s(a,b,c))}function u(a,b,c){return"string"==a?v:"word"==a&&x.allowUnquoted?(B="string",s):(B="error",s(a,b,c))}function v(a,b,c){return"string"==a?v:s(a,b,c)}var w=d.indentUnit,x={},y=e.htmlMode?b:c;for(var z in y)x[z]=y[z];for(var z in e)x[z]=e[z];var A,B;return f.isInText=!0,{startState:function(a){var b={tokenize:f,state:n,indented:a||0,tagName:null,tagStart:null,context:null};return null!=a&&(b.baseIndent=a),b},token:function(a,b){if(!b.tagName&&a.sol()&&(b.indented=a.indentation()),a.eatSpace())return null;A=null;var c=b.tokenize(a,b);return(c||A)&&"comment"!=c&&(B=null,b.state=b.state(A||c,a,b),B&&(c="error"==B?c+" error":B)),c},indent:function(b,c,d){var e=b.context;if(b.tokenize.isInAttribute)return b.tagStart==b.indented?b.stringStartCol+1:b.indented+w;if(e&&e.noIndent)return a.Pass;if(b.tokenize!=g&&b.tokenize!=f)return d?d.match(/^(\s*)/)[0].length:0;if(b.tagName)return x.multilineTagIndentPastTag!==!1?b.tagStart+b.tagName.length+2:b.tagStart+w*(x.multilineTagIndentFactor||1);if(x.alignCDATA&&/$/,blockCommentStart:"",configuration:x.htmlMode?"html":"xml",helperType:x.htmlMode?"html":"xml",skipAttribute:function(a){a.state==u&&(a.state=s)}}}),a.defineMIME("text/xml","xml"),a.defineMIME("application/xml","xml"),a.mimeModes.hasOwnProperty("text/html")||a.defineMIME("text/html",{name:"xml",htmlMode:!0})}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("../../lib/codemirror")):"function"==typeof c&&c.amd?c("codemirror/mode/javascript/javascript",["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";function b(a,b,c){return/^(?:operator|sof|keyword c|case|new|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}a.defineMode("javascript",function(c,d){function e(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function f(a,b,c){return xa=a,ya=c,b}function g(a,c){var d=a.next();if('"'==d||"'"==d)return c.tokenize=h(d),c.tokenize(a,c);if("."==d&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return f("number","number");if("."==d&&a.match(".."))return f("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(d))return f(d);if("="==d&&a.eat(">"))return f("=>","operator");if("0"==d&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),f("number","number");if("0"==d&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),f("number","number");if("0"==d&&a.eat(/b/i))return a.eatWhile(/[01]/i),f("number","number");if(/\d/.test(d))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),f("number","number");if("/"==d)return a.eat("*")?(c.tokenize=i,i(a,c)):a.eat("/")?(a.skipToEnd(),f("comment","comment")):b(a,c,1)?(e(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),f("regexp","string-2")):(a.eatWhile(Ga),f("operator","operator",a.current()));if("`"==d)return c.tokenize=j,j(a,c);if("#"==d)return a.skipToEnd(),f("error","error");if(Ga.test(d))return a.eatWhile(Ga),f("operator","operator",a.current());if(Ea.test(d)){a.eatWhile(Ea);var g=a.current(),k=Fa.propertyIsEnumerable(g)&&Fa[g];return k&&"."!=c.lastType?f(k.type,k.style,g):f("variable","variable",g)}}function h(a){return function(b,c){var d,e=!1;if(Ba&&"@"==b.peek()&&b.match(Ha))return c.tokenize=g,f("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||e);)e=!e&&"\\"==d;return e||(c.tokenize=g),f("string","string")}}function i(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=g;break}d="*"==c}return f("comment","comment")}function j(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=g;break}d=!d&&"\\"==c}return f("quasi","string-2",a.current())}function k(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(c<0)){if(Da){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;g>=0;--g){var h=a.string.charAt(g),i=Ia.indexOf(h);if(i>=0&&i<3){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(i>=3&&i<6)++e;else if(Ea.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function l(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function m(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function n(a,b,c,d,e){var f=a.cc;for(Ka.state=a,Ka.stream=e,Ka.marked=null,Ka.cc=f,Ka.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():Ca?x:w;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Ka.marked?Ka.marked:"variable"==c&&m(a,d)?"variable-2":b}}}function o(){for(var a=arguments.length-1;a>=0;a--)Ka.cc.push(arguments[a])}function p(){return o.apply(null,arguments),!0}function q(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var c=Ka.state;if(Ka.marked="def",c.context){if(b(c.localVars))return;c.localVars={name:a,next:c.localVars}}else{if(b(c.globalVars))return;d.globalVars&&(c.globalVars={name:a,next:c.globalVars})}}function r(){Ka.state.context={prev:Ka.state.context,vars:Ka.state.localVars},Ka.state.localVars=La}function s(){Ka.state.localVars=Ka.state.context.vars,Ka.state.context=Ka.state.context.prev}function t(a,b){var c=function(){var c=Ka.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new l(d,Ka.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function u(){var a=Ka.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function v(a){function b(c){return c==a?p():";"==a?o():p(b)}return b}function w(a,b){return"var"==a?p(t("vardef",b.length),$,v(";"),u):"keyword a"==a?p(t("form"),z,w,u):"keyword b"==a?p(t("form"),w,u):"{"==a?p(t("}"),T,u):";"==a?p():"if"==a?("else"==Ka.state.lexical.info&&Ka.state.cc[Ka.state.cc.length-1]==u&&Ka.state.cc.pop()(),p(t("form"),z,w,u,da)):"function"==a?p(ja):"for"==a?p(t("form"),ea,w,u):"variable"==a?p(t("stat"),M):"switch"==a?p(t("form"),z,t("}","switch"),v("{"),T,u,u):"case"==a?p(x,v(":")):"default"==a?p(v(":")):"catch"==a?p(t("form"),r,v("("),ka,v(")"),w,u,s):"class"==a?p(t("form"),ma,u):"export"==a?p(t("stat"),qa,u):"import"==a?p(t("stat"),ra,u):"module"==a?p(t("form"),_,t("}"),v("{"),T,u,u):"type"==a?p(V,v("operator"),V,v(";")):"async"==a?p(w):o(t("stat"),x,v(";"),u)}function x(a){return A(a,!1)}function y(a){return A(a,!0)}function z(a){return"("!=a?o():p(t(")"),x,v(")"),u)}function A(a,b){if(Ka.state.fatArrowAt==Ka.stream.start){var c=b?I:H;if("("==a)return p(r,t(")"),R(_,")"),u,v("=>"),c,s);if("variable"==a)return o(r,_,v("=>"),c,s)}var d=b?E:D;return Ja.hasOwnProperty(a)?p(d):"function"==a?p(ja,d):"class"==a?p(t("form"),la,u):"keyword c"==a||"async"==a?p(b?C:B):"("==a?p(t(")"),B,v(")"),u,d):"operator"==a||"spread"==a?p(b?y:x):"["==a?p(t("]"),va,u,d):"{"==a?S(O,"}",null,d):"quasi"==a?o(F,d):"new"==a?p(J(b)):p()}function B(a){return a.match(/[;\}\)\],]/)?o():o(x)}function C(a){return a.match(/[;\}\)\],]/)?o():o(y)}function D(a,b){return","==a?p(x):E(a,b,!1)}function E(a,b,c){var d=0==c?D:E,e=0==c?x:y;return"=>"==a?p(r,c?I:H,s):"operator"==a?/\+\+|--/.test(b)?p(d):"?"==b?p(x,v(":"),e):p(e):"quasi"==a?o(F,d):";"!=a?"("==a?S(y,")","call",d):"."==a?p(N,d):"["==a?p(t("]"),B,v("]"),u,d):void 0:void 0}function F(a,b){return"quasi"!=a?o():"${"!=b.slice(b.length-2)?p(F):p(x,G)}function G(a){if("}"==a)return Ka.marked="string-2",Ka.state.tokenize=j,p(F)}function H(a){return k(Ka.stream,Ka.state),o("{"==a?w:x)}function I(a){return k(Ka.stream,Ka.state),o("{"==a?w:y)}function J(a){return function(b){return"."==b?p(a?L:K):o(a?y:x)}}function K(a,b){if("target"==b)return Ka.marked="keyword",p(D)}function L(a,b){if("target"==b)return Ka.marked="keyword",p(E)}function M(a){return":"==a?p(u,w):o(D,v(";"),u)}function N(a){if("variable"==a)return Ka.marked="property",p()}function O(a,b){return"async"==a?(Ka.marked="property",p(O)):"variable"==a||"keyword"==Ka.style?(Ka.marked="property",p("get"==b||"set"==b?P:Q)):"number"==a||"string"==a?(Ka.marked=Ba?"property":Ka.style+" property",p(Q)):"jsonld-keyword"==a?p(Q):"modifier"==a?p(O):"["==a?p(x,v("]"),Q):"spread"==a?p(x):":"==a?o(Q):void 0}function P(a){return"variable"!=a?o(Q):(Ka.marked="property",p(ja))}function Q(a){return":"==a?p(y):"("==a?o(ja):void 0}function R(a,b){function c(d,e){if(","==d){var f=Ka.state.lexical;return"call"==f.info&&(f.pos=(f.pos||0)+1),p(function(c,d){return c==b||d==b?o():o(a)},c)}return d==b||e==b?p():p(v(b))}return function(d,e){return d==b||e==b?p():o(a,c)}}function S(a,b,c){for(var d=3;d"==a)return p(V)}function X(a){return"variable"==a||"keyword"==Ka.style?(Ka.marked="property",p(X)):":"==a?p(V):void 0}function Y(a){return"variable"==a?p(Y):":"==a?p(V):void 0}function Z(a,b){return"<"==b?p(R(V,">"),Z):"["==a?p(v("]"),Z):void 0}function $(){return o(_,U,ba,ca)}function _(a,b){return"modifier"==a?p(_):"variable"==a?(q(b),p()):"spread"==a?p(_):"["==a?S(_,"]"):"{"==a?S(aa,"}"):void 0}function aa(a,b){return"variable"!=a||Ka.stream.match(/^\s*:/,!1)?("variable"==a&&(Ka.marked="property"),"spread"==a?p(_):"}"==a?o():p(v(":"),_,ba)):(q(b),p(ba))}function ba(a,b){if("="==b)return p(y)}function ca(a){if(","==a)return p($)}function da(a,b){if("keyword b"==a&&"else"==b)return p(t("form","else"),w,u)}function ea(a){if("("==a)return p(t(")"),fa,v(")"),u)}function fa(a){return"var"==a?p($,v(";"),ha):";"==a?p(ha):"variable"==a?p(ga):o(x,v(";"),ha)}function ga(a,b){return"in"==b||"of"==b?(Ka.marked="keyword",p(x)):p(D,ha)}function ha(a,b){return";"==a?p(ia):"in"==b||"of"==b?(Ka.marked="keyword",p(x)):o(x,v(";"),ia)}function ia(a){")"!=a&&p(x)}function ja(a,b){return"*"==b?(Ka.marked="keyword",p(ja)):"variable"==a?(q(b),p(ja)):"("==a?p(r,t(")"),R(ka,")"),u,U,w,s):void 0}function ka(a){return"spread"==a?p(ka):o(_,U,ba)}function la(a,b){return"variable"==a?ma(a,b):na(a,b)}function ma(a,b){if("variable"==a)return q(b),p(na)}function na(a,b){return"extends"==b||"implements"==b?p(Da?V:x,na):"{"==a?p(t("}"),oa,u):void 0}function oa(a,b){return"variable"==a||"keyword"==Ka.style?("static"==b||"get"==b||"set"==b||Da&&("public"==b||"private"==b||"protected"==b||"readonly"==b||"abstract"==b))&&Ka.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Ka.marked="keyword",p(oa)):(Ka.marked="property",p(Da?pa:ja,oa)):"*"==b?(Ka.marked="keyword",p(oa)):";"==a?p(oa):"}"==a?p():void 0}function pa(a,b){return"?"==b?p(pa):":"==a?p(V,ba):o(ja)}function qa(a,b){return"*"==b?(Ka.marked="keyword",p(ua,v(";"))):"default"==b?(Ka.marked="keyword",p(x,v(";"))):o(w)}function ra(a){return"string"==a?p():o(sa,ua)}function sa(a,b){return"{"==a?S(sa,"}"):("variable"==a&&q(b),"*"==b&&(Ka.marked="keyword"),p(ta))}function ta(a,b){if("as"==b)return Ka.marked="keyword",p(sa)}function ua(a,b){if("from"==b)return Ka.marked="keyword",p(x)}function va(a){return"]"==a?p():o(R(y,"]"))}function wa(a,b){return"operator"==a.lastType||","==a.lastType||Ga.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}var xa,ya,za=c.indentUnit,Aa=d.statementIndent,Ba=d.jsonld,Ca=d.json||Ba,Da=d.typescript,Ea=d.wordCharacters||/[\w$\xa1-\uffff]/,Fa=function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("operator"),f={type:"atom",style:"atom"},g={"if":a("if"),"while":b,"with":b,"else":c,"do":c,"try":c,"finally":c,"return":d,"break":d,"continue":d,"new":a("new"),"delete":d,"throw":d,"debugger":d,"var":a("var"),"const":a("var"),"let":a("var"),"function":a("function"),"catch":a("catch"),"for":a("for"),"switch":a("switch"),"case":a("case"),"default":a("default"),"in":e,"typeof":e,"instanceof":e,"true":f,"false":f,"null":f,undefined:f,NaN:f,Infinity:f,"this":a("this"),"class":a("class"),"super":a("atom"),"yield":d,"export":a("export"),"import":a("import"),"extends":d,await:d,async:a("async")};if(Da){var h={type:"variable",style:"variable-3"},i={"interface":a("class"),"implements":d,namespace:d,module:a("module"),"enum":a("module"),type:a("type"),"public":a("modifier"),"private":a("modifier"),"protected":a("modifier"),"abstract":a("modifier"),as:e,string:h,number:h,"boolean":h,any:h};for(var j in i)g[j]=i[j]}return g}(),Ga=/[+\-*&%=<>!?|~^]/,Ha=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ia="([{}])",Ja={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0,"jsonld-keyword":!0},Ka={state:null,column:null,marked:null,cc:null},La={name:"this",next:{name:"arguments"}};return u.lex=!0,{startState:function(a){var b={tokenize:g,lastType:"sof",cc:[],lexical:new l((a||0)-za,0,"block",(!1)),localVars:d.localVars,context:d.localVars&&{vars:d.localVars},indented:a||0};return d.globalVars&&"object"==typeof d.globalVars&&(b.globalVars=d.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),k(a,b)),b.tokenize!=i&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==xa?c:(b.lastType="operator"!=xa||"++"!=ya&&"--"!=ya?xa:"incdec",n(b,c,xa,ya,a))},indent:function(b,c){if(b.tokenize==i)return a.Pass;if(b.tokenize!=g)return 0;var e,f=c&&c.charAt(0),h=b.lexical;if(!/^\s*else\b/.test(c))for(var j=b.cc.length-1;j>=0;--j){var k=b.cc[j];if(k==u)h=h.prev;else if(k!=da)break}for(;("stat"==h.type||"form"==h.type)&&("}"==f||(e=b.cc[b.cc.length-1])&&(e==D||e==E)&&!/^[,\.=+\-*:?[\(]/.test(c));)h=h.prev;Aa&&")"==h.type&&"stat"==h.prev.type&&(h=h.prev);var l=h.type,m=f==l;return"vardef"==l?h.indented+("operator"==b.lastType||","==b.lastType?h.info+1:0):"form"==l&&"{"==f?h.indented:"form"==l?h.indented+za:"stat"==l?h.indented+(wa(b,c)?Aa||za:0):"switch"!=h.info||m||0==d.doubleIndentSwitch?h.align?h.column+(m?0:1):h.indented+(m?0:za):h.indented+(/^(?:case|default)\b/.test(c)?za:2*za)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Ca?null:"/*",blockCommentEnd:Ca?null:"*/",lineComment:Ca?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:Ca?"json":"javascript",jsonldMode:Ba,jsonMode:Ca,expressionAllowed:b,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=x&&b!=y||a.cc.pop()}}}),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("../../lib/codemirror")):"function"==typeof c&&c.amd?c("codemirror/mode/css/css",["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";function b(a){for(var b={},c=0;c*\/]/.test(c)?d(null,"select-op"):"."==c&&a.match(/^-?[_a-z][_a-z0-9-]*/i)?d("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(c)?d(null,c):"u"==c&&a.match(/rl(-prefix)?\(/)||"d"==c&&a.match("omain(")||"r"==c&&a.match("egexp(")?(a.backUp(1),b.tokenize=g,d("property","word")):/[\w\\\-]/.test(c)?(a.eatWhile(/[\w\\\-]/),d("property","word")):d(null,null):/[\d.]/.test(a.peek())?(a.eatWhile(/[\w.%]/),d("number","unit")):a.match(/^-[\w\\\-]+/)?(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?d("variable-2","variable-definition"):d("variable-2","variable")):a.match(/^\w+-/)?d("meta","meta"):void 0}function f(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){")"==a&&b.backUp(1);break}f=!f&&"\\"==e}return(e==a||!f&&")"!=a)&&(c.tokenize=null),d("string","string")}}function g(a,b){return a.next(),a.match(/\s*[\"\')]/,!1)?b.tokenize=null:b.tokenize=f(")"),d(null,"(")}function h(a,b,c){this.type=a,this.indent=b,this.prev=c}function i(a,b,c,d){return a.context=new h(c,b.indentation()+(d===!1?0:q),a.context),c}function j(a){return a.context.prev&&(a.context=a.context.prev),a.context.type}function k(a,b,c){return E[c.context.type](a,b,c)}function l(a,b,c,d){for(var e=d||1;e>0;e--)c.context=c.context.prev;return k(a,b,c)}function m(a){var b=a.current().toLowerCase();p=B.hasOwnProperty(b)?"atom":A.hasOwnProperty(b)?"keyword":"variable"}var n=c.inline;c.propertyKeywords||(c=a.resolveMode("text/css"));var o,p,q=b.indentUnit,r=c.tokenHooks,s=c.documentTypes||{},t=c.mediaTypes||{},u=c.mediaFeatures||{},v=c.mediaValueKeywords||{},w=c.propertyKeywords||{},x=c.nonStandardPropertyKeywords||{},y=c.fontProperties||{},z=c.counterDescriptors||{},A=c.colorKeywords||{},B=c.valueKeywords||{},C=c.allowNested,D=c.supportsAtComponent===!0,E={};return E.top=function(a,b,c){if("{"==a)return i(c,b,"block");if("}"==a&&c.context.prev)return j(c);if(D&&/@component/.test(a))return i(c,b,"atComponentBlock");if(/^@(-moz-)?document$/.test(a))return i(c,b,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/.test(a))return i(c,b,"atBlock");if(/^@(font-face|counter-style)/.test(a))return c.stateArg=a,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/.test(a))return"keyframes";if(a&&"@"==a.charAt(0))return i(c,b,"at");if("hash"==a)p="builtin";else if("word"==a)p="tag";else{if("variable-definition"==a)return"maybeprop";if("interpolation"==a)return i(c,b,"interpolation");if(":"==a)return"pseudo";if(C&&"("==a)return i(c,b,"parens")}return c.context.type},E.block=function(a,b,c){if("word"==a){var d=b.current().toLowerCase();return w.hasOwnProperty(d)?(p="property","maybeprop"):x.hasOwnProperty(d)?(p="string-2","maybeprop"):C?(p=b.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(p+=" error","maybeprop")}return"meta"==a?"block":C||"hash"!=a&&"qualifier"!=a?E.top(a,b,c):(p="error","block")},E.maybeprop=function(a,b,c){return":"==a?i(c,b,"prop"):k(a,b,c)},E.prop=function(a,b,c){if(";"==a)return j(c);if("{"==a&&C)return i(c,b,"propBlock");if("}"==a||"{"==a)return l(a,b,c);if("("==a)return i(c,b,"parens");if("hash"!=a||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(b.current())){if("word"==a)m(b);else if("interpolation"==a)return i(c,b,"interpolation")}else p+=" error";return"prop"},E.propBlock=function(a,b,c){return"}"==a?j(c):"word"==a?(p="property","maybeprop"):c.context.type},E.parens=function(a,b,c){return"{"==a||"}"==a?l(a,b,c):")"==a?j(c):"("==a?i(c,b,"parens"):"interpolation"==a?i(c,b,"interpolation"):("word"==a&&m(b),"parens")},E.pseudo=function(a,b,c){return"word"==a?(p="variable-3",c.context.type):k(a,b,c)},E.documentTypes=function(a,b,c){return"word"==a&&s.hasOwnProperty(b.current())?(p="tag",c.context.type):E.atBlock(a,b,c)},E.atBlock=function(a,b,c){if("("==a)return i(c,b,"atBlock_parens");if("}"==a||";"==a)return l(a,b,c);if("{"==a)return j(c)&&i(c,b,C?"block":"top");if("interpolation"==a)return i(c,b,"interpolation");if("word"==a){var d=b.current().toLowerCase();p="only"==d||"not"==d||"and"==d||"or"==d?"keyword":t.hasOwnProperty(d)?"attribute":u.hasOwnProperty(d)?"property":v.hasOwnProperty(d)?"keyword":w.hasOwnProperty(d)?"property":x.hasOwnProperty(d)?"string-2":B.hasOwnProperty(d)?"atom":A.hasOwnProperty(d)?"keyword":"error"}return c.context.type},E.atComponentBlock=function(a,b,c){return"}"==a?l(a,b,c):"{"==a?j(c)&&i(c,b,C?"block":"top",!1):("word"==a&&(p="error"),c.context.type)},E.atBlock_parens=function(a,b,c){return")"==a?j(c):"{"==a||"}"==a?l(a,b,c,2):E.atBlock(a,b,c)},E.restricted_atBlock_before=function(a,b,c){return"{"==a?i(c,b,"restricted_atBlock"):"word"==a&&"@counter-style"==c.stateArg?(p="variable","restricted_atBlock_before"):k(a,b,c)},E.restricted_atBlock=function(a,b,c){return"}"==a?(c.stateArg=null,j(c)):"word"==a?(p="@font-face"==c.stateArg&&!y.hasOwnProperty(b.current().toLowerCase())||"@counter-style"==c.stateArg&&!z.hasOwnProperty(b.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},E.keyframes=function(a,b,c){return"word"==a?(p="variable","keyframes"):"{"==a?i(c,b,"top"):k(a,b,c)},E.at=function(a,b,c){return";"==a?j(c):"{"==a||"}"==a?l(a,b,c):("word"==a?p="tag":"hash"==a&&(p="builtin"),"at")},E.interpolation=function(a,b,c){return"}"==a?j(c):"{"==a||";"==a?l(a,b,c):("word"==a?p="variable":"variable"!=a&&"("!=a&&")"!=a&&(p="error"),"interpolation")},{startState:function(a){return{tokenize:null,state:n?"block":"top",stateArg:null,context:new h(n?"block":"top",a||0,null)}},token:function(a,b){if(!b.tokenize&&a.eatSpace())return null;var c=(b.tokenize||e)(a,b);return c&&"object"==typeof c&&(o=c[1],c=c[0]),p=c,b.state=E[b.state](o,a,b),p},indent:function(a,b){var c=a.context,d=b&&b.charAt(0),e=c.indent;return"prop"!=c.type||"}"!=d&&")"!=d||(c=c.prev),c.prev&&("}"!=d||"block"!=c.type&&"top"!=c.type&&"interpolation"!=c.type&&"restricted_atBlock"!=c.type?(")"!=d||"parens"!=c.type&&"atBlock_parens"!=c.type)&&("{"!=d||"at"!=c.type&&"atBlock"!=c.type)||(e=Math.max(0,c.indent-q),c=c.prev):(c=c.prev,e=c.indent)),e},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace"}});var d=["domain","regexp","url","url-prefix"],e=b(d),f=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],g=b(f),h=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover"],i=b(h),j=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive"],k=b(j),l=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],m=b(l),n=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],o=b(n),p=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],q=b(p),r=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],s=b(r),t=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],u=b(t),v=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],w=b(v),x=d.concat(f).concat(h).concat(j).concat(l).concat(n).concat(t).concat(v); +a.registerHelper("hintWords","css",x),a.defineMIME("text/css",{documentTypes:e,mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,fontProperties:q,counterDescriptors:s,colorKeywords:u,valueKeywords:w,tokenHooks:{"/":function(a,b){return!!a.eat("*")&&(b.tokenize=c,c(a,b))}},name:"css"}),a.defineMIME("text/x-scss",{mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,colorKeywords:u,valueKeywords:w,fontProperties:q,allowNested:!0,tokenHooks:{"/":function(a,b){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(b.tokenize=c,c(a,b)):["operator","operator"]},":":function(a){return!!a.match(/\s*\{/)&&[null,"{"]},$:function(a){return a.match(/^[\w-]+/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(a){return!!a.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),a.defineMIME("text/x-less",{mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,colorKeywords:u,valueKeywords:w,fontProperties:q,allowNested:!0,tokenHooks:{"/":function(a,b){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(b.tokenize=c,c(a,b)):["operator","operator"]},"@":function(a){return a.eat("{")?[null,"interpolation"]:!a.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/,!1)&&(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),a.defineMIME("text/x-gss",{documentTypes:e,mediaTypes:g,mediaFeatures:i,propertyKeywords:m,nonStandardPropertyKeywords:o,fontProperties:q,counterDescriptors:s,colorKeywords:u,valueKeywords:w,supportsAtComponent:!0,tokenHooks:{"/":function(a,b){return!!a.eat("*")&&(b.tokenize=c,c(a,b))}},name:"css",helperType:"gss"})}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("../../lib/codemirror"),b("../xml/xml"),b("../javascript/javascript"),b("../css/css")):"function"==typeof c&&c.amd?c("codemirror/mode/htmlmixed/htmlmixed",["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],a):a(CodeMirror)}(function(a){"use strict";function b(a,b,c){var d=a.current(),e=d.search(b);return e>-1?a.backUp(d.length-e):d.match(/<\/?$/)&&(a.backUp(d.length),a.match(b,!1)||a.match(d)),c}function c(a){var b=i[a];return b?b:i[a]=new RegExp("\\s+"+a+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*")}function d(a,b){var d=a.match(c(b));return d?/^\s*(.*?)\s*$/.exec(d[2])[1]:""}function e(a,b){return new RegExp((b?"^":"")+"","i")}function f(a,b){for(var c in a)for(var d=b[c]||(b[c]=[]),e=a[c],f=e.length-1;f>=0;f--)d.unshift(e[f])}function g(a,b){for(var c=0;c\s\/]/.test(d.current())&&(h=f.htmlState.tagName&&f.htmlState.tagName.toLowerCase())&&k.hasOwnProperty(h))f.inTag=h+" ";else if(f.inTag&&m&&/>$/.test(d.current())){var n=/^([\S]+) (.*)/.exec(f.inTag);f.inTag=null;var o=">"==d.current()&&g(k[n[1]],n[2]),p=a.getMode(c,o),q=e(n[1],!0),r=e(n[1],!1);f.token=function(a,c){return a.match(q,!1)?(c.token=i,c.localState=c.localMode=null,null):b(a,r,c.localMode.token(a,c.localState))},f.localMode=p,f.localState=a.startState(p,j.indent(f.htmlState,""))}else f.inTag&&(f.inTag+=d.current(),d.eol()&&(f.inTag+=" "));return l}var j=a.getMode(c,{name:"xml",htmlMode:!0,multilineTagIndentFactor:d.multilineTagIndentFactor,multilineTagIndentPastTag:d.multilineTagIndentPastTag}),k={},l=d&&d.tags,m=d&&d.scriptTypes;if(f(h,k),l&&f(l,k),m)for(var n=m.length-1;n>=0;n--)k.script.unshift(["type",m[n].matches,m[n].mode]);return{startState:function(){var b=a.startState(j);return{token:i,inTag:null,localMode:null,localState:null,htmlState:b}},copyState:function(b){var c;return b.localState&&(c=a.copyState(b.localMode,b.localState)),{token:b.token,inTag:b.inTag,localMode:b.localMode,localState:c,htmlState:a.copyState(j,b.htmlState)}},token:function(a,b){return b.token(a,b)},indent:function(b,c){return!b.localMode||/^\s*<\//.test(c)?j.indent(b.htmlState,c):b.localMode.indent?b.localMode.indent(b.localState,c):a.Pass},innerMode:function(a){return{state:a.localState||a.htmlState,mode:a.localMode||j}}}},"xml","javascript","css"),a.defineMIME("text/html","htmlmixed")}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("codemirror/lib/codemirror")):"function"==typeof c&&c.amd?c("formatting",["codemirror/lib/codemirror"],a):a(CodeMirror)}(function(a){a.extendMode("css",{commentStart:"/*",commentEnd:"*/",newlineAfterToken:function(a,b){return/^[;{}]$/.test(b)}}),a.extendMode("javascript",{commentStart:"/*",commentEnd:"*/",newlineAfterToken:function(a,b,c,d){return this.jsonMode?/^[\[,{]$/.test(b)||/^}/.test(c):(";"!=b||!d.lexical||")"!=d.lexical.type)&&(/^[;{}]$/.test(b)&&!/^;/.test(c))}});var b=/^(a|abbr|acronym|area|base|bdo|big|br|button|caption|cite|code|col|colgroup|dd|del|dfn|em|frame|hr|iframe|img|input|ins|kbd|label|legend|link|map|object|optgroup|option|param|q|samp|script|select|small|span|strong|sub|sup|textarea|tt|var)$/;a.extendMode("xml",{commentStart:"",newlineAfterToken:function(a,c,d,e){var f=!1;return"html"==this.configuration&&(f=!!e.context&&b.test(e.context.tagName)),!f&&("tag"==a&&/>$/.test(c)&&e.context||/^-1&&h>-1&&h>g&&(a=a.substr(0,g)+a.substring(g+f.commentStart.length,h)+a.substr(h+f.commentEnd.length)),e.replaceRange(a,c,d)}})}),a.defineExtension("autoIndentRange",function(a,b){var c=this;this.operation(function(){for(var d=a.line;d<=b.line;d++)c.indentLine(d,"smart")})}),a.defineExtension("autoFormatRange",function(b,c){function d(){j+="\n",l=!0,++k}for(var e=this,f=e.getMode(),g=e.getRange(b,c).split("\n"),h=a.copyState(f,e.getTokenAt(b).state),i=e.getOption("tabSize"),j="",k=0,l=0===b.ch,m=0;m\n\t
<%= label %>
\n\t
\n\n'}),c("CodeManager/view/EditorView",["backbone","text!./../template/editor.html"],function(a,b){return a.View.extend({template:_.template(b),initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix},render:function(){var a=this.model.toJSON();return a.pfx=this.pfx,this.$el.html(this.template(a)),this.$el.attr("class",this.pfx+"editor-c"),this.$el.find("#"+this.pfx+"code").html(this.model.get("input")),this}})}),c("CodeManager/main",["require","./config/config","./model/HtmlGenerator","./model/CssGenerator","./model/JsonGenerator","./model/CodeMirrorEditor","./view/EditorView"],function(a){var b=function(){var b={},c=a("./config/config"),d=a("./model/HtmlGenerator"),e=a("./model/CssGenerator"),f=a("./model/JsonGenerator"),g=a("./model/CodeMirrorEditor"),h=a("./view/EditorView"),i={},j={},k={},l={};return{getConfig:function(){return b},config:b,EditorView:h,name:"CodeManager",init:function(a){b=a||{};for(var h in c)h in b||(b[h]=c[h]);var i=b.pStylePrefix;return i&&(b.stylePrefix=i+b.stylePrefix),j.html=new d,j.css=new e,j.json=new f,l.CodeMirror=new g,this},onLoad:function(){this.loadDefaultGenerators().loadDefaultViewers()},addGenerator:function(a,b){return i[a]=b,this},getGenerator:function(a){return i[a]||null},getGenerators:function(){return i},addViewer:function(a,b){return k[a]=b,this},getViewer:function(a){return k[a]||null},getViewers:function(){return k},updateViewer:function(a,b){a.setContent(b)},getCode:function(a,b,c){var d=this.getGenerator(b);return d?d.build(a,c):""},loadDefaultGenerators:function(){for(var a in j)this.addGenerator(a,j[a]);return this},loadDefaultViewers:function(){for(var a in l)this.addViewer(a,l[a]);return this}}};return b}),c("CodeManager",["CodeManager/main"],function(a){return a}),c("Panels/config/config",[],function(){var a="create-comp",b="move-comp",c="sw-visibility",d="export-template",e="open-sm",f="open-tm",g="open-layers",h="open-blocks",i="fullscreen",j="preview";return{stylePrefix:"pn-",defaults:[{id:"commands",buttons:[{id:a,command:a,className:"fa fa-pencil-square-o",attributes:{title:"Create element"},stopDefaultCommand:1},{id:b,command:b,className:"fa fa-arrows",attributes:{title:"Move elements"},stopDefaultCommand:1}]},{id:"options",buttons:[{active:!0,id:c,className:"fa fa-square-o",command:c,context:c,attributes:{title:"View components"}},{id:j,className:"fa fa-eye",command:j,context:j,stopDefaultCommand:1,attributes:{title:"Preview"}},{id:i,className:"fa fa-arrows-alt",command:i,context:i,attributes:{title:"Fullscreen"}},{id:d,className:"fa fa-code",command:d,attributes:{title:"View code"}}]},{id:"views",buttons:[{id:e,className:"fa fa-paint-brush",command:e,active:!0,attributes:{title:"Open Style Manager"}},{id:f,className:"fa fa-cog",command:f,attributes:{title:"Settings"}},{id:g,className:"fa fa-bars",command:g,attributes:{title:"Open Layer Manager"}},{id:h,className:"fa fa-th-large",command:h,attributes:{title:"Open Blocks"}}]}],em:null,delayBtnsShow:300}}),c("Panels/model/Button",["backbone","require"],function(a,b){return a.Model.extend({defaults:{id:"",className:"",command:"",context:"",buttons:[],attributes:{},options:{},active:!1,dragDrop:!1,runDefaultCommand:!0,stopDefaultCommand:!1},initialize:function(a){if(this.get("buttons").length){var c=b("./Buttons");this.set("buttons",new c(this.get("buttons")))}}})}),c("Panels/model/Buttons",["backbone","./Button"],function(a,b){return a.Collection.extend({model:b,deactivateAllExceptOne:function(a,b){this.forEach(function(c,d){c!==a&&(c.set("active",!1),b&&c.get("buttons").length&&c.get("buttons").deactivateAllExceptOne(a,b))})},deactivateAll:function(a){var b=a||"";this.forEach(function(a,c){a.get("context")==b&&(a.set("active",!1),a.get("buttons").length&&a.get("buttons").deactivateAll(b))})}})}),c("Panels/model/Panel",["backbone","./Buttons"],function(a,b){return a.Model.extend({defaults:{id:"",content:"",visible:!0,buttons:[]},initialize:function(a){this.btn=this.get("buttons")||[],this.buttons=new b(this.btn),this.set("buttons",this.buttons)}})}),c("Panels/model/Panels",["backbone","./Panel"],function(a,b){return a.Collection.extend({model:b})}),c("Panels/view/ButtonView",["backbone","require"],function(a,b){return a.View.extend({tagName:"span",initialize:function(a){_.bindAll(this,"startTimer","stopTimer","showButtons","hideButtons","closeOnKeyPress","onDrop","initSorter","stopDrag");var b=this.model.get("className");this.config=a.config||{},this.em=this.config.em||{},this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.id=this.pfx+this.model.get("id"),this.activeCls=this.pfx+"active",this.btnsVisCls=this.pfx+"visible",this.parentM=a.parentM||null,this.className=this.pfx+"btn"+(b?" "+b:""),this.listenTo(this.model,"change:active updateActive",this.updateActive),this.listenTo(this.model,"checkActive",this.checkActive),this.listenTo(this.model,"change:bntsVis",this.updateBtnsVis),this.listenTo(this.model,"change:attributes",this.updateAttributes),this.listenTo(this.model,"change:className",this.updateClassName),this.model.get("buttons").length&&(this.$el.on("mousedown",this.startTimer),this.$el.append($("
",{"class":this.pfx+"arrow-rd"}))),this.em&&this.em.get&&(this.commands=this.em.get("Commands")),this.events={},this.model.get("dragDrop")?(this.events.mousedown="initDrag",this.em.on("loaded",this.initSorter)):this.events.click="clicked",this.delegateEvents()},initSorter:function(){if(this.em.Canvas){var a=this.em.Canvas;this.canvasEl=a.getBody(),this.sorter=new this.em.Utils.Sorter({container:this.canvasEl,placer:a.getPlacerEl(),containerSel:"*",itemSel:"*",pfx:this.ppfx,onMove:this.onDrag,onEndMove:this.onDrop,document:a.getFrameEl().contentDocument,direction:"a",wmargin:1,nested:1});var b=a.getOffset();this.sorter.offTop=b.top,this.sorter.offLeft=b.left}},initDrag:function(){this.model.collection.deactivateAll(this.model.get("context")),this.sorter.startSort(this.el),this.sorter.setDropContent(this.model.get("options").content),this.canvasEl.style.cursor="grabbing",$(document).on("mouseup",this.stopDrag)},stopDrag:function(){$(document).off("mouseup",this.stopDrag),this.sorter.endMove()},onDrag:function(a){},onDrop:function(a){this.canvasEl.style.cursor="default"},updateClassName:function(){var a=this.model.get("className");this.$el.attr("class",this.pfx+"btn"+(a?" "+a:""))},updateAttributes:function(){this.$el.attr(this.model.get("attributes"))},updateBtnsVis:function(){this.$buttons&&(this.model.get("bntsVis")?this.$buttons.addClass(this.btnsVisCls):this.$buttons.removeClass(this.btnsVisCls))},startTimer:function(){this.timeout=setTimeout(this.showButtons,this.config.delayBtnsShow),$(document).on("mouseup",this.stopTimer)},stopTimer:function(){$(document).off("mouseup",this.stopTimer),this.timeout&&clearTimeout(this.timeout)},showButtons:function(){clearTimeout(this.timeout),this.model.set("bntsVis",!0),$(document).on("mousedown",this.hideButtons),$(document).on("keypress",this.closeOnKeyPress)},hideButtons:function(a){a&&$(a.target).trigger("click"),this.model.set("bntsVis",!1),$(document).off("mousedown",this.hideButtons),$(document).off("keypress",this.closeOnKeyPress)},closeOnKeyPress:function(a){var b=a.which||a.keyCode;27==b&&this.hideButtons()},updateActive:function(){var a=null,b=this.em&&this.em.get?this.em.get("Editor"):null,c=this.model.get("command");this.commands&&"string"==typeof c?a=this.commands.get(c):null!==c&&"object"==typeof c?a=c:"function"==typeof c&&(a={run:c}),this.model.get("active")?(this.model.collection.deactivateAll(this.model.get("context")),this.model.set("active",!0,{silent:!0}).trigger("checkActive"),this.parentM&&this.parentM.set("active",!0,{silent:!0}).trigger("checkActive"),a&&a.run&&(a.run(b,this.model,this.model.get("options")),b.trigger("run:"+c))):(this.$el.removeClass(this.activeCls),this.model.collection.deactivateAll(this.model.get("context")),this.parentM&&this.parentM.set("active",!1,{silent:!0}).trigger("checkActive"),a&&a.stop&&(a.stop(b,this.model,this.model.get("options")),b.trigger("stop:"+c)))},checkActive:function(){this.model.get("active")?this.$el.addClass(this.activeCls):this.$el.removeClass(this.activeCls)},clicked:function(a){if(!this.model.get("bntsVis")){this.parentM&&this.swapParent();var b=this.model.get("active");this.model.set("active",!b);this.em.get("Commands").get("select-comp");b?this.model.get("runDefaultCommand")&&this.em.runDefault():this.model.get("stopDefaultCommand")&&this.em.stopDefault()}},swapParent:function(){this.parentM.collection.deactivateAll(this.model.get("context")),this.parentM.set("attributes",this.model.get("attributes")),this.parentM.set("options",this.model.get("options")),this.parentM.set("command",this.model.get("command")),this.parentM.set("className",this.model.get("className")),this.parentM.set("active",!0,{silent:!0}).trigger("checkActive")},render:function(){if(this.updateAttributes(),this.$el.attr("class",this.className),this.model.get("buttons").length){var a=b("./ButtonsView"),c=new a({collection:this.model.get("buttons"),config:this.config,parentM:this.model});this.$buttons=c.render().$el,this.$buttons.append($("
",{"class":this.pfx+"arrow-l"})),this.$el.append(this.$buttons)}return this}})}),c("Panels/view/ButtonsView",["backbone","./ButtonView"],function(a,b){return a.View.extend({initialize:function(a){this.opt=a||{},this.config=this.opt.config||{},this.pfx=this.config.stylePrefix||"",this.parentM=this.opt.parentM||null,this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"reset",this.render),this.className=this.pfx+"buttons"},addTo:function(a){this.addToCollection(a)},addToCollection:function(a,c){var d=c||null,e=b,f=new e({model:a,config:this.config,parentM:this.parentM}),g=f.render().el;return d?d.appendChild(g):this.$el.append(g),g},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addToCollection(b,a)},this),this.$el.append(a),this.$el.attr("class",_.result(this,"className")),this}})}),c("Panels/view/PanelView",["backbone","./ButtonsView"],function(a,b){return a.View.extend({initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.buttons=this.model.get("buttons"),this.className=this.pfx+"panel",this.id=this.pfx+this.model.get("id"),this.listenTo(this.model,"change:appendContent",this.appendContent),this.listenTo(this.model,"change:content",this.updateContent)},appendContent:function(){this.$el.append(this.model.get("appendContent"))},updateContent:function(){this.$el.html(this.model.get("content"))},render:function(){if(this.$el.attr("class",_.result(this,"className")),this.id&&this.$el.attr("id",this.id),this.buttons.length){var a=new b({collection:this.buttons,config:this.config});this.$el.append(a.render().el)}return this.$el.append(this.model.get("content")),this}})}),c("Panels/view/PanelsView",["backbone","./PanelView"],function(a,b){return a.View.extend({initialize:function(a){this.opt=a||{},this.config=this.opt.config||{},this.pfx=this.config.stylePrefix||"",this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"reset",this.render),this.className=this.pfx+"panels"},addTo:function(a){this.addToCollection(a)},addToCollection:function(a,c){var d=c||null,e=b,f=new e({model:a,config:this.config}),g=f.render().el;return d?d.appendChild(g):this.$el.append(g),g},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addToCollection(b,a)},this),this.$el.append(a),this.$el.attr("class",_.result(this,"className")),this}})}),c("Panels/main",["require","./config/config","./model/Panel","./model/Panels","./view/PanelView","./view/PanelsView"],function(a){return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Panel"),g=a("./model/Panels"),h=(a("./view/PanelView"),a("./view/PanelsView"));return{name:"Panels",init:function(a){d=a||{};for(var f in e)f in d||(d[f]=e[f]);var i=d.pStylePrefix;return i&&(d.stylePrefix=i+d.stylePrefix),b=new g(d.defaults),c=new h({collection:b,config:d}),this},getPanels:function(){return b},getPanelsEl:function(){return c.el},addPanel:function(a){return b.add(a)},getPanel:function(a){var c=b.where({id:a});return c.length?c[0]:null},addButton:function(a,b){var c=this.getPanel(a);return c?c.get("buttons").add(b):null},getButton:function(a,b){var c=this.getPanel(a);if(c){var d=c.get("buttons").where({id:b});return d.length?d[0]:null}return null},render:function(){return c.render().el},active:function(){this.getPanels().each(function(a){a.get("buttons").each(function(a){a.get("active")&&a.trigger("updateActive")})})},Panel:f}}}),c("Panels",["Panels/main"],function(a){return a}),c("RichTextEditor/config/config",[],function(){return{stylePrefix:"rte-",toolbarId:"toolbar",containerId:"wrapper",commands:[{command:"bold",title:"Bold","class":"fa fa-bold"},{command:"italic",title:"Italic","class":"fa fa-italic"},{command:"underline",title:"Underline","class":"fa fa-underline"},{command:"strikethrough",title:"Strikethrough","class":"fa fa-strikethrough",group:"format"},{command:"insertHTML",title:"Link","class":"fa fa-link",args:'${content}'}]}}),c("RichTextEditor/view/TextEditorView",["jquery"],function(a){var b=function(b){var c=a.Deferred(),d=new FileReader;return d.onload=function(a){c.resolve(a.target.result)},d.onerror=c.reject,d.onprogress=c.notify,d.readAsDataURL(b),c.promise()};return a.fn.cleanHtml=function(){var b=a(this).html();return b&&b.replace(/(
|\s|

<\/div>| )*$/,"")},a.fn.wysiwyg=function(c){var d,e,f,g=this,h=function(){var b=e.activeToolbarClass;b&&a(e.toolbarSelector).find(f).each(function(){var c=a(this),d=c.data(e.commandRole),f=g.get(0).ownerDocument;f.queryCommandState(d)?c.addClass(b):c.removeClass(b)})},i=function(a,b){var c=a.split(" "),d=c.shift(),e=c.join(" ")+(b||"");g.get(0).ownerDocument.execCommand("styleWithCSS",!1,!0),g.get(0).ownerDocument.execCommand(d,0,e),h(),g.trigger("change")},j=function(){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount)return a.getRangeAt(0)},k=function(){d=j()},l=function(){var a=window.getSelection();if(d){try{a.removeAllRanges()}catch(b){document.body.createTextRange().select(),document.selection.empty()}a.addRange(d)}},m=function(c){g.focus(),a.each(c,function(c,d){/^image\//.test(d.type)?a.when(b(d)).done(function(a){i("insertimage",a)}).fail(function(a){e.fileUploadError("file-reader",a)}):e.fileUploadError("unsupported-file-type",d.type)})},n=function(a,b){l(),document.queryCommandSupported("hiliteColor")&&document.execCommand("hiliteColor",0,b||"transparent"),k(),a.data(e.selectionMarker,b)},o=function(b,c){b.find(f).unbind().click(function(){l();var b=g.get(0).ownerDocument,d=a(this),e=d.data(c.commandRole),f=d.data("args");f?(f=f.replace("${content}",b.getSelection()),i(e,f)):b.execCommand(e),k()}),b.find("[data-toggle=dropdown]").click(l);var d="[data-"+c.commandRole+"]";b.find("select"+d).on("webkitspeechchange change",function(){var b=this.value;l(),b&&(g.focus(),i(a(this).data(c.commandRole),b)),k()}),b.find("input[type=text]"+d,", select"+d).on("webkitspeechchange change",function(){var b=this.value;this.value="",l(),b&&(g.focus(),i(a(this).data(c.commandRole),b)),k()}).on("focus",function(){var b=a(this);b.data(c.selectionMarker)||(n(b,c.selectionColor),b.focus())}).on("blur",function(){var b=a(this);b.data(c.selectionMarker)&&n(b,!1)}),b.find("input[type=file][data-"+c.commandRole+"]").change(function(){l(),"file"===this.type&&this.files&&this.files.length>0&&m(this.files),k(),this.value=""})},p=function(){g.on("dragenter dragover",!1).on("drop",function(a){var b=a.originalEvent.dataTransfer;a.stopPropagation(),a.preventDefault(),b&&b.files&&b.files.length>0&&m(b.files)})};if("string"==typeof c&&"destroy"==c)return g.attr("contenteditable",!1).unbind("mouseup keyup mouseout dragenter dragover"),a(window).unbind("touchend"),this;e=a.extend({},a.fn.wysiwyg.defaults,c);var q="[data-"+e.commandRole+"]";return f="a"+q+",button"+q+",input[type=button]"+q+", select"+q,e.dragAndDropImages&&p(),o(a(e.toolbarSelector),e),g.attr("contenteditable",!0).on("mouseup keyup mouseout",function(){k(),h()}),a(window).bind("touchend",function(a){var b=g.is(a.target)||g.has(a.target).length>0,c=j(),d=c&&c.startContainer===c.endContainer&&c.startOffset===c.endOffset;d&&!b||(k(),h())}),this},a.fn.wysiwyg.defaults={toolbarSelector:"[data-role=editor-toolbar]",commandRole:"edit",activeToolbarClass:"btn-info",selectionMarker:"edit-focus-marker",selectionColor:"darkgrey",dragAndDropImages:!0,fileUploadError:function(a,b){console.log("File upload error",a,b)}},a}),c("RichTextEditor/model/CommandButton",["backbone"],function(a){return a.Model.extend({idAttribute:"command",defaults:{command:"",type:"",title:"","class":"",options:[]},initialize:function(){var a=this.get("options");a.length&&this.set("type","select")}})}),c("RichTextEditor/model/CommandButtons",["backbone","./CommandButton"],function(a,b){return a.Collection.extend({model:b})}),c("RichTextEditor/view/CommandButtonView",["backbone"],function(a){return a.View.extend({tagName:"a",initialize:function(a,b){this.config=b||{},this.ppfx=this.config.pStylePrefix||"",this.className=this.config.stylePrefix+"btn "+this.model.get("class")},render:function(){return this.$el.addClass(this.className),this}})}),c("RichTextEditor/view/CommandButtonSelectView",["backbone","./CommandButtonView"],function(a,b){return b.extend({initialize:function(a,c){b.prototype.initialize.apply(this,arguments)},getInput:function(){var a=this.model;if(!this.input){var b=a.get("command"),c='",this.input=$(c)}return this.input},getInputCont:function(){var a=this.getInput(),b=this.ppfx,c=$('
');return c.append(a)},render:function(){return b.prototype.render.apply(this,arguments),this.$el.html(this.getInputCont()),this}})}),c("RichTextEditor/view/CommandButtonsView",["backbone","./CommandButtonView","./CommandButtonSelectView"],function(a,b,c){return a.View.extend({attributes:{"data-role":"editor-toolbar"},initialize:function(a){this.config=a.config||{};var b=this.config.stylePrefix||"";this.id=b+this.config.toolbarId,this.listenTo(this.collection,"add",this.addTo),this.$el.data("helper",1)},addTo:function(a){this.add(a)},add:function(a,d){var e=d||null,f=b;switch(a.get("type")){case"select":f=c}var g=a.get("args"),h={title:a.get("title"),"data-edit":a.get("command")};g&&(h["data-args"]=g);var i=new f({model:a,attributes:h},this.config),j=i.render().el;e?e.appendChild(j):this.$el.append(j)},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.add(b,a)},this),this.$el.append(a),this.$el.attr("id",this.id),this}})}),c("RichTextEditor/main",["require","./config/config","./view/TextEditorView","./model/CommandButtons","./view/CommandButtonsView"],function(a){return function(){var b,c,d,e,f={},g=a("./config/config"),h=(a("./view/TextEditorView"),a("./model/CommandButtons")),i=a("./view/CommandButtonsView");return{customRte:null,name:"rte",init:function(a){e=this,f=a||{};for(var j in g)j in f||(f[j]=g[j]);var k=f.pStylePrefix;return k&&(f.stylePrefix=k+f.stylePrefix),b=f.stylePrefix,d=new h(f.commands),c=new i({collection:d,config:f}),this},add:function(a,b){var c=b||{};return c.command=a,d.add(c)},get:function(a){return d.where({command:a})[0]},getAll:function(){return d},udpatePosition:function(){var a="px",b=f.em.get("Canvas"),d=b.getTargetToElementDim(c.el,this.lastEl,{event:"rteToolbarPosUpdate"}),e=c.el.style;e.top=d.top+a,e.left=d.left+a},attach:function(a,b){this.lastEl=a.el;var d=this.customRte;return d?b=d.enable(a.el,b):a.$el.wysiwyg({}).focus(),this.show(),f.em&&(setTimeout(this.udpatePosition.bind(this),0),f.em.off("change:canvasOffset",this.udpatePosition,this),f.em.on("change:canvasOffset",this.udpatePosition,this),f.em.off("canvasScroll",this.udpatePosition,this),f.em.on("canvasScroll",this.udpatePosition,this)),c.$el.on("mousedown",this.disableProp),b},detach:function(a,b){var d=this.customRte;d?(a.model.set("content",a.el.innerHTML),d.disable(a.el,b)):a.$el.wysiwyg("destroy"),this.hide(),c.$el.off("mousedown",this.disableProp)},focus:function(a,b){var c=this.customRte;c?c.focus(a.el,b):this.attach(a)},show:function(){var a=c.el.style;a.display="block"},hide:function(){c.el.style.display="none"},disableProp:function(a){a.stopPropagation()},getToolbarEl:function(){return c.el},render:function(){return c.render().el}}}}),c("RichTextEditor",["RichTextEditor/main"],function(a){return a}),c("StyleManager/config/config",[],function(){return{stylePrefix:"sm-",sectors:[],textNoElement:"Select an element before using Style Manager"}}),c("StyleManager/model/Layer",["backbone"],function(a){return a.Model.extend({defaults:{index:"",active:!0,value:"",values:{},preview:!1},initialize:function(){var a=this.get("value");if(!a){var b="",c=this.get("values");for(var d in c)b+=" "+c[d];this.set("value",b.trim())}}})}),c("StyleManager/model/Layers",["backbone","./Layer"],function(a,b){return a.Collection.extend({model:b,initialize:function(){this.idx=1,this.on("add",this.onAdd),this.on("reset",this.onReset)},onAdd:function(a,b,c){c.noIncrement||a.set("index",this.idx++)},onReset:function(){this.idx=1}})}),c("StyleManager/model/Property",["backbone","./Layers","require"],function(a,b,c){return a.Model.extend({defaults:{name:"",property:"",type:"",units:[],unit:"",defaults:"",info:"",value:"",icon:"",preview:!1,detached:!1,functionName:"",properties:[],layers:[],list:[],fixedValues:["initial","inherit"]},initialize:function(a){var d=this.get("type"),e=this.get("name"),f=this.get("property"),g=this.get("properties");if(e||this.set("name",f.charAt(0).toUpperCase()+f.slice(1).replace(/-/g," ")),g.length){var h=c("./Properties");this.set("properties",new h(g))}switch(d){case"stack":this.set("layers",new b)}},getValue:function(){var a="",b=this.get("type");switch(b){case"integer":a=this.get("value")+this.get("unit");break;default:a=this.get("value")}return a}})}),c("StyleManager/model/Properties",["backbone","./Property"],function(a,b){return a.Collection.extend({model:b})}),c("StyleManager/model/PropertyFactory",["backbone"],function(a){return function(){return{build:function(a){var b=[];"string"==typeof a&&(a=[a]);for(var c=0,d=a.length;c\n\t
\n\t\t<%= label %>\n\t
\n
'}),c("text!StyleManager/templates/propertyInput.html",[],function(){return'
\n\tinput-holder\'>\n
\n
\n'}),c("StyleManager/view/PropertyView",["backbone","text!./../templates/propertyLabel.html","text!./../templates/propertyInput.html"],function(a,b,c){return a.View.extend({template:_.template(c),templateLabel:_.template(b),events:{change:"valueUpdated"},initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.target=a.target||{},this.propTarget=a.propTarget||{},this.onChange=a.onChange||{},this.onInputRender=a.onInputRender||{},this.customValue=a.customValue||{},this.defaultValue=this.model.get("defaults"),this.property=this.model.get("property"),this.input=this.$input=null,this.className=this.pfx+"property",this.inputHolderId="#"+this.pfx+"input-holder",this.model.get("value")||this.model.set("value",this.model.get("defaults")),this.listenTo(this.model,"destroy remove",this.remove),this.listenTo(this.propTarget,"update",this.targetUpdated),this.listenTo(this.model,"change:value",this.valueChanged),this.listenTo(this.model,"targetUpdated",this.targetUpdated)},getTarget:function(){return this.selectedComponent?this.selectedComponent:this.propTarget?this.propTarget.model:null},valueUpdated:function(){this.$input&&this.model.set("value",this.getInputValue())},targetUpdated:function(){this.selectedComponent=this.propTarget.model,this.helperComponent=this.propTarget.helper,this.getTarget()&&(this.sameValue()||this.renderInputRequest())},sameValue:function(){return this.getComponentValue()==this.model.get("value")+this.model.get("unit")},getComponentValue:function(){var a=this.getTarget();if(a){var b=a.get("style")[this.property];if(b?this.componentValue=b:this.componentValue=this.defaultValue+(this.unit||""),this.model.get("functionName")){var c=this.fetchFromFunction(this.componentValue);c&&(this.componentValue=c)}if(this.customValue&&"function"==typeof this.customValue){var d=this.model.collection.indexOf(this.model),e=this.customValue(this,d);e&&(this.componentValue=e)}return this.componentValue}},fetchFromFunction:function(a){return a.substring(a.indexOf("(")+1,a.lastIndexOf(")"))},getValueForTarget:function(){return this.model.getValue()},getInputValue:function(){return this.$input?this.$input.val():""},valueChanged:function(a,b,c){var d=this.getValueForTarget();if(this.$input&&this.setValue(d),this.getTarget()&&this.isTargetStylable()){value=this.getValueForTarget();var e=this.model.get("functionName");e&&(value=e+"("+value+")");var f=this.getTarget(),g=this.onChange;g&&"function"==typeof g?g(f,this,c):this.updateTargetStyle(value,null,c);var h=this.config.em;if(h){var i=this.model;h.trigger("component:update",i),h.trigger("component:styleUpdate",i),h.trigger("component:styleUpdate:"+i.get("property"),i)}}},updateTargetStyle:function(a,b,c){var d=b||this.property,e=a||"",f=c?c.avoidStore:0,g=this.getTarget(),h=_.clone(g.get("style"));e?h[d]=e:delete h[d],g.set("style",h,{avoidStore:f}),this.helperComponent&&this.helperComponent.set("style",h,{avoidStore:f})},isTargetStylable:function(){var a=this.getTarget().get("stylable");return a instanceof Array&&(a=_.indexOf(a,this.property)>=0),a},setValue:function(a,b){var c=0===b?0:1,d=this.model.get("defaults"),e=this.model.get("value")||d;(a||c)&&(e=a),this.$input&&this.$input.val(e),this.model.set({value:e},{silent:!0})},renderLabel:function(){this.$el.html(this.templateLabel({pfx:this.pfx,ppfx:this.ppfx,icon:this.model.get("icon"),info:this.model.get("info"),label:this.model.get("name")}))},renderField:function(){this.renderTemplate(),this.renderInput(),delete this.componentValue},renderTemplate:function(){this.$el.append(this.template({pfx:this.pfx,ppfx:this.ppfx,icon:this.model.get("icon"),info:this.model.get("info"),label:this.model.get("name")}))},renderInput:function(){this.$input||(this.$input=$("",{placeholder:this.model.get("defaults"),type:"text"}),this.$el.find(this.inputHolderId).html(this.$input)),this.setValue(this.componentValue,0)},renderInputRequest:function(){this.renderInput()},cleanValue:function(){this.setValue("")},render:function(){return this.renderLabel(),this.renderField(),this.$el.attr("class",this.className),this}})}),c("text!Abstract/ui/templates/inputNumber.html",[],function(){return'input-holder\'>\nfield-units\'>\n
\n\t
\n\t
\n
\n'}),c("Abstract/ui/InputNumber",["backbone","text!./templates/inputNumber.html"],function(a,b){return a.View.extend({events:{},template:_.template(b),initialize:function(a){_.bindAll(this,"moveIncrement","upIncrement");var b=a.ppfx||"";this.ppfx=b,this.docEl=$(document),this.inputCls=b+"input-number",this.unitCls=b+"input-unit",this.events["click ."+b+"field-arrow-u"]="upArrowClick",this.events["click ."+b+"field-arrow-d"]="downArrowClick",this.events["mousedown ."+b+"field-arrows"]="downIncrement",this.events["change ."+this.inputCls]="handleChange",this.events["change ."+this.unitCls]="handleUnitChange",this.listenTo(this.model,"change:unit change:value",this.handleModelChange),this.delegateEvents()},setValue:function(a,b){var c=b||{},d=this.validateInputValue(a,{deepCheck:1}),e={value:d.value};(d.unit||d.force)&&(e.unit=d.unit),this.model.set(e,c),c.silent&&this.handleModelChange()},handleChange:function(a){a.stopPropagation(),this.setValue(this.getInputEl().value)},handleUnitChange:function(a){a.stopPropagation();var b=this.getUnitEl().value;this.model.set("unit",b)},handleModelChange:function(){var a=this.model;this.getInputEl().value=a.get("value");var b=this.getUnitEl();b&&(b.value=a.get("unit"))},getInputEl:function(){return this.inputEl||(this.inputEl=$("",{type:"text","class":this.inputCls,placeholder:this.model.get("defaults")})),this.inputEl.get(0)},getUnitEl:function(){if(!this.unitEl){var a=this.model,b=a.get("units")||[];if(b.length){var c='",this.unitEl=$(c)}}return this.unitEl&&this.unitEl.get(0)},upArrowClick:function(){var a=this.model.get("value");a=isNaN(a)?1:parseInt(a,10)+1;var b=this.validateInputValue(a);this.model.set("value",b.value)},downArrowClick:function(){var a=this.model.get("value");a=isNaN(a)?0:parseInt(a,10)-1;var b=this.validateInputValue(a);this.model.set("value",b.value)},downIncrement:function(a){a.preventDefault(),this.moved=0;var b=this.model.get("value");b=isNaN(b)?0:parseInt(b,10);var c={y:a.pageY,val:b};this.docEl.mouseup(c,this.upIncrement),this.docEl.mousemove(c,this.moveIncrement)},moveIncrement:function(a){this.moved=1;var b=parseInt(a.data.val-a.pageY+a.data.y,10);return this.prValue=this.validateInputValue(b).value,this.model.set("value",this.prValue,{avoidStore:1}),!1},upIncrement:function(a){if(this.docEl.off("mouseup",this.upIncrement),this.docEl.off("mousemove",this.moveIncrement),this.prValue&&this.moved){var b=this.prValue-1;this.model.set("value",b,{avoidStore:1}).set("value",b+1)}},validateInputValue:function(a,b){var c=0,d=b||{},e=this.model,f=a||e.get("defaults"),g=e.get("units")||[],h=e.get("unit")||g.length&&g[0]||"",i=e.get("max"),j=e.get("min");if(d.deepCheck){var k=e.get("fixedValues")||[];if(f){var l=new RegExp("^"+k.join("|"),"g");if(k.length&&l.test(f))f=f.match(l)[0],h="",c=1;else{var m=f+"";f+="",f=parseFloat(f.replace(",",".")),f=isNaN(f)?e.get("defaults"):f;var n=m.replace(f,"");_.indexOf(g,n)>=0&&(h=n)}}}return"undefined"!=typeof i&&(f=f>i?i:f),"undefined"!=typeof j&&(f=f\n\tinput-holder\'>\n
\n
\n'}),c("StyleManager/view/PropertyRadioView",["backbone","./PropertyView","text!./../templates/propertyRadio.html"],function(a,b,c){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),this.list=this.model.get("list")||[],this.className=this.className+" "+this.pfx+"list"},renderInput:function(){var a=this.pfx,b=this.ppfx,c=b+"radio-item-label";this.$input||this.list&&this.list.length&&(this.input="",_.each(this.list,function(d){var e=d.className?d.className+" "+a+"icon "+c:"",f=this.property+"-"+d.value,g=d.name?d.name:d.value;titleAttr=d.title?'title="'+d.title+'"':"",this.input+='
"},this),this.$inputEl=$(this.input),this.$el.find("#"+a+"input-holder").html(this.$inputEl),this.$input=this.$inputEl.find('input[name="'+this.property+'"]')),this.setValue(this.componentValue)},getInputValue:function(){return this.$input?this.$el.find("input:checked").val():""},setValue:function(a){var b=this.model.get("value")||this.defaultValue;a&&(b=a),this.$input&&this.$input.filter('[value="'+b+'"]').prop("checked",!0),this.model.set({value:b},{silent:!0})}})}),c("text!StyleManager/templates/propertySelect.html",[],function(){return'
\n\tinput-holder\'>\n\t
\n\t\t
\n\t
\n
\n
\n'}),c("StyleManager/view/PropertySelectView",["backbone","./PropertyView","text!./../templates/propertySelect.html"],function(a,b,c){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),this.list=this.model.get("list")||[]},renderInput:function(){var a=this.pfx;this.$input||(this.input="",this.$input=$(this.input),this.$el.find("#"+a+"input-holder").html(this.$input)),this.setValue(this.componentValue,0)}})}),c("text!Abstract/ui/templates/input.html",[],function(){return"\n"}),c("Abstract/ui/Input",["backbone","text!./templates/input.html"],function(a,b){return a.View.extend({events:{change:"handleChange"},template:_.template(b),initialize:function(a){var b=a||{},c=b.ppfx||"";this.target=b.target||{},this.inputClass=c+"field",this.inputHolderClass=c+"input-holder",this.ppfx=c,this.listenTo(this.model,"change:value",this.handleModelChange)},handleChange:function(a){a.stopPropagation(),this.setValue(this.getInputEl().value)},setValue:function(a,b){var c=b||{},d=this.model;d.set({value:a||d.get("defaults")},c),c.silent&&this.handleModelChange()},handleModelChange:function(){this.getInputEl().value=this.model.get("value")},getInputEl:function(){return this.inputEl||(this.inputEl=$("",{type:"text","class":this.inputCls,placeholder:this.model.get("defaults")})),this.inputEl.get(0)},render:function(){var a=this.$el;return a.addClass(this.inputClass),a.html(this.template({holderClass:this.inputHolderClass,ppfx:this.ppfx})),a.find("."+this.inputHolderClass).html(this.getInputEl()),this}})}),function(a){"use strict";"function"==typeof c&&c.amd?c("Spectrum",["jquery"],a):"object"==typeof exports&&"object"==typeof module?module.exports=a(b("jquery")):a(jQuery)}(function(a,b){"use strict";function c(b,c,d,e){for(var f=[],g=0;g')}else{var m="sp-clear-display";f.push(a("
").append(a('').attr("title",e.noColorSelectedText)).html())}}return"
"+f.join("")+"
"}function d(){for(var a=0;aMath.abs(b-e);ta=f?"x":"y"}}else ta=null;var g=!ta||"x"===ta,h=!ta||"y"===ta;g&&(ka=parseFloat(a/ba)),h&&(la=parseFloat((ca-b)/ca)),Xa=!1,U.showAlpha||(ma=1),K()},y,z),Ta?(H(Ta),L(),Va=U.preferredFormat||tinycolor(Ta).format,u(Ta)):L(),V&&C();var d=p?"mousedown.spectrum":"click.spectrum touchstart.spectrum";Ha.delegate(".sp-thumb-el",d,b),Ia.delegate(".sp-thumb-el:nth-child(1)",d,{ignore:!0},b)}function t(){if(X&&window.localStorage){try{var b=window.localStorage[X].split(",#");b.length>1&&(delete window.localStorage[X],a.each(b,function(a,b){u(b)}))}catch(c){}try{qa=window.localStorage[X].split(";")}catch(c){}}}function u(b){if(W){var c=tinycolor(b).toRgbString();if(!pa[c]&&a.inArray(c,qa)===-1)for(qa.push(c);qa.length>ra;)qa.shift();if(X&&window.localStorage)try{window.localStorage[X]=qa.join(";")}catch(d){}}}function v(){var a=[];if(U.showPalette)for(var b=0;bj&&j>e?Math.abs(l.left+e-j):0),l.top-=Math.min(l.top,l.top+f>k&&k>f?Math.abs(f+g-d):d),l}function h(){}function i(a){a.stopPropagation()}function j(a,b){var c=Array.prototype.slice,d=c.call(arguments,2);return function(){return a.apply(b,d.concat(c.call(arguments))); +}}function k(b,c,d,e){function f(a){a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a.returnValue=!1}function g(a){if(k){if(p&&j.documentMode<9&&!a.button)return i();var d=a.originalEvent&&a.originalEvent.touches&&a.originalEvent.touches[0],e=d&&d.pageX||a.pageX,g=d&&d.pageY||a.pageY,h=Math.max(0,Math.min(e-l.left,n)),q=Math.max(0,Math.min(g-l.top,m));o&&f(a),c.apply(b,[h,q,a])}}function h(c){var e=c.which?3==c.which:2==c.button;e||k||d.apply(b,arguments)!==!1&&(k=!0,m=a(b).height(),n=a(b).width(),l=a(b).offset(),a(j).bind(q),a(j.body).addClass("sp-dragging"),g(c),f(c))}function i(){k&&(a(j).unbind(q),a(j.body).removeClass("sp-dragging"),setTimeout(function(){e.apply(b,arguments)},0)),k=!1}c=c||function(){},d=d||function(){},e=e||function(){};var j=document,k=!1,l={},m=0,n=0,o="ontouchstart"in window,q={};q.selectstart=f,q.dragstart=f,q["touchmove mousemove"]=g,q["touchend mouseup"]=i,a(b).bind("touchstart mousedown",h)}function l(a,b,c){var d;return function(){var e=this,f=arguments,g=function(){d=null,a.apply(e,f)};c&&clearTimeout(d),!c&&d||(d=setTimeout(g,b))}}function m(){return a.fn.spectrum.inputTypeColorSupport()}var n={beforeShow:h,move:h,change:h,show:h,hide:h,color:!1,flat:!1,showInput:!1,allowEmpty:!1,showButtons:!0,clickoutFiresChange:!0,showInitial:!1,showPalette:!1,showPaletteOnly:!1,hideAfterPaletteSelect:!1,togglePaletteOnly:!1,showSelectionPalette:!0,localStorageKey:!1,appendTo:"body",maxSelectionSize:7,cancelText:"cancel",chooseText:"choose",togglePaletteMoreText:"more",togglePaletteLessText:"less",clearText:"Clear Color Selection",noColorSelectedText:"No Color Selected",preferredFormat:!1,className:"",containerClassName:"",replacerClassName:"",showAlpha:!1,theme:"sp-light",palette:[["#ffffff","#000000","#ff0000","#ff8000","#ffff00","#008000","#0000ff","#4b0082","#9400d3"]],selectionPalette:[],disabled:!1,offset:null},o=[],p=!!/msie/i.exec(window.navigator.userAgent),q=function(){function a(a,b){return!!~(""+a).indexOf(b)}var b=document.createElement("div"),c=b.style;return c.cssText="background-color:rgba(0,0,0,.5)",a(c.backgroundColor,"rgba")||a(c.backgroundColor,"hsla")}(),r=["
","
","
","
"].join(""),s=function(){var a="";if(p)for(var b=1;b<=6;b++)a+="
";return["
","
","
","
","","
","
","
","
","
","
","
","
","
","
","
","
","
","
","
","
","
",a,"
","
","
","
","
","","
","
","
","","","
","
","
"].join("")}(),t="spectrum.id";a.fn.spectrum=function(b,c){if("string"==typeof b){var d=this,e=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=o[a(this).data(t)];if(c){var f=c[b];if(!f)throw new Error("Spectrum: no such method: '"+b+"'");"get"==b?d=c.get():"container"==b?d=c.container:"option"==b?d=c.option.apply(c,e):"destroy"==b?(c.destroy(),a(this).removeData(t)):f.apply(c,e)}}),d}return this.spectrum("destroy").each(function(){var c=a.extend({},b,a(this).data()),d=f(this,c);a(this).data(t,d.id)})},a.fn.spectrum.load=!0,a.fn.spectrum.loadOpts={},a.fn.spectrum.draggable=k,a.fn.spectrum.defaults=n,a.fn.spectrum.inputTypeColorSupport=function u(){if("undefined"==typeof u._cachedResult){var b=a("")[0];u._cachedResult="color"===b.type&&""!==b.value}return u._cachedResult},a.spectrum={},a.spectrum.localization={},a.spectrum.palettes={},a.fn.spectrum.processNativeColorInputs=function(){var b=a("input[type=color]");b.length&&!m()&&b.spectrum({preferredFormat:"hex6"})},function(){function a(a){var c={r:0,g:0,b:0},e=1,g=!1,h=!1;return"string"==typeof a&&(a=G(a)),"object"==typeof a&&(a.hasOwnProperty("r")&&a.hasOwnProperty("g")&&a.hasOwnProperty("b")?(c=b(a.r,a.g,a.b),g=!0,h="%"===String(a.r).substr(-1)?"prgb":"rgb"):a.hasOwnProperty("h")&&a.hasOwnProperty("s")&&a.hasOwnProperty("v")?(a.s=D(a.s),a.v=D(a.v),c=f(a.h,a.s,a.v),g=!0,h="hsv"):a.hasOwnProperty("h")&&a.hasOwnProperty("s")&&a.hasOwnProperty("l")&&(a.s=D(a.s),a.l=D(a.l),c=d(a.h,a.s,a.l),g=!0,h="hsl"),a.hasOwnProperty("a")&&(e=a.a)),e=w(e),{ok:g,format:a.format||h,r:M(255,N(c.r,0)),g:M(255,N(c.g,0)),b:M(255,N(c.b,0)),a:e}}function b(a,b,c){return{r:255*x(a,255),g:255*x(b,255),b:255*x(c,255)}}function c(a,b,c){a=x(a,255),b=x(b,255),c=x(c,255);var d,e,f=N(a,b,c),g=M(a,b,c),h=(f+g)/2;if(f==g)d=e=0;else{var i=f-g;switch(e=h>.5?i/(2-f-g):i/(f+g),f){case a:d=(b-c)/i+(b1&&(c-=1),c<1/6?a+6*(b-a)*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a}var e,f,g;if(a=x(a,360),b=x(b,100),c=x(c,100),0===b)e=f=g=c;else{var h=c<.5?c*(1+b):c+b-c*b,i=2*c-h;e=d(i,h,a+1/3),f=d(i,h,a),g=d(i,h,a-1/3)}return{r:255*e,g:255*f,b:255*g}}function e(a,b,c){a=x(a,255),b=x(b,255),c=x(c,255);var d,e,f=N(a,b,c),g=M(a,b,c),h=f,i=f-g;if(e=0===f?0:i/f,f==g)d=0;else{switch(f){case a:d=(b-c)/i+(b>1)+720)%360;--b;)d.h=(d.h+e)%360,f.push(P(d));return f}function u(a,b){b=b||6;for(var c=P(a).toHsv(),d=c.h,e=c.s,f=c.v,g=[],h=1/b;b--;)g.push(P({h:d,s:e,v:f})),f=(f+h)%1;return g}function v(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[a[c]]=c);return b}function w(a){return a=parseFloat(a),(isNaN(a)||a<0||a>1)&&(a=1),a}function x(a,b){A(a)&&(a="100%");var c=B(a);return a=M(b,N(0,parseFloat(a))),c&&(a=parseInt(a*b,10)/100),K.abs(a-b)<1e-6?1:a%b/parseFloat(b)}function y(a){return M(1,N(0,a))}function z(a){return parseInt(a,16)}function A(a){return"string"==typeof a&&a.indexOf(".")!=-1&&1===parseFloat(a)}function B(a){return"string"==typeof a&&a.indexOf("%")!=-1}function C(a){return 1==a.length?"0"+a:""+a}function D(a){return a<=1&&(a=100*a+"%"),a}function E(a){return Math.round(255*parseFloat(a)).toString(16)}function F(a){return z(a)/255}function G(a){a=a.replace(H,"").replace(I,"").toLowerCase();var b=!1;if(Q[a])a=Q[a],b=!0;else if("transparent"==a)return{r:0,g:0,b:0,a:0,format:"name"};var c;return(c=S.rgb.exec(a))?{r:c[1],g:c[2],b:c[3]}:(c=S.rgba.exec(a))?{r:c[1],g:c[2],b:c[3],a:c[4]}:(c=S.hsl.exec(a))?{h:c[1],s:c[2],l:c[3]}:(c=S.hsla.exec(a))?{h:c[1],s:c[2],l:c[3],a:c[4]}:(c=S.hsv.exec(a))?{h:c[1],s:c[2],v:c[3]}:(c=S.hsva.exec(a))?{h:c[1],s:c[2],v:c[3],a:c[4]}:(c=S.hex8.exec(a))?{a:F(c[1]),r:z(c[2]),g:z(c[3]),b:z(c[4]),format:b?"name":"hex8"}:(c=S.hex6.exec(a))?{r:z(c[1]),g:z(c[2]),b:z(c[3]),format:b?"name":"hex"}:!!(c=S.hex3.exec(a))&&{r:z(c[1]+""+c[1]),g:z(c[2]+""+c[2]),b:z(c[3]+""+c[3]),format:b?"name":"hex"}}var H=/^[\s,#]+/,I=/\s+$/,J=0,K=Math,L=K.round,M=K.min,N=K.max,O=K.random,P=function(b,c){if(b=b?b:"",c=c||{},b instanceof P)return b;if(!(this instanceof P))return new P(b,c);var d=a(b);this._originalInput=b,this._r=d.r,this._g=d.g,this._b=d.b,this._a=d.a,this._roundA=L(100*this._a)/100,this._format=c.format||d.format,this._gradientType=c.gradientType,this._r<1&&(this._r=L(this._r)),this._g<1&&(this._g=L(this._g)),this._b<1&&(this._b=L(this._b)),this._ok=d.ok,this._tc_id=J++};P.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var a=this.toRgb();return(299*a.r+587*a.g+114*a.b)/1e3},setAlpha:function(a){return this._a=w(a),this._roundA=L(100*this._a)/100,this},toHsv:function(){var a=e(this._r,this._g,this._b);return{h:360*a.h,s:a.s,v:a.v,a:this._a}},toHsvString:function(){var a=e(this._r,this._g,this._b),b=L(360*a.h),c=L(100*a.s),d=L(100*a.v);return 1==this._a?"hsv("+b+", "+c+"%, "+d+"%)":"hsva("+b+", "+c+"%, "+d+"%, "+this._roundA+")"},toHsl:function(){var a=c(this._r,this._g,this._b);return{h:360*a.h,s:a.s,l:a.l,a:this._a}},toHslString:function(){var a=c(this._r,this._g,this._b),b=L(360*a.h),d=L(100*a.s),e=L(100*a.l);return 1==this._a?"hsl("+b+", "+d+"%, "+e+"%)":"hsla("+b+", "+d+"%, "+e+"%, "+this._roundA+")"},toHex:function(a){return g(this._r,this._g,this._b,a)},toHexString:function(a){return"#"+this.toHex(a)},toHex8:function(){return h(this._r,this._g,this._b,this._a)},toHex8String:function(){return"#"+this.toHex8()},toRgb:function(){return{r:L(this._r),g:L(this._g),b:L(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+L(this._r)+", "+L(this._g)+", "+L(this._b)+")":"rgba("+L(this._r)+", "+L(this._g)+", "+L(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:L(100*x(this._r,255))+"%",g:L(100*x(this._g,255))+"%",b:L(100*x(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+L(100*x(this._r,255))+"%, "+L(100*x(this._g,255))+"%, "+L(100*x(this._b,255))+"%)":"rgba("+L(100*x(this._r,255))+"%, "+L(100*x(this._g,255))+"%, "+L(100*x(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(R[g(this._r,this._g,this._b,!0)]||!1)},toFilter:function(a){var b="#"+h(this._r,this._g,this._b,this._a),c=b,d=this._gradientType?"GradientType = 1, ":"";if(a){var e=P(a);c=e.toHex8String()}return"progid:DXImageTransform.Microsoft.gradient("+d+"startColorstr="+b+",endColorstr="+c+")"},toString:function(a){var b=!!a;a=a||this._format;var c=!1,d=this._a<1&&this._a>=0,e=!b&&d&&("hex"===a||"hex6"===a||"hex3"===a||"name"===a);return e?"name"===a&&0===this._a?this.toName():this.toRgbString():("rgb"===a&&(c=this.toRgbString()),"prgb"===a&&(c=this.toPercentageRgbString()),"hex"!==a&&"hex6"!==a||(c=this.toHexString()),"hex3"===a&&(c=this.toHexString(!0)),"hex8"===a&&(c=this.toHex8String()),"name"===a&&(c=this.toName()),"hsl"===a&&(c=this.toHslString()),"hsv"===a&&(c=this.toHsvString()),c||this.toHexString())},_applyModification:function(a,b){var c=a.apply(null,[this].concat([].slice.call(b)));return this._r=c._r,this._g=c._g,this._b=c._b,this.setAlpha(c._a),this},lighten:function(){return this._applyModification(l,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(n,arguments)},desaturate:function(){return this._applyModification(i,arguments)},saturate:function(){return this._applyModification(j,arguments)},greyscale:function(){return this._applyModification(k,arguments)},spin:function(){return this._applyModification(o,arguments)},_applyCombination:function(a,b){return a.apply(null,[this].concat([].slice.call(b)))},analogous:function(){return this._applyCombination(t,arguments)},complement:function(){return this._applyCombination(p,arguments)},monochromatic:function(){return this._applyCombination(u,arguments)},splitcomplement:function(){return this._applyCombination(s,arguments)},triad:function(){return this._applyCombination(q,arguments)},tetrad:function(){return this._applyCombination(r,arguments)}},P.fromRatio=function(a,b){if("object"==typeof a){var c={};for(var d in a)a.hasOwnProperty(d)&&("a"===d?c[d]=a[d]:c[d]=D(a[d]));a=c}return P(a,b)},P.equals=function(a,b){return!(!a||!b)&&P(a).toRgbString()==P(b).toRgbString()},P.random=function(){return P.fromRatio({r:O(),g:O(),b:O()})},P.mix=function(a,b,c){c=0===c?0:c||50;var d,e=P(a).toRgb(),f=P(b).toRgb(),g=c/100,h=2*g-1,i=f.a-e.a;d=h*i==-1?h:(h+i)/(1+h*i),d=(d+1)/2;var j=1-d,k={r:f.r*d+e.r*j,g:f.g*d+e.g*j,b:f.b*d+e.b*j,a:f.a*g+e.a*(1-g)};return P(k)},P.readability=function(a,b){var c=P(a),d=P(b),e=c.toRgb(),f=d.toRgb(),g=c.getBrightness(),h=d.getBrightness(),i=Math.max(e.r,f.r)-Math.min(e.r,f.r)+Math.max(e.g,f.g)-Math.min(e.g,f.g)+Math.max(e.b,f.b)-Math.min(e.b,f.b);return{brightness:Math.abs(g-h),color:i}},P.isReadable=function(a,b){var c=P.readability(a,b);return c.brightness>125&&c.color>500},P.mostReadable=function(a,b){for(var c=null,d=0,e=!1,f=0;f125&&g.color>500,i=3*(g.brightness/125)+g.color/500;(h&&!e||h&&e&&i>d||!h&&!e&&i>d)&&(e=h,d=i,c=P(b[f]))}return c};var Q=P.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},R=P.hexNames=v(Q),S=function(){var a="[-\\+]?\\d+%?",b="[-\\+]?\\d*\\.\\d+%?",c="(?:"+b+")|(?:"+a+")",d="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?",e="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?";return{rgb:new RegExp("rgb"+d),rgba:new RegExp("rgba"+e),hsl:new RegExp("hsl"+d),hsla:new RegExp("hsla"+e),hsv:new RegExp("hsv"+d),hsva:new RegExp("hsva"+e),hex3:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex8:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();window.tinycolor=P}(),a(function(){a.fn.spectrum.load&&a.fn.spectrum.processNativeColorInputs()})}),c("text!Abstract/ui/templates/inputColor.html",[],function(){return'
input-holder\'>
\n
\n\t
\n\t\t
\n\t
\n
\n'}),c("Abstract/ui/InputColor",["backbone","./Input","Spectrum","text!./templates/inputColor.html"],function(a,b,c,d){return b.extend({template:_.template(d),initialize:function(a){b.prototype.initialize.apply(this,arguments);var c=this.ppfx;this.colorCls=c+"field-color-picker",this.inputClass=c+"field "+c+"field-color",this.colorHolderClass=c+"field-colorp-c",this.listenTo(this.model,"change:value",this.handleModelChange)},handleModelChange:function(){b.prototype.handleModelChange.apply(this,arguments);var a=this.model.get("value"),c=this.getColorEl();a="none"===a?"#fff":a,c.spectrum("set",a),c.get(0).style.backgroundColor=a},getColorEl:function(){if(!this.colorEl){var a=this.model,b=$("
",{"class":this.colorCls}),c=b.get(0).style,d=this.target&&this.target.config?this.target.config.el:"";b.spectrum({appendTo:d||"body",maxSelectionSize:8,showPalette:!0,showAlpha:!0,chooseText:"Ok",cancelText:"⨯",palette:[],move:function(a){var b=1==a.getAlpha()?a.toHexString():a.toRgbString();c.backgroundColor=b},change:function(b){var d=1==b.getAlpha()?b.toHexString():b.toRgbString();d=d.replace(/ /g,""),c.backgroundColor=d,a.set("value",d)}}),this.colorEl=b}return this.colorEl},render:function(){return b.prototype.render.apply(this,arguments),this.$el.find("."+this.colorHolderClass).html(this.getColorEl()),this}})}),c("StyleManager/view/PropertyColorView",["backbone","./PropertyView","Abstract/ui/InputColor"],function(a,b,c){return b.extend({renderTemplate:function(){},renderInput:function(){if(!this.input){var a=new c({target:this.target,model:this.model,ppfx:this.ppfx});this.input=a.render(),this.$el.append(this.input.$el),this.$input=this.input.inputEl,this.$color=this.input.colorEl}this.setValue(this.componentValue)},setValue:function(a){this.input.setValue(a,{silent:1})}})}),c("text!StyleManager/templates/propertyFile.html",[],function(){return'
\n\t
input-holder\'>\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t
\n\t
\n
\n
'}),c("StyleManager/view/PropertyFileView",["backbone","./PropertyView","text!./../templates/propertyFile.html"],function(a,b,c){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),this.assets=this.target.get("assets"),this.modal=this.target.get("Modal"),this.am=this.target.get("AssetManager"),this.className=this.className+" "+this.pfx+"file",this.events["click #"+this.pfx+"close"]="removeFile",this.events["click #"+this.pfx+"images"]="openAssetManager",this.delegateEvents()},renderInput:function(){this.$input||(this.$input=$("",{placeholder:this.defaultValue,type:"text"})),this.$preview||(this.$preview=this.$el.find("#"+this.pfx+"preview-file")),this.$previewBox||(this.$previewBox=this.$el.find("#"+this.pfx+"preview-box")),this.componentValue&&this.componentValue!=this.defaultValue?this.setPreviewView(1):this.setPreviewView(0),this.setValue(this.componentValue,0)},setPreviewView:function(a){this.$previewBox&&(a?this.$previewBox.addClass(this.pfx+"show"):this.$previewBox.removeClass(this.pfx+"show"))},spreadUrl:function(a){this.setValue('url("'+a+'")'),this.setPreviewView(1)},setPreview:function(a){this.$preview&&this.$preview.css("background-image",a)},setValue:function(a,c){b.prototype.setValue.apply(this,arguments),this.setPreview(a)},renderTemplate:function(){this.$el.append(this.template({upload:"Upload",assets:"Images",pfx:this.pfx}))},cleanValue:function(){this.setPreviewView(0),this.model.set({value:""},{silent:!0})},removeFile:function(){this.model.set("value",this.defaultValue),b.prototype.cleanValue.apply(this,arguments),this.setPreviewView(0)},openAssetManager:function(a){var b=this;this.modal&&this.am&&(this.modal.setTitle("Select image"),this.modal.setContent(this.am.render()),this.am.setTarget(null),this.modal.open(),this.am.onSelect(function(c){b.modal.close(),b.spreadUrl(c.get("src")),b.valueChanged(a)}))}})}),c("text!StyleManager/templates/propertyComposite.html",[],function(){return'
\n\tinput-holder\'>\n
\n
'}),c("StyleManager/view/PropertyCompositeView",["backbone","./PropertyView","text!./../templates/propertyComposite.html","require"],function(a,b,c,d){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),_.bindAll(this,"build"),this.config=a.config||{},this.className=this.className+" "+this.pfx+"composite"},valueUpdated:function(){this.model.get("detached")||b.prototype.valueUpdated.apply(this,arguments)},renderInput:function(){var a=this.model.get("properties");this.model.get("detached");if(a&&a.length&&(this.$input||(this.$input=$("",{value:0,type:"hidden"})),this.props||(this.props=this.model.get("properties")),!this.$props)){this.props.each(function(a,b){a&&"composite"==a.get("type")&&(this.props.remove(a),console.warn("Nested composite types not yet allowed."))},this);var b=d("./PropertiesView"),c=new b(this.getPropsConfig());this.$props=c.render().$el,this.$el.find("#"+this.pfx+"input-holder").html(this.$props)}},getPropsConfig:function(a){var b=this;return result={config:this.config,collection:this.props,target:this.target,propTarget:this.propTarget,onChange:function(a,c,d){var e=b.build();b.model.set("value",e,d)},customValue:function(a,c){return b.valueOnIndex(c,a)}},this.model.get("detached")&&delete result.onChange,result},getDefaultValue:function(){var a="";return this.props.each(function(b,c){a+=b.get("defaults")+b.get("unit")+" "}),a.replace(/ +$/,"")},valueOnIndex:function(a,b){var c=null,d=this.getComponentValue().split(" ");if(d.length&&d[a]&&(c=d[a],b&&b.model&&b.model.get("functionName"))){var e=this.fetchFromFunction(c);e&&(c=e)}return c},build:function(a,b,c){var d="";return this.model.get("properties").each(function(a){var b=a.getValue();func=a.get("functionName"),func&&(b=func+"("+b+")"),d+=b+" "}),d.replace(/ +$/,"")}})}),c("text!StyleManager/templates/propertyStack.html",[],function(){return"
field <%= pfx %>stack\">\n\t\n\t\n
\n
"}),c("text!StyleManager/templates/layer.html",[],function(){return'
\n \n
\n
<%= label %>
\n
\n\t
\n
\n
\n
\n
'}),c("StyleManager/view/LayerView",["backbone","text!./../templates/layer.html"],function(a,b){return a.View.extend({events:{click:"updateIndex"},template:_.template(b),initialize:function(a){this.stackModel=a.stackModel||{},this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.className=this.pfx+"layer",this.sorter=a.sorter||null,this.listenTo(this.model,"destroy remove",this.remove),this.listenTo(this.model,"change:value",this.valueChanged),this.listenTo(this.model,"change:props",this.showProps),this.events["click #"+this.pfx+"close-layer"]="remove",this.events["mousedown > #"+this.pfx+"move"]="initSorter",this.model.get("preview")||this.$el.addClass(this.pfx+"no-preview"),this.$el.data("model",this.model),this.delegateEvents()},initSorter:function(a){this.sorter&&this.sorter.startSort(this.el)},getProps:function(){return this.stackModel.get?this.stackModel.get("properties"):null},valueChanged:function(){var a=this.model.get("preview");if(a){this.$preview||(this.$preview=this.$el.find("#"+this.pfx+"preview"));"function"==typeof a?a(this.getProps(),this.$preview):this.onPreview(this.getProps(),this.$preview)}},onPreview:function(a,b){var c=this.model.get("value").split(" "),d=3,e="";if(a.each(function(a,b){var f=c[b]||"";if(f&&"integer"==a.get("type")){var g=parseInt(f,10),h=f.replace(g,"");g=isNaN(g)?0:g,g>d&&(g=d),g<-d&&(g=-d),f=g+h}e+=f+" "}),this.stackModel.get){var f=this.stackModel.get("property");f&&(this.$preview.get(0).style[f]=e)}},showProps:function(){this.$props=this.model.get("props"),this.$el.find("#"+this.pfx+"inputs").html(this.$props.show()),this.model.set({props:null},{silent:!0})},remove:function(b){this.$props&&this.$props.detach(),b&&b.stopPropagation&&b.stopPropagation(),a.View.prototype.remove.apply(this,arguments),this.model.collection.contains(this.model)&&this.model.collection.remove(this.model),this.stackModel&&this.stackModel.set&&(this.stackModel.set({stackIndex:null},{silent:!0}),this.stackModel.trigger("updateValue"))},updateIndex:function(a){var b=this.getIndex();this.stackModel.set("stackIndex",b),this.model.collection&&this.model.collection.trigger("deselectAll"),this.$el.addClass(this.pfx+"active")},getIndex:function(){var a=0;return this.model.collection&&(a=this.model.collection.indexOf(this.model)),a},render:function(){return this.$el.html(this.template({label:"Layer "+this.model.get("index"),pfx:this.pfx})),this.$el.attr("class",this.className),this.valueChanged(),this}})}),c("StyleManager/view/LayersView",["backbone","./LayerView"],function(a,b){return a.View.extend({initialize:function(a){this.config=a.config||{},this.stackModel=a.stackModel,this.preview=a.preview,this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.className=this.pfx+"layers "+this.ppfx+"field",this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"deselectAll",this.deselectAll),this.listenTo(this.collection,"reset",this.render);var b=this.config.em||"",c=b?b.get("Utils"):"";this.sorter=c?new c.Sorter({container:this.el,containerSel:"."+this.pfx+"layers",itemSel:"."+this.pfx+"layer",pfx:this.config.pStylePrefix}):"",this.$el.data("collection",this.collection)},addTo:function(a){var b=this.collection.indexOf(a);this.addToCollection(a,null,b)},addToCollection:function(a,c,d){var e=c||null,f=b;"undefined"!=typeof this.preview&&a.set("preview",this.preview);var g=new f({model:a,stackModel:this.stackModel,config:this.config,sorter:this.sorter}),h=g.render().el;if(e)e.appendChild(h);else if("undefined"!=typeof d){var i="before";this.$el.children().length==d&&(d--,i="after"),d<0?this.$el.append(h):this.$el.children().eq(d)[i](h)}else this.$el.append(h);return h},deselectAll:function(){this.$el.find("."+this.pfx+"layer").removeClass(this.pfx+"active")},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addToCollection(b,a)},this),this.$el.append(a),this.$el.attr("class",this.className),this.sorter&&(this.sorter.plh=null),this}})}),c("StyleManager/view/PropertyStackView",["backbone","./PropertyCompositeView","text!./../templates/propertyStack.html","./../model/Layers","./LayersView"],function(a,b,c,d,e){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),this.model.set("stackIndex",null),this.className=this.pfx+"property "+this.pfx+"stack",this.events["click #"+this.pfx+"add"]="addLayer",this.listenTo(this.model,"change:stackIndex",this.indexChanged),this.listenTo(this.model,"updateValue",this.valueUpdated),this.delegateEvents()},targetUpdated:function(){this.model.get("detached")?this.refreshLayers():b.prototype.targetUpdated.apply(this,arguments)},getLayers:function(){return this.model.get("layers")},indexChanged:function(a){var b=this.getLayers().at(this.model.get("stackIndex"));b.set("props",this.$props),this.model.get("properties").each(function(a){a.trigger("targetUpdated")})},getStackValues:function(){return this.getLayers().pluck("value")},getPropsConfig:function(a){var c=this,d=b.prototype.getPropsConfig.apply(this,arguments);return d.onChange=function(a,b,d){var e=b.model,f=c.build();if(c.model.get("detached")){var g="";e.collection.indexOf(e);c.getLayers().each(function(a){var b=a.get("values")[e.get("property")];b&&(g+=(g?",":"")+b)}),b.updateTargetStyle(g,null,d)}else c.model.set("value",f,d)},d},valueOnIndex:function(a,b){var c=null;if(this.model.get("detached")){var d=b.componentValue.split(",");c=d[this.model.get("stackIndex")],c=c?c.trim():c}else{var e=this.getStackValues(),f=e[this.model.get("stackIndex")];if(!f)return;var g=f.split(" ");g.length&&g[a]&&(c=g[a])}return c},build:function(){var a=this.model.get("stackIndex");if(null!==a){var c=b.prototype.build.apply(this,arguments),d=this.getLayers().at(a);if(d){var e={};return this.model.get("properties").each(function(a){var b=a.getValue(),c=a.get("functionName");c&&(b=c+"("+b+")"),e[a.get("property")]=b}),d.set("values",e),d.set("value",c),this.createValue()}}},addLayer:function(a){if(this.getTarget()){var b=this.getLayers(),c=b.add({name:"test"}),d=b.indexOf(c);return c.set("value",this.getDefaultValue()),this.valueUpdated(),this.model.set("stackIndex",d),c}},valueUpdated:function(){this.model.get("detached")?this.model.get("properties").each(function(a){a.trigger("change:value")}):this.model.set("value",this.createValue())},createValue:function(){return this.getStackValues().join(", ")},renderLayers:function(){return this.$field||(this.$field=this.$el.find("> ."+this.pfx+"field")),this.$layers||(this.$layers=new e({collection:this.getLayers(),stackModel:this.model,preview:this.model.get("preview"),config:this.config +})),this.$field.append(this.$layers.render().el),this.$props.hide(),this},renderInput:function(){b.prototype.renderInput.apply(this,arguments),this.refreshLayers()},getLayersFromTarget:function(){var a=[],b=this.getTarget();if(!b)return a;var c=b.get("style");return this.model.get("properties").each(function(b){var d=c[b.get("property")];if(d)for(var e=d.split(","),f=0,g=e.length;f",{"class":"clear"})),this.$el.attr("class",this.pfx+"properties"),this}})}),c("text!StyleManager/templates/sector.html",[],function(){return'
\n \n <%= label %>\n
'}),c("StyleManager/view/SectorView",["backbone","./PropertiesView","text!./../templates/sector.html"],function(a,b,c){return a.View.extend({template:_.template(c),events:{},initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.target=a.target||{},this.propTarget=a.propTarget||{},this.open=this.model.get("open"),this.caretR="fa-caret-right",this.caretD="fa-caret-down",this.listenTo(this.model,"change:open",this.updateOpen),this.events["click ."+this.pfx+"title"]="toggle",this.delegateEvents()},updateOpen:function(){this.model.get("open")?this.show():this.hide()},show:function(){this.$el.addClass(this.pfx+"open"),this.$el.find("."+this.pfx+"properties").show(),this.$caret.removeClass(this.caretR).addClass(this.caretD)},hide:function(){this.$el.removeClass(this.pfx+"open"),this.$el.find("."+this.pfx+"properties").hide(),this.$caret.removeClass(this.caretD).addClass(this.caretR)},toggle:function(){var a=this.model.get("open")?0:1;this.model.set("open",a)},render:function(){return this.$el.html(this.template({pfx:this.pfx,label:this.model.get("name")})),this.$caret=this.$el.find("#"+this.pfx+"caret"),this.renderProperties(),this.$el.attr("class",this.pfx+"sector no-select"),this.updateOpen(),this},renderProperties:function(){var a=this.model.get("properties");if(a){var c=new b({collection:a,target:this.target,propTarget:this.propTarget,config:this.config});this.$el.append(c.render().el)}}})}),c("StyleManager/view/SectorsView",["backbone","./SectorView"],function(a,b){return a.View.extend({initialize:function(b){this.config=b.config||{},this.pfx=this.config.stylePrefix||"",this.target=b.target||{},this.propTarget={},_.extend(this.propTarget,a.Events),this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"reset",this.render),this.listenTo(this.target,"change:selectedComponent targetClassAdded targetClassRemoved targetClassUpdated targetStateUpdated targetStyleUpdated change:device",this.targetUpdated)},addTo:function(a){this.addToCollection(a)},targetUpdated:function(){var a=this.target.get("selectedComponent");if(a){var b=this.target.get("Config").devicePreviewMode,c=a.get("classes"),d=this.propTarget,e=this.target.getDeviceModel(),f=b?"":a.get("state"),g=e&&!b?e.get("width"):"";if(d.helper=null,c.length){var h=this.target.get("CssComposer"),i=_.filter(c.models,function(a){return a.get("active")}),j=h.get(i,f,g);if(j||(j=h.add(i,f,g),j.set("style",a.get("style")),a.set("style",{})),f){var k=this.target.get("SelectorManager"),l=k.add("hc-state"),m=h.get([l]);m?(h.getAll().remove(m),h.getAll().add(m)):m=h.add([l]),m.set("style",j.get("style")),d.helper=m}return d.model=j,void d.trigger("update")}d.model=a,d.trigger("update")}},addToCollection:function(a,c){var d=c||null,e=b,f=new e({model:a,id:this.pfx+a.get("name").replace(" ","_").toLowerCase(),name:a.get("name"),properties:a.get("properties"),target:this.target,propTarget:this.propTarget,config:this.config}),g=f.render().el;return d?d.appendChild(g):this.$el.append(g),g},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addToCollection(b,a)},this),this.$el.attr("id",this.pfx+"sectors"),this.$el.append(a),this}})}),c("StyleManager/main",["require","./config/config","./model/Sectors","./view/SectorsView"],function(a){return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Sectors"),g=a("./view/SectorsView");return{name:"StyleManager",getConfig:function(){return d},init:function(a){d=a||{};for(var h in e)h in d||(d[h]=e[h]);var i=d.pStylePrefix;return i&&(d.stylePrefix=i+d.stylePrefix),b=new f(d.sectors),c=new g({collection:b,target:d.em,config:d}),this},addSector:function(a,c){var d=this.getSector(a);return d||(c.id=a,d=b.add(c)),d},getSector:function(a){var c=b.where({id:a});return c.length?c[0]:null},getSectors:function(){return b},addProperty:function(a,b){var c=null,d=this.getSector(a);return d&&(c=d.get("properties").add(b)),c},getProperty:function(a,b){var c=null,d=this.getSector(a);return d&&(c=d.get("properties").where({property:b}),c=1==c.length?c[0]:c),c},getProperties:function(a){var b=null,c=this.getSector(a);return c&&(b=c.get("properties")),b},getModelToStyle:function(a){var b=a.get("classes");if(d.em&&b&&b.length){var c=d.em.get("Config").devicePreviewMode,e=d.em.getDeviceModel(),f=c?"":a.get("state"),g=e&&!c?e.get("width"):"",h=d.em.get("CssComposer"),i=_.filter(b.models,function(a){return a.get("active")}),j=h.get(i,f,g);if(j)return j}return a},render:function(){return c.render().el}}}}),c("StyleManager",["StyleManager/main"],function(a){return a}),c("AssetManager/model/Asset",["backbone"],function(a){return a.Model.extend({idAttribute:"src",defaults:{type:"",src:""},getFilename:function(){return this.get("src").split("/").pop()},getExtension:function(){return this.getFilename().split(".").pop()}})}),c("AssetManager/model/AssetImage",["backbone","./Asset"],function(a,b){return b.extend({defaults:_.extend({},b.prototype.defaults,{type:"image",unitDim:"px",height:0,width:0})})}),c("AssetManager/model/Assets",["backbone","./Asset","./AssetImage"],function(a,b,c){return a.Collection.extend({model:c,initialize:function(a,b){this.model=function(a,b){var d;switch(a.type){default:d=new c(a,b)}return d}},addImg:function(a,b){return this.add({type:"image",src:a},b),this},add:function(b,c){var d=[];b=b instanceof Array?b:[b];for(var e=0,f=b.length;e\n
\n
\n
\n
\n\t
<%= name %>
\n\t
<%= dim %>
\n
\n
\n
'}),c("AssetManager/view/AssetImageView",["./AssetView","text!./../template/assetImage.html"],function(a,b){return a.extend({events:{click:"handleClick",dblclick:"handleDblClick"},template:_.template(b),initialize:function(b){a.prototype.initialize.apply(this,arguments),this.className+=" "+this.pfx+"asset-image",this.events["click #"+this.pfx+"close"]="removeItem",this.delegateEvents()},handleClick:function(){var a=this.config.onClick,b=this.model;b.collection.trigger("deselectAll"),this.$el.addClass(this.pfx+"highlight"),"function"==typeof a?a(b):this.updateTarget(b.get("src"))},handleDblClick:function(){var a=this.config.onDblClick,b=this.model;"function"==typeof a?a(b):this.updateTarget(b.get("src"));var c=b.collection.onSelect;"function"==typeof c&&c(this.model)},updateTarget:function(a){var b=this.model.collection.target;if(b&&b.set){var c=_.clone(b.get("attributes"));b.set("attributes",c),b.set("src",a)}},removeItem:function(a){a.stopPropagation(),this.model.collection.remove(this.model)},render:function(){var a=this.model.get("name"),b=this.model.get("width")&&this.model.get("height")?this.model.get("width")+" x "+this.model.get("height"):"";return a=a?a:this.model.get("src").split("/").pop(),a=a&&a.length>30?a.substring(0,30)+"...":a,b=b?b+(this.model.get("unitDim")?this.model.get("unitDim"):" px"):"",this.$el.html(this.template({name:a,src:this.model.get("src"),dim:b,pfx:this.pfx,ppfx:this.ppfx})),this.$el.attr("class",this.className),this}})}),c("text!AssetManager/template/fileUploader.html",[],function(){return'
\n\t
<%= title %>
\n\t multiple/>\n\t
\n
'}),c("AssetManager/view/FileUploader",["backbone","text!./../template/fileUploader.html"],function(a,b){return a.View.extend({template:_.template(b),events:{},initialize:function(a){this.options=a||{},this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.target=this.collection||{},this.uploadId=this.pfx+"uploadFile",this.disabled=!this.config.upload,this.events["change #"+this.uploadId]="uploadFile",this.delegateEvents()},uploadFile:function(a){for(var b=a.dataTransfer?a.dataTransfer.files:a.target.files,c=new FormData,d=0;d\n
\n
\n
\n \n
\n \n
\n
\n \n
\n
\n
\n
\n'}),c("AssetManager/view/AssetsView",["backbone","./AssetView","./AssetImageView","./FileUploader","text!./../template/assets.html"],function(a,b,c,d,e){return a.View.extend({template:_.template(e),initialize:function(a){this.options=a,this.config=a.config,this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.listenTo(this.collection,"add",this.addToAsset),this.listenTo(this.collection,"deselectAll",this.deselectAll),this.className=this.pfx+"assets",this.events={},this.events.submit="addFromStr",this.delegateEvents()},addFromStr:function(a){a.preventDefault();var b=this.getInputUrl(),c=b.value.trim();if(c)return this.collection.addImg(c,{at:0}),this.getAssetsEl().scrollTop=0,b.value="",this},getAssetsEl:function(){return this.assets=this.el.querySelector("."+this.pfx+"assets"),this.assets},getInputUrl:function(){return this.inputUrl&&this.inputUrl.value||(this.inputUrl=this.el.querySelector("."+this.pfx+"add-asset input")),this.inputUrl},addToAsset:function(a){this.addAsset(a)},addAsset:function(a,d){var e=d||null,f=b;a.get("type").indexOf("image")>-1&&(f=c);var g=new f({model:a,config:this.config}),h=g.render().el;if(e)e.appendChild(h);else{var i=this.getAssetsEl();i&&i.insertBefore(h,i.firstChild)}return h},deselectAll:function(){this.$el.find("."+this.pfx+"highlight").removeClass(this.pfx+"highlight")},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addAsset(b,a)},this),this.$el.html(this.template({pfx:this.pfx,ppfx:this.ppfx,btnText:this.config.addBtnText})),this.$el.find("."+this.pfx+"assets").append(a),this}})}),c("AssetManager/config/config",[],function(){return{assets:[],stylePrefix:"am-",upload:"http://localhost/assets/upload",uploadText:"Drop files here or click to upload",addBtnText:"Add image"}}),c("AssetManager/main",["require","./model/Assets","./view/AssetsView","./view/FileUploader","./config/config"],function(a){return function(){var b,c,d,e={},f=a("./model/Assets"),g=a("./view/AssetsView"),h=a("./view/FileUploader");return{name:"AssetManager",storageKey:"assets",init:function(i){e=i||{};var j=a("./config/config");for(var k in j)k in e||(e[k]=j[k]);var l=e.pStylePrefix;l&&(e.stylePrefix=l+e.stylePrefix),b=new f(e.assets);var m={collection:b,config:e};return c=new g(m),d=new h(m),this},add:function(a){return b.add(a)},get:function(a){return b.where({src:a})[0]},getAll:function(){return b},remove:function(a){var b=this.get(a);return this.getAll().remove(b),this},store:function(a){var b={},c=JSON.stringify(this.getAll().toJSON());return b[this.storageKey]=c,!a&&e.stm&&e.stm.store(b),b},load:function(a){var b=a||"",c=this.storageKey;!b&&e.stm&&(b=e.stm.load(c));var d=[];try{d=JSON.parse(b[c])}catch(f){}return this.getAll().add(d),d},render:function(a){return this.rendered&&!a||(this.rendered=c.render().$el.add(d.render().$el)),this.rendered},setTarget:function(a){c.collection.target=a},onSelect:function(a){c.collection.onSelect=a},onClick:function(a){e.onClick=a},onDblClick:function(a){e.onDblClick=a}}}}),c("AssetManager",["AssetManager/main"],function(a){return a}),c("CssComposer/config/config",[],function(){return{stylePrefix:"css-",staticRules:"",rules:[]}}),c("CssComposer/model/Selectors",["backbone","require"],function(a,b){return a.Collection.extend({initialize:function(a,c){this.model=function(a,c){var d;return this.ClassTag||(this.ClassTag=b("SelectorManager/model/Selector")),d=new this.ClassTag(a,c)}}})}),c("CssComposer/model/CssRule",["backbone","./Selectors"],function(a,b){return a.Model.extend({defaults:{selectors:{},style:{},maxWidth:"",state:"",stylable:!0},initialize:function(a,c){if(this.config=a||{},this.sm=c?c.sm||{}:{},this.slct=this.config.selectors||[],this.sm.get){for(var d=[],e=0;e=0&&(c.css=d.em.getCss()),e.indexOf("styles")>=0&&(c.styles=JSON.stringify(b)),a||d.stm.store(c),c}},add:function(a,c,d){var e=c||"",g=d||"",h=this.get(a,e,g);return h?h:(h=new f({state:e,maxWidth:g}),h.get("selectors").add(a),b.add(h),h)},get:function(a,c,d){var e=null;return b.each(function(b){e||b.compare(a,c,d)&&(e=b)}),e},getAll:function(){return b},addCollection:function(a){for(var b=[],c=a instanceof Array?a:[a],e=0,f=c.length;e=0&&this.set("void",!0),this.opt=e,this.sm=e?e.sm||{}:{},this.config=a||{},this.defaultC=this.config.components||[],this.defaultCl=this.normalizeClasses(this.get("classes")||this.config.classes||[]),this.components=new b(this.defaultC,e),this.components.parent=this,this.set("attributes",this.get("attributes")||{}),this.set("components",this.components),this.set("classes",new c(this.defaultCl));var f=new d;f.setTarget(this),f.add(this.get("traits")),this.set("traits",f),this.initToolbar(),this.init()},init:function(){},initToolbar:function(){var a=this;if(!a.get("toolbar")){var b=[];a.get("draggable")&&b.push({attributes:{"class":"fa fa-arrows"},command:"tlb-move"}),a.get("copyable")&&b.push({attributes:{"class":"fa fa-clone"},command:"tlb-clone"}),a.get("removable")&&b.push({attributes:{"class":"fa fa-trash-o"},command:"tlb-delete"}),a.set("toolbar",b)}},loadTraits:function(a){var b=new d;b.setTarget(this),b.add(a),this.set("traits",b)},normalizeClasses:function(a){var b=[];if(this.sm.get){var c=this.sm.get("SelectorManager");if(c)return a.forEach(function(a){var d="";d="string"==typeof a?a:a.name;var e=c.add(d);b.push(e)}),b}},clone:function(a){var b=_.clone(this.attributes),c=this.get("components"),d=this.get("traits"),e=this.get("classes");return b.components=[],b.classes=[],b.traits=[],c.each(function(a,c){b.components[c]=a.clone(1)}),d.each(function(a,c){b.traits[c]=a.clone()}),e.each(function(a,c){b.classes[c]=a.get("name")}),b.status="",b.view="",a&&(this.opt.collection=null),new this.constructor(b,this.opt)},getName:function(){if(!this.name){var a=(this.cid.replace(/\D/g,""),this.get("type")),b=this.get("tagName");b="div"==b?"box":b,b=a?a:b,this.name=b.charAt(0).toUpperCase()+b.slice(1)}return this.name},toHTML:function(a){var b="",c=this,d=c.get("tagName"),e=c.get("void"),f="",g="",h=this.getAttrToHTML();for(var i in h){var j=h[i];g+=void 0!==typeof j&&""!==j?" "+i+'="'+j+'"':""}var k="";return c.get("classes").each(function(a){k+=" "+a.get("name")}),k=""!==k?' class="'+k.trim()+'"':"",_.isEmpty(c.get("style"))||(f=' id="'+c.cid+'" '),b+="<"+d+k+f+g+(e?"/":"")+">"+c.get("content"),c.get("components").each(function(a){b+=a.toHTML()}),e||(b+=""),b},getAttrToHTML:function(){var a=this.get("attributes")||{};return delete a.style,a}},{isComponent:function(a){return{tagName:a.tagName?a.tagName.toLowerCase():""}}})}),c("DomComponents/view/ComponentsView",["backbone","require"],function(a,b){return a.View.extend({initialize:function(a){this.opts=a||{},this.config=a.config||{},this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"reset",this.render)},addTo:function(a){var b=this.collection.indexOf(a);this.addToCollection(a,null,b),this.config.em&&this.config.em.trigger("add:component",a)},addToCollection:function(a,c,d){this.compView||(this.compView=b("./ComponentView"));for(var e=c||null,f=this.compView,g=this.opts.defaultTypes,h=this.opts.componentTypes,i=a.get("type"),j=0;j=0&&(b.html=d.em.getHtml()),c.indexOf("components")>=0&&(b.components=JSON.stringify(d.em.getComponents())),a||d.stm.store(b),b}},getComponent:function(){return b},getWrapper:function(){return this.getComponent()},getComponents:function(){return this.getWrapper().get("components")},addComponent:function(a){return this.getComponents().add(a)},render:function(){return c.render().el},clear:function(){for(var a=this.getComponents(),b=0,c=a.length;b div")},render:function(){return this.$el.attr({"class":this.ppfx+"frame"}),this}})}),c("Canvas/view/CanvasView",["backbone","./FrameView"],function(a,b){return a.View.extend({initialize:function(a){_.bindAll(this,"renderBody","onFrameScroll","clearOff"),this.config=a.config||{},this.em=this.config.em||{},this.ppfx=this.config.pStylePrefix||"",this.className=this.config.stylePrefix+"canvas",this.listenTo(this.em,"change:canvasOffset",this.clearOff),this.frame=new b({model:this.model.get("frame"),config:this.config})},onFrameScroll:function(){var a="px",b=this.frame.el.contentDocument.body;this.toolsEl.style.top="-"+b.scrollTop+a,this.toolsEl.style.left="-"+b.scrollLeft+a,this.em.trigger("canvasScroll")},renderBody:function(){var a=this.model.get("frame").get("wrapper");if(a){var b=this.ppfx,c=this.frame.$el.contents().find("body"),d=this.config.em.get("CssComposer"),e=this.config.em.get("Config");c.append(a.render()).append(d.render());var f=e.protectedCss,g="."+b+"dashed :not([contenteditable]) > *{outline: 1px dashed rgba(170,170,170,0.7); outline-offset: -2px}."+b+"comp-selected{outline: 3px solid #3b97e3 !important}."+b+"no-select{user-select: none; -webkit-user-select:none; -moz-user-select: none}."+b+"freezed{opacity: 0.5; pointer-events: none}."+b+"no-pointer{pointer-events: none}."+b+"plh-image{background:#f5f5f5; border:none; height:50px; width:50px; display:block; outline:3px solid #ffca6f; cursor:pointer}."+b+"grabbing{cursor: grabbing; cursor: -webkit-grabbing}* ::-webkit-scrollbar-track {background: rgba(0, 0, 0, 0.1)}* ::-webkit-scrollbar-thumb {background: rgba(255, 255, 255, 0.2)}* ::-webkit-scrollbar {width: 10px}"+(e.canvasCss||"");f&&c.append(""),this.config.em.trigger("loaded"),this.frame.el.contentWindow.onscroll=this.onFrameScroll,this.frame.udpateOffset();var h=document,i=this.frame.el.contentDocument;i.addEventListener("keydown",function(a){h.dispatchEvent(new KeyboardEvent(a.type,a))}),i.addEventListener("keyup",function(a){h.dispatchEvent(new KeyboardEvent(a.type,a))})}},offset:function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument.body;return{top:b.top+c.scrollTop,left:b.left+c.scrollLeft}},clearOff:function(){this.frmOff=null,this.cvsOff=null},getFrameOffset:function(){return this.frmOff||(this.frmOff=this.offset(this.frame.el)),this.frmOff},getCanvasOffset:function(){return this.cvsOff||(this.cvsOff=this.offset(this.el)),this.cvsOff},getElementPos:function(a){var b=this.getFrameOffset(),c=this.getCanvasOffset(),d=this.offset(a),e=d.top+b.top-c.top,f=d.left+b.left-c.left;return{top:e,left:f,height:a.offsetHeight,width:a.offsetWidth}},getPosition:function(){var a=this.frame.el.contentDocument.body,b=this.getFrameOffset(),c=this.getCanvasOffset();return{top:b.top+a.scrollTop-c.top,left:b.left+a.scrollLeft-c.left}},render:function(){if(this.wrapper=this.model.get("wrapper"),this.wrapper&&"function"==typeof this.wrapper.render){this.model.get("frame").set("wrapper",this.wrapper),this.$el.append(this.frame.render().el);var a=this.frame;a.el.onload=this.renderBody}var b=this.ppfx;toolsEl=$("
",{id:b+"tools"}).get(0),this.hlEl=$("
",{"class":b+"highlighter"}).get(0),this.badgeEl=$("
",{"class":b+"badge"}).get(0),this.placerEl=$("
",{"class":b+"placeholder"}).get(0),this.placerIntEl=$("
",{"class":b+"placeholder-int"}).get(0),this.ghostEl=$("
",{"class":b+"ghost"}).get(0),this.toolbarEl=$("
",{"class":b+"toolbar"}).get(0),this.resizerEl=$("
",{"class":b+"resizer"}).get(0),this.offsetEl=$("
",{"class":b+"offset-v"}).get(0),this.fixedOffsetEl=$("
",{"class":b+"offset-fixed-v"}).get(0),this.placerEl.appendChild(this.placerIntEl),toolsEl.appendChild(this.hlEl),toolsEl.appendChild(this.badgeEl),toolsEl.appendChild(this.placerEl),toolsEl.appendChild(this.ghostEl),toolsEl.appendChild(this.toolbarEl),toolsEl.appendChild(this.resizerEl),toolsEl.appendChild(this.offsetEl),toolsEl.appendChild(this.fixedOffsetEl),this.$el.append(toolsEl);var c=this.em.get("rte");return c&&toolsEl.appendChild(c.render()),this.toolsEl=toolsEl,this.$el.attr({"class":this.className}),this}})}),c("Canvas/main",["require","./config/config","./model/Canvas","./view/CanvasView"],function(a){return function(){var b,c={},d=a("./config/config"),e=a("./model/Canvas"),f=a("./view/CanvasView");return{getCanvasView:function(){return f},name:"Canvas",init:function(a){c=a||{};for(var g in d)g in c||(c[g]=d[g]);var h=c.pStylePrefix;h&&(c.stylePrefix=h+c.stylePrefix),b=new e(a),f=new f({model:b,config:c});var i=c.em.get("DomComponents");return i&&this.setWrapper(i),this},setWrapper:function(a){b.set("wrapper",a)},getElement:function(){return f.el},getFrameEl:function(){return f.frame.el},getBody:function(){return f.frame.el.contentDocument.body},getWrapperEl:function(){return this.getBody().querySelector("#wrapper")},getToolsEl:function(){return f.toolsEl},getHighlighter:function(){return f.hlEl},getBadgeEl:function(){return f.badgeEl},getPlacerEl:function(){return f.placerEl},getGhostEl:function(){return f.ghostEl},getToolbarEl:function(){return f.toolbarEl},getResizerEl:function(){return f.resizerEl},getOffsetViewerEl:function(){return f.offsetEl},getFixedOffsetViewerEl:function(){return f.fixedOffsetEl},render:function(){return f.render().el},getOffset:function(){var a=this.offset(this.getFrameEl()),b=this.offset(this.getElement());return{top:a.top-b.top,left:a.left-b.left}},offset:function(a){var b=a.getBoundingClientRect();return{top:b.top+document.body.scrollTop,left:b.left+document.body.scrollLeft}},getElementPos:function(a){return f.getElementPos(a)},getTargetToElementDim:function(a,b,d){var e=d||{},g=f.getPosition(),h=e.elPos||f.getElementPos(b),i=d.toRight||0,j=e.targetHeight||a.offsetHeight,k=e.targetWidth||a.offsetWidth,l=e.event||null,m=h.top-j,n=h.left;n+=i?h.width:0,n=i?n-k:n;var o=nh.top+h.height?h.top+h.height:p;var q={top:p,left:o,elementTop:h.top,elementLeft:h.left,elementWidth:h.width,elementHeight:h.height,targetWidth:a.offsetWidth,targetHeight:a.offsetHeight,canvasTop:g.top,canvasLeft:g.left};return l&&c.em&&c.em.trigger(l,q),q},getMouseRelativePos:function(a,b){var c=b||{},d=0,e=0,f=c.subWinOffset,g=a.target.ownerDocument,h=g.defaultView||g.parentWindow,i=h.frameElement,j=f?h.pageYOffset:0,k=f?h.pageXOffset:0;if(i){var l=i.getBoundingClientRect();d=l.top||0,e=l.left||0}return{y:a.clientY+d-j,x:a.clientX+e-k}},getFrameWrapperEl:function(){return f.frame.getWrapper()}}}}),c("Canvas",["Canvas/main"],function(a){return a}),c("Commands/config/config",[],function(){return{ESCAPE_KEY:27,stylePrefix:"com-",defaults:[],em:null,firstCentered:!0,newFixedH:!1,minComponentH:50,minComponentW:50}}),c("Commands/view/CommandAbstract",["backbone"],function(a){return a.View.extend({initialize:function(a){this.config=a||{},this.editorModel=this.em=this.config.em||{},this.pfx=this.config.stylePrefix,this.ppfx=this.config.pStylePrefix,this.hoverClass=this.pfx+"hover",this.badgeClass=this.pfx+"badge",this.plhClass=this.pfx+"placeholder",this.freezClass=this.ppfx+"freezed",this.canvas=this.em.get&&this.em.get("Canvas"),this.em.get&&this.setElement(this.getCanvas()),this.canvas&&(this.$canvas=this.$el,this.$wrapper=$(this.getCanvasWrapper()),this.frameEl=this.canvas.getFrameEl(),this.canvasTool=this.getCanvasTools(),this.bodyEl=this.getCanvasBody()),this.init(this.config)},onFrameScroll:function(a){},getCanvas:function(){return this.canvas.getElement()},getCanvasBody:function(){return this.canvas.getBody()},getCanvasWrapper:function(){return this.canvas.getWrapperEl()},getCanvasTools:function(){return this.canvas.getToolsEl()},offset:function(a){var b=a.getBoundingClientRect();return{top:b.top+a.ownerDocument.body.scrollTop,left:b.left+a.ownerDocument.body.scrollLeft}},init:function(a){},run:function(a,b){},stop:function(a,b){}})}),c("Abstract/view/DomainViews",["backbone"],function(a){return a.View.extend({itemView:"",itemsView:"",itemType:"type",initialize:function(a,b){this.config=b||{}},addTo:function(a){this.add(a)},add:function(a,b){var c=b||null,d=this.itemView,e=a.get(this.itemType);this.itemsView&&this.itemsView[e]&&(d=this.itemsView[e]);var f=new d({model:a,config:this.config},this.config),g=f.render().el;c?c.appendChild(g):this.$el.append(g)},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.length&&this.collection.each(function(b){this.add(b,a)},this),this.$el.append(a),this}})}),c("DomComponents/view/ToolbarButtonView",["backbone"],function(a){return a.View.extend({events:{mousedown:"handleClick"},attributes:function(){return this.model.get("attributes")},initialize:function(a){this.editor=a.config.editor},handleClick:function(){var a=this.model.get("command");"function"==typeof a&&a(this.editor),"string"==typeof a&&this.editor.runCommand(a)},render:function(){var a=this.editor.getConfig();return this.el.className+=" "+a.stylePrefix+"toolbar-item",this}})}),c("DomComponents/view/ToolbarView",["backbone","Abstract/view/DomainViews","./ToolbarButtonView"],function(a,b,c){return b.extend({itemView:c,initialize:function(a){this.config={editor:a.editor||""},this.listenTo(this.collection,"reset",this.render)}})}),c("DomComponents/model/ToolbarButton",["backbone"],function(a){return a.Model.extend({defaults:{command:"",attributes:{}}})}),c("DomComponents/model/Toolbar",["backbone","./ToolbarButton"],function(a,b){return a.Collection.extend({model:b})}),c("Commands/view/SelectComponent",["require","DomComponents/view/ToolbarView","DomComponents/model/Toolbar"],function(a){var b=a("DomComponents/view/ToolbarView"),c=a("DomComponents/model/Toolbar");return{init:function(a){_.bindAll(this,"onHover","onOut","onClick","onKeyPress")},enable:function(){_.bindAll(this,"copyComp","pasteComp","onFrameScroll"),this.frameOff=this.canvasOff=this.adjScroll=null;var a=this.config.em.get("Config");this.startSelectComponent(),this.toggleClipboard(a.copyPaste);var b=this.config.em;b.on("component:update",this.updateAttached,this),b.on("change:canvasOffset",this.updateAttached,this),b.on("change:selectedComponent",this.updateToolbar,this)},toggleClipboard:function(a){var b=a||0;b?(key("⌘+c, ctrl+c",this.copyComp),key("⌘+v, ctrl+v",this.pasteComp)):(key.unbind("⌘+c, ctrl+c"),key.unbind("⌘+v, ctrl+v"))},copyComp:function(){var a=this.editorModel.get("selectedComponent");a&&a.get("copyable")&&this.editorModel.set("clipboard",a)},pasteComp:function(){var a=this.editorModel.get("clipboard"),b=this.editorModel.get("selectedComponent");if(a&&b&&b.collection){var c=b.collection.indexOf(b),d=a.clone();b.collection.add(d,{at:c+1})}},getCanvasBodyEl:function(){return this.$bodyEl||(this.$bodyEl=$(this.getCanvasBody())),this.$bodyEl},startSelectComponent:function(){this.toggleSelectComponent(1)},stopSelectComponent:function(){this.toggleSelectComponent()},toggleSelectComponent:function(a){var b="*",c=a?"on":"off";this.getCanvasBodyEl()[c]("mouseover",b,this.onHover)[c]("mouseout",b,this.onOut)[c]("click",b,this.onClick);var d=this.getContentWindow();d[c]("scroll",this.onFrameScroll),d[c]("keydown",this.onKeyPress)},onKeyPress:function(a){var b=a.which||a.keyCode,c=this.editorModel.get("selectedComponent"),d="BODY"!==this.frameEl.contentDocument.activeElement.tagName;if((8==b||46==b)&&(d||a.preventDefault(),c&&!d)){if(!c.get("removable"))return;c.set("status",""),c.destroy(),this.hideBadge(),this.clean(),this.hideHighlighter(),this.editorModel.set("selectedComponent",null)}},onHover:function(a){a.stopPropagation();var b=a.target;this.adjScroll||(this.adjScroll=1,this.onFrameScroll(a),this.updateAttached());var c=this.getElementPos(b);this.updateBadge(b,c),this.updateHighlighter(b,c),this.showElementOffset(b,c)},onOut:function(a){a.stopPropagation(),this.hideBadge(),this.hideHighlighter(),this.hideElementOffset()},showElementOffset:function(a,b){var c=$(a),d=c.data("model");d&&"selected"==d.get("status")||this.editor.runCommand("show-offset",{el:a,elPos:b})},hideElementOffset:function(a,b){this.editor.stopCommand("show-offset")},showFixedElementOffset:function(a,b){this.editor.runCommand("show-offset",{el:a,elPos:b,state:"Fixed"})},hideFixedElementOffset:function(a,b){this.editor&&this.editor.stopCommand("show-offset",{state:"Fixed"})},hideHighlighter:function(){this.canvas.getHighlighter().style.display="none"},onClick:function(a){var b=$(a.target).data("model");if(b){var c=b.get("stylable");(c instanceof Array||c)&&this.onSelect(a,a.target)}},updateBadge:function(a,b){var c=$(a);this.cacheEl=a;var d=c.data("model");if(d&&d.get("badgable")){var e=this.getBadge();e.innerHTML=d.getName();var f=e.style,g="px";f.display="block";var h=this.canvas.getCanvasView().getPosition(),i=e?e.offsetHeight:0,j=e?e.offsetWidth:0,k=b.top-i"),e=this.codeMirror.clone().set({label:c,codeName:a,theme:b,input:d[0]}),f=new this.cm.EditorView({model:e,config:this.cm.getConfig()}).render().$el;return e.init(d[0]),{el:e,$el:f}},enable:function(){if(!this.$editors){var a=this.buildEditor("htmlmixed","hopscotch","HTML"),b=this.buildEditor("css","hopscotch","CSS");this.htmlEditor=a.el,this.cssEditor=b.el,this.$editors=$("
",{"class":this.pfx+"export-dl"}),this.$editors.append(a.$el).append(b.$el)}this.modal&&(this.modal.setTitle("Export template"),this.modal.setContent(this.$editors),this.modal.open());var c=this.protCss||"";this.htmlEditor.setContent(this.cm.getCode(this.components,"html",this.cssc)),this.cssEditor.setContent(c+this.cm.getCode(this.wrapper,"css",this.cssc)),this.sender&&this.sender.set("active",!1)},stop:function(){}}}),c("Commands/view/SwitchVisibility",[],function(){return{run:function(a){a.Canvas.getBody().className=this.ppfx+"dashed"},stop:function(a){a.Canvas.getBody().className=""}}}),c("Navigator/config/config",[],function(){return{stylePrefix:"nv-",sortable:1,hidable:1,hideTextnode:1,containerId:"navigator",itemClass:"item",itemsClass:"items"}}),c("text!Navigator/template/item.html",[],function(){return'<% if (hidable) { %>\n\t\n<% } %>\n\n
\n
\n \t\n\t\t\n\t\t\n
\n
\n\n
<%= (count ? count : \'\') %>
\n\n
\n\t\n
\n\n
\n'}),c("Navigator/view/ItemView",["backbone","text!./../template/item.html","require"],function(a,b,c){return a.View.extend({template:_.template(b),initialize:function(a){this.opt=a,this.config=a.config,this.em=a.config.em,this.ppfx=this.em.get("Config").stylePrefix,this.sorter=a.sorter||{},this.pfx=this.config.stylePrefix,"undefined"==typeof this.model.get("open")&&this.model.set("open",!1),this.listenTo(this.model.components,"remove add change reset",this.checkChildren),this.listenTo(this.model,"destroy remove",this.remove),this.listenTo(this.model,"change:status",this.updateStatus),this.listenTo(this.model,"change:open",this.updateOpening),this.className=this.pfx+"item no-select",this.editBtnCls=this.pfx+"nav-item-edit",this.inputNameCls=this.ppfx+"nav-comp-name",this.caretCls=this.ppfx+"nav-item-caret",this.titleCls=this.pfx+"title",this.customNameProp="custom-name",this.events={},this.events["click > #"+this.pfx+"btn-eye"]="toggleVisibility",this.events["click ."+this.caretCls]="toggleOpening",this.events["click ."+this.titleCls]="handleSelect",this.events["click ."+this.editBtnCls]="handleEdit",this.events["blur ."+this.inputNameCls]="handleEditEnd",this.$el.data("model",this.model),this.$el.data("collection",this.model.get("components")),a.config.sortable&&(this.events["mousedown > #"+this.pfx+"move"]="startSort"),this.delegateEvents()},handleEdit:function(a){a.stopPropagation();var b=this.getInputName();b.readOnly=!1,b.focus()},handleEditEnd:function(a){a.stopPropagation();var b=this.getInputName();b.readOnly=!0,this.model.set(this.customNameProp,b.value)},getInputName:function(){return this.inputName||(this.inputName=this.el.querySelector("."+this.inputNameCls)),this.inputName},updateOpening:function(){var a=this.opt.opened||{},b=this.model;b.get("open")?(this.$el.addClass("open"),this.$caret.addClass("fa-chevron-down"),a[b.cid]=b):(this.$el.removeClass("open"),this.$caret.removeClass("fa-chevron-down"),delete a[b.cid])},toggleOpening:function(a){a.stopPropagation(),this.model.components.length&&this.model.set("open",!this.model.get("open"))},handleSelect:function(a){a.stopPropagation();var b=this.em;if(b){var c=b.get("selectedComponent");c&&c.set("status",""),this.model.set("status","selected"),b.set("selectedComponent",this.model)}},startSort:function(a){this.sorter&&this.sorter.startSort(a.target)},freeze:function(){this.$el.addClass(this.pfx+"opac50"),this.model.set("open",0)},unfreeze:function(){this.$el.removeClass(this.pfx+"opac50")},updateStatus:function(a){var b=this.model.get("status"),c=this.pfx+"selected",d=this.$el;switch(b){case"selected":d.addClass(c);break;case"moving":break;default:d.removeClass(c)}},toggleVisibility:function(a){this.$eye||(this.$eye=this.$el.find("> #"+this.pfx+"btn-eye"));var b=_.clone(this.model.get("style")),c=this.pfx+"hide";this.isVisible()?(this.$el.addClass(c),this.$eye.addClass("fa-eye-slash"),b.display="none"):(this.$el.removeClass(c),this.$eye.removeClass("fa-eye-slash"),delete b.display),this.model.set("style",b)},isVisible:function(){var a=this.model.get("style"),b=a.display;if(!b||"none"!=b)return 1},checkChildren:function(){var a=this.countChildren(this.model),b=this.pfx,c="> ."+b+"title-c > ."+b+"title";this.$counter||(this.$counter=this.$el.find("> #"+b+"counter")),a?(this.$el.find(c).removeClass(b+"no-chld"),this.$counter.html(a)):(this.$el.find(c).addClass(b+"no-chld"),this.$counter.empty(),this.model.set("open",0))},countChildren:function(a){var b=0;return a.components.each(function(a){var c=this.opt.isCountable,d=this.config.hideTextnode;c&&!c(a,d)||b++},this),b},render:function(){var a=this.pfx,b=this.isVisible(),d=this.countChildren(this.model);return this.$el.html(this.template({title:this.model.get(this.customNameProp)||this.model.getName(),addClass:d?"":a+"no-chld",editBtnCls:this.editBtnCls,inputNameCls:this.inputNameCls,caretCls:this.caretCls,count:d,visible:b,hidable:this.config.hidable,prefix:a,ppfx:this.ppfx})),"undefined"==typeof ItemsView&&(ItemsView=c("./ItemsView")),this.$components=new ItemsView({collection:this.model.components,config:this.config,sorter:this.sorter,opened:this.opt.opened,parent:this.model}).render().$el,this.$el.find("."+a+"children").html(this.$components),this.$caret=this.$el.find("> ."+a+"title-c > ."+a+"title > #"+a+"caret"),this.model.get("draggable")&&this.config.sortable||this.$el.find("> #"+a+"move").detach(),b||(this.className+=" "+a+"hide"),this.$el.attr("class",_.result(this,"className")),this.updateOpening(),this.updateStatus(),this}})}),c("Navigator/view/ItemsView",["backbone","./ItemView"],function(a,b){return a.View.extend({initialize:function(a){if(this.opt=a,this.config=a.config,this.preview=a.preview,this.ppfx=a.config.pStylePrefix||"",this.pfx=a.config.stylePrefix||"",this.parent=a.parent,this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"reset resetNavigator",this.render),this.className=this.pfx+"items",this.config.sortable&&!this.opt.sorter){var b=this.pfx,c=this.config.em.get("Utils");this.opt.sorter=new c.Sorter({container:this.el,containerSel:"."+b+"items",itemSel:"."+b+"item",ppfx:this.ppfx,pfx:b,nested:1})}this.sorter=this.opt.sorter||"",this.parent||(this.className+=" "+this.pfx+this.config.containerId),this.$el.data("collection",this.collection)},addTo:function(a){var b=this.collection.indexOf(a);this.addToCollection(a,null,b)},addToCollection:function(a,c,d){var e=c||null,f=b,g=new f({model:a,config:this.config,sorter:this.sorter,isCountable:this.isCountable,opened:this.opt.opened}),h=g.render().el;if(e)e.appendChild(h);else if("undefined"!=typeof d){var i="before";this.$el.children().length==d&&(d--,i="after"),d<0?this.$el.append(h):this.$el.children().eq(d)[i](h)}else this.$el.append(h);return h},isCountable:function(a,b){var c=a.get("type"),d=a.get("tagName");return"textnode"!=c&&"br"!=d||!b},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.isCountable(b,this.config.hideTextnode)&&this.addToCollection(b,a)},this),this.$el.append(a),this.$el.attr("class",_.result(this,"className")),this}})}),c("Navigator/main",["require","./config/config","./view/ItemsView"],function(a){function b(b,c){var d=c,e=a("./config/config"),f=a("./view/ItemsView");for(var g in e)g in d||(d[g]=e[g]);var h={collection:b,config:d,opened:c.opened||{}};this.ItemsView=new f(h)}return b.prototype={render:function(){return this.ItemsView.render().$el}},b}),c("Navigator",["Navigator/main"],function(a){return a}),c("Commands/view/OpenLayers",["Navigator"],function(a){return{run:function(b,c){if(!this.$layers){var d=b.DomComponents.getComponent().get("components"),e=b.getConfig(),f=b.Panels,g=e.layers.stylePrefix||"nv-";e.layers.stylePrefix=e.stylePrefix+g,e.layers.pStylePrefix=e.stylePrefix,e.layers.em=b.editor,e.layers.opened=b.editor.get("opened");var h=new a(d,e.layers);this.$layers=h.render(),f.getPanel("views-container")?this.panel=f.getPanel("views-container"):this.panel=f.addPanel({id:"views-container"}),this.panel.set("appendContent",this.$layers).trigger("change:appendContent")}this.$layers.show()},stop:function(){this.$layers&&this.$layers.hide()}}}),c("Commands/view/OpenStyleManager",["StyleManager"],function(a){return{run:function(a,b){if(this.sender=b,!this.$cn){var c=a.getConfig(),d=a.Panels;this.$cn=$("
"),this.$cn2=$("
"),this.$cn.append(this.$cn2);var e=a.DeviceManager;if(e&&c.showDevices){var f=d.addPanel({id:"devices-c"});f.set("appendContent",e.render()).trigger("change:appendContent")}var g=a.SelectorManager;g&&this.$cn2.append(g.render([])),this.$cn2.append(a.StyleManager.render());var h=a.StyleManager.getConfig();this.$header=$("
",{"class":h.stylePrefix+"header",text:h.textNoElement}),this.$cn.append(this.$header),d.getPanel("views-container")?this.panel=d.getPanel("views-container"):this.panel=d.addPanel({id:"views-container"}),this.panel.set("appendContent",this.$cn).trigger("change:appendContent"),this.target=a.editor,this.listenTo(this.target,"change:selectedComponent",this.toggleSm)}this.toggleSm()},toggleSm:function(){this.sender.get("active")&&(this.target.get("selectedComponent")?(this.$cn2.show(),this.$header.hide()):(this.$cn2.hide(),this.$header.show()))},stop:function(){this.$cn2&&this.$cn2.hide(),this.$header&&this.$header.hide()}}}),c("Commands/view/OpenTraitManager",[],function(){return{run:function(a,b){var c=a.Config,d=c.stylePrefix,e=a.TraitManager;if(!this.obj){var f=e.getTraitsViewer(),g=e.getConfig();this.obj=$("
").append('
'+g.labelContainer+"
").get(0),this.obj.appendChild(f.render().el);var h=a.Panels;h.getPanel("views-container")?panelC=h.getPanel("views-container"):panelC=h.addPanel({id:"views-container"}),panelC.set("appendContent",this.obj).trigger("change:appendContent")}this.obj.style.display="block"},stop:function(){this.obj&&(this.obj.style.display="none")}}}),c("Commands/view/OpenBlocks",[],function(){return{run:function(a,b){var c=a.Config,d=(c.stylePrefix,a.BlockManager);if(!this.blocks){this.blocks=$("
").get(0),this.blocks.appendChild(d.render());var e=a.Panels;e.getPanel("views-container")?panelC=e.getPanel("views-container"):panelC=e.addPanel({id:"views-container"}),panelC.set("appendContent",this.blocks).trigger("change:appendContent")}this.blocks.style.display="block"},stop:function(){this.blocks&&(this.blocks.style.display="none")}}}),c("Commands/view/OpenAssets",[],function(){return{run:function(a,b,c){var d=c||{},e=(a.getConfig(),a.Modal),f=a.AssetManager;f.onClick(d.onClick),f.onDblClick(d.onDblClick),f.setTarget(d.target),f.onSelect(d.onSelect),e.setTitle(d.modalTitle||"Select image"),e.setContent(f.render()),e.open()}}}),c("Commands/view/ShowOffset",[],function(){return{getOffsetMethod:function(a){var b=a||"";return"get"+b+"OffsetViewerEl"},run:function(a,b,c){if(a.getConfig().showOffsets){var d=a.Canvas,e=c||{},f=e.el||"",g=e.state||"",h=e.elPos||d.getElementPos(f),i=window.getComputedStyle(f),j=this.ppfx,k=g+"State",l=this.getOffsetMethod(g),m=d[l]();m.style.display="block";var n=this["marginT"+g],o=this["marginB"+g],p=this["marginL"+g],q=this["marginR"+g],r=this["padT"+g],s=this["padB"+g],t=this["padL"+g],u=this["padR"+g];if(!this[k]){var v=g.toLowerCase(),w=v+"margin-v",x=v+"padding-v",y=$("
",{"class":j+w}).get(0),z=$("
",{"class":j+x}).get(0),A=j+w+"-el",B=j+x+"-el";n=$("
",{"class":j+w+"-top "+A}).get(0),o=$("
",{"class":j+w+"-bottom "+A}).get(0),p=$("
",{"class":j+w+"-left "+A}).get(0),q=$("
",{"class":j+w+"-right "+A}).get(0),r=$("
",{"class":j+x+"-top "+B}).get(0),s=$("
",{"class":j+x+"-bottom "+B}).get(0),t=$("
",{"class":j+x+"-left "+B}).get(0),u=$("
",{"class":j+x+"-right "+B}).get(0),this["marginT"+g]=n,this["marginB"+g]=o,this["marginL"+g]=p,this["marginR"+g]=q,this["padT"+g]=r,this["padB"+g]=s,this["padL"+g]=t,this["padR"+g]=u,y.appendChild(n),y.appendChild(o),y.appendChild(p),y.appendChild(q),z.appendChild(r),z.appendChild(s),z.appendChild(t),z.appendChild(u),m.appendChild(y),m.appendChild(z),this[k]="1"}var C="px",D=i.marginLeft.replace(C,""),E=parseInt(i.marginTop.replace(C,"")),F=parseInt(i.marginBottom.replace(C,"")),G=n.style,H=o.style,I=p.style,J=q.style,K=r.style,L=s.style,M=t.style,N=u.style,O=parseInt(h.left);G.height=i.marginTop,G.width=i.width,G.top=h.top-i.marginTop.replace(C,"")+C,G.left=O+C,H.height=i.marginBottom,H.width=i.width,H.top=h.top+h.height+C,H.left=O+C;var P=h.height+E+F+C,Q=h.top-E+C;I.height=P,I.width=i.marginLeft,I.top=Q,I.left=O-D+C,J.height=P,J.width=i.marginRight,J.top=Q,J.left=O+h.width+C;var R=parseInt(i.paddingTop.replace(C,""));K.height=i.paddingTop,K.width=i.width,K.top=h.top+C,K.left=O+C;var S=parseInt(i.paddingBottom.replace(C,""));L.height=i.paddingBottom,L.width=i.width,L.top=h.top+h.height-S+C,L.left=O+C;var T=h.height-S-R+C,U=h.top+R+C;M.height=T,M.width=i.paddingLeft,M.top=U,M.left=h.left+C;var V=parseInt(i.paddingRight.replace(C,""));N.height=T,N.width=i.paddingRight,N.top=U,N.left=h.left+h.width-V+C}},stop:function(a,b,c){var d=c||{},e=d.state||"",f=this.getOffsetMethod(e),g=a.Canvas,h=g[f]();h.style.display="none"}}}),c("Commands/view/Fullscreen",[],function(){return{isEnabled:function(){var a=document;return a.fullscreenElement||a.webkitFullscreenElement||a.mozFullScreenElement?1:0},enable:function(a){var b="";return a.requestFullscreen?a.requestFullscreen():a.webkitRequestFullscreen?(b="webkit",a.webkitRequestFullscreen()):a.mozRequestFullScreen?(b="moz",a.mozRequestFullScreen()):a.msRequestFullscreen?a.msRequestFullscreen():console.warn("Fullscreen not supported"),b},disable:function(){var a=document;a.exitFullscreen?a.exitFullscreen():a.webkitExitFullscreen?a.webkitExitFullscreen():a.mozCancelFullScreen?a.mozCancelFullScreen():a.msExitFullscreen&&a.msExitFullscreen()},fsChanged:function(a,b){var c=(document,(a||"")+"fullscreenchange");this.isEnabled()||(this.stop(null,this.sender),document.removeEventListener(c,this.fsChanged))},run:function(a,b){this.sender=b;var c=this.enable(a.getContainer());this.fsChanged=this.fsChanged.bind(this,c),document.addEventListener(c+"fullscreenchange",this.fsChanged),a&&a.trigger("change:canvasOffset")},stop:function(a,b){b&&b.set&&b.set("active",!1),this.disable(),a&&a.trigger("change:canvasOffset")}}}),c("Commands/view/Preview",[],function(){return{getPanels:function(a){return this.panels||(this.panels=a.Panels.getPanelsEl()),this.panels},tglPointers:function(a,b){var c=a.Canvas.getBody().querySelectorAll("."+this.ppfx+"no-pointer");_.each(c,function(a){a.style.pointerEvents=b?"":"all"})},run:function(a,b){b&&b.set&&b.set("active",!1),a.stopCommand("sw-visibility");var c=this,d=this.getPanels(a),e=a.Canvas.getElement(),f=a.getEl(),g=a.Config.stylePrefix;this.helper||(this.helper=document.createElement("span"),this.helper.className=g+"off-prv fa fa-eye-slash",f.appendChild(this.helper),this.helper.onclick=function(){c.stop(a)}),this.helper.style.display="inline-block",this.tglPointers(a),d.style.display="none";var h=e.style;h.width="100%",h.height="100%",h.top="0",h.left="0",h.padding="0",h.margin="0",a.trigger("change:canvasOffset")},stop:function(a,b){var c=this.getPanels(a);a.runCommand("sw-visibility"),a.getModel().runDefault(),c.style.display="block";var d=a.Canvas.getElement();d.setAttribute("style",""),this.helper&&(this.helper.style.display="none"),a.trigger("change:canvasOffset"),this.tglPointers(a,1)}}}),c("Commands/view/Resize",[],function(){return{run:function(a,b,c){var d=c&&c.el||"",e=a.Canvas,f=this.canvasResizer,g=c.options||{};if(!f){var h=e.getCanvasView();g.ratioDefault=1,g.appendTo=e.getResizerEl(),g.prefix=a.getConfig().stylePrefix,g.posFetcher=h.getElementPos.bind(h),g.mousePosFetcher=e.getMouseRelativePos,this.canvasResizer=a.Utils.Resizer.init(g),f=this.canvasResizer}f.setOptions(g),f.focus(d)},stop:function(){this.canvasResizer&&this.canvasResizer.blur()}}}),c("Commands/main",["require","./config/config","./view/CommandAbstract","./view/SelectComponent","./view/CreateComponent","./view/DeleteComponent","./view/ImageComponent","./view/MoveComponent","./view/TextComponent","./view/InsertCustom","./view/ExportTemplate","./view/SwitchVisibility","./view/OpenLayers","./view/OpenStyleManager","./view/OpenTraitManager","./view/OpenBlocks","./view/OpenAssets","./view/ShowOffset","./view/Fullscreen","./view/Preview","./view/Resize"],function(a){return function(){var b={},c={},d={},e=a("./config/config"),f=a("./view/CommandAbstract"),g=function(a,b){return delete b.initialize,c[a]=f.extend(b),this};return{name:"Commands",init:function(c){b=c||{};for(var f in e)f in b||(b[f]=e[f]);var g=b.pStylePrefix;g&&(b.stylePrefix=g+b.stylePrefix);for(var h in b.defaults){var i=b.defaults[h];i.id&&this.add(i.id,i)}return d["select-comp"]=a("./view/SelectComponent"),d["create-comp"]=a("./view/CreateComponent"),d["delete-comp"]=a("./view/DeleteComponent"),d["image-comp"]=a("./view/ImageComponent"),d["move-comp"]=a("./view/MoveComponent"),d["text-comp"]=a("./view/TextComponent"),d["insert-custom"]=a("./view/InsertCustom"),d["export-template"]=a("./view/ExportTemplate"),d["sw-visibility"]=a("./view/SwitchVisibility"),d["open-layers"]=a("./view/OpenLayers"),d["open-sm"]=a("./view/OpenStyleManager"),d["open-tm"]=a("./view/OpenTraitManager"),d["open-blocks"]=a("./view/OpenBlocks"),d["open-assets"]=a("./view/OpenAssets"),d["show-offset"]=a("./view/ShowOffset"),d.fullscreen=a("./view/Fullscreen"),d.preview=a("./view/Preview"),d.resize=a("./view/Resize"),d["tlb-delete"]={run:function(a){var b=a.getSelected();return b&&b.get("removable")?(b.collection.remove(b),a.Canvas.getToolbarEl().style.display="none",a.editor.runDefault(),void a.trigger("component:update",b)):void console.warn("The element is not removable")}},d["tlb-clone"]={run:function(a){var b=a.getSelected();if(!b||!b.get("copyable"))return void console.warn("The element is not clonable");var c=b.collection,d=c.indexOf(b);c.add(b.clone(),{at:d+1}),a.trigger("component:update",b)}},d["tlb-move"]={run:function(a){var b=a.getSelected();if(!b||!b.get("draggable"))return void console.warn("The element is not draggable");var c=a.Canvas.getToolbarEl(),d=(c.style.display,a.Commands.get("move-comp"));d.onEndMoveFromModel=function(){a.editor.runDefault(),a.editor.set("selectedComponent",b),a.trigger("component:update",b)},a.editor.stopDefault(),d.initSorterFromModel(b),b.set("status","selected"),c.style.display="none"}},b.em&&(b.model=b.em.get("Canvas")),this},onLoad:function(){this.loadDefaultCommands()},add:g,get:function(a){var d=c[a];return"function"==typeof d&&(d=new d(b),c[a]=d),d},loadDefaultCommands:function(){for(var a in d)this.add(a,d[a]);return this}}}}),c("Commands",["Commands/main"],function(a){return a}),c("BlockManager/config/config",[],function(){return{blocks:[]}}),c("BlockManager/model/Block",["backbone"],function(a){return a.Model.extend({defaults:{label:"",content:"",attributes:{}}})}),c("BlockManager/model/Blocks",["backbone","./Block"],function(a,b){return a.Collection.extend({model:b})}),c("BlockManager/view/BlockView",["backbone"],function(a){return a.View.extend({events:{mousedown:"onDrag"},initialize:function(a,b){_.bindAll(this,"onDrop"),this.config=b||{},this.ppfx=this.config.pStylePrefix||"",this.listenTo(this.model,"destroy",this.remove),this.doc=$(document)},onDrag:function(a){if(this.config.getSorter){this.config.em.refreshCanvas();var b=this.config.getSorter();b.setDragHelper(this.el,a),b.startSort(this.el),b.setDropContent(this.model.get("content")),this.doc.on("mouseup",this.onDrop)}},onDrop:function(){this.doc.off("mouseup",this.onDrop), +this.config.getSorter().endMove()},render:function(){var a=this.ppfx+"block";return this.$el.addClass(a),this.el.innerHTML='
'+this.model.get("label")+"
",this}})}),c("BlockManager/view/BlocksView",["backbone","./BlockView"],function(a,b){return a.View.extend({initialize:function(a,b){_.bindAll(this,"getSorter","onDrag","onDrop"),this.config=b||{},this.ppfx=this.config.pStylePrefix||"",this.listenTo(this.collection,"add",this.addTo),this.em=this.config.em,this.tac="test-tac",this.grabbingCls=this.ppfx+"grabbing",this.em&&(this.config.getSorter=this.getSorter,this.canvas=this.em.get("Canvas"))},getSorter:function(){if(this.em){if(!this.sorter){var a=this.em.get("Utils"),b=this.canvas;this.sorter=new a.Sorter({container:b.getBody(),placer:b.getPlacerEl(),containerSel:"*",itemSel:"*",pfx:this.ppfx,onStart:this.onDrag,onEndMove:this.onDrop,document:b.getFrameEl().contentDocument,direction:"a",wmargin:1,nested:1,em:this.em})}return this.sorter}},onDrag:function(){this.em.stopDefault()},onDrop:function(a){this.em.runDefault(),a&&a.get&&a.get("activeOnRender")&&(a.trigger("active"),a.set("activeOnRender",0))},addTo:function(a){this.add(a)},add:function(a,c){var d=c||null,e=new b({model:a,attributes:a.get("attributes")},this.config),f=e.render().el;d?d.appendChild(f):this.$el.append(f)},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.add(b,a)},this),this.$el.append(a),this.$el.addClass(this.ppfx+"blocks-c"),this}})}),c("BlockManager/main",["require","./config/config","./model/Blocks","./view/BlocksView"],function(a){return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Blocks"),g=a("./view/BlocksView");return{name:"BlockManager",init:function(a){d=a||{};for(var h in e)h in d||(d[h]=e[h]);return b=new f(d.blocks),c=new g({collection:b},d),this},add:function(a,c){var d=c||{};return d.id=a,b.add(d)},get:function(a){return b.get(a)},getAll:function(){return b},render:function(){return c.render().el}}}}),c("BlockManager",["BlockManager/main"],function(a){return a}),c("TraitManager/config/config",[],function(){return{stylePrefix:"trt-",labelContainer:"Component settings"}}),c("TraitManager/view/TraitView",["backbone"],function(a){return a.View.extend({events:{change:"onChange"},initialize:function(a){var b=this.model;this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.target=b.target,this.className=this.pfx+"trait",this.labelClass=this.ppfx+"label",this.fieldClass=this.ppfx+"field "+this.ppfx+"field-"+b.get("type"),this.inputhClass=this.ppfx+"input-holder",b.off("change:value",this.onValueChange),this.listenTo(b,"change:value",this.onValueChange),this.tmpl='
'},onChange:function(){this.model.set("value",this.getInputEl().value)},onValueChange:function(){var a=this.model,b=this.target,c=a.get("name"),d=a.get("value");if(a.get("changeProp"))b.set(c,d);else{var e=_.clone(b.get("attributes"));e[c]=d,b.set("attributes",e)}},renderLabel:function(){this.$el.html('
'+this.getLabel()+"
")},getLabel:function(){var a=this.model,b=a.get("label")||a.get("name");return b.charAt(0).toUpperCase()+b.slice(1).replace(/-/g," ")},getInputEl:function(){if(!this.$input){var a=this.model,b=this.target,c=a.get("name"),d={placeholder:a.get("placeholder")||a.get("default"),type:a.get("type")||"text"};if(a.get("changeProp"))d.value=b.get(c);else{var e=b.get("attributes");d.value=a.get("value")||e[c]}a.get("min")&&(d.min=a.get("min")),a.get("max")&&(d.max=a.get("max")),this.$input=$("",d)}return this.$input.get(0)},renderField:function(){if(!this.$input){this.$el.append(this.tmpl);var a=this.getInputEl();this.$el.find("."+this.inputhClass).prepend(a)}},render:function(){return this.renderLabel(),this.renderField(),this.el.className=this.className,this}})}),c("TraitManager/view/TraitSelectView",["backbone","./TraitView"],function(a,b){return b.extend({initialize:function(a){b.prototype.initialize.apply(this,arguments);var c=this.ppfx;this.tmpl='
'},getInputEl:function(){if(!this.$input){var a=this.model,b=a.get("options")||[];this.input="",this.$input=$(this.input);var c=this.target,d=a.get("name"),e=a.get("value");if(a.get("changeProp"))e=e||c.get(d);else{var f=c.get("attributes");e=f[d]}e&&this.$input.val(e)}return this.$input.get(0)}})}),c("TraitManager/view/TraitCheckboxView",["./TraitView"],function(a){return a.extend({initialize:function(b){a.prototype.initialize.apply(this,arguments);var c=this.ppfx+"chk-icon";this.tmpl='
'},onChange:function(){this.model.set("value",this.getInputEl().checked)},getInputEl:function(){var b;this.$input||(b=1);var c=a.prototype.getInputEl.apply(this,arguments);if(b){var d=this.model,e=d.get("name"),f=this.target;if(d.get("changeProp"))c.checked=f.get(e);else{var g=f.get("attributes");c.checked=!!g[e]}}return c}})}),c("TraitManager/view/TraitsView",["backbone","Abstract/view/DomainViews","./TraitView","./TraitSelectView","./TraitCheckboxView"],function(a,b,c,d,e){return b.extend({itemView:c,itemsView:{text:c,select:d,checkbox:e},initialize:function(a){this.config=a.config||{},this.em=a.editor,this.pfx=this.config.stylePrefix||"",this.className=this.pfx+"traits",this.listenTo(this.em,"change:selectedComponent",this.updatedCollection),this.updatedCollection()},updatedCollection:function(){this.el.className=this.className;var a=this.em.get("selectedComponent");a&&(this.collection=a.get("traits"),this.render())}})}),c("TraitManager/main",["require","./config/config","./model/Traits","./view/TraitsView"],function(a){return function(){var b,c={},d=a("./config/config"),e=(a("./model/Traits"),a("./view/TraitsView"));return{TraitsView:e,name:"TraitManager",getConfig:function(){return c},init:function(a){c=a||{};for(var f in d)f in c||(c[f]=d[f]);var g=c.pStylePrefix;return g&&(c.stylePrefix=g+c.stylePrefix),b=new e({collection:[],editor:c.em,config:c}),this},getTraitsViewer:function(){return b},addType:function(a,c){var d=b.itemView;b.itemsView[a]=d.extend(c)},getType:function(a){return b.itemsView[a]}}}}),c("TraitManager",["TraitManager/main"],function(a){return a});var d=["Utils","StorageManager","DeviceManager","Parser","SelectorManager","ModalDialog","CodeManager","Panels","RichTextEditor","StyleManager","AssetManager","CssComposer","DomComponents","Canvas","Commands","BlockManager","TraitManager"];return c("editor/model/Editor",["backbone","backboneUndo","keymaster","Utils","StorageManager","DeviceManager","Parser","SelectorManager","ModalDialog","CodeManager","Panels","RichTextEditor","StyleManager","AssetManager","CssComposer","DomComponents","Canvas","Commands","BlockManager","TraitManager"],function(){return Backbone.Model.extend({defaults:{clipboard:null,selectedComponent:null,previousModel:null,changesCount:0,storables:[],toLoad:[],opened:{},device:""},initialize:function(a){this.config=a,this.set("Config",a),a.el&&a.fromElement&&(this.config.components=a.el.innerHTML),d.forEach(function(a){this.loadModule(a)},this),this.get("toLoad").forEach(function(a){a.onLoad()}),this.initUndoManager(),this.on("change:selectedComponent",this.componentSelected,this),this.on("change:changesCount",this.updateBeforeUnload,this)},updateBeforeUnload:function(){var a=this.get("changesCount");this.config.noticeOnUnload&&a?window.onbeforeunload=function(a){return 1}:window.onbeforeunload=null},loadModule:function(a){var c=this.config,d=new b(a)(),e=d.name.charAt(0).toLowerCase()+d.name.slice(1),f=c[e]||c[d.name]||{};f.pStylePrefix=c.pStylePrefix||"";var g=this.get("StorageManager");if(d.storageKey&&d.store&&d.load&&g){f.stm=g;var h=this.get("storables");h.push(d),this.set("storables",h)}return f.em=this,d.init(Object.create(f)),d["private"]||this.set(d.name,d),d.onLoad&&this.get("toLoad").push(d),this},init:function(a){this.set("Editor",a)},listenRules:function(a){this.stopListening(a,"add remove",this.listenRule),this.listenTo(a,"add remove",this.listenRule),a.each(function(a){this.listenRule(a)},this)},listenRule:function(a){this.stopListening(a,"change:style",this.ruleUpdated),this.listenTo(a,"change:style",this.ruleUpdated)},ruleUpdated:function(a,b,c){var d=this.get("changesCount")+1,e=c?c.avoidStore:0;this.set("changesCount",d);var f=this.get("StorageManager");f.isAutosave()&&d0&&void 0!==arguments[0]?arguments[0]:{},e=t.editor,n=e.Commands,i=r(2),o=r(3),a=r(105);n.add(t.cmdOpenImport,i(t)),n.add(t.cmdTglImages,a(t)),n.add("export-template",o(t)),n.add("undo",{run:function(t,e){e.set("active",0),t.UndoManager.undo(1)}}),n.add("redo",{run:function(t,e){e.set("active",0),t.UndoManager.redo(1)}}),n.add("set-device-desktop",{run:function(t){t.setDevice("Desktop")}}),n.add("set-device-tablet",{run:function(t){t.setDevice("Tablet")}}),n.add("set-device-mobile",{run:function(t){t.setDevice("Mobile portrait")}})}}.call(e,r,e,t),!(void 0!==n&&(t.exports=n))},function(t,e,r){var n;n=function(){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.editor,r=e&&e.CodeManager.getViewer("CodeMirror").clone(),n=document.createElement("button"),i=document.createElement("div"),o=t.pfx||"";return n.innerHTML=t.modalBtnImport,n.className=o+"btn-prim "+o+"btn-import",n.onclick=function(){var t=r.editor.getValue();e.DomComponents.getWrapper().set("content",""),e.setComponents(t),e.Modal.close()},r.set({codeName:"htmlmixed",theme:t.codeViewerTheme,readOnly:0}),{run:function(e,a){var s=e.Modal,u=(s.getContentEl(),r.editor);if(s.setTitle(t.modalTitleImport),!u){var c=document.createElement("textarea");if(t.modalLabelImport){var l=document.createElement("div");l.className=o+"import-label",l.innerHTML=t.modalLabelImport,i.appendChild(l)}i.appendChild(c),i.appendChild(n),r.init(c),u=r.editor}s.setContent(""),s.setContent(i),r.setContent(t.importPlaceholder||""),s.open(),u.refresh(),a&&a.set("active",0)}}}}.call(e,r,e,t),!(void 0!==n&&(t.exports=n))},function(t,e,r){var n;n=function(){var t=r(4);return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.editor,n=r&&r.CodeManager.getViewer("CodeMirror").clone(),i=document.createElement("div"),o=e.pfx||"",a=r.Commands;return n.set({codeName:"htmlmixed",theme:e.codeViewerTheme}),a.add(o+"get-inlined-html",{run:function(e){var r=e.getHtml()+("");return t(r)}}),{run:function(r,a){var s=r.Modal,u=(s.getContentEl(),n.editor);if(s.setTitle(e.modalTitleExport),!u){var c=document.createElement("textarea");if(e.modalLabelExport){var l=document.createElement("div");l.className=o+"export-label",l.innerHTML=e.modalLabelExport,i.appendChild(l)}i.appendChild(c),n.init(c),u=n.editor,u.setOption("lineWrapping",1)}s.setContent(""),s.setContent(i);var f=r.getHtml()+("");n.setContent(e.inlineCss?t(f):f),s.open(),u.refresh(),a&&a.set("active",0)}}}}.call(e,r,e,t),!(void 0!==n&&(t.exports=n))},function(t,e,r){"use strict";var n=r(5),i=r(104),o=i(function(t,e){return n(t,{xmlMode:e&&e.xmlMode},a,[e])}),a=function(t,e){return o.juiceDocument(t,e)};o.inlineContent=function(t,e,r){return n(t,{xmlMode:r&&r.xmlMode},o.inlineDocument,[e,r])},t.exports=o},function(t,e,r){"use strict";var n=r(6),i=r(94),o=function(t,e){return e=i.extend({decodeEntities:!1},e||{}),t=u(t),n.load(t,e)},a=function(e){var r=t.exports.codeBlocks;return Object.keys(r).forEach(function(t){var n=new RegExp(r[t].start+"((.|\\s)*?)"+r[t].end,"g");e=e.replace(n,function(e,n){return""})}),e},s=function(e){var r=t.exports.codeBlocks;return Object.keys(r).forEach(function(t){var n=new RegExp("","g");e=e.replace(n,function(e,n){return r[t].start+n+r[t].end})}),e},u=function(t){return a(t)},c=function(t){return s(t)};t.exports=function(t,e,r,n){var i=o(t,e),a=[i];a.push.apply(a,n);var s=r.apply(void 0,a)||i;return e&&e.xmlMode?s.xml():c(s.html())},t.exports.codeBlocks={EJS:{start:"<%",end:"%>"},HBS:{start:"{{",end:"}}"}}},function(t,e,r){e=t.exports=r(7),e.version=r(93).version},function(t,e,r){var n=r(8),i=r(61).isHtml,o={extend:r(62),bind:r(63),forEach:r(64),defaults:r(65)},a=[r(66),r(83),r(87),r(89),r(91)],s=t.exports=function(t,e,r,a){return this instanceof s?(this.options=o.defaults(a||{},this.options),t?(r&&("string"==typeof r&&(r=n(r,this.options)),this._root=s.call(this,r)),t.cheerio?t:(u(t)&&(t=[t]),Array.isArray(t)?(o.forEach(t,o.bind(function(t,e){this[e]=t},this)),this.length=t.length,this):"string"==typeof t&&i(t)?s.call(this,n(t,this.options).children):(e?"string"==typeof e?i(e)?(e=n(e,this.options),e=s.call(this,e)):(t=[e,t].join(" "),e=this._root):e.cheerio||(e=s.call(this,e)):e=this._root,e?e.find(t):this))):this):new s(t,e,r,a)};o.extend(s,r(67)),s.prototype.cheerio="[cheerio object]",s.prototype.options={withDomLvl1:!0,normalizeWhitespace:!1,xmlMode:!1,decodeEntities:!0},s.prototype.length=0,s.prototype.splice=Array.prototype.splice,s.prototype._make=function(t,e){var r=new this.constructor(t,e,this._root,this.options);return r.prevObject=this,r},s.prototype.toArray=function(){return this.get()},a.forEach(function(t){o.extend(s.prototype,t)});var u=function(t){return t.name||"text"===t.type||"comment"===t.type}},function(t,e,r){(function(n){var i=r(13);e=t.exports=function(t,r){var n=e.evaluate(t,r),i=e.evaluate("",r)[0];return i.type="root",e.update(n,i),i},e.evaluate=function(t,e){var r;return r="string"==typeof t||n.isBuffer(t)?i.parseDOM(t,e):t},e.update=function(t,e){Array.isArray(t)||(t=[t]),e?e.children=t:e=null;for(var r=0;r + * @license MIT + */ +"use strict";function i(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}function o(){return t.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,r){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|t}function v(e){return+e!=e&&(e=0),t.alloc(+e)}function y(e,r){if(t.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return W(e).length;default:if(i)return H(e).length;r=(""+r).toLowerCase(),i=!0}}function b(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,e>>>=0,r<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return T(this,e,r);case"ascii":return L(this,e,r);case"latin1":case"binary":return D(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function m(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function _(e,r,n,i,o){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof r&&(r=t.from(r,i)),t.isBuffer(r))return 0===r.length?-1:w(e,r,n,i,o);if("number"==typeof r)return r&=255,t.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,r,n):Uint8Array.prototype.lastIndexOf.call(e,r,n):w(e,[r],n,i,o);throw new TypeError("val must be string, number or Buffer")}function w(t,e,r,n,i){function o(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}var a=1,s=t.length,u=e.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,r/=2}var c;if(i){var l=-1;for(c=r;cs&&(r=s-u),c=r;c>=0;c--){for(var f=!0,h=0;hi&&(n=i)):n=i;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a239?4:o>223?3:o>191?2:1;if(i+s<=r){var u,c,l,f;switch(s){case 1:o<128&&(a=o);break;case 2:u=t[i+1],128===(192&u)&&(f=(31&o)<<6|63&u,f>127&&(a=f));break;case 3:u=t[i+1],c=t[i+2],128===(192&u)&&128===(192&c)&&(f=(15&o)<<12|(63&u)<<6|63&c,f>2047&&(f<55296||f>57343)&&(a=f));break;case 4:u=t[i+1],c=t[i+2],l=t[i+3],128===(192&u)&&128===(192&c)&&128===(192&l)&&(f=(15&o)<<18|(63&u)<<12|(63&c)<<6|63&l,f>65535&&f<1114112&&(a=f))}}null===a?(a=65533,s=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=s}return C(n)}function C(t){var e=t.length;if(e<=tt)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function q(e,r,n,i,o,a){if(!t.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>o||re.length)throw new RangeError("Index out of range")}function B(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function M(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function I(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(t,e,r,n,i){return i||I(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(t,e,r,n,23,4),r+4}function F(t,e,r,n,i){return i||I(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(t,e,r,n,52,8),r+8}function V(t){if(t=$(t).replace(et,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function $(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function z(t){return t<16?"0"+t.toString(16):t.toString(16)}function H(t,e){e=e||1/0;for(var r,n=t.length,i=null,o=[],a=0;a55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function G(t){for(var e=[],r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function W(t){return Q.toByteArray(V(t))}function X(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function J(t){return t!==t}var Q=r(10),Z=r(11),K=r(12);e.Buffer=t,e.SlowBuffer=v,e.INSPECT_MAX_BYTES=50,t.TYPED_ARRAY_SUPPORT=void 0!==n.TYPED_ARRAY_SUPPORT?n.TYPED_ARRAY_SUPPORT:i(),e.kMaxLength=o(),t.poolSize=8192,t._augment=function(e){return e.__proto__=t.prototype,e},t.from=function(t,e,r){return s(null,t,e,r)},t.TYPED_ARRAY_SUPPORT&&(t.prototype.__proto__=Uint8Array.prototype,t.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&t[Symbol.species]===t&&Object.defineProperty(t,Symbol.species,{value:null,configurable:!0})),t.alloc=function(t,e,r){return c(null,t,e,r)},t.allocUnsafe=function(t){return l(null,t)},t.allocUnsafeSlow=function(t){return l(null,t)},t.isBuffer=function(t){return!(null==t||!t._isBuffer)},t.compare=function(e,r){if(!t.isBuffer(e)||!t.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(e===r)return 0;for(var n=e.length,i=r.length,o=0,a=Math.min(n,i);o0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},t.prototype.compare=function(e,r,n,i,o){if(!t.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),r<0||n>e.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,o>>>=0,this===e)return 0;for(var a=o-i,s=n-r,u=Math.min(a,s),c=this.slice(i,o),l=e.slice(r,n),f=0;fi)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return x(this,t,e,r);case"utf8":case"utf-8":return j(this,t,e,r);case"ascii":return A(this,t,e,r);case"latin1":case"binary":return S(this,t,e,r);case"base64":return E(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var tt=4096;t.prototype.slice=function(e,r){var n=this.length;e=~~e,r=void 0===r?n:~~r,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r0&&(i*=256);)n+=this[t+--e]*i;return n},t.prototype.readUInt8=function(t,e){return e||P(t,1,this.length),this[t]},t.prototype.readUInt16LE=function(t,e){return e||P(t,2,this.length),this[t]|this[t+1]<<8},t.prototype.readUInt16BE=function(t,e){return e||P(t,2,this.length),this[t]<<8|this[t+1]},t.prototype.readUInt32LE=function(t,e){return e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},t.prototype.readUInt32BE=function(t,e){return e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},t.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||P(t,e,this.length);for(var n=this[t],i=1,o=0;++o=i&&(n-=Math.pow(2,8*e)),n},t.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||P(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},t.prototype.readInt8=function(t,e){return e||P(t,1,this.length),128&this[t]?(255-this[t]+1)*-1:this[t]},t.prototype.readInt16LE=function(t,e){e||P(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt16BE=function(t,e){e||P(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt32LE=function(t,e){return e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},t.prototype.readInt32BE=function(t,e){return e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},t.prototype.readFloatLE=function(t,e){return e||P(t,4,this.length),Z.read(this,t,!0,23,4)},t.prototype.readFloatBE=function(t,e){return e||P(t,4,this.length),Z.read(this,t,!1,23,4)},t.prototype.readDoubleLE=function(t,e){return e||P(t,8,this.length),Z.read(this,t,!0,52,8)},t.prototype.readDoubleBE=function(t,e){return e||P(t,8,this.length),Z.read(this,t,!1,52,8)},t.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e|=0,r|=0,!n){var i=Math.pow(2,8*r)-1;q(this,t,e,r,i,0)}var o=1,a=0;for(this[e]=255&t;++a=0&&(a*=256);)this[e+o]=t/a&255;return e+r},t.prototype.writeUInt8=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,1,255,0),t.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},t.prototype.writeUInt16LE=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,2,65535,0),t.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):B(this,e,r,!0),r+2},t.prototype.writeUInt16BE=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,2,65535,0),t.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):B(this,e,r,!1),r+2},t.prototype.writeUInt32LE=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,4,4294967295,0),t.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):M(this,e,r,!0),r+4},t.prototype.writeUInt32BE=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,4,4294967295,0),t.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):M(this,e,r,!1),r+4},t.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);q(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},t.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);q(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},t.prototype.writeInt8=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,1,127,-128),t.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},t.prototype.writeInt16LE=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,2,32767,-32768),t.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):B(this,e,r,!0),r+2},t.prototype.writeInt16BE=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,2,32767,-32768),t.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):B(this,e,r,!1),r+2},t.prototype.writeInt32LE=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,4,2147483647,-2147483648),t.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):M(this,e,r,!0),r+4},t.prototype.writeInt32BE=function(e,r,n){return e=+e,r|=0,n||q(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),t.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):M(this,e,r,!1),r+4},t.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},t.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},t.prototype.writeDoubleLE=function(t,e,r){return F(this,t,e,!0,r)},t.prototype.writeDoubleBE=function(t,e,r){return F(this,t,e,!1,r)},t.prototype.copy=function(e,r,n,i){if(n||(n=0),i||0===i||(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r=0;--o)e[o+r]=this[o+n];else if(a<1e3||!t.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var a;if("number"==typeof e)for(a=r;a0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function n(t){return 3*t.length/4-r(t)}function i(t){var e,n,i,o,a,s,u=t.length;a=r(t),s=new l(3*u/4-a),i=a>0?u-4:u;var f=0;for(e=0,n=0;e>16&255,s[f++]=o>>8&255,s[f++]=255&o;return 2===a?(o=c[t.charCodeAt(e)]<<2|c[t.charCodeAt(e+1)]>>4,s[f++]=255&o):1===a&&(o=c[t.charCodeAt(e)]<<10|c[t.charCodeAt(e+1)]<<4|c[t.charCodeAt(e+2)]>>2,s[f++]=o>>8&255,s[f++]=255&o),s}function o(t){return u[t>>18&63]+u[t>>12&63]+u[t>>6&63]+u[63&t]}function a(t,e,r){for(var n,i=[],a=e;al?l:c+s));return 1===n?(e=t[r-1],i+=u[e>>2],i+=u[e<<4&63],i+="=="):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=u[e>>10],i+=u[e>>4&63],i+=u[e<<2&63],i+="="),o.push(i),o.join("")}e.byteLength=n,e.toByteArray=i,e.fromByteArray=s;for(var u=[],c=[],l="undefined"!=typeof Uint8Array?Uint8Array:Array,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,p=f.length;h>1,l=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,o=p&(1<<-l)-1,p>>=-l,l+=s;l>0;o=256*o+t[e+f],f+=h,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=n;l>0;a=256*a+t[e+f],f+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:(p?-1:1)*(1/0);a+=Math.pow(2,n),o-=c}return(p?-1:1)*a*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var a,s,u,c=8*o-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),e+=a+f>=1?h/u:h*Math.pow(2,1-f),e*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(e*u-1)*Math.pow(2,i),a+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(a=a<0;t[r+p]=255&a,p+=d,a/=256,c-=8);t[r+p-d]|=128*g}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){function n(e,r){return delete t.exports[e],t.exports[e]=r,r}var i=r(14),o=r(23);t.exports={Parser:i,Tokenizer:r(15),ElementType:r(24),DomHandler:o,get FeedHandler(){return n("FeedHandler",r(27))},get Stream(){return n("Stream",r(28))},get WritableStream(){return n("WritableStream",r(29))},get ProxyHandler(){return n("ProxyHandler",r(47))},get DomUtils(){return n("DomUtils",r(48))},get CollectingHandler(){return n("CollectingHandler",r(60))},DefaultHandler:o,get RssHandler(){return n("RssHandler",this.FeedHandler)},parseDOM:function(t,e){var r=new o(e);return new i(r,e).end(t),r.dom},parseFeed:function(e,r){var n=new t.exports.FeedHandler(r);return new i(n,r).end(e),n.dom},createDomStream:function(t,e,r){var n=new o(t,e,r);return new i(n,e)},EVENTS:{attribute:2,cdatastart:0,cdataend:0,text:1,processinginstruction:2,comment:1,commentend:0,closetag:1,opentag:2,opentagname:1,error:1,end:0}}},function(t,e,r){function n(t,e){this._options=e||{},this._cbs=t||{},this._tagname="",this._attribname="",this._attribvalue="",this._attribs=null,this._stack=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(i=this._options.Tokenizer),this._tokenizer=new i(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}var i=r(15),o={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},a={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:o,input:o,output:o,button:o,datalist:o,textarea:o,option:{option:!0},optgroup:{optgroup:!0}},s={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,path:!0,circle:!0,ellipse:!0,line:!0,rect:!0,use:!0,stop:!0,polyline:!0,polygon:!0},u=/\s|\//;r(21)(n,r(22).EventEmitter),n.prototype._updatePosition=function(t){null===this.endIndex?this._tokenizer._sectionStart<=t?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-t:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},n.prototype.ontext=function(t){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(t)},n.prototype.onopentagname=function(t){if(this._lowerCaseTagNames&&(t=t.toLowerCase()),this._tagname=t,!this._options.xmlMode&&t in a)for(var e;(e=this._stack[this._stack.length-1])in a[t];this.onclosetag(e));!this._options.xmlMode&&t in s||this._stack.push(t),this._cbs.onopentagname&&this._cbs.onopentagname(t),this._cbs.onopentag&&(this._attribs={})},n.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in s&&this._cbs.onclosetag(this._tagname),this._tagname=""},n.prototype.onclosetag=function(t){if(this._updatePosition(1),this._lowerCaseTagNames&&(t=t.toLowerCase()),!this._stack.length||t in s&&!this._options.xmlMode)this._options.xmlMode||"br"!==t&&"p"!==t||(this.onopentagname(t),this._closeCurrentTag());else{var e=this._stack.lastIndexOf(t);if(e!==-1)if(this._cbs.onclosetag)for(e=this._stack.length-e;e--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=e;else"p"!==t||this._options.xmlMode||(this.onopentagname(t),this._closeCurrentTag())}},n.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing?this._closeCurrentTag():this.onopentagend()},n.prototype._closeCurrentTag=function(){var t=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===t&&(this._cbs.onclosetag&&this._cbs.onclosetag(t),this._stack.pop())},n.prototype.onattribname=function(t){this._lowerCaseAttributeNames&&(t=t.toLowerCase()),this._attribname=t},n.prototype.onattribdata=function(t){this._attribvalue+=t},n.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname="",this._attribvalue=""},n.prototype._getInstructionName=function(t){var e=t.search(u),r=e<0?t:t.substr(0,e);return this._lowerCaseTagNames&&(r=r.toLowerCase()),r},n.prototype.ondeclaration=function(t){if(this._cbs.onprocessinginstruction){var e=this._getInstructionName(t);this._cbs.onprocessinginstruction("!"+e,"!"+t)}},n.prototype.onprocessinginstruction=function(t){if(this._cbs.onprocessinginstruction){var e=this._getInstructionName(t);this._cbs.onprocessinginstruction("?"+e,"?"+t)}},n.prototype.oncomment=function(t){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(t),this._cbs.oncommentend&&this._cbs.oncommentend()},n.prototype.oncdata=function(t){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(t),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment("[CDATA["+t+"]]")},n.prototype.onerror=function(t){this._cbs.onerror&&this._cbs.onerror(t)},n.prototype.onend=function(){if(this._cbs.onclosetag)for(var t=this._stack.length;t>0;this._cbs.onclosetag(this._stack[--t]));this._cbs.onend&&this._cbs.onend()},n.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},n.prototype.parseComplete=function(t){this.reset(),this.end(t)},n.prototype.write=function(t){this._tokenizer.write(t)},n.prototype.end=function(t){this._tokenizer.end(t)},n.prototype.pause=function(){this._tokenizer.pause()},n.prototype.resume=function(){this._tokenizer.resume()},n.prototype.parseChunk=n.prototype.write,n.prototype.done=n.prototype.end,t.exports=n},function(t,e,r){function n(t){return" "===t||"\n"===t||"\t"===t||"\f"===t||"\r"===t}function i(t,e){return function(r){r===t&&(this._state=e)}}function o(t,e,r){var n=t.toLowerCase();return t===n?function(t){t===n?this._state=e:(this._state=r,this._index--)}:function(i){i===n||i===t?this._state=e:(this._state=r,this._index--)}}function a(t,e){var r=t.toLowerCase();return function(n){n===r||n===t?this._state=e:(this._state=g,this._index--)}}function s(t,e){this._state=p,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=p,this._special=gt,this._cbs=e,this._running=!0,this._ended=!1,this._xmlMode=!(!t||!t.xmlMode),this._decodeEntities=!(!t||!t.decodeEntities)}t.exports=s;var u=r(16),c=r(18),l=r(19),f=r(20),h=0,p=h++,d=h++,g=h++,v=h++,y=h++,b=h++,m=h++,_=h++,w=h++,x=h++,j=h++,A=h++,S=h++,E=h++,k=h++,O=h++,T=h++,C=h++,L=h++,D=h++,R=h++,N=h++,P=h++,q=h++,B=h++,M=h++,I=h++,U=h++,F=h++,V=h++,$=h++,z=h++,H=h++,G=h++,Y=h++,W=h++,X=h++,J=h++,Q=h++,Z=h++,K=h++,tt=h++,et=h++,rt=h++,nt=h++,it=h++,ot=h++,at=h++,st=h++,ut=h++,ct=h++,lt=h++,ft=h++,ht=h++,pt=h++,dt=0,gt=dt++,vt=dt++,yt=dt++;s.prototype._stateText=function(t){"<"===t?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=d,this._sectionStart=this._index):this._decodeEntities&&this._special===gt&&"&"===t&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=p,this._state=ct,this._sectionStart=this._index)},s.prototype._stateBeforeTagName=function(t){"/"===t?this._state=y:"<"===t?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===t||this._special!==gt||n(t)?this._state=p:"!"===t?(this._state=k,this._sectionStart=this._index+1):"?"===t?(this._state=T,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==t&&"S"!==t?g:$,this._sectionStart=this._index)},s.prototype._stateInTagName=function(t){("/"===t||">"===t||n(t))&&(this._emitToken("onopentagname"),this._state=_,this._index--)},s.prototype._stateBeforeCloseingTagName=function(t){n(t)||(">"===t?this._state=p:this._special!==gt?"s"===t||"S"===t?this._state=z:(this._state=p,this._index--):(this._state=b,this._sectionStart=this._index))},s.prototype._stateInCloseingTagName=function(t){(">"===t||n(t))&&(this._emitToken("onclosetag"),this._state=m,this._index--)},s.prototype._stateAfterCloseingTagName=function(t){">"===t&&(this._state=p,this._sectionStart=this._index+1)},s.prototype._stateBeforeAttributeName=function(t){">"===t?(this._cbs.onopentagend(),this._state=p,this._sectionStart=this._index+1):"/"===t?this._state=v:n(t)||(this._state=w,this._sectionStart=this._index)},s.prototype._stateInSelfClosingTag=function(t){">"===t?(this._cbs.onselfclosingtag(),this._state=p,this._sectionStart=this._index+1):n(t)||(this._state=_,this._index--)},s.prototype._stateInAttributeName=function(t){("="===t||"/"===t||">"===t||n(t))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=x,this._index--)},s.prototype._stateAfterAttributeName=function(t){"="===t?this._state=j:"/"===t||">"===t?(this._cbs.onattribend(),this._state=_,this._index--):n(t)||(this._cbs.onattribend(),this._state=w,this._sectionStart=this._index)},s.prototype._stateBeforeAttributeValue=function(t){'"'===t?(this._state=A,this._sectionStart=this._index+1):"'"===t?(this._state=S,this._sectionStart=this._index+1):n(t)||(this._state=E,this._sectionStart=this._index,this._index--)},s.prototype._stateInAttributeValueDoubleQuotes=function(t){'"'===t?(this._emitToken("onattribdata"),this._cbs.onattribend(), +this._state=_):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=ct,this._sectionStart=this._index)},s.prototype._stateInAttributeValueSingleQuotes=function(t){"'"===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=_):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=ct,this._sectionStart=this._index)},s.prototype._stateInAttributeValueNoQuotes=function(t){n(t)||">"===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=_,this._index--):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=ct,this._sectionStart=this._index)},s.prototype._stateBeforeDeclaration=function(t){this._state="["===t?N:"-"===t?C:O},s.prototype._stateInDeclaration=function(t){">"===t&&(this._cbs.ondeclaration(this._getSection()),this._state=p,this._sectionStart=this._index+1)},s.prototype._stateInProcessingInstruction=function(t){">"===t&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=p,this._sectionStart=this._index+1)},s.prototype._stateBeforeComment=function(t){"-"===t?(this._state=L,this._sectionStart=this._index+1):this._state=O},s.prototype._stateInComment=function(t){"-"===t&&(this._state=D)},s.prototype._stateAfterComment1=function(t){"-"===t?this._state=R:this._state=L},s.prototype._stateAfterComment2=function(t){">"===t?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=p,this._sectionStart=this._index+1):"-"!==t&&(this._state=L)},s.prototype._stateBeforeCdata1=o("C",P,O),s.prototype._stateBeforeCdata2=o("D",q,O),s.prototype._stateBeforeCdata3=o("A",B,O),s.prototype._stateBeforeCdata4=o("T",M,O),s.prototype._stateBeforeCdata5=o("A",I,O),s.prototype._stateBeforeCdata6=function(t){"["===t?(this._state=U,this._sectionStart=this._index+1):(this._state=O,this._index--)},s.prototype._stateInCdata=function(t){"]"===t&&(this._state=F)},s.prototype._stateAfterCdata1=i("]",V),s.prototype._stateAfterCdata2=function(t){">"===t?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=p,this._sectionStart=this._index+1):"]"!==t&&(this._state=U)},s.prototype._stateBeforeSpecial=function(t){"c"===t||"C"===t?this._state=H:"t"===t||"T"===t?this._state=et:(this._state=g,this._index--)},s.prototype._stateBeforeSpecialEnd=function(t){this._special!==vt||"c"!==t&&"C"!==t?this._special!==yt||"t"!==t&&"T"!==t?this._state=p:this._state=ot:this._state=J},s.prototype._stateBeforeScript1=a("R",G),s.prototype._stateBeforeScript2=a("I",Y),s.prototype._stateBeforeScript3=a("P",W),s.prototype._stateBeforeScript4=a("T",X),s.prototype._stateBeforeScript5=function(t){("/"===t||">"===t||n(t))&&(this._special=vt),this._state=g,this._index--},s.prototype._stateAfterScript1=o("R",Q,p),s.prototype._stateAfterScript2=o("I",Z,p),s.prototype._stateAfterScript3=o("P",K,p),s.prototype._stateAfterScript4=o("T",tt,p),s.prototype._stateAfterScript5=function(t){">"===t||n(t)?(this._special=gt,this._state=b,this._sectionStart=this._index-6,this._index--):this._state=p},s.prototype._stateBeforeStyle1=a("Y",rt),s.prototype._stateBeforeStyle2=a("L",nt),s.prototype._stateBeforeStyle3=a("E",it),s.prototype._stateBeforeStyle4=function(t){("/"===t||">"===t||n(t))&&(this._special=yt),this._state=g,this._index--},s.prototype._stateAfterStyle1=o("Y",at,p),s.prototype._stateAfterStyle2=o("L",st,p),s.prototype._stateAfterStyle3=o("E",ut,p),s.prototype._stateAfterStyle4=function(t){">"===t||n(t)?(this._special=gt,this._state=b,this._sectionStart=this._index-5,this._index--):this._state=p},s.prototype._stateBeforeEntity=o("#",lt,ft),s.prototype._stateBeforeNumericEntity=o("X",pt,ht),s.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+16&&(e=6);e>=2;){var r=this._buffer.substr(t,e);if(l.hasOwnProperty(r))return this._emitPartial(l[r]),void(this._sectionStart+=e+1);e--}},s.prototype._stateInNamedEntity=function(t){";"===t?(this._parseNamedEntityStrict(),this._sectionStart+1"z")&&(t<"A"||t>"Z")&&(t<"0"||t>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==p?"="!==t&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},s.prototype._decodeNumericEntity=function(t,e){var r=this._sectionStart+t;if(r!==this._index){var n=this._buffer.substring(r,this._index),i=parseInt(n,e);this._emitPartial(u(i)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},s.prototype._stateInNumericEntity=function(t){";"===t?(this._decodeNumericEntity(2,10),this._sectionStart++):(t<"0"||t>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},s.prototype._stateInHexEntity=function(t){";"===t?(this._decodeNumericEntity(3,16),this._sectionStart++):(t<"a"||t>"f")&&(t<"A"||t>"F")&&(t<"0"||t>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},s.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===p?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},s.prototype.write=function(t){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=t,this._parse()},s.prototype._parse=function(){for(;this._index=55296&&t<=57343||t>1114111)return"�";t in i&&(t=i[t]);var e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t)}var i=r(17);t.exports=n},function(t,e){t.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},function(t,e){t.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅",in:"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺",int:"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺", +succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(t,e){t.exports={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"}},function(t,e){t.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},function(t,e){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return"function"==typeof t}function i(t){return"number"==typeof t}function o(t){return"object"==typeof t&&null!==t}function a(t){return void 0===t}t.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(t){if(!i(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},r.prototype.emit=function(t){var e,r,i,s,u,c;if(this._events||(this._events={}),"error"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(e=arguments[1],e instanceof Error)throw e;var l=new Error('Uncaught, unspecified "error" event. ('+e+")");throw l.context=e,l}if(r=this._events[t],a(r))return!1;if(n(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),r.apply(this,s)}else if(o(r))for(s=Array.prototype.slice.call(arguments,1),c=r.slice(),i=c.length,u=0;u0&&this._events[t].length>i&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace())),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(t,e){function r(){this.removeListener(t,r),i||(i=!0,e.apply(this,arguments))}if(!n(e))throw TypeError("listener must be a function");var i=!1;return r.listener=e,this.on(t,r),this},r.prototype.removeListener=function(t,e){var r,i,a,s;if(!n(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(r=this._events[t],a=r.length,i=-1,r===e||n(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(o(r)){for(s=a;s-- >0;)if(r[s]===e||r[s].listener&&r[s].listener===e){i=s;break}if(i<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(i,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},r.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[t],n(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},r.prototype.listeners=function(t){var e;return e=this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},r.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},r.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,r){function n(t,e,r){"object"==typeof t?(r=e,e=t,t=null):"function"==typeof e&&(r=e,e=u),this._callback=t,this._options=e||u,this._elementCB=r,this.dom=[],this._done=!1,this._tagStack=[],this._parser=this._parser||null}var i=r(24),o=/\s+/g,a=r(25),s=r(26),u={normalizeWhitespace:!1,withStartIndices:!1};n.prototype.onparserinit=function(t){this._parser=t},n.prototype.onreset=function(){n.call(this,this._callback,this._options,this._elementCB)},n.prototype.onend=function(){this._done||(this._done=!0,this._parser=null,this._handleCallback(null))},n.prototype._handleCallback=n.prototype.onerror=function(t){if("function"==typeof this._callback)this._callback(t,this.dom);else if(t)throw t},n.prototype.onclosetag=function(){var t=this._tagStack.pop();this._elementCB&&this._elementCB(t)},n.prototype._addDomElement=function(t){var e=this._tagStack[this._tagStack.length-1],r=e?e.children:this.dom,n=r[r.length-1];t.next=null,this._options.withStartIndices&&(t.startIndex=this._parser.startIndex),this._options.withDomLvl1&&(t.__proto__="tag"===t.type?s:a),n?(t.prev=n,n.next=t):t.prev=null,r.push(t),t.parent=e||null},n.prototype.onopentag=function(t,e){var r={type:"script"===t?i.Script:"style"===t?i.Style:i.Tag,name:t,attribs:e,children:[]};this._addDomElement(r),this._tagStack.push(r)},n.prototype.ontext=function(t){var e,r=this._options.normalizeWhitespace||this._options.ignoreWhitespace;!this._tagStack.length&&this.dom.length&&(e=this.dom[this.dom.length-1]).type===i.Text?r?e.data=(e.data+t).replace(o," "):e.data+=t:this._tagStack.length&&(e=this._tagStack[this._tagStack.length-1])&&(e=e.children[e.children.length-1])&&e.type===i.Text?r?e.data=(e.data+t).replace(o," "):e.data+=t:(r&&(t=t.replace(o," ")),this._addDomElement({data:t,type:i.Text}))},n.prototype.oncomment=function(t){var e=this._tagStack[this._tagStack.length-1];if(e&&e.type===i.Comment)return void(e.data+=t);var r={data:t,type:i.Comment};this._addDomElement(r),this._tagStack.push(r)},n.prototype.oncdatastart=function(){var t={children:[{data:"",type:i.Text}],type:i.CDATA};this._addDomElement(t),this._tagStack.push(t)},n.prototype.oncommentend=n.prototype.oncdataend=function(){this._tagStack.pop()},n.prototype.onprocessinginstruction=function(t,e){this._addDomElement({name:t,data:e,type:i.Directive})},t.exports=n},function(t,e){t.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",Doctype:"doctype",isTag:function(t){return"tag"===t.type||"script"===t.type||"style"===t.type}}},function(t,e){var r=t.exports={get firstChild(){var t=this.children;return t&&t[0]||null},get lastChild(){var t=this.children;return t&&t[t.length-1]||null},get nodeType(){return i[this.type]||i.element}},n={tagName:"name",childNodes:"children",parentNode:"parent",previousSibling:"prev",nextSibling:"next",nodeValue:"data"},i={element:1,text:3,cdata:4,comment:8};Object.keys(n).forEach(function(t){var e=n[t];Object.defineProperty(r,t,{get:function(){return this[e]||null},set:function(t){return this[e]=t,t}})})},function(t,e,r){var n=r(25),i=t.exports=Object.create(n),o={tagName:"name"};Object.keys(o).forEach(function(t){var e=o[t];Object.defineProperty(i,t,{get:function(){return this[e]||null},set:function(t){return this[e]=t,t}})})},function(t,e,r){function n(t,e){this.init(t,e)}function i(t,e){return l.getElementsByTagName(t,e,!0)}function o(t,e){return l.getElementsByTagName(t,e,!0,1)[0]}function a(t,e,r){return l.getText(l.getElementsByTagName(t,e,r,1)).trim()}function s(t,e,r,n,i){var o=a(r,n,i);o&&(t[e]=o)}var u=r(13),c=u.DomHandler,l=u.DomUtils;r(21)(n,c),n.prototype.init=c;var f=function(t){return"rss"===t||"feed"===t||"rdf:RDF"===t};n.prototype.onend=function(){var t,e,r={},n=o(f,this.dom);n&&("feed"===n.name?(e=n.children,r.type="atom",s(r,"id","id",e),s(r,"title","title",e),(t=o("link",e))&&(t=t.attribs)&&(t=t.href)&&(r.link=t),s(r,"description","subtitle",e),(t=a("updated",e))&&(r.updated=new Date(t)),s(r,"author","email",e,!0),r.items=i("entry",e).map(function(t){var e,r={};return t=t.children,s(r,"id","id",t),s(r,"title","title",t),(e=o("link",t))&&(e=e.attribs)&&(e=e.href)&&(r.link=e),(e=a("summary",t)||a("content",t))&&(r.description=e),(e=a("updated",t))&&(r.pubDate=new Date(e)),r})):(e=o("channel",n.children).children,r.type=n.name.substr(0,3),r.id="",s(r,"title","title",e),s(r,"link","link",e),s(r,"description","description",e),(t=a("lastBuildDate",e))&&(r.updated=new Date(t)),s(r,"author","managingEditor",e,!0),r.items=i("item",n.children).map(function(t){var e,r={};return t=t.children,s(r,"id","guid",t),s(r,"title","title",t),s(r,"link","link",t),s(r,"description","description",t),(e=a("pubDate",t))&&(r.pubDate=new Date(e)),r}))),this.dom=r,c.prototype._handleCallback.call(this,n?null:Error("couldn't find root of feed"))},t.exports=n},function(t,e,r){function n(t){o.call(this,new i(this),t)}function i(t){this.scope=t}t.exports=n;var o=r(29);r(21)(n,o),n.prototype.readable=!0;var a=r(13).EVENTS;Object.keys(a).forEach(function(t){if(0===a[t])i.prototype["on"+t]=function(){this.scope.emit(t)};else if(1===a[t])i.prototype["on"+t]=function(e){this.scope.emit(t,e)};else{if(2!==a[t])throw Error("wrong number of arguments!");i.prototype["on"+t]=function(e,r){this.scope.emit(t,e,r)}}})},function(t,e,r){function n(t,e){var r=this._parser=new i(t,e),n=this._decoder=new a;o.call(this,{decodeStrings:!1}),this.once("finish",function(){r.end(n.end())})}t.exports=n;var i=r(14),o=r(30).Writable||r(46).Writable,a=r(39).StringDecoder,s=r(9).Buffer;r(21)(n,o),o.prototype._write=function(t,e,r){t instanceof s&&(t=this._decoder.write(t)),this._parser.write(t),r()}},function(t,e,r){function n(){i.call(this)}t.exports=n;var i=r(22).EventEmitter,o=r(21);o(n,i),n.Readable=r(31),n.Writable=r(42),n.Duplex=r(43),n.Transform=r(44),n.PassThrough=r(45),n.Stream=n,n.prototype.pipe=function(t,e){function r(e){t.writable&&!1===t.write(e)&&c.pause&&c.pause()}function n(){c.readable&&c.resume&&c.resume()}function o(){l||(l=!0,t.end())}function a(){l||(l=!0,"function"==typeof t.destroy&&t.destroy())}function s(t){if(u(),0===i.listenerCount(this,"error"))throw t}function u(){c.removeListener("data",r),t.removeListener("drain",n),c.removeListener("end",o),c.removeListener("close",a),c.removeListener("error",s),t.removeListener("error",s),c.removeListener("end",u),c.removeListener("close",u),t.removeListener("close",u)}var c=this;c.on("data",r),t.on("drain",n),t._isStdio||e&&e.end===!1||(c.on("end",o),c.on("close",a));var l=!1;return c.on("error",s),t.on("error",s),c.on("end",u),c.on("close",u),t.on("close",u),t.emit("pipe",c),t}},function(t,e,r){(function(n){e=t.exports=r(33),e.Stream=r(30),e.Readable=e,e.Writable=r(38),e.Duplex=r(37),e.Transform=r(40),e.PassThrough=r(41),n.browser||"disable"!==n.env.READABLE_STREAM||(t.exports=r(30))}).call(e,r(32))},function(t,e){function r(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===r||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===n||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function a(){g&&p&&(g=!1,p.length?d=p.concat(d):v=-1,d.length&&s())}function s(){if(!g){var t=i(a);g=!0;for(var e=d.length;e;){for(p=d,d=[];++v1)for(var r=1;r0)if(e.ended&&!i){var s=new Error("stream.push() after EOF");t.emit("error",s)}else if(e.endEmitted&&i){var s=new Error("stream.unshift() after end event");t.emit("error",s)}else!e.decoder||i||n||(r=e.decoder.write(r)),i||(e.reading=!1),e.flowing&&0===e.length&&!e.sync?(t.emit("data",r),t.read(0)):(e.length+=e.objectMode?1:r.length,i?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&f(t)),p(t,e);else i||(e.reading=!1);return a(e)}function a(t){return!t.ended&&(t.needReadable||t.length=C)t=C;else{t--;for(var e=1;e<32;e<<=1)t|=t>>e;t++}return t}function u(t,e){return 0===e.length&&e.ended?0:e.objectMode?0===t?0:1:isNaN(t)||k.isNull(t)?e.flowing&&e.buffer.length?e.buffer[0].length:e.length:t<=0?0:(t>e.highWaterMark&&(e.highWaterMark=s(t)),t>e.length?e.ended?e.length:(e.needReadable=!0,0):t)}function c(t,e){var r=null;return k.isBuffer(e)||k.isString(e)||k.isNullOrUndefined(e)||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}function l(t,e){if(e.decoder&&!e.ended){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,f(t)}function f(t){var r=t._readableState;r.needReadable=!1,r.emittedReadable||(T("emitReadable",r.flowing),r.emittedReadable=!0,r.sync?e.nextTick(function(){h(t)}):h(t))}function h(t){T("emit readable"),t.emit("readable"),b(t)}function p(t,r){r.readingMore||(r.readingMore=!0,e.nextTick(function(){d(t,r)}))}function d(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=i)r=o?n.join(""):A.concat(n,i),n.length=0;else if(t0)throw new Error("endReadable called on non-empty stream");r.endEmitted||(r.ended=!0,e.nextTick(function(){r.endEmitted||0!==r.length||(r.endEmitted=!0,t.readable=!1,t.emit("end"))}))}function w(t,e){for(var r=0,n=t.length;r0)&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return T("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?_(this):f(this),null;if(t=u(t,e),0===t&&e.ended)return 0===e.length&&_(this),null;var n=e.needReadable;T("need readable",n),(0===e.length||e.length-t0?m(t,e):null,k.isNull(i)&&(e.needReadable=!0,t=0),e.length-=t,0!==e.length||e.ended||(e.needReadable=!0),r!==t&&e.ended&&0===e.length&&_(this),k.isNull(i)||this.emit("data",i),i},i.prototype._read=function(t){this.emit("error",new Error("not implemented"))},i.prototype.pipe=function(t,r){function n(t){T("onunpipe"),t===f&&o()}function i(){T("onend"),t.end()}function o(){T("cleanup"),t.removeListener("close",u),t.removeListener("finish",c),t.removeListener("drain",v),t.removeListener("error",s),t.removeListener("unpipe",n),f.removeListener("end",i),f.removeListener("end",o),f.removeListener("data",a),!h.awaitDrain||t._writableState&&!t._writableState.needDrain||v()}function a(e){T("ondata");var r=t.write(e);!1===r&&(T("false write response, pause",f._readableState.awaitDrain),f._readableState.awaitDrain++,f.pause())}function s(e){T("onerror",e),l(),t.removeListener("error",s),0===S.listenerCount(t,"error")&&t.emit("error",e)}function u(){t.removeListener("finish",c),l()}function c(){T("onfinish"),t.removeListener("close",u),l()}function l(){T("unpipe"),f.unpipe(t)}var f=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=t;break;case 1:h.pipes=[h.pipes,t];break;default:h.pipes.push(t)}h.pipesCount+=1,T("pipe count=%d opts=%j",h.pipesCount,r);var p=(!r||r.end!==!1)&&t!==e.stdout&&t!==e.stderr,d=p?i:o;h.endEmitted?e.nextTick(d):f.once("end",d),t.on("unpipe",n);var v=g(f);return t.on("drain",v),f.on("data",a),t._events&&t._events.error?j(t._events.error)?t._events.error.unshift(s):t._events.error=[s,t._events.error]:t.on("error",s),t.once("close",u),t.once("finish",c),t.emit("pipe",f),h.flowing||(T("pipe resume"),f.resume()),t},i.prototype.unpipe=function(t){var e=this._readableState;if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this),this);if(!t){var r=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var i=0;i1){for(var r=[],n=0;n=this.charLength-this.charReceived?this.charLength-this.charReceived:t.length;if(t.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&n<=56319)){if(this.charReceived=this.charLength=0,0===t.length)return e;break}this.charLength+=this.surrogateSize,e=""}this.detectIncompleteChar(t);var i=t.length;this.charLength&&(t.copy(this.charBuffer,0,t.length-this.charReceived,i),i-=this.charReceived),e+=t.toString(this.encoding,0,i);var i=e.length-1,n=e.charCodeAt(i);if(n>=55296&&n<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),t.copy(this.charBuffer,0,0,o),e.substring(0,i)}return e},c.prototype.detectIncompleteChar=function(t){for(var e=t.length>=3?3:t.length;e>0;e--){var r=t[t.length-e];if(1==e&&r>>5==6){this.charLength=2;break}if(e<=2&&r>>4==14){this.charLength=3;break}if(e<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=e},c.prototype.end=function(t){var e="";if(t&&t.length&&(e=this.write(t)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;e+=n.slice(0,r).toString(i)}return e}},function(t,e,r){function n(t,e){this.afterTransform=function(t,r){return i(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null}function i(t,e,r){var n=t._transformState;n.transforming=!1;var i=n.writecb;if(!i)return t.emit("error",new Error("no writecb in Transform class"));n.writechunk=null,n.writecb=null,u.isNullOrUndefined(r)||t.push(r),i&&i(e);var o=t._readableState;o.reading=!1,(o.needReadable||o.length",t.children&&(r+=d(t.children,e)),p[t.name]&&!e.xmlMode||(r+="")):r+="/>",r}function o(t){return"<"+t.data+">"}function a(t,e){var r=t.data||"";return!e.decodeEntities||t.parent&&t.parent.name in h||(r=l.encodeXML(r)),r}function s(t){return""}function u(t){return""}var c=r(51),l=r(52),f={__proto__:null,allowfullscreen:!0,async:!0,autofocus:!0,autoplay:!0,checked:!0,controls:!0,default:!0,defer:!0,disabled:!0,hidden:!0,ismap:!0,loop:!0,multiple:!0,muted:!0,open:!0,readonly:!0,required:!0,reversed:!0,scoped:!0,seamless:!0,selected:!0,typemustmatch:!0},h={__proto__:null,style:!0,script:!0,xmp:!0,iframe:!0,noembed:!0,noframes:!0,plaintext:!0,noscript:!0},p={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},d=t.exports=function(t,e){Array.isArray(t)||t.cheerio||(t=[t]),e=e||{};for(var r="",n=0;n0&&(o=i(t,o,r,n),a=a.concat(o),n-=o.length,n<=0)));s++);return a}function o(t,e){for(var r=0,n=e.length;r0&&(r=a(t,e[n].children)));return r}function s(t,e){for(var r=0,n=e.length;r0&&s(t,e[r].children)))return!0;return!1}function u(t,e){for(var r=[],n=0,i=e.length;n0&&(r=r.concat(u(t,e[n].children))));return r}var c=r(24).isTag;t.exports={filter:n,find:i,findOneChild:o,findOne:a,existsOne:s,findAll:u}},function(t,e,r){function n(t,e){return"function"==typeof e?function(r){return r.attribs&&e(r.attribs[t])}:function(r){return r.attribs&&r.attribs[t]===e}}function i(t,e){return function(r){return t(r)||e(r)}}var o=r(24),a=e.isTag=o.isTag;e.testElement=function(t,e){for(var r in t)if(t.hasOwnProperty(r)){if("tag_name"===r){if(!a(e)||!t.tag_name(e.name))return!1}else if("tag_type"===r){if(!t.tag_type(e.type))return!1}else if("tag_contains"===r){if(a(e)||!t.tag_contains(e.data))return!1}else if(!e.attribs||!t[r](e.attribs[r]))return!1}else;return!0};var s={tag_name:function(t){return"function"==typeof t?function(e){return a(e)&&t(e.name)}:"*"===t?a:function(e){return a(e)&&e.name===t}},tag_type:function(t){return"function"==typeof t?function(e){return t(e.type)}:function(e){return e.type===t}},tag_contains:function(t){return"function"==typeof t?function(e){return!a(e)&&t(e.data)}:function(e){return!a(e)&&e.data===t}}};e.getElements=function(t,e,r,o){var a=Object.keys(t).map(function(e){var r=t[e];return e in s?s[e](r):n(e,r)});return 0===a.length?[]:this.filter(a.reduce(i),e,r,o)},e.getElementById=function(t,e,r){return Array.isArray(e)||(e=[e]),this.findOne(n("id",t),e,r!==!1)},e.getElementsByTagName=function(t,e,r,n){return this.filter(s.tag_name(t),e,r,n)},e.getElementsByTagType=function(t,e,r,n){return this.filter(s.tag_type(t),e,r,n)}},function(t,e){e.removeSubsets=function(t){for(var e,r,n,i=t.length;--i>-1;){for(e=r=t[i],t[i]=null,n=!0;r;){if(t.indexOf(r)>-1){n=!1,t.splice(i,1);break}r=r.parent}n&&(t[i]=e)}return t};var r={DISCONNECTED:1,PRECEDING:2,FOLLOWING:4,CONTAINS:8,CONTAINED_BY:16},n=e.compareDocumentPosition=function(t,e){var n,i,o,a,s,u,c=[],l=[];if(t===e)return 0;for(n=t;n;)c.unshift(n),n=n.parent;for(n=e;n;)l.unshift(n),n=n.parent;for(u=0;c[u]===l[u];)u++;return 0===u?r.DISCONNECTED:(i=c[u-1],o=i.children,a=c[u],s=l[u],o.indexOf(a)>o.indexOf(s)?i===e?r.FOLLOWING|r.CONTAINED_BY:r.FOLLOWING:i===t?r.PRECEDING|r.CONTAINS:r.PRECEDING)};e.uniqueSort=function(t){var e,i,o=t.length;for(t=t.slice();--o>-1;)e=t[o],i=t.indexOf(e),i>-1&&i)[^>]*$|#([\w\-]*)$)/;e.isHtml=function(t){if("<"===t.charAt(0)&&">"===t.charAt(t.length-1)&&t.length>=3)return!0;var e=a.exec(t);return!(!e||!e[1])}},function(t,e){function r(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function n(t,e){for(var r=-1,n=Array(t);++r1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(o=t.length>3&&"function"==typeof o?(i--,o):void 0,a&&f(r[0],r[1],a)&&(o=i<3?void 0:o,i=1),e=Object(e);++n-1&&t%1==0&&t-1&&t%1==0&&t<=j}function _(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function w(t){return!!t&&"object"==typeof t}function x(t){return v(t)?i(t,!0):a(t)}var j=9007199254740991,A="[object Arguments]",S="[object Function]",E="[object GeneratorFunction]",k=/^(?:0|[1-9]\d*)$/,O=Object.prototype,T=O.hasOwnProperty,C=O.toString,L=O.propertyIsEnumerable,D=Math.max,R=Array.isArray,N=c(function(t,e){u(e,x(e),t)});t.exports=N},function(t,e){(function(e){function r(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function n(t,e){for(var r=-1,n=t?t.length:0;++r-1}function o(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o1&&E.reverse(),p&&c1?"& ":"")+e[n],e=e.join(r>2?", ":" "),t.replace(ft,"{\n/* [wrapped with "+e+"] */\n")}function T(t,e){return e=null==e?rt:e,!!e&&("number"==typeof t||bt.test(t))&&t>-1&&t%1==0&&t2?t:void 0}(),Pt=Nt?function(t,e,r){var n=e+"";return Nt(t,"toString",{configurable:!0,enumerable:!1,value:F(O(n,R(k(n),r)))})}:V,qt=d(function(t,e,r){var n=H;if(r.length){var i=f(r,S(qt));n|=J}return A(t,n,e,r,i)});qt.placeholder={},t.exports=qt}).call(e,function(){return this}())},function(t,e){function r(t,e){for(var r=-1,n=t?t.length:0;++r-1&&t%1==0&&t-1&&t%1==0&&t<=x}function b(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function m(t){return!!t&&"object"==typeof t}function _(t){return d(t)?o(t):s(t)}function w(t){return t}var x=9007199254740991,j="[object Arguments]",A="[object Function]",S="[object GeneratorFunction]",E=/^(?:0|[1-9]\d*)$/,k=Object.prototype,O=k.hasOwnProperty,T=k.toString,C=k.propertyIsEnumerable,L=i(Object.keys,Object),D=u(a),R=c(),N=Array.isArray;t.exports=h},function(t,e){function r(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function n(t,e){for(var r=-1,n=Array(t);++r1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(o=t.length>3&&"function"==typeof o?(i--,o):void 0,a&&h(r[0],r[1],a)&&(o=i<3?void 0:o,i=1),e=Object(e);++n-1&&t%1==0&&t-1&&t%1==0&&t<=A}function w(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function x(t){return!!t&&"object"==typeof t}function j(t){return y(t)?i(t,!0):s(t)}var A=9007199254740991,S="[object Arguments]",E="[object Function]",k="[object GeneratorFunction]",O=/^(?:0|[1-9]\d*)$/,T=Object.prototype,C=T.hasOwnProperty,L=T.toString,D=T.propertyIsEnumerable,R=Math.max,N=Array.isArray,P=l(function(t,e,r,n){c(e,j(e),t,n)}),q=u(function(t){return t.push(void 0,o),r(P,void 0,t)});t.exports=q},function(t,e,r){var n=r(67),i=r(61),o=i.isTag,a=i.domEach,s=Object.prototype.hasOwnProperty,u=i.camelCase,c=i.cssCase,l=/\s+/,f="data-",h={forEach:r(64),extend:r(62),some:r(82)},p={null:null,true:!0,false:!1},d=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,g=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,v=function(t,e){if(t&&o(t))return t.attribs||(t.attribs={}),e?s.call(t.attribs,e)?d.test(e)?e:t.attribs[e]:"option"===t.name&&"value"===e?n.text(t.children):"input"!==t.name||"radio"!==t.attribs.type&&"checkbox"!==t.attribs.type||"value"!==e?void 0:"on":t.attribs},y=function(t,e,r){null===r?x(t,e):t.attribs[e]=r+""};e.attr=function(t,e){return"object"==typeof t||void 0!==e?"function"==typeof e?a(this,function(r,n){y(n,t,e.call(n,r,n.attribs[t]))}):a(this,function(r,n){o(n)&&("object"==typeof t?h.forEach(t,function(t,e){y(n,e,t)}):y(n,t,e))}):v(this[0],t)};var b=function(t,e){if(t&&o(t))return t.hasOwnProperty(e)?t[e]:d.test(e)?void 0!==v(t,e):v(t,e)},m=function(t,e,r){t[e]=d.test(e)?!!r:r};e.prop=function(t,e){var r,n=0;if("string"==typeof t&&void 0===e){switch(t){case"style":r=this.css(),h.forEach(r,function(t,e){r[n++]=e}),r.length=n;break;case"tagName":case"nodeName":r=this[0].name.toUpperCase();break;default:r=b(this[0],t)}return r}if("object"==typeof t||void 0!==e)return"function"==typeof e?a(this,function(r,n){m(n,t,e.call(n,r,b(n,t)))}):a(this,function(r,n){o(n)&&("object"==typeof t?h.forEach(t,function(t,e){m(n,e,t)}):m(n,t,e))})};var _=function(t,e,r){return t.data||(t.data={}),"object"==typeof e?h.extend(t.data,e):void("string"==typeof e&&void 0!==r?t.data[e]=r:"object"==typeof e&&h.extend(t.data,e))},w=function(t,e){var r,n,i,o,a,l,h,d=1===arguments.length;for(d?(r=Object.keys(t.attribs).filter(function(t){return t.slice(0,f.length)===f}),i=r.map(function(t){return u(t.slice(f.length))})):(r=[f+c(e)],i=[e]),l=0,h=r.length;l-1;)if(r=o+t.length,(0===o||l.test(i[o-1]))&&(r===i.length||l.test(i[r])))return!0})},e.addClass=function(t){if("function"==typeof t)return a(this,function(r,n){ +var i=n.attribs.class||"";e.addClass.call([n],t.call(n,r,i))});if(!t||"string"!=typeof t)return this;for(var r=t.split(l),n=this.length,i=0;i=0&&(u.splice(a,1),s=!0,c--);s&&(e.attribs.class=u.join(" "))}}))},e.toggleClass=function(t,r){if("function"==typeof t)return a(this,function(n,i){e.toggleClass.call([i],t.call(i,n,i.attribs.class||"",r),r)});if(!t||"string"!=typeof t)return this;for(var n,i,s=t.split(l),u=s.length,c="boolean"==typeof r?r?1:-1:0,f=this.length,h=0;h=0&&i<0?n.push(s[p]):c<=0&&i>=0&&n.splice(i,1);this[h].attribs.class=n.join(" ")}return this},e.is=function(t){return!!t&&this.filter(t).length>0}},function(t,e,r){function n(t,e,r){if(e)"string"==typeof e&&(e=o(e,t._root,r));else{if(!t._root||!t._root.children)return"";e=t._root.children}return i(e,r)}var i=r(50),o=r(68),a=r(8),s={merge:r(80),defaults:r(65)};e.load=function(t,n){var i=r(7);n=s.defaults(n||{},i.prototype.options);var o=a(t,n),u=function(t,e,r,a){return this instanceof u?(a=s.defaults(a||{},n),i.call(this,t,e,r||o,a)):new u(t,e,r,a)};return u.prototype=Object.create(i.prototype),u.prototype.constructor=u,u.fn=u.prototype,u.prototype._originalRoot=o,s.merge(u,e),u._root=o,u._options=n,u},e.html=function(t,e){var i=r(7);return"[object Object]"!==Object.prototype.toString.call(t)||e||"length"in t||"type"in t||(e=t,t=void 0),e=s.defaults(e||{},this._options,i.prototype.options),n(this,t,e)},e.xml=function(t){var e=s.defaults({xmlMode:!0},this._options);return n(this,t,e)},e.text=function(t){t||(t=this.root());for(var r,n="",i=t.length,o=0;o1&&"scope"!==e)throw new SyntaxError("pseudo-selector :"+e+" requires an argument")}else if(1===t.length)throw new SyntaxError("pseudo-selector :"+e+" doesn't have any arguments")}var s=r(48),u=s.isTag,c=s.getText,l=s.getParent,f=s.getChildren,h=s.getSiblings,p=s.hasAttrib,d=s.getName,g=s.getAttributeValue,v=r(70),y=r(74).rules.equals,b=r(73),m=b.trueFunc,_=b.falseFunc,w={contains:function(t,e){return function(r){return t(r)&&c(r).indexOf(e)>=0}},icontains:function(t,e){var r=e.toLowerCase();return function(e){return t(e)&&c(e).toLowerCase().indexOf(r)>=0}},"nth-child":function(t,e){var r=v(e);return r===_?r:r===m?o(t):function(e){for(var n=h(e),i=0,o=0;i=0;o--)if(u(n[o])){if(n[o]===e)break;i++}return r(i)&&t(e)}},"nth-of-type":function(t,e){var r=v(e);return r===_?r:r===m?o(t):function(e){for(var n=h(e),i=0,o=0;o=0;o--)if(u(n[o])){if(n[o]===e)break;d(n[o])===d(e)&&i++}return r(i)&&t(e)}},root:function(t){return function(e){return!l(e)&&t(e)}},scope:function(t,e,r,n){return n&&0!==n.length?1===n.length?function(e){return n[0]===e&&t(e)}:function(e){return n.indexOf(e)>=0&&t(e)}:w.root(t)},checkbox:i("type","checkbox"),file:i("type","file"),password:i("type","password"),radio:i("type","radio"),reset:i("type","reset"),image:i("type","image"),submit:i("type","submit")},x={empty:function(t){return!f(t).some(function(t){return u(t)||"text"===t.type})},"first-child":function(t){return n(h(t))===t},"last-child":function(t){for(var e=h(t),r=e.length-1;r>=0;r--){if(e[r]===t)return!0;if(u(e[r]))break}return!1},"first-of-type":function(t){for(var e=h(t),r=0;r=0;r--)if(u(e[r])){if(e[r]===t)return!0;if(d(e[r])===d(t))break}return!1},"only-of-type":function(t){for(var e=h(t),r=0,n=e.length;r=r};var n=r%e;return n<0&&(n+=e),e>1?function(t){return t>=r&&t%e===n}:(e*=-1,function(t){return t<=r&&t%e===n})}t.exports=n;var i=r(73),o=i.trueFunc,a=i.falseFunc},function(t,e){t.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}},function(t,e,r){var n=r(48),i=n.hasAttrib,o=n.getAttributeValue,a=r(73).falseFunc,s=/[-[\]{}()*+?.,\\^$|#\s]/g,u={__proto__:null,equals:function(t,e){var r=e.name,n=e.value;return e.ignoreCase?(n=n.toLowerCase(),function(e){var i=o(e,r);return null!=i&&i.toLowerCase()===n&&t(e)}):function(e){return o(e,r)===n&&t(e)}},hyphen:function(t,e){var r=e.name,n=e.value,i=n.length;return e.ignoreCase?(n=n.toLowerCase(),function(e){var a=o(e,r);return null!=a&&(a.length===i||"-"===a.charAt(i))&&a.substr(0,i).toLowerCase()===n&&t(e)}):function(e){var a=o(e,r);return null!=a&&a.substr(0,i)===n&&(a.length===i||"-"===a.charAt(i))&&t(e)}},element:function(t,e){var r=e.name,n=e.value;if(/\s/.test(n))return a;n=n.replace(s,"\\$&");var i="(?:^|\\s)"+n+"(?:$|\\s)",u=e.ignoreCase?"i":"",c=new RegExp(i,u);return function(e){var n=o(e,r);return null!=n&&c.test(n)&&t(e)}},exists:function(t,e){var r=e.name;return function(e){return i(e,r)&&t(e)}},start:function(t,e){var r=e.name,n=e.value,i=n.length;return 0===i?a:e.ignoreCase?(n=n.toLowerCase(),function(e){var a=o(e,r);return null!=a&&a.substr(0,i).toLowerCase()===n&&t(e)}):function(e){var a=o(e,r);return null!=a&&a.substr(0,i)===n&&t(e)}},end:function(t,e){var r=e.name,n=e.value,i=-n.length;return 0===i?a:e.ignoreCase?(n=n.toLowerCase(),function(e){var a=o(e,r);return null!=a&&a.substr(i).toLowerCase()===n&&t(e)}):function(e){var a=o(e,r);return null!=a&&a.substr(i)===n&&t(e)}},any:function(t,e){var r=e.name,n=e.value;if(""===n)return a;if(e.ignoreCase){var i=new RegExp(n.replace(s,"\\$&"),"i");return function(e){var n=o(e,r);return null!=n&&i.test(n)&&t(e)}}return function(e){var i=o(e,r);return null!=i&&i.indexOf(n)>=0&&t(e)}},not:function(t,e){var r=e.name,n=e.value;return""===n?function(e){return!!o(e,r)&&t(e)}:e.ignoreCase?(n=n.toLowerCase(),function(e){var i=o(e,r);return null!=i&&i.toLowerCase()!==n&&t(e)}):function(e){return o(e,r)!==n&&t(e)}}};t.exports={compile:function(t,e,r){if(r&&r.strict&&(e.ignoreCase||"not"===e.action))throw SyntaxError("Unsupported attribute selector");return u[e.action](t,e)},rules:u}},function(t,e,r){function n(t,e,r){var n=o(t,e,r);return i(n)}function i(t){return function(e){return g(e)&&t(e)}}function o(t,e,r){var n=p(t,e);return u(n,e,r)}function a(t){return"pseudo"===t.type&&("scope"===t.name||Array.isArray(t.data)&&t.data.some(function(t){return t.some(a)}))}function s(t,e){var r=!!e&&!!e.length&&e.every(function(t){return t===A||!!S(t)});t.forEach(function(t){if(t.length>0&&c(t[0])&&"descendant"!==t[0].type);else{if(!r||a(t))return;t.unshift(x)}t.unshift(j)})}function u(t,e,r){t=t.filter(function(t){return t.length>0}),t.forEach(y);var n=Array.isArray(r);return r=e&&e.context||r,r&&!n&&(r=[r]),s(t,r),t.map(function(t){return l(t,e,r,n)}).reduce(f,_)}function c(t){return w[t.type]<0}function l(t,e,r,n){var i=n&&"scope"===t[0].name&&"descendant"===t[1].type;return t.reduce(function(t,n,o){return t===_?t:v[n.type](t,n,e,r,i&&1===o)},e&&e.rootFunc||m)}function f(t,e){return e===_||t===m?t:t===_||e===m?e:function(r){return t(r)||e(r)}}function h(t){return t.some(c)}t.exports=n,t.exports.compileUnsafe=o,t.exports.compileToken=u;var p=r(76),d=r(48),g=d.isTag,v=r(77),y=r(78),b=r(73),m=b.trueFunc,_=b.falseFunc,w=r(79),x={type:"descendant"},j={type:"pseudo",name:"scope"},A={},S=d.getParent,E=r(69),k=E.filters,O=d.existsOne,g=d.isTag,T=d.getChildren;k.not=function(t,e,r,n){var i={xmlMode:!(!r||!r.xmlMode),strict:!(!r||!r.strict)};if(i.strict&&(e.length>1||e.some(h)))throw new SyntaxError("complex selectors in :not aren't allowed in strict mode");var o=u(e,i,n);return o===_?t:o===m?_:function(e){return!o(e)&&t(e)}},k.has=function(t,e,r){var n={xmlMode:!(!r||!r.xmlMode),strict:!(!r||!r.strict)},o=e.some(h)?[A]:null,a=u(e,n,o);return a===_?_:a===m?function(e){return T(e).some(g)&&t(e)}:(a=i(a),o?function(e){return t(e)&&(o[0]=e,O(a,T(e)))}:function(e){return t(e)&&O(a,T(e))})},k.matches=function(t,e,r,n){var i={xmlMode:!(!r||!r.xmlMode),strict:!(!r||!r.strict),rootFunc:t};return u(e,i,n)}},function(t,e){"use strict";function r(t,e,r){var n="0x"+e-65536;return n!==n||r?e:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)}function n(t){return t.replace(c,r)}function i(t){return" "===t||"\n"===t||"\t"===t||"\f"===t||"\r"===t}function o(t,e){var r=[];if(t=a(r,t+"",e),""!==t)throw new SyntaxError("Unmatched selector: "+t);return r}function a(t,e,r){function o(){var t=e.match(u)[0];return e=e.substr(t.length),n(t)}function c(t){for(;i(e.charAt(t));)t++;e=e.substr(t)}var y,b,m,_,w=[],x=!1;for(c(0);""!==e;)if(b=e.charAt(0),i(b))x=!0,c(1);else if(b in h)w.push({type:h[b]}),x=!1,c(1);else if(","===b){if(0===w.length)throw new SyntaxError("empty sub-selector");t.push(w),w=[],x=!1,c(1)}else if(x&&(w.length>0&&w.push({type:"descendant"}),x=!1),"*"===b)e=e.substr(1),w.push({type:"universal"});else if(b in p)e=e.substr(1),w.push({type:"attribute",name:p[b][0],action:p[b][1],value:o(),ignoreCase:!1});else if("["===b){if(e=e.substr(1),y=e.match(l),!y)throw new SyntaxError("Malformed attribute selector: "+e);e=e.substr(y[0].length),m=n(y[1]),r&&("lowerCaseAttributeNames"in r?!r.lowerCaseAttributeNames:r.xmlMode)||(m=m.toLowerCase()),w.push({type:"attribute",name:m,action:f[y[2]],value:n(y[4]||y[5]||""),ignoreCase:!!y[6]})}else if(":"===b){if(":"===e.charAt(1)){e=e.substr(2),w.push({type:"pseudo-element",name:o().toLowerCase()});continue}if(e=e.substr(1),m=o().toLowerCase(),y=null,"("===e.charAt(0))if(m in d){_=e.charAt(1);var j=_ in v;if(e=e.substr(j+1),y=[],e=a(y,e,r),j){if(e.charAt(0)!==_)throw new SyntaxError("unmatched quotes in :"+m);e=e.substr(1)}if(")"!==e.charAt(0))throw new SyntaxError("missing closing parenthesis in :"+m+" "+e);e=e.substr(1)}else{for(var A=1,S=1;S>0&&A0&&0===e.length)throw new SyntaxError("empty sub-selector");t.push(e)}t.exports=o;var u=/^(?:\\.|[\w\-\u00c0-\uFFFF])+/,c=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,l=/^\s*((?:\\.|[\w\u00c0-\uFFFF\-])+)\s*(?:(\S?)=\s*(?:(['"])(.*?)\3|(#?(?:\\.|[\w\u00c0-\uFFFF\-])*)|)|)\s*(i)?\]/,f={__proto__:null,undefined:"exists","":"equals","~":"element","^":"start",$:"end","*":"any","!":"not","|":"hyphen"},h={__proto__:null,">":"child","<":"parent","~":"sibling","+":"adjacent"},p={__proto__:null,"#":["id","equals"],".":["class","element"]},d={__proto__:null,has:!0,not:!0,matches:!0},g={__proto__:null,contains:!0,icontains:!0},v={__proto__:null,'"':!0,"'":!0}},function(t,e,r){var n=r(48),i=n.isTag,o=n.getParent,a=n.getChildren,s=n.getSiblings,u=n.getName;t.exports={__proto__:null,attribute:r(74).compile,pseudo:r(69).compile,tag:function(t,e){var r=e.name;return function(e){return u(e)===r&&t(e)}},descendant:function(t,e,r,n,i){return function(e){if(i&&t(e))return!0;for(var r=!1;!r&&(e=o(e));)r=t(e);return r}},parent:function(t,e,r){function n(e){return i(e)&&t(e)}if(r&&r.strict)throw SyntaxError("Parent selector isn't part of CSS3");return function(t){return a(t).some(n)}},child:function(t){return function(e){var r=o(e);return!!r&&t(r)}},sibling:function(t){return function(e){for(var r=s(e),n=0;n=0&&n>=1);else if(e===o.pseudo)if(t.data)if("has"===t.name||"contains"===t.name)e=0;else if("matches"===t.name||"not"===t.name){e=0;for(var r=0;re&&(e=n)}t.data.length>1&&e>0&&(e-=1)}else e=1;else e=3;return e}t.exports=n;var o=r(79),a={__proto__:null,exists:10,equals:8,not:7,start:6,end:6,any:5,hyphen:4,element:4}},function(t,e){t.exports={universal:50,tag:30,attribute:1,pseudo:0,descendant:-1,child:-1,parent:-1,sibling:-1,adjacent:-1}},function(t,e,r){(function(t,r){function n(t,e){return t.set(e[0],e[1]),t}function i(t,e){return t.add(e),t}function o(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function a(t,e){for(var r=-1,n=t?t.length:0;++r-1}function k(t,e){var r=this.__data__,n=$(r,t);return n<0?r.push([t,e]):r[n][1]=e,this}function O(t){var e=-1,r=t?t.length:0;for(this.clear();++e1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(o=t.length>3&&"function"==typeof o?(i--,o):void 0,a&&wt(r[0],r[1],a)&&(o=i<3?void 0:o,i=1),e=Object(e);++n-1&&t%1==0&&t-1&&t%1==0&&t<=$t}function Rt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Nt(t){return!!t&&"object"==typeof t}function Pt(t){if(!Nt(t)||Ue.call(t)!=Kt||h(t))return!1;var e=He(t);if(null===e)return!0;var r=Me.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&Be.call(r)==Ie}function qt(t){return ft(t,Mt(t))}function Bt(t){return Tt(t)?U(t):Q(t)}function Mt(t){return Tt(t)?U(t,!0):Z(t)}function It(){return[]}function Ut(){return!1}var Ft=200,Vt="__lodash_hash_undefined__",$t=9007199254740991,zt="[object Arguments]",Ht="[object Array]",Gt="[object Boolean]",Yt="[object Date]",Wt="[object Error]",Xt="[object Function]",Jt="[object GeneratorFunction]",Qt="[object Map]",Zt="[object Number]",Kt="[object Object]",te="[object Promise]",ee="[object RegExp]",re="[object Set]",ne="[object String]",ie="[object Symbol]",oe="[object WeakMap]",ae="[object ArrayBuffer]",se="[object DataView]",ue="[object Float32Array]",ce="[object Float64Array]",le="[object Int8Array]",fe="[object Int16Array]",he="[object Int32Array]",pe="[object Uint8Array]",de="[object Uint8ClampedArray]",ge="[object Uint16Array]",ve="[object Uint32Array]",ye=/[\\^$.*+?()[\]{}|]/g,be=/\w*$/,me=/^\[object .+?Constructor\]$/,_e=/^(?:0|[1-9]\d*)$/,we={};we[ue]=we[ce]=we[le]=we[fe]=we[he]=we[pe]=we[de]=we[ge]=we[ve]=!0,we[zt]=we[Ht]=we[ae]=we[Gt]=we[se]=we[Yt]=we[Wt]=we[Xt]=we[Qt]=we[Zt]=we[Kt]=we[ee]=we[re]=we[ne]=we[oe]=!1;var xe={};xe[zt]=xe[Ht]=xe[ae]=xe[se]=xe[Gt]=xe[Yt]=xe[ue]=xe[ce]=xe[le]=xe[fe]=xe[he]=xe[Qt]=xe[Zt]=xe[Kt]=xe[ee]=xe[re]=xe[ne]=xe[ie]=xe[pe]=xe[de]=xe[ge]=xe[ve]=!0,xe[Wt]=xe[Xt]=xe[oe]=!1;var je="object"==typeof t&&t&&t.Object===Object&&t,Ae="object"==typeof self&&self&&self.Object===Object&&self,Se=je||Ae||Function("return this")(),Ee="object"==typeof e&&e&&!e.nodeType&&e,ke=Ee&&"object"==typeof r&&r&&!r.nodeType&&r,Oe=ke&&ke.exports===Ee,Te=Oe&&je.process,Ce=function(){try{return Te&&Te.binding("util")}catch(t){}}(),Le=Ce&&Ce.isTypedArray,De=Array.prototype,Re=Function.prototype,Ne=Object.prototype,Pe=Se["__core-js_shared__"],qe=function(){var t=/[^.]+$/.exec(Pe&&Pe.keys&&Pe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Be=Re.toString,Me=Ne.hasOwnProperty,Ie=Be.call(Object),Ue=Ne.toString,Fe=RegExp("^"+Be.call(Me).replace(ye,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ve=Oe?Se.Buffer:void 0,$e=Se.Symbol,ze=Se.Uint8Array,He=d(Object.getPrototypeOf,Object),Ge=Object.create,Ye=Ne.propertyIsEnumerable,We=De.splice,Xe=Object.getOwnPropertySymbols,Je=Ve?Ve.isBuffer:void 0,Qe=d(Object.keys,Object),Ze=Math.max,Ke=vt(Se,"DataView"),tr=vt(Se,"Map"),er=vt(Se,"Promise"),rr=vt(Se,"Set"),nr=vt(Se,"WeakMap"),ir=vt(Object,"create"),or=Et(Ke),ar=Et(tr),sr=Et(er),ur=Et(rr),cr=Et(nr),lr=$e?$e.prototype:void 0,fr=lr?lr.valueOf:void 0;v.prototype.clear=y,v.prototype.delete=b,v.prototype.get=m,v.prototype.has=_,v.prototype.set=w,x.prototype.clear=j,x.prototype.delete=A,x.prototype.get=S,x.prototype.has=E,x.prototype.set=k,O.prototype.clear=T,O.prototype.delete=C,O.prototype.get=L,O.prototype.has=D,O.prototype.set=R,N.prototype.clear=P,N.prototype.delete=q,N.prototype.get=B,N.prototype.has=M,N.prototype.set=I;var hr=Xe?d(Xe,Object):It,pr=W;(Ke&&pr(new Ke(new ArrayBuffer(1)))!=se||tr&&pr(new tr)!=Qt||er&&pr(er.resolve())!=te||rr&&pr(new rr)!=re||nr&&pr(new nr)!=oe)&&(pr=function(t){var e=Ue.call(t),r=e==Kt?t.constructor:void 0,n=r?Et(r):void 0;if(n)switch(n){case or:return se;case ar:return Qt;case sr:return te;case ur:return re;case cr:return oe}return e});var dr=Array.isArray,gr=Je||Ut,vr=Le?l(Le):J,yr=pt(function(t,e,r){K(t,e,r)});r.exports=yr}).call(e,function(){return this}(),r(81)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e,r){(function(t,r){function n(t,e){for(var r=-1,n=t?t.length:0;++r-1}function j(t,e){var r=this.__data__,n=U(r,t);return n<0?r.push([t,e]):r[n][1]=e,this}function A(t){var e=-1,r=t?t.length:0;for(this.clear();++eu))return!1;var l=a.get(t);if(l&&a.get(e))return l==e;var f=-1,h=!0,p=o&$t?new C:void 0;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t-1&&t%1==0&&t<=Gt}function Lt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Dt(t){return!!t&&"object"==typeof t}function Rt(t){return"symbol"==typeof t||Dt(t)&&He.call(t)==se}function Nt(t){return null==t?"":rt(t)}function Pt(t,e,r){var n=null==t?void 0:V(t,e);return void 0===n?r:n}function qt(t,e){return null!=t&&ht(t,e,z)}function Bt(t){return kt(t)?I(t):Q(t)}function Mt(t){return t}function It(t){return gt(t)?i(wt(t)):tt(t)}var Ut=200,Ft="Expected a function",Vt="__lodash_hash_undefined__",$t=1,zt=2,Ht=1/0,Gt=9007199254740991,Yt="[object Arguments]",Wt="[object Array]",Xt="[object Boolean]",Jt="[object Date]",Qt="[object Error]",Zt="[object Function]",Kt="[object GeneratorFunction]",te="[object Map]",ee="[object Number]",re="[object Object]",ne="[object Promise]",ie="[object RegExp]",oe="[object Set]",ae="[object String]",se="[object Symbol]",ue="[object WeakMap]",ce="[object ArrayBuffer]",le="[object DataView]",fe="[object Float32Array]",he="[object Float64Array]",pe="[object Int8Array]",de="[object Int16Array]",ge="[object Int32Array]",ve="[object Uint8Array]",ye="[object Uint8ClampedArray]",be="[object Uint16Array]",me="[object Uint32Array]",_e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,we=/^\w*$/,xe=/^\./,je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ae=/[\\^$.*+?()[\]{}|]/g,Se=/\\(\\)?/g,Ee=/^\[object .+?Constructor\]$/,ke=/^(?:0|[1-9]\d*)$/,Oe={};Oe[fe]=Oe[he]=Oe[pe]=Oe[de]=Oe[ge]=Oe[ve]=Oe[ye]=Oe[be]=Oe[me]=!0,Oe[Yt]=Oe[Wt]=Oe[ce]=Oe[Xt]=Oe[le]=Oe[Jt]=Oe[Qt]=Oe[Zt]=Oe[te]=Oe[ee]=Oe[re]=Oe[ie]=Oe[oe]=Oe[ae]=Oe[ue]=!1;var Te="object"==typeof t&&t&&t.Object===Object&&t,Ce="object"==typeof self&&self&&self.Object===Object&&self,Le=Te||Ce||Function("return this")(),De="object"==typeof e&&e&&!e.nodeType&&e,Re=De&&"object"==typeof r&&r&&!r.nodeType&&r,Ne=Re&&Re.exports===De,Pe=Ne&&Te.process,qe=function(){try{return Pe&&Pe.binding("util")}catch(t){}}(),Be=qe&&qe.isTypedArray,Me=Array.prototype,Ie=Function.prototype,Ue=Object.prototype,Fe=Le["__core-js_shared__"],Ve=function(){var t=/[^.]+$/.exec(Fe&&Fe.keys&&Fe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),$e=Ie.toString,ze=Ue.hasOwnProperty,He=Ue.toString,Ge=RegExp("^"+$e.call(ze).replace(Ae,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Le.Symbol,We=Le.Uint8Array,Xe=Ue.propertyIsEnumerable,Je=Me.splice,Qe=l(Object.keys,Object),Ze=ft(Le,"DataView"),Ke=ft(Le,"Map"),tr=ft(Le,"Promise"),er=ft(Le,"Set"),rr=ft(Le,"WeakMap"),nr=ft(Object,"create"),ir=xt(Ze),or=xt(Ke),ar=xt(tr),sr=xt(er),ur=xt(rr),cr=Ye?Ye.prototype:void 0,lr=cr?cr.valueOf:void 0,fr=cr?cr.toString:void 0;h.prototype.clear=p,h.prototype.delete=d,h.prototype.get=g,h.prototype.has=v,h.prototype.set=y,b.prototype.clear=m,b.prototype.delete=_,b.prototype.get=w,b.prototype.has=x,b.prototype.set=j,A.prototype.clear=S,A.prototype.delete=E,A.prototype.get=k,A.prototype.has=O,A.prototype.set=T,C.prototype.add=C.prototype.push=L,C.prototype.has=D,R.prototype.clear=N,R.prototype.delete=P,R.prototype.get=q,R.prototype.has=B,R.prototype.set=M;var hr=it(F),pr=ot(),dr=$;(Ze&&dr(new Ze(new ArrayBuffer(1)))!=le||Ke&&dr(new Ke)!=te||tr&&dr(tr.resolve())!=ne||er&&dr(new er)!=oe||rr&&dr(new rr)!=ue)&&(dr=function(t){var e=He.call(t),r=e==re?t.constructor:void 0,n=r?xt(r):void 0;if(n)switch(n){case ir:return le;case or:return te;case ar:return ne;case sr:return oe;case ur:return ue}return e});var gr=At(function(t){t=Nt(t);var e=[];return xe.test(t)&&e.push(""),t.replace(je,function(t,r,n,i){e.push(n?i.replace(Se,"$1"):r||t)}),e});At.Cache=A;var vr=Array.isArray,yr=Be?a(Be):X;r.exports=jt}).call(e,function(){return this}(),r(81)(t))},function(t,e,r){function n(t,r,n,i){for(var o=[];r&&o.length0})},e.first=function(){return this.length>1?this._make(this[0]):this},e.last=function(){return this.length>1?this._make(this[this.length-1]):this},e.eq=function(t){return t=+t,0===t&&this.length<=1?this:(t<0&&(t=this.length+t),this[t]?this._make(this[t]):this._make([]))},e.get=function(t){return null==t?Array.prototype.slice.call(this):this[t<0?this.length+t:t]},e.index=function(t){var e,r;return 0===arguments.length?(e=this.parent().children(),r=this[0]):"string"==typeof t?(e=this._make(t),r=this[0]):(e=this,r=t.cheerio?t[0]:t),e.get().indexOf(r)},e.slice=function(){return this._make([].slice.apply(this,arguments))},e.end=function(){return this.prevObject||this._make([])},e.add=function(t,e){for(var r=this._make(t,e),n=s(r.get().concat(this.get())),i=0;i-1}function A(t,e){var r=this.__data__,n=F(r,t);return n<0?r.push([t,e]):r[n][1]=e,this}function S(t){var e=-1,r=t?t.length:0;for(this.clear();++eu))return!1;var l=a.get(t);if(l&&a.get(e))return l==e;var f=-1,h=!0,p=o&zt?new L:void 0;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t-1&&t%1==0&&t<=Yt}function Dt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Rt(t){return!!t&&"object"==typeof t}function Nt(t){return"symbol"==typeof t||Rt(t)&&Ge.call(t)==ue}function Pt(t){return null==t?"":nt(t)}function qt(t,e,r){var n=null==t?void 0:z(t,e);return void 0===n?r:n}function Bt(t,e){return null!=t&&pt(t,e,G)}function Mt(t){return Ot(t)?U(t):K(t)}function It(t){return t}function Ut(t){return gt(t)?o(wt(t)):rt(t)}var Ft=200,Vt="Expected a function",$t="__lodash_hash_undefined__",zt=1,Ht=2,Gt=1/0,Yt=9007199254740991,Wt="[object Arguments]",Xt="[object Array]",Jt="[object Boolean]",Qt="[object Date]",Zt="[object Error]",Kt="[object Function]",te="[object GeneratorFunction]",ee="[object Map]",re="[object Number]",ne="[object Object]",ie="[object Promise]",oe="[object RegExp]",ae="[object Set]",se="[object String]",ue="[object Symbol]",ce="[object WeakMap]",le="[object ArrayBuffer]",fe="[object DataView]",he="[object Float32Array]",pe="[object Float64Array]",de="[object Int8Array]",ge="[object Int16Array]",ve="[object Int32Array]",ye="[object Uint8Array]",be="[object Uint8ClampedArray]",me="[object Uint16Array]",_e="[object Uint32Array]",we=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xe=/^\w*$/,je=/^\./,Ae=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Se=/[\\^$.*+?()[\]{}|]/g,Ee=/\\(\\)?/g,ke=/^\[object .+?Constructor\]$/,Oe=/^(?:0|[1-9]\d*)$/,Te={};Te[he]=Te[pe]=Te[de]=Te[ge]=Te[ve]=Te[ye]=Te[be]=Te[me]=Te[_e]=!0,Te[Wt]=Te[Xt]=Te[le]=Te[Jt]=Te[fe]=Te[Qt]=Te[Zt]=Te[Kt]=Te[ee]=Te[re]=Te[ne]=Te[oe]=Te[ae]=Te[se]=Te[ce]=!1;var Ce="object"==typeof t&&t&&t.Object===Object&&t,Le="object"==typeof self&&self&&self.Object===Object&&self,De=Ce||Le||Function("return this")(),Re="object"==typeof e&&e&&!e.nodeType&&e,Ne=Re&&"object"==typeof r&&r&&!r.nodeType&&r,Pe=Ne&&Ne.exports===Re,qe=Pe&&Ce.process,Be=function(){try{return qe&&qe.binding("util")}catch(t){}}(),Me=Be&&Be.isTypedArray,Ie=Array.prototype,Ue=Function.prototype,Fe=Object.prototype,Ve=De["__core-js_shared__"],$e=function(){var t=/[^.]+$/.exec(Ve&&Ve.keys&&Ve.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),ze=Ue.toString,He=Fe.hasOwnProperty,Ge=Fe.toString,Ye=RegExp("^"+ze.call(He).replace(Se,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),We=De.Symbol,Xe=De.Uint8Array,Je=Fe.propertyIsEnumerable,Qe=Ie.splice,Ze=f(Object.keys,Object),Ke=ht(De,"DataView"),tr=ht(De,"Map"),er=ht(De,"Promise"),rr=ht(De,"Set"),nr=ht(De,"WeakMap"),ir=ht(Object,"create"),or=xt(Ke),ar=xt(tr),sr=xt(er),ur=xt(rr),cr=xt(nr),lr=We?We.prototype:void 0,fr=lr?lr.valueOf:void 0,hr=lr?lr.toString:void 0;p.prototype.clear=d,p.prototype.delete=g,p.prototype.get=v,p.prototype.has=y,p.prototype.set=b,m.prototype.clear=_,m.prototype.delete=w,m.prototype.get=x,m.prototype.has=j,m.prototype.set=A,S.prototype.clear=E,S.prototype.delete=k,S.prototype.get=O,S.prototype.has=T,S.prototype.set=C,L.prototype.add=L.prototype.push=D,L.prototype.has=R,N.prototype.clear=P,N.prototype.delete=q,N.prototype.get=B,N.prototype.has=M,N.prototype.set=I;var pr=ot($),dr=at(),gr=H;(Ke&&gr(new Ke(new ArrayBuffer(1)))!=fe||tr&&gr(new tr)!=ee||er&&gr(er.resolve())!=ie||rr&&gr(new rr)!=ae||nr&&gr(new nr)!=ce)&&(gr=function(t){var e=Ge.call(t),r=e==ne?t.constructor:void 0,n=r?xt(r):void 0;if(n)switch(n){case or:return fe;case ar:return ee;case sr:return ie;case ur:return ae;case cr:return ce}return e});var vr=At(function(t){t=Pt(t);var e=[];return je.test(t)&&e.push(""),t.replace(Ae,function(t,r,n,i){e.push(n?i.replace(Ee,"$1"):r||t)}),e});At.Cache=S;var yr=Array.isArray,br=Me?s(Me):Q;r.exports=jt}).call(e,function(){return this}(),r(81)(t))},function(t,e,r){(function(t,r){function n(t,e){for(var r=-1,n=t?t.length:0,i=0,o=[];++r-1}function A(t,e){var r=this.__data__,n=F(r,t);return n<0?r.push([t,e]):r[n][1]=e,this}function S(t){var e=-1,r=t?t.length:0;for(this.clear();++eu))return!1;var l=a.get(t);if(l&&a.get(e))return l==e;var f=-1,h=!0,p=o&$t?new L:void 0;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t-1&&t%1==0&&t<=Gt}function Lt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Dt(t){return!!t&&"object"==typeof t}function Rt(t){return"symbol"==typeof t||Dt(t)&&He.call(t)==se}function Nt(t){return null==t?"":nt(t)}function Pt(t,e,r){var n=null==t?void 0:z(t,e);return void 0===n?r:n}function qt(t,e){return null!=t&&pt(t,e,G)}function Bt(t){return kt(t)?U(t):K(t)}function Mt(t){return t}function It(t){return gt(t)?o(wt(t)):rt(t)}var Ut=200,Ft="Expected a function",Vt="__lodash_hash_undefined__",$t=1,zt=2,Ht=1/0,Gt=9007199254740991,Yt="[object Arguments]",Wt="[object Array]",Xt="[object Boolean]",Jt="[object Date]",Qt="[object Error]",Zt="[object Function]",Kt="[object GeneratorFunction]",te="[object Map]",ee="[object Number]",re="[object Object]",ne="[object Promise]",ie="[object RegExp]",oe="[object Set]",ae="[object String]",se="[object Symbol]",ue="[object WeakMap]",ce="[object ArrayBuffer]",le="[object DataView]",fe="[object Float32Array]",he="[object Float64Array]",pe="[object Int8Array]",de="[object Int16Array]",ge="[object Int32Array]",ve="[object Uint8Array]",ye="[object Uint8ClampedArray]",be="[object Uint16Array]",me="[object Uint32Array]",_e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,we=/^\w*$/,xe=/^\./,je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ae=/[\\^$.*+?()[\]{}|]/g,Se=/\\(\\)?/g,Ee=/^\[object .+?Constructor\]$/,ke=/^(?:0|[1-9]\d*)$/,Oe={};Oe[fe]=Oe[he]=Oe[pe]=Oe[de]=Oe[ge]=Oe[ve]=Oe[ye]=Oe[be]=Oe[me]=!0,Oe[Yt]=Oe[Wt]=Oe[ce]=Oe[Xt]=Oe[le]=Oe[Jt]=Oe[Qt]=Oe[Zt]=Oe[te]=Oe[ee]=Oe[re]=Oe[ie]=Oe[oe]=Oe[ae]=Oe[ue]=!1;var Te="object"==typeof t&&t&&t.Object===Object&&t,Ce="object"==typeof self&&self&&self.Object===Object&&self,Le=Te||Ce||Function("return this")(),De="object"==typeof e&&e&&!e.nodeType&&e,Re=De&&"object"==typeof r&&r&&!r.nodeType&&r,Ne=Re&&Re.exports===De,Pe=Ne&&Te.process,qe=function(){try{return Pe&&Pe.binding("util")}catch(t){}}(),Be=qe&&qe.isTypedArray,Me=Array.prototype,Ie=Function.prototype,Ue=Object.prototype,Fe=Le["__core-js_shared__"],Ve=function(){var t=/[^.]+$/.exec(Fe&&Fe.keys&&Fe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),$e=Ie.toString,ze=Ue.hasOwnProperty,He=Ue.toString,Ge=RegExp("^"+$e.call(ze).replace(Ae,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Le.Symbol,We=Le.Uint8Array,Xe=Ue.propertyIsEnumerable,Je=Me.splice,Qe=f(Object.keys,Object),Ze=ht(Le,"DataView"),Ke=ht(Le,"Map"),tr=ht(Le,"Promise"),er=ht(Le,"Set"),rr=ht(Le,"WeakMap"),nr=ht(Object,"create"),ir=xt(Ze),or=xt(Ke),ar=xt(tr),sr=xt(er),ur=xt(rr),cr=Ye?Ye.prototype:void 0,lr=cr?cr.valueOf:void 0,fr=cr?cr.toString:void 0;p.prototype.clear=d,p.prototype.delete=g,p.prototype.get=v,p.prototype.has=y,p.prototype.set=b,m.prototype.clear=_,m.prototype.delete=w,m.prototype.get=x,m.prototype.has=j,m.prototype.set=A,S.prototype.clear=E,S.prototype.delete=k,S.prototype.get=O,S.prototype.has=T,S.prototype.set=C,L.prototype.add=L.prototype.push=D,L.prototype.has=R,N.prototype.clear=P,N.prototype.delete=q,N.prototype.get=B,N.prototype.has=M,N.prototype.set=I;var hr=ot($),pr=at(),dr=H;(Ze&&dr(new Ze(new ArrayBuffer(1)))!=le||Ke&&dr(new Ke)!=te||tr&&dr(tr.resolve())!=ne||er&&dr(new er)!=oe||rr&&dr(new rr)!=ue)&&(dr=function(t){var e=He.call(t),r=e==re?t.constructor:void 0,n=r?xt(r):void 0;if(n)switch(n){case ir:return le;case or:return te;case ar:return ne;case sr:return oe;case ur:return ue}return e});var gr=At(function(t){t=Nt(t);var e=[];return xe.test(t)&&e.push(""),t.replace(je,function(t,r,n,i){e.push(n?i.replace(Se,"$1"):r||t)}),e});At.Cache=S;var vr=Array.isArray,yr=Be?s(Be):Q;r.exports=jt}).call(e,function(){return this}(),r(81)(t))},function(t,e,r){(function(t,r){function n(t,e,r,n){var i=-1,o=t?t.length:0;for(n&&o&&(r=t[++i]);++i-1}function S(t,e){var r=this.__data__,n=V(r,t);return n<0?r.push([t,e]):r[n][1]=e,this}function E(t){var e=-1,r=t?t.length:0;for(this.clear();++eu))return!1;var l=a.get(t);if(l&&a.get(e))return l==e;var f=-1,h=!0,p=o&$t?new D:void 0;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t-1&&t%1==0&&t<=Gt}function Lt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Dt(t){return!!t&&"object"==typeof t}function Rt(t){return"symbol"==typeof t||Dt(t)&&He.call(t)==se}function Nt(t){return null==t?"":nt(t)}function Pt(t,e,r){var n=null==t?void 0:z(t,e);return void 0===n?r:n}function qt(t,e){return null!=t&&pt(t,e,G)}function Bt(t){return kt(t)?F(t):K(t)}function Mt(t){return t}function It(t){return gt(t)?o(wt(t)):rt(t)}var Ut=200,Ft="Expected a function",Vt="__lodash_hash_undefined__",$t=1,zt=2,Ht=1/0,Gt=9007199254740991,Yt="[object Arguments]",Wt="[object Array]",Xt="[object Boolean]",Jt="[object Date]",Qt="[object Error]",Zt="[object Function]",Kt="[object GeneratorFunction]",te="[object Map]",ee="[object Number]",re="[object Object]",ne="[object Promise]",ie="[object RegExp]",oe="[object Set]",ae="[object String]",se="[object Symbol]",ue="[object WeakMap]",ce="[object ArrayBuffer]",le="[object DataView]",fe="[object Float32Array]",he="[object Float64Array]",pe="[object Int8Array]",de="[object Int16Array]",ge="[object Int32Array]",ve="[object Uint8Array]",ye="[object Uint8ClampedArray]",be="[object Uint16Array]",me="[object Uint32Array]",_e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,we=/^\w*$/,xe=/^\./,je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ae=/[\\^$.*+?()[\]{}|]/g,Se=/\\(\\)?/g,Ee=/^\[object .+?Constructor\]$/,ke=/^(?:0|[1-9]\d*)$/,Oe={};Oe[fe]=Oe[he]=Oe[pe]=Oe[de]=Oe[ge]=Oe[ve]=Oe[ye]=Oe[be]=Oe[me]=!0,Oe[Yt]=Oe[Wt]=Oe[ce]=Oe[Xt]=Oe[le]=Oe[Jt]=Oe[Qt]=Oe[Zt]=Oe[te]=Oe[ee]=Oe[re]=Oe[ie]=Oe[oe]=Oe[ae]=Oe[ue]=!1;var Te="object"==typeof t&&t&&t.Object===Object&&t,Ce="object"==typeof self&&self&&self.Object===Object&&self,Le=Te||Ce||Function("return this")(),De="object"==typeof e&&e&&!e.nodeType&&e,Re=De&&"object"==typeof r&&r&&!r.nodeType&&r,Ne=Re&&Re.exports===De,Pe=Ne&&Te.process,qe=function(){try{return Pe&&Pe.binding("util")}catch(t){}}(),Be=qe&&qe.isTypedArray,Me=Array.prototype,Ie=Function.prototype,Ue=Object.prototype,Fe=Le["__core-js_shared__"],Ve=function(){var t=/[^.]+$/.exec(Fe&&Fe.keys&&Fe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),$e=Ie.toString,ze=Ue.hasOwnProperty,He=Ue.toString,Ge=RegExp("^"+$e.call(ze).replace(Ae,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Le.Symbol,We=Le.Uint8Array,Xe=Ue.propertyIsEnumerable,Je=Me.splice,Qe=h(Object.keys,Object),Ze=ht(Le,"DataView"),Ke=ht(Le,"Map"),tr=ht(Le,"Promise"),er=ht(Le,"Set"),rr=ht(Le,"WeakMap"),nr=ht(Object,"create"),ir=xt(Ze),or=xt(Ke),ar=xt(tr),sr=xt(er),ur=xt(rr),cr=Ye?Ye.prototype:void 0,lr=cr?cr.valueOf:void 0,fr=cr?cr.toString:void 0;d.prototype.clear=g,d.prototype.delete=v,d.prototype.get=y,d.prototype.has=b,d.prototype.set=m,_.prototype.clear=w,_.prototype.delete=x,_.prototype.get=j,_.prototype.has=A,_.prototype.set=S,E.prototype.clear=k,E.prototype.delete=O,E.prototype.get=T,E.prototype.has=C,E.prototype.set=L,D.prototype.add=D.prototype.push=R,D.prototype.has=N,P.prototype.clear=q,P.prototype.delete=B,P.prototype.get=M,P.prototype.has=I,P.prototype.set=U;var hr=ot($),pr=at(),dr=H;(Ze&&dr(new Ze(new ArrayBuffer(1)))!=le||Ke&&dr(new Ke)!=te||tr&&dr(tr.resolve())!=ne||er&&dr(new er)!=oe||rr&&dr(new rr)!=ue)&&(dr=function(t){var e=He.call(t),r=e==re?t.constructor:void 0,n=r?xt(r):void 0;if(n)switch(n){case ir:return le;case or:return te;case ar:return ne;case sr:return oe;case ur:return ue}return e});var gr=At(function(t){t=Nt(t);var e=[];return xe.test(t)&&e.push(""),t.replace(je,function(t,r,n,i){e.push(n?i.replace(Se,"$1"):r||t)}),e});At.Cache=E;var vr=Array.isArray,yr=Be?u(Be):Q;r.exports=jt}).call(e,function(){return this}(),r(81)(t))},function(t,e,r){var n=r(8),i=r(67),o=n.update,a=n.evaluate,s=r(61),u=s.domEach,c=s.cloneDom,l=s.isHtml,f=Array.prototype.slice,h={flatten:r(88),bind:r(63),forEach:r(64)};e._makeDomArray=function(t,e){return null==t?[]:t.cheerio?e?c(t.get(),t.options):t.get():Array.isArray(t)?h.flatten(t.map(function(t){return this._makeDomArray(t,e)},this)):"string"==typeof t?a(t,this.options):e?c([t]):[t]};var p=function(t){return function(){var e=f.call(arguments),r=this.length-1;return u(this,function(n,o){var a,s;s="function"==typeof e[0]?e[0].call(o,n,i.html(o.children)):e,a=this._makeDomArray(s,n-1&&(c.children.splice(s,1),i===c&&e>s&&l[0]--),u.root=null,u.parent=i,u.prev&&(u.prev.next=u.next||null),u.next&&(u.next.prev=u.prev||null),u.prev=n[o-1]||f,u.next=n[o+1]||h;return f&&(f.next=n[0]),h&&(h.prev=n[n.length-1]),t.splice.apply(t,l)};e.appendTo=function(t){return t.cheerio||(t=this.constructor.call(this.constructor,t,null,this._originalRoot)),t.append(this),this},e.prependTo=function(t){return t.cheerio||(t=this.constructor.call(this.constructor,t,null,this._originalRoot)),t.prepend(this),this},e.append=p(function(t,e,r){d(e,e.length,0,t,r)}),e.prepend=p(function(t,e,r){d(e,0,0,t,r)}),e.wrap=function(t){var e="function"==typeof t&&t,r=this.length-1;return h.forEach(this,h.bind(function(n,i){var a,s,u=n.parent||n.root,c=u.children;u&&(e&&(t=e.call(n,i)),"string"!=typeof t||l(t)||(t=this.parents().last().find(t).clone()),a=this._makeDomArray(t,i0&&o(l)?e>1?n(l,e-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}function i(t){return E(t)||a(t)||!!(S&&t&&t[S])}function o(t){var e=t?t.length:0;return e?n(t,1):[]}function a(t){return u(t)&&w.call(t,"callee")&&(!A.call(t,"callee")||x.call(t)==d)}function s(t){return null!=t&&l(t.length)&&!c(t)}function u(t){return h(t)&&s(t)}function c(t){var e=f(t)?x.call(t):"";return e==g||e==v}function l(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=p}function f(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function h(t){return!!t&&"object"==typeof t}var p=9007199254740991,d="[object Arguments]",g="[object Function]",v="[object GeneratorFunction]",y="object"==typeof e&&e&&e.Object===Object&&e,b="object"==typeof self&&self&&self.Object===Object&&self,m=y||b||Function("return this")(),_=Object.prototype,w=_.hasOwnProperty,x=_.toString,j=m.Symbol,A=_.propertyIsEnumerable,S=j?j.isConcatSpreadable:void 0,E=Array.isArray;t.exports=o}).call(e,function(){return this}())},function(t,e,r){function n(t,e,r,a){if("string"==typeof e){var s=i(t);"function"==typeof r&&(r=r.call(t,a,s[e])),""===r?delete s[e]:null!=r&&(s[e]=r),t.attribs.style=o(s)}else"object"==typeof e&&Object.keys(e).forEach(function(r){n(t,r,e[r])})}function i(t,e){var r=a(t.attribs.style);return"string"==typeof e?r[e]:Array.isArray(e)?u.pick(r,e):r}function o(t){return Object.keys(t||{}).reduce(function(e,r){return e+=""+(e?" ":"")+r+": "+t[r]+";"},"")}function a(t){return t=(t||"").trim(),t?t.split(";").reduce(function(t,e){var r=e.indexOf(":");return r<1||r===e.length-1?t:(t[e.slice(0,r).trim()]=e.slice(r+1).trim(),t)},{}):{}}var s=r(61).domEach,u={pick:r(90)},c=Object.prototype.toString;e.css=function(t,e){return 2===arguments.length||"[object Object]"===c.call(t)?s(this,function(r,i){n(i,t,e,r)}):i(this[0],t)}},function(t,e){(function(e){function r(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function n(t,e){for(var r=-1,n=t?t.length:0,i=Array(n);++r0&&r(l)?e>1?o(l,e-1,r,n,a):i(a,l):n||(a[a.length]=l)}return a}function a(t,e){return t=Object(t),s(t,e,function(e,r){return r in t})}function s(t,e,r){for(var n=-1,i=e.length,o={};++n-1&&t%1==0&&t<=_}function v(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function y(t){return!!t&&"object"==typeof t}function b(t){return"symbol"==typeof t||y(t)&&C.call(t)==A}var m=1/0,_=9007199254740991,w="[object Arguments]",x="[object Function]",j="[object GeneratorFunction]",A="[object Symbol]",S="object"==typeof e&&e&&e.Object===Object&&e,E="object"==typeof self&&self&&self.Object===Object&&self,k=S||E||Function("return this")(),O=Object.prototype,T=O.hasOwnProperty,C=O.toString,L=k.Symbol,D=O.propertyIsEnumerable,R=L?L.isConcatSpreadable:void 0,N=Math.max,P=Array.isArray,q=u(function(t,e){return null==t?{}:a(t,n(o(e,1),l))});t.exports=q}).call(e,function(){return this}())},function(t,e,r){var n="input,select,textarea,keygen",i=/%20/g,o=/\r?\n/g,a={map:r(92)};e.serialize=function(){var t=this.serializeArray(),e=a.map(t,function(t){return encodeURIComponent(t.name)+"="+encodeURIComponent(t.value)});return e.join("&").replace(i,"+")},e.serializeArray=function(){var t=this.constructor;return this.map(function(){var e=this,r=t(e);return"form"===e.name?r.find(n).toArray():r.filter(n).toArray()}).filter('[name!=""]:not(:disabled):not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map(function(e,r){var n=t(r),i=n.attr("name"),s=n.val();return null==s?null:Array.isArray(s)?a.map(s,function(t){return{name:i,value:t.replace(o,"\r\n")}}):{name:i,value:s.replace(o,"\r\n")}}).get()}},function(t,e,r){(function(t,r){function n(t,e){for(var r=-1,n=t?t.length:0,i=Array(n);++r-1}function A(t,e){var r=this.__data__,n=F(r,t);return n<0?r.push([t,e]):r[n][1]=e,this}function S(t){var e=-1,r=t?t.length:0;for(this.clear();++eu))return!1;var l=a.get(t);if(l&&a.get(e))return l==e;var f=-1,h=!0,p=o&$t?new L:void 0;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t-1&&t%1==0&&t<=Gt}function Lt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Dt(t){return!!t&&"object"==typeof t}function Rt(t){return"symbol"==typeof t||Dt(t)&&He.call(t)==se}function Nt(t){return null==t?"":nt(t)}function Pt(t,e,r){var n=null==t?void 0:$(t,e);return void 0===n?r:n}function qt(t,e){return null!=t&&pt(t,e,H)}function Bt(t){return kt(t)?U(t):Z(t)}function Mt(t){return t}function It(t){return gt(t)?o(wt(t)):rt(t)}var Ut=200,Ft="Expected a function",Vt="__lodash_hash_undefined__",$t=1,zt=2,Ht=1/0,Gt=9007199254740991,Yt="[object Arguments]",Wt="[object Array]",Xt="[object Boolean]",Jt="[object Date]",Qt="[object Error]",Zt="[object Function]",Kt="[object GeneratorFunction]",te="[object Map]",ee="[object Number]",re="[object Object]",ne="[object Promise]",ie="[object RegExp]",oe="[object Set]",ae="[object String]",se="[object Symbol]",ue="[object WeakMap]",ce="[object ArrayBuffer]",le="[object DataView]",fe="[object Float32Array]",he="[object Float64Array]",pe="[object Int8Array]",de="[object Int16Array]",ge="[object Int32Array]",ve="[object Uint8Array]",ye="[object Uint8ClampedArray]",be="[object Uint16Array]",me="[object Uint32Array]",_e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,we=/^\w*$/,xe=/^\./,je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ae=/[\\^$.*+?()[\]{}|]/g,Se=/\\(\\)?/g,Ee=/^\[object .+?Constructor\]$/,ke=/^(?:0|[1-9]\d*)$/,Oe={};Oe[fe]=Oe[he]=Oe[pe]=Oe[de]=Oe[ge]=Oe[ve]=Oe[ye]=Oe[be]=Oe[me]=!0,Oe[Yt]=Oe[Wt]=Oe[ce]=Oe[Xt]=Oe[le]=Oe[Jt]=Oe[Qt]=Oe[Zt]=Oe[te]=Oe[ee]=Oe[re]=Oe[ie]=Oe[oe]=Oe[ae]=Oe[ue]=!1;var Te="object"==typeof t&&t&&t.Object===Object&&t,Ce="object"==typeof self&&self&&self.Object===Object&&self,Le=Te||Ce||Function("return this")(),De="object"==typeof e&&e&&!e.nodeType&&e,Re=De&&"object"==typeof r&&r&&!r.nodeType&&r,Ne=Re&&Re.exports===De,Pe=Ne&&Te.process,qe=function(){try{return Pe&&Pe.binding("util")}catch(t){}}(),Be=qe&&qe.isTypedArray,Me=Array.prototype,Ie=Function.prototype,Ue=Object.prototype,Fe=Le["__core-js_shared__"],Ve=function(){var t=/[^.]+$/.exec(Fe&&Fe.keys&&Fe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),$e=Ie.toString,ze=Ue.hasOwnProperty,He=Ue.toString,Ge=RegExp("^"+$e.call(ze).replace(Ae,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Le.Symbol,We=Le.Uint8Array,Xe=Ue.propertyIsEnumerable,Je=Me.splice,Qe=f(Object.keys,Object),Ze=ht(Le,"DataView"),Ke=ht(Le,"Map"),tr=ht(Le,"Promise"),er=ht(Le,"Set"),rr=ht(Le,"WeakMap"),nr=ht(Object,"create"),ir=xt(Ze),or=xt(Ke),ar=xt(tr),sr=xt(er),ur=xt(rr),cr=Ye?Ye.prototype:void 0,lr=cr?cr.valueOf:void 0,fr=cr?cr.toString:void 0;p.prototype.clear=d,p.prototype.delete=g,p.prototype.get=v,p.prototype.has=y,p.prototype.set=b,m.prototype.clear=_,m.prototype.delete=w,m.prototype.get=x,m.prototype.has=j,m.prototype.set=A,S.prototype.clear=E,S.prototype.delete=k,S.prototype.get=O,S.prototype.has=T,S.prototype.set=C,L.prototype.add=L.prototype.push=D,L.prototype.has=R,N.prototype.clear=P,N.prototype.delete=q,N.prototype.get=B,N.prototype.has=M,N.prototype.set=I;var hr=ot(V),pr=at(),dr=z;(Ze&&dr(new Ze(new ArrayBuffer(1)))!=le||Ke&&dr(new Ke)!=te||tr&&dr(tr.resolve())!=ne||er&&dr(new er)!=oe||rr&&dr(new rr)!=ue)&&(dr=function(t){var e=He.call(t),r=e==re?t.constructor:void 0,n=r?xt(r):void 0;if(n)switch(n){case ir:return le;case or:return te;case ar:return ne;case sr:return oe;case ur:return ue}return e});var gr=At(function(t){t=Nt(t);var e=[];return xe.test(t)&&e.push(""),t.replace(je,function(t,r,n,i){e.push(n?i.replace(Se,"$1"):r||t)}),e});At.Cache=S;var vr=Array.isArray,yr=Be?s(Be):J;r.exports=jt}).call(e,function(){return this}(),r(81)(t))},function(t,e){t.exports={name:"cheerio",version:"0.22.0",description:"Tiny, fast, and elegant implementation of core jQuery designed specifically for the server",author:"Matt Mueller (mat.io)",license:"MIT",keywords:["htmlparser","jquery","selector","scraper","parser","html"],repository:{type:"git",url:"git://github.com/cheeriojs/cheerio.git"},main:"./index.js",files:["index.js","lib"],engines:{node:">= 0.6"},dependencies:{"css-select":"~1.2.0","dom-serializer":"~0.1.0",entities:"~1.1.1",htmlparser2:"^3.9.1","lodash.assignin":"^4.0.9","lodash.bind":"^4.1.4","lodash.defaults":"^4.0.1","lodash.filter":"^4.4.0","lodash.flatten":"^4.2.0","lodash.foreach":"^4.3.0","lodash.map":"^4.4.0","lodash.merge":"^4.4.0","lodash.pick":"^4.2.1","lodash.reduce":"^4.4.0","lodash.reject":"^4.4.0","lodash.some":"^4.4.0"},devDependencies:{benchmark:"^2.1.0",coveralls:"^2.11.9","expect.js":"~0.3.1",istanbul:"^0.4.3",jsdom:"^9.2.1",jquery:"^3.0.0",jshint:"^2.9.2",mocha:"^2.5.3",xyz:"~0.5.0"},scripts:{test:"make test"}}},function(t,e,r){"use strict";var n=r(95),i={}.hasOwnProperty,o=r(100),a=r(101),s=r(103);e.Selector=a,e.Property=s,/** + * Returns an array of the selectors. + * + * @license Sizzle CSS Selector Engine - MIT + * @param {String} selectorText from mensch + * @api public + */ +e.extract=function(t){for(var e=0,r=[],n="",i=0,o=t.length;i=0;u--)(e.fontFaces&&"font-face"===i[u].type||e.mediaQueries&&"media"===i[u].type)&&a.push(n.stringify({stylesheet:{rules:[i[u]]}},{comments:!1,indentation:" "})),s=i[u].position.start;return 0!==a.length&&o.EOL+a.join(o.EOL)+o.EOL},e.normalizeLineEndings=function(t){return t.replace(/\r\n/g,"\n").replace(/\n/g,"\r\n")},e.compareFunc=function(t,e){for(var r=Math.min(t.length,e.length),n=0;ne[n]?1:-1;return t.length-e.length},e.compare=function(t,r){return 1==e.compareFunc(t,r)?t:r},e.extend=function(t,e){for(var r in e)i.call(e,r)&&(t[r]=e[r]);return t},e.getDefaultOptions=function(t){var r=e.extend({extraCss:"",insertPreservedExtraCss:!0,applyStyleTags:!0,removeStyleTags:!0,preserveMediaQueries:!0,preserveFontFaces:!0,applyWidthAttributes:!0,applyHeightAttributes:!0,applyAttributesTableElements:!0,url:""},t);return r.webResources=r.webResources||{},r}},function(t,e,r){t.exports={lex:r(96),parse:r(98),stringify:r(99)}},function(t,e,r){function n(t){function e(){return p(),t[_]}function r(t){return t?A[A.length-1-t]:j}function n(e){var r=_+1;return e===t.slice(r,r+e.length)}function s(e){var r=t.slice(_).indexOf(e);return r>0&&r}function u(t){return t===c(1)}function c(e){return t[_+(e||1)]}function l(){var t=A.pop();return j=A[A.length-1],t}function f(t){return j=t,A.push(j),A.length}function h(t){var e=j;return A[A.length-1]=j=t,e}function p(e){if(1==(e||1))"\n"==t[_]?(x++,m=1):m++,_++;else{var r=t.slice(_,_+e).split("\n");r.length>1&&(x+=r.length-1,m=1),m+=r[r.length-1].length,_+=e}}function d(){S.end={line:x,col:m},i&&a("addToken:",JSON.stringify(S,null,2)),E.push(S),b="",S={}}function g(t){S={type:t,start:{line:x,col:m}}}var v,y,b="",m=0,_=-1,w=0,x=1,j="before-selector",A=[j],S={},E=[],k=["media","keyframes",{name:"-webkit-keyframes",type:"keyframes",prefix:"-webkit-"},{name:"-moz-keyframes",type:"keyframes",prefix:"-moz-"},{name:"-ms-keyframes",type:"keyframes",prefix:"-ms-"},{name:"-o-keyframes",type:"keyframes",prefix:"-o-"},"font-face",{name:"import",state:"before-at-value"},{name:"charset",state:"before-at-value"},"supports","viewport",{name:"namespace",state:"before-at-value"},"document",{name:"-moz-document",type:"document",prefix:"-moz-"},"page"];for(o&&(v=Date.now());y=e();)switch(i&&a(y,r()),y){case" ":switch(r()){case"selector":case"value":case"value-paren":case"at-group":case"at-value":case"comment":case"double-string":case"single-string":b+=y}break;case"\n":case"\t":case"\r":case"\f":switch(r()){case"value":case"value-paren":case"at-group":case"comment":case"single-string":case"double-string":case"selector":b+=y;break;case"at-value":"\n"===y&&(S.value=b.trim(),d(),l())}break;case":":switch(r()){case"name":S.name=b.trim(),b="",h("before-value");break;case"before-selector":b+=y,g("selector"),f("selector");break;case"before-value":h("value"),b+=y;break;default:b+=y}break;case";":switch(r()){case"name":case"before-value":case"value":b.trim().length>0&&(S.value=b.trim(),d()),h("before-name");break;case"value-paren":b+=y;break;case"at-value":S.value=b.trim(),d(),l();break;case"before-name":break;default:b+=y}break;case"{":switch(r()){case"selector":if("\\"===c(-1)){b+=y;break}S.text=b.trim(),d(),h("before-name"),w+=1;break;case"at-group":switch(S.name=b.trim(),S.type){case"font-face":case"viewport":case"page":f("before-name");break;default:f("before-selector")}d(),w+=1;break;case"name":case"at-rule":S.name=b.trim(),d(),f("before-name"),w+=1;break;case"comment":case"double-string":case"single-string":b+=y;break;case"before-value":h("value"),b+=y}break;case"}":switch(r()){case"before-name":case"name":case"before-value":case"value":b&&(S.value=b.trim()),S.name&&S.value&&d(),g("end"),d(),l(),"at-group"===r()&&(g("at-group-end"),d(),l()),w>0&&(w-=1);break;case"at-group":case"before-selector":case"selector":if("\\"===c(-1)){b+=y;break}w>0&&"at-group"===r(1)&&(g("at-group-end"),d()),w>1&&l(),w>0&&(w-=1);break;case"double-string":case"single-string":case"comment":b+=y}break;case'"':case"'":switch(r()){case"double-string":'"'===y&&"\\"!==c(-1)&&l();break;case"single-string":"'"===y&&"\\"!==c(-1)&&l();break;case"before-at-value":h("at-value"),f('"'===y?"double-string":"single-string");break;case"before-value":h("value"),f('"'===y?"double-string":"single-string");break;case"comment":break;default:"\\"!==c(-1)&&f('"'===y?"double-string":"single-string")}b+=y;break;case"/":switch(r()){case"comment":case"double-string":case"single-string":b+=y;break;case"before-value":case"selector":case"name":case"value":if(u("*")){var O=s("*/");O&&p(O+1)}else"before-value"==r()&&h("value"),b+=y;break;default:u("*")?(g("comment"),f("comment"),p()):b+=y}break;case"*":switch(r()){case"comment":u("/")?(S.text=b,p(),d(),l()):b+=y;break;case"before-selector":b+=y,g("selector"),f("selector");break;case"before-value":h("value"),b+=y;break;default:b+=y}break;case"@":switch(r()){case"comment":case"double-string":case"single-string":b+=y;break;case"before-value":h("value"),b+=y;break;default:for(var T,C,L=!1,D=0,R=k.length;!L&&D+)\\s*|(\\s+)|(+|\\*)|\\#(+)|\\.(+)|\\[\\s*(+)(?:\\s*([*^$!~|]?=)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)".replace(//,"["+i(">+~`!@$%^&={}\\;/g,"(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])").replace(//g,"(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])")),s=function(t){this.combinator=t||" ",this.tag="*"};s.prototype.toString=function(){if(!this.raw){var t,e,r="";if(r+=this.tag||"*",this.id&&(r+="#"+this.id),this.classes&&(r+="."+this.classList.join(".")),this.attributes)for(t=0;e=this.attributes[t++];)r+="["+e.name+(e.operator?e.operator+'"'+e.value+'"':"")+"]";if(this.pseudos)for(t=0;e=this.pseudos[t++];)r+=":"+e.name,e.value&&(r+="("+e.value+")");this.raw=r}return this.raw};var u=function(){this.length=0};u.prototype.toString=function(){if(!this.raw){for(var t,e="",r=0;t=this[r++];)1!==r&&(e+=" ")," "!==t.combinator&&(e+=t.combinator+" "),e+=t;this.raw=e}return this.raw};var c=function(t,e,r,n,a,c,l,f,h,p,d,g,v,y,b,m){var _,w;if((e||!this.length)&&(_=this[this.length++]=new u,e))return"";if(_||(_=this[this.length-1]),(r||n||!_.length)&&(w=_[_.length++]=new s(r)),w||(w=_[_.length-1]),a)w.tag=o(a);else if(c)w.id=o(c);else if(l){var x=o(l),j=w.classes||(w.classes={});if(!j[x]){j[x]=i(l);var A=w.classList||(w.classList=[]);A.push(x),A.sort()}}else v?(m=m||b,(w.pseudos||(w.pseudos=[])).push({type:1==g.length?"class":"element",name:o(v),escapedName:i(v),value:m?o(m):null,escapedValue:m?i(m):null})):f&&(d=d?i(d):null,(w.attributes||(w.attributes=[])).push({operator:h,name:o(f),escapedName:i(f),value:d?o(d):null,escapedValue:d?i(d):null}));return""},l=function(t){this.length=0;for(var e,r=this,n=t;t;){if(e=t.replace(a,function(){return c.apply(r,arguments)}),e===t)throw new Error(n+" is an invalid expression");t=e}};l.prototype.toString=function(){if(!this.raw){for(var t,e=[],r=0;t=this[r++];)e.push(t);this.raw=e.join(", ")}return this.raw};var f={},h=function(t){return null==t?null:(t=(""+t).replace(/^\s+|\s+$/g,""),f[t]||(f[t]=new l(t)))};t.exports=h},function(t,e,r){"use strict";function n(t,e,r,n,i){this.prop=t,this.value=e,this.selector=r,this.priority=n||0,this.additionalPriority=i||[]}t.exports=e=n;var i=r(94);n.prototype.compareFunc=function(t){var e=[];e.push.apply(e,this.selector.specificity()),e.push.apply(e,this.additionalPriority),e[0]+=this.priority;var r=[];return r.push.apply(r,t.selector.specificity()),r.push.apply(r,t.additionalPriority),r[0]+=t.priority,i.compareFunc(e,r)},n.prototype.compare=function(t){var e=this.compareFunc(t);return 1===e?this:t},n.prototype.toString=function(){return this.prop+": "+this.value.replace(/['"]+/g,"")+";"}},function(t,e,r){"use strict";var n=r(94);t.exports=function(t){function e(e,o,s){function u(r){for(var o=r[0],u=r[1],c=new n.Selector(o),l=c.parsed(),f=i(l),h=0;h=0)return}}if(f){var b=l[l.length-1],m=b.pseudos;b.pseudos=a(b.pseudos),o=l.toString(),b.pseudos=m}var _;try{_=e(o)}catch(t){return}_.each(function(){function r(e,r){for(var o=0,a=e.length;o=0)){if(f){var o="pseudo"+f,a=i[o];a||(a=i[o]=e("").get(0),a.pseudoElementType=f,a.pseudoElementParent=i,i[o]=a),i=a}if(!i.styleProps){if(i.styleProps={},e(i).attr(g)){var l="* { "+e(i).attr(g)+" } ";r(n.parseCSS(l)[0][1],new n.Selector("")}}}function r(t){if("none"===t||"normal"===t)return"";var e=t.match(/^\s*url\s*\(\s*(.*?)\s*\)\s*$/i);if(e){var r=e[1].replace(/^['"]|['"]$/g,"");return{img:r}}return t=t.slice(1,t.length-1),t=t.replace(/\\/g,"")}function i(t){if(0!==t.length){var e=t[t.length-1].pseudos;if(e)for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},function t(e,r){var n="##";e.each(function(e){if("image"==e.get("type")){var i=e.get("src");r?i==n&&e.set("src",e.get("src_bkp")):i!=n&&(e.set("src_bkp",e.get("src")),e.set("src",n))}t(e.get("components"),r)})});return{run:function(e){var r=e.getComponents();t(r)},stop:function(e){var r=e.getComponents();t(r,1)}}}}.call(e,r,e,t),!(void 0!==n&&(t.exports=n))},function(t,e,r){var n;n=function(){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e="",r="",n=t.editor,i=t.tableStyle||{},o=t.cellStyle||{},a=n.BlockManager;for(var s in i)e+=s+": "+i[s]+"; ";for(var u in o)r+=u+": "+o[u]+"; ";a.getAll().reset(),a.add("sect100",{label:"1 Section",attributes:{class:"gjs-fonts gjs-f-b1"},content:'\n \n \n \n
'}),a.add("sect50",{label:"1/2 Section",attributes:{class:"gjs-fonts gjs-f-b2"},content:'\n \n \n \n \n
'}),a.add("sect30",{label:"1/3 Section",attributes:{class:"gjs-fonts gjs-f-b3"},content:'\n \n \n \n \n \n
'}),a.add("sect37",{label:"3/7 Section",attributes:{class:"gjs-fonts gjs-f-b37"},content:'\n \n \n \n \n
'}),a.add("button",{label:"Button",content:'Button',attributes:{class:"gjs-fonts gjs-f-button"}}),a.add("divider",{label:"Divider",content:'\n \n \n \n
\n ',attributes:{class:"gjs-fonts gjs-f-divider"}}),a.add("text",{label:"Text",attributes:{class:"gjs-fonts gjs-f-text"},content:{type:"text",content:"Insert your text here",style:{padding:"10px"},activeOnRender:1}}),a.add("text-sect",{label:"Text section",content:'

Insert title here

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua

',attributes:{class:"gjs-fonts gjs-f-h1p"}}),a.add("image",{label:"Image",attributes:{class:"gjs-fonts gjs-f-image"},content:{type:"image",style:{color:"black"},activeOnRender:1}}),a.add("quote",{label:"Quote",content:'
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ipsum dolor sit
',attributes:{class:"fa fa-quote-right"}});var c='\n \n \n \n
\n Image\n\n \n \n \n \n
\n

Title here\n

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt\n

\n
\n\n
';a.add("grid-items",{label:"Grid items",content:'\n \n \n \n \n
'+c+''+c+"
",attributes:{class:"fa fa-th"}});var l='\n \n \n \n
\n \n \n \n \n \n
\n Image\n \n

Title here\n

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt\n

\n
\n
';a.add("list-items",{label:"List items",content:l+l,attributes:{class:"fa fa-th-list"}})}}.call(e,r,e,t),!(void 0!==n&&(t.exports=n))},function(t,e,r){function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var i;i=function(){var t="title",e="data-tooltip-pos",r=function(t){t.each(function(t){var r=t.get("attributes");r[e]="bottom",t.set("attributes",r)})};return function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=i.editor,a=o.Panels,s=a.getPanel("options");if(a.addButton("options",{id:i.cmdOpenImport,className:"fa fa-download",command:i.cmdOpenImport,attributes:n({},t,i.modalTitleImport)}),a.addButton("options",{id:i.cmdTglImages,className:"fa fa-warning",command:i.cmdTglImages,attributes:n({},t,"Toggle images")}),s){var u=s.get("buttons");u.each(function(t){var r=t.get("attributes");r[e]="bottom",t.set("attributes",r)});var c=a.addButton("options","preview");c&&u.remove(c)}var l=a.getPanel("commands");if(l){var f,h=l.get("buttons");h.reset(),h.add({id:"move-comp",command:"move-comp",className:"fa fa-arrows",attributes:(f={},n(f,t,"Move"),n(f,e,"bottom"),f),stopDefaultCommand:1}),h.add([{id:"undo",className:"fa fa-undo",command:"undo",attributes:n({},t,"Undo")},{id:"redo",className:"fa fa-repeat",command:"redo",attributes:n({},t,"Redo")}]),r(h)}o.getConfig().showDevices=0;var p=a.addPanel({id:"devices-c"}),d=p.get("buttons");p.get("buttons").add([{id:"deviceDesktop",command:"set-device-desktop",className:"fa fa-desktop",attributes:n({},t,"Desktop"),active:1},{id:"deviceTablet",command:"set-device-tablet",className:"fa fa-tablet",attributes:n({},t,"Tablet")},{id:"deviceMobile",command:"set-device-mobile",className:"fa fa-mobile",attributes:n({},t,"Mobile")}]),r(d)}}.call(e,r,e,t),!(void 0!==i&&(t.exports=i))},function(t,e,r){var n;n=function(){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.editor,r=e.StyleManager.getSectors();e.on("load",function(){r.reset(),r.add([{name:"Dimension",open:!1,buildProps:["width","height","max-width","min-height","margin","padding"],properties:[{property:"margin",properties:[{name:"Top",property:"margin-top"},{name:"Left",property:"margin-left"},{name:"Right",property:"margin-right"},{name:"Bottom",property:"margin-bottom"}]},{property:"padding",properties:[{name:"Top",property:"padding-top"},{name:"Right",property:"padding-right"},{name:"Bottom",property:"padding-bottom"},{name:"Left",property:"padding-left"}]}]},{name:"Typography",open:!1,buildProps:["font-family","font-size","font-weight","letter-spacing","color","line-height","text-align","text-decoration","font-style","vertical-align","text-shadow"],properties:[{name:"Font",property:"font-family"},{name:"Weight",property:"font-weight"},{name:"Font color",property:"color"},{property:"text-align",type:"radio",defaults:"left",list:[{value:"left",name:"Left",className:"fa fa-align-left"},{value:"center",name:"Center",className:"fa fa-align-center"},{value:"right",name:"Right",className:"fa fa-align-right"},{value:"justify",name:"Justify",className:"fa fa-align-justify"}]},{property:"text-decoration",type:"radio",defaults:"none",list:[{value:"none",name:"None",className:"fa fa-times"},{value:"underline",name:"underline",className:"fa fa-underline"},{value:"line-through",name:"Line-through",className:"fa fa-strikethrough"}]},{property:"font-style",type:"radio",defaults:"normal",list:[{value:"normal",name:"Normal",className:"fa fa-font"},{value:"italic",name:"Italic",className:"fa fa-italic"}]},{property:"vertical-align",type:"select",defaults:"baseline",list:[{value:"baseline"},{value:"top"},{value:"middle"},{value:"bottom"}]},{property:"text-shadow",properties:[{name:"X position",property:"text-shadow-h"},{name:"Y position",property:"text-shadow-v"},{name:"Blur",property:"text-shadow-blur"},{name:"Color",property:"text-shadow-color"}]}]},{name:"Decorations",open:!1,buildProps:["background-color","border-collapse","border-radius","border","background"],properties:[{property:"background-color",name:"Background"},{property:"border-radius",properties:[{name:"Top",property:"border-top-left-radius"},{name:"Right",property:"border-top-right-radius"},{name:"Bottom",property:"border-bottom-left-radius"},{name:"Left",property:"border-bottom-right-radius"}]},{property:"border-collapse",type:"radio",defaults:"separate",list:[{value:"separate",name:"No"},{value:"collapse",name:"Yes"}]},{property:"border",properties:[{name:"Width",property:"border-width",defaults:"0"},{name:"Style",property:"border-style"},{name:"Color",property:"border-color"}]},{property:"background",properties:[{name:"Image",property:"background-image"},{name:"Repeat",property:"background-repeat"},{name:"Position",property:"background-position"},{name:"Attachment",property:"background-attachment"},{name:"Size",property:"background-size"}]}]}])})}}.call(e,r,e,t),!(void 0!==n&&(t.exports=n))}])}); \ No newline at end of file diff --git a/public/grapejs/dist/js/toastr.min.js b/public/grapejs/dist/js/toastr.min.js new file mode 100644 index 00000000..3e3f46f2 --- /dev/null +++ b/public/grapejs/dist/js/toastr.min.js @@ -0,0 +1,7 @@ +/* + * Note that this is toastr v2.1.3, the "latest" version in url has no more maintenance, + * please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use, + * make sure you copy the url from the website since the url may change between versions. + * */ +!function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return g({type:O.error,iconClass:m().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=m()),v=e("#"+t.containerId),v.length?v:(n&&(v=d(t)),v)}function o(e,t,n){return g({type:O.info,iconClass:m().iconClasses.info,message:e,optionsOverride:n,title:t})}function s(e){C=e}function i(e,t,n){return g({type:O.success,iconClass:m().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return g({type:O.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e,t){var o=m();v||n(o),u(e,o,t)||l(o)}function c(t){var o=m();return v||n(o),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function l(t){for(var n=v.children(),o=n.length-1;o>=0;o--)u(e(n[o]),t)}function u(t,n,o){var s=!(!o||!o.force)&&o.force;return!(!t||!s&&0!==e(":focus",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0)}function d(t){return v=e("
").attr("id",t.containerId).addClass(t.positionClass),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'',closeClass:"toast-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toast-progress",rtl:!1}}function f(e){C&&C(e)}function g(t){function o(e){return null==e&&(e=""),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function s(){c(),u(),d(),p(),g(),C(),l(),i()}function i(){var e="";switch(t.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}I.attr("aria-live",e)}function a(){E.closeOnHover&&I.hover(H,D),!E.onclick&&E.tapToDismiss&&I.click(b),E.closeButton&&j&&j.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),E.onCloseClick&&E.onCloseClick(e),b(!0)}),E.onclick&&I.click(function(e){E.onclick(e),b()})}function r(){I.hide(),I[E.showMethod]({duration:E.showDuration,easing:E.showEasing,complete:E.onShown}),E.timeOut>0&&(k=setTimeout(b,E.timeOut),F.maxHideTime=parseFloat(E.timeOut),F.hideEta=(new Date).getTime()+F.maxHideTime,E.progressBar&&(F.intervalId=setInterval(x,10)))}function c(){t.iconClass&&I.addClass(E.toastClass).addClass(y)}function l(){E.newestOnTop?v.prepend(I):v.append(I)}function u(){if(t.title){var e=t.title;E.escapeHtml&&(e=o(t.title)),M.append(e).addClass(E.titleClass),I.append(M)}}function d(){if(t.message){var e=t.message;E.escapeHtml&&(e=o(t.message)),B.append(e).addClass(E.messageClass),I.append(B)}}function p(){E.closeButton&&(j.addClass(E.closeClass).attr("role","button"),I.prepend(j))}function g(){E.progressBar&&(q.addClass(E.progressClass),I.prepend(q))}function C(){E.rtl&&I.addClass("rtl")}function O(e,t){if(e.preventDuplicates){if(t.message===w)return!0;w=t.message}return!1}function b(t){var n=t&&E.closeMethod!==!1?E.closeMethod:E.hideMethod,o=t&&E.closeDuration!==!1?E.closeDuration:E.hideDuration,s=t&&E.closeEasing!==!1?E.closeEasing:E.hideEasing;if(!e(":focus",I).length||t)return clearTimeout(F.intervalId),I[n]({duration:o,easing:s,complete:function(){h(I),clearTimeout(k),E.onHidden&&"hidden"!==P.state&&E.onHidden(),P.state="hidden",P.endTime=new Date,f(P)}})}function D(){(E.timeOut>0||E.extendedTimeOut>0)&&(k=setTimeout(b,E.extendedTimeOut),F.maxHideTime=parseFloat(E.extendedTimeOut),F.hideEta=(new Date).getTime()+F.maxHideTime)}function H(){clearTimeout(k),F.hideEta=0,I.stop(!0,!0)[E.showMethod]({duration:E.showDuration,easing:E.showEasing})}function x(){var e=(F.hideEta-(new Date).getTime())/F.maxHideTime*100;q.width(e+"%")}var E=m(),y=t.iconClass||E.iconClass;if("undefined"!=typeof t.optionsOverride&&(E=e.extend(E,t.optionsOverride),y=t.optionsOverride.iconClass||y),!O(E,t)){T++,v=n(E,!0);var k=null,I=e("
"),M=e("
"),B=e("
"),q=e("
"),j=e(E.closeHtml),F={intervalId:null,hideEta:null,maxHideTime:null},P={toastId:T,state:"visible",startTime:new Date,options:E,map:t};return s(),r(),a(),f(P),E.debug&&console&&console.log(P),I}}function m(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),w=void 0))}var v,C,w,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:c,error:t,getContainer:n,info:o,options:{},subscribe:s,success:i,version:"2.1.3",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)}); +//# sourceMappingURL=toastr.js.map \ No newline at end of file diff --git a/public/grapejs/templates/demo/images/150x150.png b/public/grapejs/templates/demo/images/150x150.png new file mode 100644 index 00000000..4a0219c8 Binary files /dev/null and b/public/grapejs/templates/demo/images/150x150.png differ diff --git a/public/grapejs/templates/demo/images/250x150.png b/public/grapejs/templates/demo/images/250x150.png new file mode 100644 index 00000000..79c8204d Binary files /dev/null and b/public/grapejs/templates/demo/images/250x150.png differ diff --git a/public/grapejs/templates/demo/images/550x250.png b/public/grapejs/templates/demo/images/550x250.png new file mode 100644 index 00000000..17b05350 Binary files /dev/null and b/public/grapejs/templates/demo/images/550x250.png differ diff --git a/public/grapejs/templates/demo/images/grapesjs-logo.png b/public/grapejs/templates/demo/images/grapesjs-logo.png new file mode 100644 index 00000000..e554f528 Binary files /dev/null and b/public/grapejs/templates/demo/images/grapesjs-logo.png differ diff --git a/public/grapejs/templates/demo/index.html b/public/grapejs/templates/demo/index.html new file mode 100644 index 00000000..ec736412 --- /dev/null +++ b/public/grapejs/templates/demo/index.html @@ -0,0 +1,416 @@ + + + + +
+ + + + +
+ + + + +
+ View in browser + +
+ + + + + +
+ GrapesJS. + +
GrapesJS Newsletter Builder +
+
+
+ + + + +
+ Big image here + + + + +
+

Build your newsletters faster than ever +
+

+

Import, build, test and export responsive newsletter templates faster than ever using the GrapesJS Newsletter Builder. +

+ + + + +
+
+
+ + + + +
+ + + + + +
+ Image1 + +

Built-in Blocks +

+

Drag and drop built-in blocks from the right panel and style them in a matter of seconds +

+
+
+ + + + +
+ + + + + +
+ Image2 + +

Toggle images +

+

Build a good looking newsletter even without images enabled by the email clients +

+
+
+ + + + + +
+ + + + +
+ Image1 + + + + +
+

Test it +

+

You can send email tests directly from the editor and check how are looking on your email clients +

+
+
+
+ + + + +
+ Image2 + + + + +
+

Responsive +

+

Using the device manager you'll always send a fully responsive contents +

+
+
+
+ + + + + +
+
+ + + diff --git a/public/grapejs/uploads/README.md b/public/grapejs/uploads/README.md new file mode 100644 index 00000000..d4210539 --- /dev/null +++ b/public/grapejs/uploads/README.md @@ -0,0 +1 @@ +# default upload folder diff --git a/public/mosaico/LICENSE b/public/mosaico/LICENSE new file mode 100644 index 00000000..8c89ca89 --- /dev/null +++ b/public/mosaico/LICENSE @@ -0,0 +1,680 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + + + ADDITIONAL LICENSES + +This product may include third party code/libraries, see NOTICE.txt for details +on their licensing and copyright. diff --git a/public/mosaico/NOTICE.txt b/public/mosaico/NOTICE.txt new file mode 100644 index 00000000..3fa62c12 --- /dev/null +++ b/public/mosaico/NOTICE.txt @@ -0,0 +1,87 @@ +--------------------- +Built-in Dependencies +--------------------- + +These dependencies are included in the distributed Mosaico library + dist/mosaico.min.js and dist/mosaico.min.css +by an aggregator process named "Browserify" + +Browserify (Library "Assembler" targeting the browser): + MIT License, Copyright Joyent, Inc. and other Node contributors. +> os-browserify: + MIT License, Copyright (c) 2014 Drew Young +> assert: + MIT License, Copyright (c) shtylman +> util: + MIT License, Copyright (c) Joyent (http://www.joyent.com) +> inherit: + ISC License, Copyright (c) Isaac Z. Schlueter +> process: + MIT License, Copyright (c) 2013 Roman Shtylman +> console-browserify: + MIT License, Copyright (c) 2012 Raynos + +Knockout-Sortable (Knockout Bindings to jQueryUI Sortable): + MIT License, Copyright (c) 2015 Ryan Niemeyer + +Knockout-UndoManager (Undo Library): + MIT License, Copyright (c) 2015 Stefano Bagnara + +Knockout-Reactor (Knockout value tracking used by Knockout-UndoManager): + MIT License, Copyright (c) Ziad Jeeroburkhan + +TinyColor (Color manipulation library): + MIT License, Copyright (c) Brian Grinstead + (http://briangrinstead.com)", + +Toastr (Toast notifications): + MIT License, Copyright (c) 2012-2015 John Papa, Hans Fjllemark, and Tim Ferrell + +Evol-Colorpicker (Color picker): + MIT License, Copyright (c) 2015 Olivier Giulieri + +Juice (CSS Inliner): + MIT License, Copyright (c) Guillermo Rauch, Arian Stolwijk, Pawel Marzec, + Andrew Kelley, Francois-Guillaume Ribreau + +Slick (selector parser used by Juice): + MIT License, Copyright (c) Shashank Mehta + (http://shashankmehta.in) + +JSEP (expression engine): + MIT License, Copyright (c) Stephen Oney (http://from.so/) + +Mensch (CSS parser used by Mosaico and Juice): + MIT License, Copyright (c) Brett Stimmerman + +----------------------------- +Runtime External Dependencies +----------------------------- + +These dependencies are not included in Mosaico but are used at runtime and are +expected to be found in the running environment (browser) + +jQuery, jQueryUI: +- MIT License + +Knockout: +- MIT License + +Knockout-jQueryUI: +- MIT License + +jQuery-File-Upload: +- MIT License + +-------------------------------------- +Runtime External Optional Dependencies +-------------------------------------- + +Font NotoSans (in order to enable "Material style" font face): +- Apache License, version 2.0 + +jQuery UI Touch Punch (to support touch events in addition to mouse events): +- MIT License + +TinyMCE v4.x (to support WYSIWYG contextual editing of text): +- LGPL v2.1 diff --git a/public/mosaico/custom/README.md b/public/mosaico/custom/README.md new file mode 100644 index 00000000..1f6fa64c --- /dev/null +++ b/public/mosaico/custom/README.md @@ -0,0 +1 @@ +# folder for custom plugins (enabled via config) diff --git a/public/mosaico/dist/fa/fonts/fontawesome-webfont.eot b/public/mosaico/dist/fa/fonts/fontawesome-webfont.eot new file mode 100644 index 00000000..c7b00d2b Binary files /dev/null and b/public/mosaico/dist/fa/fonts/fontawesome-webfont.eot differ diff --git a/public/mosaico/dist/fa/fonts/fontawesome-webfont.svg b/public/mosaico/dist/fa/fonts/fontawesome-webfont.svg new file mode 100644 index 00000000..8b66187f --- /dev/null +++ b/public/mosaico/dist/fa/fonts/fontawesome-webfont.svg @@ -0,0 +1,685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/mosaico/dist/fa/fonts/fontawesome-webfont.ttf b/public/mosaico/dist/fa/fonts/fontawesome-webfont.ttf new file mode 100644 index 00000000..f221e50a Binary files /dev/null and b/public/mosaico/dist/fa/fonts/fontawesome-webfont.ttf differ diff --git a/public/mosaico/dist/fa/fonts/fontawesome-webfont.woff b/public/mosaico/dist/fa/fonts/fontawesome-webfont.woff new file mode 100644 index 00000000..6e7483cf Binary files /dev/null and b/public/mosaico/dist/fa/fonts/fontawesome-webfont.woff differ diff --git a/public/mosaico/dist/fa/fonts/fontawesome-webfont.woff2 b/public/mosaico/dist/fa/fonts/fontawesome-webfont.woff2 new file mode 100644 index 00000000..7eb74fd1 Binary files /dev/null and b/public/mosaico/dist/fa/fonts/fontawesome-webfont.woff2 differ diff --git a/public/mosaico/dist/img/byvoxmail.png b/public/mosaico/dist/img/byvoxmail.png new file mode 100644 index 00000000..ef02978d Binary files /dev/null and b/public/mosaico/dist/img/byvoxmail.png differ diff --git a/public/mosaico/dist/img/mosaico-badge.gif b/public/mosaico/dist/img/mosaico-badge.gif new file mode 100644 index 00000000..08457683 Binary files /dev/null and b/public/mosaico/dist/img/mosaico-badge.gif differ diff --git a/public/mosaico/dist/img/mosaico-v.gif b/public/mosaico/dist/img/mosaico-v.gif new file mode 100644 index 00000000..363c2396 Binary files /dev/null and b/public/mosaico/dist/img/mosaico-v.gif differ diff --git a/public/mosaico/dist/img/mosaico32.png b/public/mosaico/dist/img/mosaico32.png new file mode 100644 index 00000000..fd6f372d Binary files /dev/null and b/public/mosaico/dist/img/mosaico32.png differ diff --git a/public/mosaico/dist/img/mosaicologo.png b/public/mosaico/dist/img/mosaicologo.png new file mode 100644 index 00000000..22813935 Binary files /dev/null and b/public/mosaico/dist/img/mosaicologo.png differ diff --git a/public/mosaico/dist/img/screenshot-orig.png b/public/mosaico/dist/img/screenshot-orig.png new file mode 100644 index 00000000..75b96e1d Binary files /dev/null and b/public/mosaico/dist/img/screenshot-orig.png differ diff --git a/public/mosaico/dist/img/screenshot.png b/public/mosaico/dist/img/screenshot.png new file mode 100644 index 00000000..06b07079 Binary files /dev/null and b/public/mosaico/dist/img/screenshot.png differ diff --git a/public/mosaico/dist/lang/README.md b/public/mosaico/dist/lang/README.md new file mode 100644 index 00000000..517e2a44 --- /dev/null +++ b/public/mosaico/dist/lang/README.md @@ -0,0 +1,26 @@ +This files are not yet directly used by mosaico. + +You can use ```Mosaico.init({ strings: #thecontentofoneofthisfiles# })``` to initialize mosaico in a given language. + +You can provide new translations to our mosaico translations project on Transifex: https://www.transifex.com/void-labs/mosaico + +Please note that this just translate the main Mosaico UI: some parts of the UI are defined by the template and their "labels" cannot be translated by the library because each template defines its own labels/texts. So you may want to create your own "translated" templates by altering the "source" html for the template. + +You can even force mosaico to run the internal translation tool for the template labels by defining a [plugin](https://github.com/voidlabs/mosaico/wiki/Mosaico-Plugins): +```javascript + var plugin = function(vm) { + vm.ut = vm.tt; + }; +``` + +Please get in touch with us by sending an email to info on the mosaico.io domain including your email and the language you'd like to contribute. + +Thanks to translators: +it (Italian): Mosaico Team +de (German): Bernhard Weichel +es (Spanish): Carlos Jacobs +fr (French): Jonathan Loriaux +nl (Dutch): Pieter Emeis +sv (Swedish): P-H Westman + +Sign-up to Transifex if you want to collaborate or suggest changes to the current languages! diff --git a/public/mosaico/dist/lang/mosaico-de.json b/public/mosaico/dist/lang/mosaico-de.json new file mode 100644 index 00000000..67da5110 --- /dev/null +++ b/public/mosaico/dist/lang/mosaico-de.json @@ -0,0 +1,88 @@ +{ + "Download": "Herunterladen", + "Test": "Test senden", + "Save": "Speichern", + "Downloading...": "wird heruntergeladen ...", + "Invalid email address": "ungültige Email-Adresse", + "Test email sent...": "Email an die Tester wurde versendet.", + "Unexpected error talking to server: contact us!": "Unerwarteter Fehler in der Kommunikation mit dem Server. Bitte kontaktieren Sie uns!", + "Insert here the recipient email address": "Bitte fügen Sie die Email-Adresse des Empfängers ein", + "Test email address": "Email Adresse der Testperson", + "Block removed: use undo button to restore it...": "Block wurde entfernt. Verwenden Sie \"undo\" um ihn wieder herzustellen ...", + "New block added after the selected one (__pos__)": "Neuer Block hinzugefügt nach Block (__pos__) ", + "New block added at the model bottom (__pos__)": "Neuer Block am Ende hinzugefügt (__pos__) ", + "Undo (#COUNT#)": "Widerrufen (#COUNT#)", + "Redo": "Wiederholen", + "Selected element has no editable properties": "Das ausgewählte Element hat keine bearbeitbaren Eigenschaften.", + "This style is specific for this block: click here to remove the custom style and revert to the theme value": "Dieser Stil ist spezifisch für diesen Block: Hier klicken um den spezifischen Stil zu löschen und auf den globalen Stil zurückzusetzen", + "Switch between global and block level styles editing": "Bearbeitung zwischen globalem und Block-spezifischem Stil umschalten", + "Undo last operation": "Letzten Schritt widerrufen", + "Redo last operation": "Letzten Schritt wiederholen", + "Show image gallery": "Bildergalerie anzeigen", + "Gallery": "Galerie", + "Preview": "Vorschau", + "Show live preview": "Vorschau anzeigen", + "Large screen": "Computer", + "Tablet": "Tablet", + "Smartphone": "Smartphone", + "Show preview and send test": "Vorschau anzeigen und Testmail versenden", + "Download template": "Email herunterladen", + "Save template": "Email speichern", + "Saved model is obsolete": "Die gepeicherte Email ist veraltet", + "

The saved model has been created with a previous, non completely compatible version, of the template

Some content or style in the model COULD BE LOST if you will save

Contact us for more informations!

": "

Die gespeicherte email wurde mit einer früheren, nicht vollständig kompatiblen version erstellt.

Einige Inhalte oder Stile in der Email KÖNNTEN VERLORGEN GEHEN wenn sie speichern.

Kontaktieren Sie uns für mehr Information!

", + "Blocks": "Blöcke", + "Blocks ready to be added to the template": "Blöcke zum Aufbau einer Email", + "Content": "Inhalt", + "Edit content options": "Optionen für Inhalt bearbeiten", + "Style": "Stil", + "Edit style options": "Optionen für Stil bearbeiten", + "Block __name__": "Block __name__", + "Click or drag to add this block to the template": "Klicken oder Ziehen um den Block zur Email hinzuzufügen", + "Add": "Hinzufügen", + "By clicking on message parts you will select a block and content options, if any, will show here": "Durch klicken auf Teile der Email wählen Sie einen Block aus. Optionen für Inhalt werden hier angezeigt - sofern vorhanden.", + "By clicking on message parts you will select a block and style options, if available, will show here": "Durch klicken auf Teile der Email wählen Sie einen Block aus. Optionen für Stil werden hier angezeigt - sofern vorhanden.", + "Click or drag files here": "Klcken oder Files hier hinziehen", + "No images uploaded, yet": "Noch keine Bilder hochgeladen", + "Show images from the gallery": "Bilder der Galerie anzeigen", + "Loading...": "Lade ...", + "Load gallery": "Galerie laden", + "Loading gallery...": "lade Galerie ...", + "The gallery is empty": "Die Galerie ist leer", + "Remove image": "Bild löschen", + "Open the image editing tool": "Bildbearbeitung aufrufen", + "Upload a new image": "Neues Bild hochladen", + "Drop an image here": "Bild hierherziehen", + "Drop an image here or click the upload button": "Bild ablegen oder Hochlade-Taste klicken", + "Drag this image and drop it on any template image placeholder": "Dieses Bild ziehen und auf Platzhalter ablegen", + "Gallery:": "Galerie:", + "Session images": "Bilder der laufende Sitzung", + "Recents": "Kürzlich", + "Remote gallery": "Alle Bilder auf dem Server", + "Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A \"small cube\" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
": "Angepasster Block
  • In dieser Einstellung wirken geänderte Eigenschaften nur auf den aktuellen Block (nicht auf alle Blöcke im selben Abschnitt).
  • Ein Symbol \"kleiner Würfel\" neben der jeweiligen Eigenschaft markiert die spezifische Anpassung. Ein Klick auf dieses Symbol setzt den Wert auf die Vorbabe des Bereiches zurück.
", + "Drop here blocks from the \"Blocks\" tab": "Blöcke aus dem \"Blöcke\" - Tab hierherziehen", + "Drag this handle to move the block": "Diesen Griff ziehen um den Block zu verschieben", + "Move this block upside": "Block nach oben bewegen", + "Move this block downside": "Block nach unten bewegen", + "Delete block": "Block löschen", + "Duplicate block": "Block duplizieren", + "Switch block variant": "Block-Variante umschalten", + "Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet.": "Thema-Farben,Standardfarben,Web-Farben,Thema-Farben,Zurück zur Palette,Verlauf,Kein Verlauf vorhanden", + "Drop here": "Hier ablegen", + "Unknown error": "Unbekannter Fehler", + "Uploaded bytes exceed file size": "Hochgeladene Datei ist zu groß", + "File type not allowed": "Dateityp ist nicht erlaubt", + "File is too large": "Datei ist zu groß", + "The uploaded file exceeds the post_max_size directive in php.ini": "Die hochgeladene Datei ist größer als die Einstellung in php.ini (post_max_size)", + "File is too big": "Datei ist zu groß", + "File is too small": "Datei zu klein", + "Filetype not allowed": "Dateityp nicht erlaubt", + "Maximum number of files exceeded": "Maximale Anzahl von Dateien überschritten", + "Image exceeds maximum width": "Das Bild überschreitet die maximale Breite", + "Image requires a minimum width": "Bild benötigt eine minimale breite", + "Image exceeds maximum height": "Bild übersteigt die maximale Höhe", + "Image requires a minimum height": "Bild unterschreitet die minimale Höhe", + "File upload aborted": "Hochladen der Datei abgebrochen", + "Failed to resize image": "Fehler beim anpassen der Bildgröße", + "Unexpected upload error": "Unerwarteter Fehler beim Hochladen", + "Unexpected error listing files": "Unerwarteter Fehler beim auflisten der Dateien" +} \ No newline at end of file diff --git a/public/mosaico/dist/lang/mosaico-en.json b/public/mosaico/dist/lang/mosaico-en.json new file mode 100644 index 00000000..36d9dca5 --- /dev/null +++ b/public/mosaico/dist/lang/mosaico-en.json @@ -0,0 +1,88 @@ +{ + "Download": "Download", + "Test": "Test", + "Save": "Save", + "Downloading...": "Downloading...", + "Invalid email address": "Invalid email address", + "Test email sent...": "Test email sent...", + "Unexpected error talking to server: contact us!": "Unexpected error talking to server: contact us!", + "Insert here the recipient email address": "Insert here the recipient email address", + "Test email address": "Test email address", + "Block removed: use undo button to restore it...": "Block removed: use undo button to restore it...", + "New block added after the selected one (__pos__)": "New block added after the selected one (__pos__)", + "New block added at the model bottom (__pos__)": "New block added at the model bottom (__pos__)", + "Undo (#COUNT#)": "Undo (#COUNT#)", + "Redo": "Redo", + "Selected element has no editable properties": "Selected element has no editable properties", + "This style is specific for this block: click here to remove the custom style and revert to the theme value": "This style is specific for this block: click here to remove the custom style and revert to the theme value", + "Switch between global and block level styles editing": "Switch between global and block level styles editing", + "Undo last operation": "Undo last operation", + "Redo last operation": "Redo last operation", + "Show image gallery": "Show image gallery", + "Gallery": "Gallery", + "Preview": "Preview", + "Show live preview": "Show live preview", + "Large screen": "Large screen", + "Tablet": "Tablet", + "Smartphone": "Smartphone", + "Show preview and send test": "Show preview and send test", + "Download template": "Download template", + "Save template": "Save template", + "Saved model is obsolete": "Saved model is obsolete", + "

The saved model has been created with a previous, non completely compatible version, of the template

Some content or style in the model COULD BE LOST if you will save

Contact us for more informations!

": "

The saved model has been created with a previous, non completely compatible version, of the template

Some content or style in the model COULD BE LOST if you will save

Contact us for more informations!

", + "Blocks": "Blocks", + "Blocks ready to be added to the template": "Blocks ready to be added to the template", + "Content": "Content", + "Edit content options": "Edit content options", + "Style": "Style", + "Edit style options": "Edit style options", + "Block __name__": "Block __name__", + "Click or drag to add this block to the template": "Click or drag to add this block to the template", + "Add": "Add", + "By clicking on message parts you will select a block and content options, if any, will show here": "By clicking on message parts you will select a block and content options, if any, will show here", + "By clicking on message parts you will select a block and style options, if available, will show here": "By clicking on message parts you will select a block and style options, if available, will show here", + "Click or drag files here": "Click or drag files here", + "No images uploaded, yet": "No images uploaded, yet", + "Show images from the gallery": "Show images from the gallery", + "Loading...": "Loading...", + "Load gallery": "Load gallery", + "Loading gallery...": "Loading gallery...", + "The gallery is empty": "The gallery is empty", + "Remove image": "Remove image", + "Open the image editing tool": "Open the image editing tool", + "Upload a new image": "Upload a new image", + "Drop an image here": "Drop an image here", + "Drop an image here or click the upload button": "Drop an image here or click the upload button", + "Drag this image and drop it on any template image placeholder": "Drag this image and drop it on any template image placeholder", + "Gallery:": "Gallery:", + "Session images": "Session images", + "Recents": "Recents", + "Remote gallery": "Remote gallery", + "Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A \"small cube\" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
": "Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A \"small cube\" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
", + "Drop here blocks from the \"Blocks\" tab": "Drop here blocks from the \"Blocks\" tab", + "Drag this handle to move the block": "Drag this handle to move the block", + "Move this block upside": "Move this block upside", + "Move this block downside": "Move this block downside", + "Delete block": "Delete block", + "Duplicate block": "Duplicate block", + "Switch block variant": "Switch block variant", + "Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet.": "Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet.", + "Drop here": "Drop here", + "Unknown error": "Unknown error", + "Uploaded bytes exceed file size": "Uploaded bytes exceed file size", + "File type not allowed": "File type not allowed", + "File is too large": "File is too large", + "The uploaded file exceeds the post_max_size directive in php.ini": "The uploaded file exceeds the post_max_size directive in php.ini", + "File is too big": "File is too big", + "File is too small": "File is too small", + "Filetype not allowed": "Filetype not allowed", + "Maximum number of files exceeded": "Maximum number of files exceeded", + "Image exceeds maximum width": "Image exceeds maximum width", + "Image requires a minimum width": "Image requires a minimum width", + "Image exceeds maximum height": "Image exceeds maximum height", + "Image requires a minimum height": "Image requires a minimum height", + "File upload aborted": "File upload aborted", + "Failed to resize image": "Failed to resize image", + "Unexpected upload error": "Unexpected upload error", + "Unexpected error listing files": "Unexpected error listing files" +} \ No newline at end of file diff --git a/public/mosaico/dist/lang/mosaico-es.json b/public/mosaico/dist/lang/mosaico-es.json new file mode 100644 index 00000000..7fdbabda --- /dev/null +++ b/public/mosaico/dist/lang/mosaico-es.json @@ -0,0 +1,88 @@ +{ + "Download": "Descargar", + "Test": "Prueba", + "Save": "Guardar", + "Downloading...": "Descargando ...", + "Invalid email address": "Dirección de correo electrónica inválida", + "Test email sent...": "Email de prueba enviado", + "Unexpected error talking to server: contact us!": "Error inesperado al contactarse con el servidor: ¡Contáctenos!", + "Insert here the recipient email address": "Inserte aquí la dirección de correo electrónico del destinatario", + "Test email address": "Dirección de correo electrónico de prueba", + "Block removed: use undo button to restore it...": "Bloque eliminado: use el botón deshacer para recuperarlo ...", + "New block added after the selected one (__pos__)": "Nuevo bloque agregado después del seleccionado (__pos__)", + "New block added at the model bottom (__pos__)": "Nuevo bloque agregado al final del modelo (__pos__)", + "Undo (#COUNT#)": "Deshacer (#COUNT#)", + "Redo": "Rehacer", + "Selected element has no editable properties": "El elemento seleccionado no tiene propiedades editables", + "This style is specific for this block: click here to remove the custom style and revert to the theme value": "Este estilo es específico para este bloque: click aquí para eliminar el estilo personalizado y restaurarlo al valor del tema.", + "Switch between global and block level styles editing": "Cambiar entre edición de estilos a nivel global y a nivel de bloque", + "Undo last operation": "Deshacer la última operación", + "Redo last operation": "Rehacer la última operación", + "Show image gallery": "Mostrar la galería de imágenes", + "Gallery": "Galería", + "Preview": "Vista previa", + "Show live preview": "Mostrar vista previa en vivo", + "Large screen": "Pantalla grande", + "Tablet": "Tableta", + "Smartphone": "Teléfono inteligente", + "Show preview and send test": "Mostrar vista previa y enviar prueba", + "Download template": "Descargar plantilla", + "Save template": "Guardar plantilla", + "Saved model is obsolete": "El modelo guardado es obsoleto", + "

The saved model has been created with a previous, non completely compatible version, of the template

Some content or style in the model COULD BE LOST if you will save

Contact us for more informations!

": "

El modelo guardado ha sido creado con una versión previa que no era totalmenet compatible de la plantilla

Algunos contenidos o estilos del modelo SE PUEDEN PERDER si guarda

¡Contáctenos para obtener más información!

", + "Blocks": "Bloques", + "Blocks ready to be added to the template": "Bloques listos para ser agregados a la plantilla", + "Content": "Contenido", + "Edit content options": "Editar opciones de contenido", + "Style": "Estilo", + "Edit style options": "Editar opciones de estilo", + "Block __name__": "Bloque __name__", + "Click or drag to add this block to the template": "Haga click o arrastre para agregar este bloque a la plantilla", + "Add": "Agregar", + "By clicking on message parts you will select a block and content options, if any, will show here": "Haciendo click sobre las partes del mensaje, seleccionará un bloque y se mostrarán las opciones de contenido (si las hay) ", + "By clicking on message parts you will select a block and style options, if available, will show here": "Haciendo click sobre las partes del mensaje, seleccionará un bloque y se mostrarán las opciones de estilo (si las hay) ", + "Click or drag files here": "Haga click o arraste archivos aquí", + "No images uploaded, yet": "Aún no se han subido imágenes", + "Show images from the gallery": "Mostrar imágenes de la galería", + "Loading...": "Cargando ...", + "Load gallery": "Cargar galería", + "Loading gallery...": "Cargando galería ...", + "The gallery is empty": "La galería está vacía", + "Remove image": "Eliminar imagen", + "Open the image editing tool": "Abrir la herramienta de edición de imágenes", + "Upload a new image": "Subir una nueva imagen", + "Drop an image here": "Soltar una imagen aquí", + "Drop an image here or click the upload button": "Suelte una imagen aquí o haga click en el botón subir", + "Drag this image and drop it on any template image placeholder": "Arrastre esta imagen y suéltela sobre cualquier marcador de posición de imagen", + "Gallery:": "Galería:", + "Session images": "Imágenes de sesión", + "Recents": "Recientes", + "Remote gallery": "Galería remota", + "Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A \"small cube\" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
": "Bloque personalizado.
  • En este estado, los cambios a las propiedades serán específicos al bloque actual (no serán aplicados a todos los bloques de la misma sección)
  • A El icono \"small cube\" , que está junto a la propiedad, marcará la personalización. Si hace click en este icono el valor de la propiedad será revertido al valor definido para la sección.
", + "Drop here blocks from the \"Blocks\" tab": "Suelte aquí los bloques de la ficha \"Bloques\"", + "Drag this handle to move the block": "Arrastre para mover el bloque", + "Move this block upside": "Mover este bloque hacia arriba", + "Move this block downside": "Mover este bloque hacia abajo", + "Delete block": "Eliminar bloque", + "Duplicate block": "Duplicar bloque", + "Switch block variant": "Cambiar variante de bloque", + "Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet.": "Colores de tema,Colores standards,Colores Web,Colores de Tema,Volver a paleta,Historia,No hay historia aún", + "Drop here": "Soltar aquí", + "Unknown error": "Error desconocido", + "Uploaded bytes exceed file size": "Los bytes subidos excedieron el tamaño de archivo", + "File type not allowed": "Tipo de archivo no permitido", + "File is too large": "El archivo es demasiado grande", + "The uploaded file exceeds the post_max_size directive in php.ini": "El archivo subido supera el valor de la directiva post_max_size directive en php.ini", + "File is too big": "El archivo es demasiado grande", + "File is too small": "El archivo es demasiado pequeño", + "Filetype not allowed": "Tipo de archivo no permitido", + "Maximum number of files exceeded": "Se excedió la cantidad máxima de archivos", + "Image exceeds maximum width": "La imagen excede el ancho máximo", + "Image requires a minimum width": "La imagen requiere un ancho mínimo", + "Image exceeds maximum height": "La imagen excede el alto máximo", + "Image requires a minimum height": "La imagen requiere un alto mínimo", + "File upload aborted": "Subida de archivo abortada", + "Failed to resize image": "Falló el cambio de tamaño de la imagen", + "Unexpected upload error": "Error inesperado en la subida", + "Unexpected error listing files": "Error inesperado al listar los archivos" +} \ No newline at end of file diff --git a/public/mosaico/dist/lang/mosaico-fr.json b/public/mosaico/dist/lang/mosaico-fr.json new file mode 100644 index 00000000..ac86a3fe --- /dev/null +++ b/public/mosaico/dist/lang/mosaico-fr.json @@ -0,0 +1,88 @@ +{ + "Download": "Télécharger", + "Test": "Test", + "Save": "Sauvegarder", + "Downloading...": "Téléchargement...", + "Invalid email address": "Adresse email invalide", + "Test email sent...": "Email de test envoyé...", + "Unexpected error talking to server: contact us!": "Erreur inattendue durant la communication avec le serveur : contactez-nous !", + "Insert here the recipient email address": "Insérez ici l'adresse email du destinataire", + "Test email address": "Adresse email de test", + "Block removed: use undo button to restore it...": "Bloc supprimé : utilisez le bouton annulation pour le restaurer...", + "New block added after the selected one (__pos__)": "Nouveau bloc ajouté après le bloc sélectionné (__pos__)", + "New block added at the model bottom (__pos__)": "Nouveau bloc ajouté au bas du modèle (__pos__)", + "Undo (#COUNT#)": "Annulation (#COUNT#)", + "Redo": "Rétablir", + "Selected element has no editable properties": "L'élément sélectionné n'a pas de propriétés éditables", + "This style is specific for this block: click here to remove the custom style and revert to the theme value": "Ce style est spécifique à ce bloc : cliquez-ici afin de supprimer le style personnalisé et de revenir à la valeur du thème", + "Switch between global and block level styles editing": "Alternez entre l'édition des styles au niveau global et au niveau du bloc", + "Undo last operation": "Annuler la dernière opération", + "Redo last operation": "Rétablir la dernière opération", + "Show image gallery": "Montrer la galerie d'images", + "Gallery": "Galerie", + "Preview": "Prévisualisation", + "Show live preview": "Montrer la prévisualisation en direct", + "Large screen": "Écran large", + "Tablet": "Tablette", + "Smartphone": "Smartphone", + "Show preview and send test": "Montrer la prévisualisation et envoyer un test", + "Download template": "Télécharger le template", + "Save template": "Sauvegarder le template", + "Saved model is obsolete": "Le modèle sauvegardé est obsolète", + "

The saved model has been created with a previous, non completely compatible version, of the template

Some content or style in the model COULD BE LOST if you will save

Contact us for more informations!

": "

Le modèle sauvegardé a été créé avec une version précédente, non complètement compatible, du template.

Certains contenus ou styles du modèle POURRAIENT ÊTRE PERDUS si vous savegardez

Contactez-nous pour plus d'informations !

", + "Blocks": "Blocs", + "Blocks ready to be added to the template": "Les blocs sont prêts à être ajoutés au template", + "Content": "Contenu", + "Edit content options": "Édition des options de contenu", + "Style": "Style", + "Edit style options": "Édition des options de style", + "Block __name__": "Bloc __name__", + "Click or drag to add this block to the template": "Cliquer ou glisser pour ajouter ce bloc au template", + "Add": "Ajouter", + "By clicking on message parts you will select a block and content options, if any, will show here": "En cliquant sur les parties du message, vous sélectionnerez les options de bloc et de contenu (s'il y en a) et elles seront affichées ici", + "By clicking on message parts you will select a block and style options, if available, will show here": "En cliquant sur les parties du message, vous sélectionnerez les options de bloc et de style (si disponible) et elles seront affichées ici", + "Click or drag files here": "Cliquer ou glisser de fichiers ici", + "No images uploaded, yet": "Il n'y a pas encore d'images uploadées", + "Show images from the gallery": "Montrer les images de la galerie", + "Loading...": "Chargement...", + "Load gallery": "Charger la galerie", + "Loading gallery...": "Chargement de la galerie...", + "The gallery is empty": "La galerie est vide", + "Remove image": "Supprimer une image", + "Open the image editing tool": "Ouvrir l'outil d'édition d'image", + "Upload a new image": "Uploader une nouvelle image", + "Drop an image here": "Déposer une image ici", + "Drop an image here or click the upload button": "Déposez une image ici ou cliquez sur le bouton d'upload", + "Drag this image and drop it on any template image placeholder": "Glissez cette image et déposez-la dans n'importe quel emplacement d'image", + "Gallery:": "Galerie:", + "Session images": "Images de session", + "Recents": "Récents", + "Remote gallery": "Galerie distante", + "Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A \"small cube\" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
": "Blocs personnalisés.
  • Ces changements dans les propriétés seront spécifiques au bloc en cours d'utilisation (au lieu d'être communs à tous les blocs de la même section)
  • L'icône \"petit cube\" à côté des propriétés marquera la personnalisation. En cliquant sur cettte icône les propriétés seront rétablies aux valeurs définies pour la section.
", + "Drop here blocks from the \"Blocks\" tab": "Déposez ici des blocs venant de l'onglet \"Blocs\"", + "Drag this handle to move the block": "Faites glisser cette poignée pour déplacer le bloc", + "Move this block upside": "Déplacez ce bloc vers le haut", + "Move this block downside": "Déplacer ce bloc vers le bas", + "Delete block": "Supprimer ce bloc", + "Duplicate block": "Dupliquer ce bloc", + "Switch block variant": "Changer la version du bloc", + "Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet.": "Couleurs de thème, Couleurs standard, Couleurs web, Couleurs de thème, Retour à la palette, Historique, Pas encore d'historique", + "Drop here": "Déposer ici", + "Unknown error": "Erreur inconue", + "Uploaded bytes exceed file size": "Le nombre de bytes chargés excède la taille du fichier", + "File type not allowed": "Type de fichier non-autorisé", + "File is too large": "Fichier trop lourd", + "The uploaded file exceeds the post_max_size directive in php.ini": "The uploaded file exceeds the post_max_size directive in php.ini", + "File is too big": "Le fichier est trop lourd", + "File is too small": "Le fichier est trop petit", + "Filetype not allowed": "Le type de fichier n'est pas autorisé", + "Maximum number of files exceeded": "Le nombre maximum de fichiers est dépassé", + "Image exceeds maximum width": "La largeur de l'image est trop grande", + "Image requires a minimum width": "L'image requiert une largeur minimum", + "Image exceeds maximum height": "La hauteur de l'image est trop grande", + "Image requires a minimum height": "L'image requiert une hauteur minimum", + "File upload aborted": "L'upload de l'image a échoué", + "Failed to resize image": "Impossible de redimensionner l'image", + "Unexpected upload error": "Erreur d'upload inattendue", + "Unexpected error listing files": "Impossible de lister les fichiers" +} \ No newline at end of file diff --git a/public/mosaico/dist/lang/mosaico-it.json b/public/mosaico/dist/lang/mosaico-it.json new file mode 100644 index 00000000..a4cadb89 --- /dev/null +++ b/public/mosaico/dist/lang/mosaico-it.json @@ -0,0 +1,88 @@ +{ + "Download": "Download", + "Test": "Test", + "Save": "Salva", + "Downloading...": "Download in corso...", + "Invalid email address": "Indirizzo email invalido", + "Test email sent...": "Email di test inviata...", + "Unexpected error talking to server: contact us!": "Errore di comunicazione con il server: contattaci!", + "Insert here the recipient email address": "Inserisci qui l'indirizzo email a cui spedire", + "Test email address": "Indirizzo email di test", + "Block removed: use undo button to restore it...": "Blocco eliminato: usa il pulsante annulla per recuperarlo...", + "New block added after the selected one (__pos__)": "Nuovo blocco aggiunto sotto a quello selezionato (__pos__)", + "New block added at the model bottom (__pos__)": "Nuovo blocco aggiunto in fondo al modello (__pos__)", + "Undo (#COUNT#)": "Annulla (#COUNT#)", + "Redo": "Ripristina", + "Selected element has no editable properties": "L'elemento selezionato non fornisce proprietà editabili", + "This style is specific for this block: click here to remove the custom style and revert to the theme value": "Questo stile è specifico di questo blocco: clicca qui per annullare lo stile personalizzato", + "Switch between global and block level styles editing": "Permette di specificare se si vuole modificare lo stile generale o solamente quello specifico del blocco selezionato", + "Undo last operation": "Annulla ultima operazione", + "Redo last operation": "Ripeti operazione annullata", + "Show image gallery": "Visualizza galleria immagini", + "Gallery": "Galleria", + "Preview": "Anteprima", + "Show live preview": "Mostra anteprima live", + "Large screen": "Schermo grande", + "Tablet": "Tablet", + "Smartphone": "Smartphone", + "Show preview and send test": "Visualizza una anteprima e fai un invio di test", + "Download template": "Scarica il template", + "Save template": "Salva il template", + "Saved model is obsolete": "Modello salvato obsoleto", + "

The saved model has been created with a previous, non completely compatible version, of the template

Some content or style in the model COULD BE LOST if you will save

Contact us for more informations!

": "

Il modello salvato è stato creato con una versione precedente del template non del tutto compatibile

Alcuni contenuti o stili del modello POTREBBERO ESSERE PERSI se procederai e deciderai di salvare

Contattaci se hai dei dubbi!

", + "Blocks": "Blocchi", + "Blocks ready to be added to the template": "Elenco contenuti aggiungibili al messaggio", + "Content": "Contenuto", + "Edit content options": "Modifica opzioni contenuti", + "Style": "Stile", + "Edit style options": "Modifica opzioni grafiche", + "Block __name__": "Blocco __name__", + "Click or drag to add this block to the template": "Clicca o trascina per aggiungere al messaggio", + "Add": "Aggiungi", + "By clicking on message parts you will select a block and content options, if any, will show here": "Cliccando su alcune parti del messaggio selezionerai un blocco e le opzioni contenutistiche, se disponibili, compariranno qui", + "By clicking on message parts you will select a block and style options, if available, will show here": "Cliccando su alcune parti del messaggio selezionerai un blocco e le opzioni di stile, se disponibili, compariranno qui", + "Click or drag files here": "Clicca o trascina i file qui!", + "No images uploaded, yet": "Non hai ancora caricato immagini", + "Show images from the gallery": "Visualizza le immagini caricate nella tua area", + "Loading...": "Caricamento...", + "Load gallery": "Carica galleria", + "Loading gallery...": "Caricamento in corso...", + "The gallery is empty": "Nessuna immagine nella galleria", + "Remove image": "Rimuovi immagine", + "Open the image editing tool": "Avvia strumento modifica immagine", + "Upload a new image": "Carica una nuova immagine", + "Drop an image here": "Trascina una immagine qui", + "Drop an image here or click the upload button": "Trascina una immagine qui o clicca sul pulsante di caricamento", + "Drag this image and drop it on any template image placeholder": "Trascina questa immagine sulla posizione in cui vuoi inserirla", + "Gallery:": "Galleria:", + "Session images": "Immagini di sessione", + "Recents": "Recenti", + "Remote gallery": "Galleria remota", + "Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A \"small cube\" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
": "Blocco personalizzato.
  • In questa modalità se cambi una proprietà verrà modificata solamente per questo specifico blocco (invece che per tutti i blocchi della stessa sezione).
  • Per segnalare la personalizzazione apparirà l'icona del \"cubetto\" a fianco delle proprietà. Cliccando questa icona tornerai al valore comune.
", + "Drop here blocks from the \"Blocks\" tab": "Trascina qui i blocchi dalla scheda 'Blocchi'", + "Drag this handle to move the block": "Trascina per spostare il blocco altrove", + "Move this block upside": "Sposta il blocco in su", + "Move this block downside": "Sposta il blocco in giu", + "Delete block": "Elimina blocco", + "Duplicate block": "Duplica blocco", + "Switch block variant": "Cambia variante blocco", + "Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet.": "Colori Tema,Colori Standard,Colori Web,Colori Tema,Torna alla tavolozza,Storico,storico colori vuoto", + "Drop here": "Rilascia qui", + "Unknown error": "Errore sconosciuto durante il caricamento", + "Uploaded bytes exceed file size": "Errore inaspettato durante il caricamento (uploaded bytes)", + "File type not allowed": "Tipo di file non supportato", + "File is too large": "File troppo grande", + "The uploaded file exceeds the post_max_size directive in php.ini": "Il server ha rifiutato il file perchè troppo grande (post_max_size)", + "File is too big": "Il server ha rifiutato il file perchè troppo grande (max_file_size)", + "File is too small": "Il server ha rifiutato il file perchè troppo piccolo", + "Filetype not allowed": "Il server ha rifiutato questo tipo di file", + "Maximum number of files exceeded": "Numero massimo di file caricabili superato (max_number_of_files)", + "Image exceeds maximum width": "L'Immagine supera la larghezza massima consentita", + "Image requires a minimum width": "L'Immagine non è abbastanza larga", + "Image exceeds maximum height": "L'Immagine supera l'altezza massima consentita", + "Image requires a minimum height": "L'Immagine non è abbastanza alta", + "File upload aborted": "Caricamento del file annullato", + "Failed to resize image": "Impossibile ridimensionare l'immagine", + "Unexpected upload error": "Errore inaspettato durante il caricamento", + "Unexpected error listing files": "Errore inaspettato caricando la lista dei file" +} \ No newline at end of file diff --git a/public/mosaico/dist/lang/mosaico-nl.json b/public/mosaico/dist/lang/mosaico-nl.json new file mode 100644 index 00000000..e5a4acb4 --- /dev/null +++ b/public/mosaico/dist/lang/mosaico-nl.json @@ -0,0 +1,88 @@ +{ + "Download": "Downloaden", + "Test": "Test versturen", + "Save": "Bewaren", + "Downloading...": "bezig met downloaden...", + "Invalid email address": "Ongeldig emailadres", + "Test email sent...": "Email wordt verstuurd.", + "Unexpected error talking to server: contact us!": "Onverwachte fout in communicatie met de server. Neem contact met ons op!", + "Insert here the recipient email address": "Geef hier het emailadres op van de ontvanger", + "Test email address": "Test-emailadres", + "Block removed: use undo button to restore it...": "Blok is verwijderd. Gebruik het \"undo\" commando om het blok weer terug te zetten...", + "New block added after the selected one (__pos__)": "Nieuw blok is toegevoegd onder blok (__pos__)", + "New block added at the model bottom (__pos__)": "Nieuw blok is onderaan toegevoegd (__pos__)", + "Undo (#COUNT#)": "Undo (#COUNT#)", + "Redo": "Redo", + "Selected element has no editable properties": "Het geselecteerde element heeft geen wijzigbare opties.", + "This style is specific for this block: click here to remove the custom style and revert to the theme value": "Deze stijl is specifiek voor dit blok. Klik hier om deze stijl te verwijderen en de algemene stijl toe te passen.", + "Switch between global and block level styles editing": "Kies tussen globale en blok-gerelateerde instellingen", + "Undo last operation": "Maak de laatste handeling ongedaan", + "Redo last operation": "Doe de laatste handeling opnieuw", + "Show image gallery": "Toon beschikbare plaatjes", + "Gallery": "Plaatjes", + "Preview": "Voorbeeld", + "Show live preview": "Voorbeeld tonen", + "Large screen": "Computer", + "Tablet": "Tablet", + "Smartphone": "Smartphone", + "Show preview and send test": "Toon voorbeeld en verstuur een test email", + "Download template": "Template downloaden", + "Save template": "Template bewaren", + "Saved model is obsolete": "De bewaarde tekst is verouderd", + "

The saved model has been created with a previous, non completely compatible version, of the template

Some content or style in the model COULD BE LOST if you will save

Contact us for more informations!

": "

De bewaarde tekst werd met een veroudrde editor gemaakt die niet compatibel is met de huidige editor.

Inhoud van deze tekst kan mogelijk verloren gaan bij het bewaren!

Neem contact op met ons!

", + "Blocks": "Blokken", + "Blocks ready to be added to the template": "Blokken die gebruikt kunnen worden", + "Content": "Inhoud", + "Edit content options": "Wijzig opties m.b.t. de inhoud", + "Style": "Opmaak", + "Edit style options": "Wijzig opties m.b.t. de opmaak", + "Block __name__": "Blok __name__", + "Click or drag to add this block to the template": "Klik of versleep dit blok om het aan de tekst toe te voegen", + "Add": "Toevoegen", + "By clicking on message parts you will select a block and content options, if any, will show here": "Door te klikken op een tekstgedeelte selecteer je het blok waarbij de bijbehorende instellingen hier worden getoond", + "By clicking on message parts you will select a block and style options, if available, will show here": "Door te klikken op een tekstgedeelte selecteer je het blok waarbij de bijbehorende opmaak-opties hier worden getoond", + "Click or drag files here": "Klik of sleep bestanden in dit vak", + "No images uploaded, yet": "Nog geen plaatjes beschikbaar", + "Show images from the gallery": "Toon beschikbare plaatjes", + "Loading...": "Laden ...", + "Load gallery": "plaatjes laden", + "Loading gallery...": "bezig met laden ...", + "The gallery is empty": "Er zijn geen plaatjes gevonden", + "Remove image": "Plaatje verwijderen", + "Open the image editing tool": "Plaatje wijzigen", + "Upload a new image": "Nieuw plaatje uploaden", + "Drop an image here": "Plaats hier een plaatje", + "Drop an image here or click the upload button": "Drop hier een plaatje of klik op de Upload-knop", + "Drag this image and drop it on any template image placeholder": "Sleep dit plaatje naar een beschikbare plek in de tekst", + "Gallery:": "Plaatjes:", + "Session images": "Plaatjes van de sessie", + "Recents": "Recent", + "Remote gallery": "Alle bewaarde plaatjes", + "Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A \"small cube\" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
": "Aangepast blok.
  • Op dit moment zullen wijzigingen in instellingen alleen gelden voor het huidige blok (in plaats van globaal voor alle blokken in dezelfde sectie)
  • Een \"small cube\" icon naast de instelling toont of het aangepast is. Door op dit icon te klikken wordt de waarde teruggezet naar de waarde zoals ingesteld voor de hele sectie.
", + "Drop here blocks from the \"Blocks\" tab": "Drop hier geselecteerde blokken uit het \"Blokken\" - Tabblad", + "Drag this handle to move the block": "Gebruik dit om het blok te verschuiven", + "Move this block upside": "Blok naar boven verplaatsen", + "Move this block downside": "Blok naar onder verplaatsen", + "Delete block": "Blok verwijderen", + "Duplicate block": "Blok kopieren", + "Switch block variant": "Verwissel blok-variant", + "Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet.": "Theme kleuren,Standaard kleuren,Web kleuren,Theme kleuren,Terug naar Palette,Geschiedenis,Geen geschiedenis beschikbaar.", + "Drop here": "Drop hier", + "Unknown error": "Onbekende fout", + "Uploaded bytes exceed file size": "Plaatje te groot voor upload", + "File type not allowed": "Bestandstype is niet toegestaan. Gebruik alleen .jpg, .gif of .png bestanden", + "File is too large": "Bestand is te groot", + "The uploaded file exceeds the post_max_size directive in php.ini": "Geuploade bestanden zijn te groot (post_max_size directive in php.ini)", + "File is too big": "Bestand is te groot", + "File is too small": "Bestand is te klein", + "Filetype not allowed": "Bestandstype is niet tooegestaan. Gebruik alleen .jpg, .gif of .png bestanden", + "Maximum number of files exceeded": "Maximaal aantal bestanden overschreden", + "Image exceeds maximum width": "Plaatje is breder dan toegestaan", + "Image requires a minimum width": "Plaatje moet een minimale breedte hebben", + "Image exceeds maximum height": "Plaatje is hoger dan toegestaan", + "Image requires a minimum height": "Plaatjje moet een minimale hoogte hebben", + "File upload aborted": "Bestandsupload is afgebroken", + "Failed to resize image": "Kon de grootte van het plaatje niet aanpassen", + "Unexpected upload error": "Onverwachte fout bij upload", + "Unexpected error listing files": "Onverwachte fout bij tonen van de plaatjes" +} \ No newline at end of file diff --git a/public/mosaico/dist/lang/mosaico-sv.json b/public/mosaico/dist/lang/mosaico-sv.json new file mode 100644 index 00000000..d31e9a8c --- /dev/null +++ b/public/mosaico/dist/lang/mosaico-sv.json @@ -0,0 +1,88 @@ +{ + "Download": "Ladda ner", + "Test": "Test", + "Save": "Spara", + "Downloading...": "Laddar ned...", + "Invalid email address": "Felaktig e-postadress", + "Test email sent...": "Test-brev skickat", + "Unexpected error talking to server: contact us!": "Oväntat fel vid kommunikation med servern, kontakta oss!", + "Insert here the recipient email address": "Skriv mottagaradressen här", + "Test email address": "E-post adress för test", + "Block removed: use undo button to restore it...": "Block borttaget, använd ångra knappen för att återställa det.", + "New block added after the selected one (__pos__)": "Nytt block tillagt efter valt block (__pos__)", + "New block added at the model bottom (__pos__)": "Nytt block tillagt i slutet av modellen (__pos__)", + "Undo (#COUNT#)": "Ångra (#COUNT#)", + "Redo": "Upprepa", + "Selected element has no editable properties": "Valt elelement har inga redigerbara egenskaper", + "This style is specific for this block: click here to remove the custom style and revert to the theme value": "\nDenna stil är specifik för detta block : Klicka här för att ta bort den anpassade stilen och återgå till temats värde", + "Switch between global and block level styles editing": "Växla mellan redigering av stilar, globalt och på blocknivå.", + "Undo last operation": "Ångra senaste operation", + "Redo last operation": "Upprepa senaste operation", + "Show image gallery": "Visa bildgalleri", + "Gallery": "Galleri", + "Preview": "Förhandsgranska", + "Show live preview": "Visa förhansgranskning", + "Large screen": "Stor skärm", + "Tablet": "Surfplatta", + "Smartphone": "Smartphone", + "Show preview and send test": "Förhandsgranska och skicka test", + "Download template": "Ladda ner mallen", + "Save template": "Spara mall", + "Saved model is obsolete": "Spara modell är föråldrat", + "

The saved model has been created with a previous, non completely compatible version, of the template

Some content or style in the model COULD BE LOST if you will save

Contact us for more informations!

": "

Den spararde modellan har skapats med en tidigare version som inte är kompatibel.

Visst innehåll och stilar i modellen KAN GÅ FÖRLORAT om du vill spara

Kontakta oss för mer information

\n", + "Blocks": "Block", + "Blocks ready to be added to the template": "Block redo att läggas till mallen", + "Content": "Innehåll", + "Edit content options": "Redigera alternativ för innehåll", + "Style": "Stilar", + "Edit style options": "Redigera alternativ för stilar", + "Block __name__": "Block __name__", + "Click or drag to add this block to the template": "Klicka eller dra blocket till mallen", + "Add": "Lägg till", + "By clicking on message parts you will select a block and content options, if any, will show here": "Genom att klicka på meddelandets delar kommer du att välja ett block och innehållsalternativ, om några, kommer att synas här.", + "By clicking on message parts you will select a block and style options, if available, will show here": "Genom att klicka på meddelandets delar kommer du att välja ett block och stilalternativ, om några, kommer att synas här.", + "Click or drag files here": "Klicka eller dra filer hit", + "No images uploaded, yet": "Inga bilder uppladdade, ännu", + "Show images from the gallery": "Visa bilder från galleriet", + "Loading...": "Laddar...", + "Load gallery": "Ladda galleri", + "Loading gallery...": "Hämtar galleri...", + "The gallery is empty": "Galleriet är tomt", + "Remove image": "Ta bort bild", + "Open the image editing tool": "Öppna bildredigeringsverktyg", + "Upload a new image": "Ladda upp en ny billd", + "Drop an image here": "Släpp en bild här", + "Drop an image here or click the upload button": "Släpp en bild här eller klicka på uppladdningsknappen", + "Drag this image and drop it on any template image placeholder": "Dra bilden och släpp på en platshållare i mallen", + "Gallery:": "Galleri:", + "Session images": "Bilder för sessionen", + "Recents": "Senaste", + "Remote gallery": "Fjärrgalleri", + "Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A \"small cube\" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
": "Skräddarsytt block . < Ul > < li > Statusändringar av egenskaper kommer att vara specifika för det aktuella blocket (i stället för att vara global för alla block i samma avsnitt ) < / li > < li > En < span class = \" customStyled \" > < span> \" liten kub \" < / span> < / span> ikonen bredvid egenskapen kommer att markera edigerbarhet. Genom att klicka på ikonen kommer egenskapen att återställas till det värde som anges för sektionen . < / Li > < / ul >", + "Drop here blocks from the \"Blocks\" tab": "Dra och släpp block från \"Block\" fliken hit.", + "Drag this handle to move the block": "Dra i handtaget för att flytta blocket", + "Move this block upside": "Flytta blocket uppåt", + "Move this block downside": "Flytta blocket nedåt", + "Delete block": "Radera block", + "Duplicate block": "Kopiera block", + "Switch block variant": "Byt blocktyp", + "Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet.": "Temafärger,Standardfärger,Webfärger,Temafärger,Tillbaka till palette,Historik,Ingen historik ännu.", + "Drop here": "Släpp här", + "Unknown error": "Okänt fel", + "Uploaded bytes exceed file size": "Uppladdade bytes överskrider filstorlek", + "File type not allowed": "Filtypen är inte tillåten", + "File is too large": "Filen är för stor", + "The uploaded file exceeds the post_max_size directive in php.ini": "Den uppladdade filen överskrider post_max_size direktivet i php.ini", + "File is too big": "Filen är för stor", + "File is too small": "Filen är för liten", + "Filetype not allowed": "Otillåten filtyp", + "Maximum number of files exceeded": "Max antal filer överskridet", + "Image exceeds maximum width": "Bild överskrider max bredd", + "Image requires a minimum width": "Bilden kräver en minimum bredd", + "Image exceeds maximum height": "Bilden överskrider maxhöjd", + "Image requires a minimum height": "Bilden kräver en minimum höjd", + "File upload aborted": "Uppladdning avbruten", + "Failed to resize image": "Det gick inte att ändra storlek på bild", + "Unexpected upload error": "Oväntat uppladdningsfel", + "Unexpected error listing files": "Oväntat fel vid inläsning av fillista" +} \ No newline at end of file diff --git a/public/mosaico/dist/mosaico-material.min.css b/public/mosaico/dist/mosaico-material.min.css new file mode 100644 index 00000000..feef8024 --- /dev/null +++ b/public/mosaico/dist/mosaico-material.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fa/fonts/fontawesome-webfont.eot?v=4.6.3);src:url(fa/fonts/fontawesome-webfont.eot?#iefix&v=4.6.3) format('embedded-opentype'),url(fa/fonts/fontawesome-webfont.woff2?v=4.6.3) format('woff2'),url(fa/fonts/fontawesome-webfont.woff?v=4.6.3) format('woff'),url(fa/fonts/fontawesome-webfont.ttf?v=4.6.3) format('truetype'),url(fa/fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular) format('svg')}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.mo{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:13.6px;line-height:1.5em}#main-toolbox{line-height:normal}#main-toolbox .propEditor .propInput .checkbox-replacer{padding:4px 2px;font-size:1.2em}#main-toolbox .objLabel.level0,#main-toolbox .pane-title{font-size:1.2em}#main-toolbox .objLabel.level1{font-size:1.2em}#main-toolbox .noSelectedBlock,#main-toolbox .customStyleHelp,#main-toolbox .objEmpty,#main-toolbox .galleryEmpty{font-size:1.2em}#main-toolbox .propInput .data-select:after,#main-toolbox .propInput .evo-pointer:before{width:31px;padding:0 10px}#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only{width:30px;padding:0}#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only .ui-icon{margin:0}#main-toolbox .propInput .ui-spinner-button{width:30px}#main-toolbox .propInput .ui-spinner-button .ui-icon{left:6px;top:8px}#main-toolbox .evo-pop .evo-more{font-size:1em}#toolimages .img-dropzone{position:relative}#toolimages .img-dropzone.ui-state-highlight:before{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(255,87,34,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #ff5722;z-index:10;pointer-events:none;line-height:45px;height:auto;top:-10px;bottom:-10px}#toolimages .img-dropzone.ui-state-draghover:before{background-color:rgba(255,87,34,.8);animation:none}#toolimages .uploadzone{font-size:1.2em}.mo a,.mo a:link,.mo a:visited,.mo a:active,.mo #site-slogan{color:#ff5722;text-decoration:none}li .mo a,li .mo a:link,li .mo a:visited,li .mo a:active,li .mo #site-slogan{color:#ff5722}.mo a:hover{color:#bb2d00}li .mo a:hover{color:#bb2d00}.mo a.disabled,.mo a.disabled:link,.mo a.disabled:visited{color:#220800}.mo b,.mo strong{font-weight:700}.mo i,.mo em{font-style:italic}.mo ul,.mo ol{margin:.5em 0;padding:0 0 0 1.5em}.mo ul li,.mo ol li{margin:.5em 0}.mo ul li a,.mo ol li a,.mo ul li a:active,.mo ol li a:active,.mo ul li a:link,.mo ol li a:link,.mo ul li a:visited,.mo ol li a:visited{white-space:nowrap}.mo p{margin:1em 0}.mo p .grey{color:#969696}.mo small{font-size:smaller}.mo big{font-size:larger}.mo h1{font-size:2em;margin:.5em 0}.mo h2,.mo h3.box_title{font-size:1.5em;margin:.5em 0}.mo h3{font-size:1.3em;margin:.5em 0}.mo dl{margin-bottom:1.5em}.mo dl dt{font-weight:700}.mo dl dd{margin-left:10px;font-style:italic}.mo hr{border:0;border-top:2px solid #d5d5d5;margin:1em 0}.mo blockquote{font-style:italic;border-left:2px solid #d5d5d5;padding:.5em}.mo code{display:inline-block;border-left:2px solid #d5d5d5;padding:.5em}.mo table{width:100%;border-collapse:collapse;border-spacing:0;margin:1.5em 0;border-bottom:2px solid #d5d5d5}.mo table tr.even,.mo table tr.odd{border:none;padding:0;background-color:transparent}.mo table th{padding:.5em .7em;font-weight:700;border-top:0 none;border-bottom:2px solid #d5d5d5;vertical-align:middle;background-color:#900000}.mo table td{padding:.1em .7em;height:3.3em;background-color:#eee;border-top:0 none;vertical-align:middle}.mo table td.active{background-color:#eee}.mo table tr.even td{background-color:#d2a7a7}.mo table tr.even td.active{background-color:#d2a7a7}.mo table tr:first-child th:first-child{border-top-left-radius:2.8px}.mo table tr:first-child th:last-child{border-top-right-radius:2.8px}.mo table .checkbox_cell{width:3em}.mo table tr.selected td,.mo table tr.selected td.active{background-color:#ffff90!important}.mo table tr.odd.selected td,.mo table tr.odd.selected td.active,.mo table tr:nth-child(odd).selected td,.mo table tr:nth-child(odd).selected td.active{background-color:#fafaac!important}.mo .table-wrapper-scroll{width:100%;overflow-x:auto}.mo caption{color:#ff5722;font-weight:700;text-align:left;padding:.5em .7em}.mo div.showall{padding:0 .7em .5em;vertical-align:middle;clear:both}.mo ul.links{margin:0;padding:0}.mo ul.links.inline{display:inline}.mo ul.links li{display:inline;list-style-type:none;padding:0 .5em}.mo .small{font-size:80%}.mo .big{font-size:120%}.mo .clear-block{clear:both}.mo .margin-top{margin-top:.5em}.mo .overflow-hidden{overflow:hidden}.mo .quarter-width{width:25%!important}.mo .half-width{width:50%!important}.mo .full-width{width:100%!important}.mo .normal-width{width:auto!important}.mo .clickable{cursor:pointer}.mo .help{background-color:#b65f5f;margin:1em 0;padding:.8em}.mo .help p:first-child{margin-top:0}.mo .help p:last-child{margin-bottom:0}.mo .dropdown{position:absolute;z-index:1003;margin:0;padding:.5em 1em;border-radius:2px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);box-shadow:0 4px 10px #727272;background-color:#fff;max-height:300px;overflow:auto;min-width:100%;max-width:25em;white-space:normal}.mo .dropdown.dropdown-right{right:0}.mo .dropdown.dropdown-bottom{bottom:0}a.button+div.dropdown_spacer+.mo .dropdown,.button_links .mo .dropdown,.links.inline .mo .dropdown{margin:-.4em 0 0}.cell_links .mo .dropdown,.top_links .mo .dropdown,.box_top_links .mo .dropdown,.slide_links .mo .dropdown{margin:.2em 0 0}.mo .dropdown hr{margin:.5em -1em;border-top:1px solid #fff2ee;box-shadow:none}.container-inline .mo .dropdown{display:block}.mo .dropdown .dropdown_footer{padding:.5em 0 0;margin:0}.mo .dropdown-container{position:relative;white-space:nowrap;display:inline-block}.container-inline .mo .dropdown-container{display:inline-block}.form-item .mo .dropdown-container{margin:0 .5em 0 0}.mo [class^=icon-]:before,.mo [class*=" icon-"]:before{margin-right:0;margin-left:0}.mo i.icon{cursor:default}.mo a:link i.icon{cursor:pointer}.mo .icon_red{color:#9c010f}.mo .icon_green{color:#94af4b}.mo img.icon{vertical-align:text-top}.mo a.hint,.mo a.info{color:#636363;font-size:80%;vertical-align:top;margin:0 .2em}.mo a.hint:hover,.mo a.info:hover{color:#ff5722}h1 .mo a.hint,h1 .mo a.info,h2 .mo a.hint,h2 .mo a.info,h3 .mo a.hint,h3 .mo a.info{font-size:60%}li .mo a.hint,li .mo a.info{color:#636363}.mo a.hint{cursor:help}.mo .suffix_icon{font-size:80%}.mo div.info{padding:.5em;background-color:#b65f5f;margin:.5em 0}.mo .menu_step_circle{display:inline-block;background-color:#ddd;color:#303030;padding:.3em .6em;margin:0 .2em 0 0;border-radius:1em}.mo .menu_step_circle.current{background-color:#900000}.mo .menu_step_circle.disabled{color:#969696}.mo a.button_dropdown_split{border-left:1px solid #303030;padding-left:.5em}.mo .button_links a.button_dropdown_split,.mo .links.inline a.button_dropdown_split,.mo .cell_links a.button_dropdown_split{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase}li .mo .button_links a.button_dropdown_split,li .mo .links.inline a.button_dropdown_split,li .mo .cell_links a.button_dropdown_split{color:#eee}.mo .button_links a.button_dropdown_split img,.mo .links.inline a.button_dropdown_split img,.mo .cell_links a.button_dropdown_split img{vertical-align:middle;margin:0 .2em}.mo .button_links a.button_dropdown_split:hover,.mo .links.inline a.button_dropdown_split:hover,.mo .cell_links a.button_dropdown_split:hover,.mo .button_links a.button_dropdown_split.pressed,.mo .links.inline a.button_dropdown_split.pressed,.mo .cell_links a.button_dropdown_split.pressed,.mo .button_links a.button_dropdown_split.selected,.mo .links.inline a.button_dropdown_split.selected,.mo .cell_links a.button_dropdown_split.selected{text-decoration:none;background-color:#ee3900}.mo .button_links a.button_dropdown_split.disabled,.mo .links.inline a.button_dropdown_split.disabled,.mo .cell_links a.button_dropdown_split.disabled{color:#ffa588}.mo .button_links a.button_dropdown_split.disabled a,.mo .links.inline a.button_dropdown_split.disabled a,.mo .cell_links a.button_dropdown_split.disabled a,.mo .button_links a.button_dropdown_split.disabled .link,.mo .links.inline a.button_dropdown_split.disabled .link,.mo .cell_links a.button_dropdown_split.disabled .link{color:#ffa588}.mo .button_links a.button_dropdown_split.disabled:hover,.mo .links.inline a.button_dropdown_split.disabled:hover,.mo .cell_links a.button_dropdown_split.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .button_links a.button_dropdown_split.inline,.mo .links.inline a.button_dropdown_split.inline,.mo .cell_links a.button_dropdown_split.inline{margin:0 7px 0 0}.mo .button_links a.button_dropdown_split.primary,.mo .links.inline a.button_dropdown_split.primary,.mo .cell_links a.button_dropdown_split.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo .button_links a.button_dropdown_split.primary:hover,.mo .links.inline a.button_dropdown_split.primary:hover,.mo .cell_links a.button_dropdown_split.primary:hover{background-color:#ee3900;border-color:#ee3900}.mo .button_links a.button_dropdown_split.big,.mo .links.inline a.button_dropdown_split.big,.mo .cell_links a.button_dropdown_split.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo .button_links a.button_dropdown_split.big .suffix_icon,.mo .links.inline a.button_dropdown_split.big .suffix_icon,.mo .cell_links a.button_dropdown_split.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .button_links a.button_dropdown_split.with_button_dropdown_split,.mo .links.inline a.button_dropdown_split.with_button_dropdown_split,.mo .cell_links a.button_dropdown_split.with_button_dropdown_split{padding-right:1.2em}.mo .button_links a.button_dropdown_split.with_button_dropdown_split.big,.mo .links.inline a.button_dropdown_split.with_button_dropdown_split.big,.mo .cell_links a.button_dropdown_split.with_button_dropdown_split.big{padding-right:1.8em}.mo .button_links a.button_dropdown_split.loading,.mo .links.inline a.button_dropdown_split.loading,.mo .cell_links a.button_dropdown_split.loading{opacity:.5;background-image:none}.mo .button_links a.button_dropdown_split,.mo .links.inline a.button_dropdown_split,.mo .cell_links a.button_dropdown_split,.mo .top_links a.button_dropdown_split{margin-left:-1.5em;border-left:1px solid transparent!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;z-index:2}.mo a.button,.mo input.form-submit{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase}li .mo a.button,li .mo input.form-submit{color:#eee}.mo a.button img,.mo input.form-submit img{vertical-align:middle;margin:0 .2em}.mo a.button:hover,.mo input.form-submit:hover,.mo a.button.pressed,.mo input.form-submit.pressed,.mo a.button.selected,.mo input.form-submit.selected{text-decoration:none;background-color:#ee3900}.mo a.button.disabled,.mo input.form-submit.disabled{color:#ffa588}.mo a.button.disabled a,.mo input.form-submit.disabled a,.mo a.button.disabled .link,.mo input.form-submit.disabled .link{color:#ffa588}.mo a.button.disabled:hover,.mo input.form-submit.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo a.button.inline,.mo input.form-submit.inline{margin:0 7px 0 0}.mo a.button.primary,.mo input.form-submit.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo a.button.primary:hover,.mo input.form-submit.primary:hover{background-color:#ee3900;border-color:#ee3900}.mo a.button.big,.mo input.form-submit.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo a.button.big .suffix_icon,.mo input.form-submit.big .suffix_icon{font-size:55%;vertical-align:middle}.mo a.button.with_button_dropdown_split,.mo input.form-submit.with_button_dropdown_split{padding-right:1.2em}.mo a.button.with_button_dropdown_split.big,.mo input.form-submit.with_button_dropdown_split.big{padding-right:1.8em}.mo a.button.loading,.mo input.form-submit.loading{opacity:.5;background-image:none}.mo ul.links a{font-weight:700}.mo ul.button_links li,.mo ul.inline li{padding:0}.mo ul.button_links li a,.mo ul.inline li a{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase}li .mo ul.button_links li a,li .mo ul.inline li a{color:#eee}.mo ul.button_links li a img,.mo ul.inline li a img{vertical-align:middle;margin:0 .2em}.mo ul.button_links li a:hover,.mo ul.inline li a:hover,.mo ul.button_links li a.pressed,.mo ul.inline li a.pressed,.mo ul.button_links li a.selected,.mo ul.inline li a.selected{text-decoration:none;background-color:#ee3900}.mo ul.button_links li a.disabled,.mo ul.inline li a.disabled{color:#ffa588}.mo ul.button_links li a.disabled a,.mo ul.inline li a.disabled a,.mo ul.button_links li a.disabled .link,.mo ul.inline li a.disabled .link{color:#ffa588}.mo ul.button_links li a.disabled:hover,.mo ul.inline li a.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo ul.button_links li a.inline,.mo ul.inline li a.inline{margin:0 7px 0 0}.mo ul.button_links li a.primary,.mo ul.inline li a.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo ul.button_links li a.primary:hover,.mo ul.inline li a.primary:hover{background-color:#ee3900;border-color:#ee3900}.mo ul.button_links li a.big,.mo ul.inline li a.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo ul.button_links li a.big .suffix_icon,.mo ul.inline li a.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.button_links li a.with_button_dropdown_split,.mo ul.inline li a.with_button_dropdown_split{padding-right:1.2em}.mo ul.button_links li a.with_button_dropdown_split.big,.mo ul.inline li a.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.button_links li a.loading,.mo ul.inline li a.loading{opacity:.5;background-image:none}.mo ul.button_links li a img,.mo ul.inline li a img{vertical-align:text-top;margin:0 .5em 0 0}.mo ul.buttonbar{white-space:nowrap}.mo ul.buttonbar>li,.mo ul.buttonbar>.dropdown-container>li{margin:0 1px 0 0;float:left}.mo ul.buttonbar>li a,.mo ul.buttonbar>.dropdown-container>li a,.mo ul.buttonbar>li a.big,.mo ul.buttonbar>.dropdown-container>li a.big{margin-left:0;margin-right:0;border-radius:0}.mo ul.buttonbar>li a.with_button_dropdown_split,.mo ul.buttonbar>.dropdown-container>li a.with_button_dropdown_split,.mo ul.buttonbar>li a.big.with_button_dropdown_split,.mo ul.buttonbar>.dropdown-container>li a.big.with_button_dropdown_split{margin-right:7px}.mo ul.buttonbar>li.first a,.mo ul.buttonbar>.dropdown-container>li.first a{border-radius:2px 0 0 2px}.mo ul.buttonbar>li.first a.big,.mo ul.buttonbar>.dropdown-container>li.first a.big{border-radius:2.8px 0 0 2.8px}.mo ul.buttonbar>li.last a,.mo ul.buttonbar>.dropdown-container>li.last a{border-radius:0 2px 2px 0}.mo ul.buttonbar>li.last a.big,.mo ul.buttonbar>.dropdown-container>li.last a.big{border-radius:0 2.8px 2.8px 0}.mo ul.buttonbar.top_links{margin-left:.5em}.mo ul.buttonbar:after{content:"";display:table;clear:both}.mo ul.cell_links>li,.mo ul.cell_links>.dropdown-container>li{padding:0}.mo ul.cell_links>li>a,.mo ul.cell_links>.dropdown-container>li>a{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;margin:0 .5em 0 0}li .mo ul.cell_links>li>a,li .mo ul.cell_links>.dropdown-container>li>a{color:#eee}.mo ul.cell_links>li>a img,.mo ul.cell_links>.dropdown-container>li>a img{vertical-align:middle;margin:0 .2em}.mo ul.cell_links>li>a:hover,.mo ul.cell_links>.dropdown-container>li>a:hover,.mo ul.cell_links>li>a.pressed,.mo ul.cell_links>.dropdown-container>li>a.pressed,.mo ul.cell_links>li>a.selected,.mo ul.cell_links>.dropdown-container>li>a.selected{text-decoration:none;background-color:#ee3900}.mo ul.cell_links>li>a.disabled,.mo ul.cell_links>.dropdown-container>li>a.disabled{color:#ffa588}.mo ul.cell_links>li>a.disabled a,.mo ul.cell_links>.dropdown-container>li>a.disabled a,.mo ul.cell_links>li>a.disabled .link,.mo ul.cell_links>.dropdown-container>li>a.disabled .link{color:#ffa588}.mo ul.cell_links>li>a.disabled:hover,.mo ul.cell_links>.dropdown-container>li>a.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo ul.cell_links>li>a.inline,.mo ul.cell_links>.dropdown-container>li>a.inline{margin:0 7px 0 0}.mo ul.cell_links>li>a.primary,.mo ul.cell_links>.dropdown-container>li>a.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo ul.cell_links>li>a.primary:hover,.mo ul.cell_links>.dropdown-container>li>a.primary:hover{background-color:#ee3900;border-color:#ee3900}.mo ul.cell_links>li>a.big,.mo ul.cell_links>.dropdown-container>li>a.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo ul.cell_links>li>a.big .suffix_icon,.mo ul.cell_links>.dropdown-container>li>a.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.cell_links>li>a.with_button_dropdown_split,.mo ul.cell_links>.dropdown-container>li>a.with_button_dropdown_split{padding-right:1.2em}.mo ul.cell_links>li>a.with_button_dropdown_split.big,.mo ul.cell_links>.dropdown-container>li>a.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.cell_links>li>a.loading,.mo ul.cell_links>.dropdown-container>li>a.loading{opacity:.5;background-image:none}.mo ul.cell_links a.button_dropdown_split{margin-top:0;margin-bottom:0}td .mo ul.cell_links{text-align:right}.mo .td_cell_links{text-align:right;white-space:nowrap}.mo ul.top_links,.mo ul.box_top_links{float:right;text-align:right}.mo ul.top_links>*,.mo ul.box_top_links>*{line-height:normal;text-align:left;margin-bottom:.4em}.mo ul.top_links li a,.mo ul.box_top_links li a,.mo ul.top_links a.button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;border-radius:2.8px;padding:.25em .4em;font-size:1.3em}li .mo ul.top_links li a,li .mo ul.box_top_links li a,li .mo ul.top_links a.button_dropdown_split,li .mo ul.box_top_links a.button_dropdown_split{color:#eee}.mo ul.top_links li a img,.mo ul.box_top_links li a img,.mo ul.top_links a.button_dropdown_split img,.mo ul.box_top_links a.button_dropdown_split img{vertical-align:middle;margin:0 .2em}.mo ul.top_links li a:hover,.mo ul.box_top_links li a:hover,.mo ul.top_links a.button_dropdown_split:hover,.mo ul.box_top_links a.button_dropdown_split:hover,.mo ul.top_links li a.pressed,.mo ul.box_top_links li a.pressed,.mo ul.top_links a.button_dropdown_split.pressed,.mo ul.box_top_links a.button_dropdown_split.pressed,.mo ul.top_links li a.selected,.mo ul.box_top_links li a.selected,.mo ul.top_links a.button_dropdown_split.selected,.mo ul.box_top_links a.button_dropdown_split.selected{text-decoration:none;background-color:#ee3900}.mo ul.top_links li a.disabled,.mo ul.box_top_links li a.disabled,.mo ul.top_links a.button_dropdown_split.disabled,.mo ul.box_top_links a.button_dropdown_split.disabled{color:#ffa588}.mo ul.top_links li a.disabled a,.mo ul.box_top_links li a.disabled a,.mo ul.top_links a.button_dropdown_split.disabled a,.mo ul.box_top_links a.button_dropdown_split.disabled a,.mo ul.top_links li a.disabled .link,.mo ul.box_top_links li a.disabled .link,.mo ul.top_links a.button_dropdown_split.disabled .link,.mo ul.box_top_links a.button_dropdown_split.disabled .link{color:#ffa588}.mo ul.top_links li a.disabled:hover,.mo ul.box_top_links li a.disabled:hover,.mo ul.top_links a.button_dropdown_split.disabled:hover,.mo ul.box_top_links a.button_dropdown_split.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo ul.top_links li a.inline,.mo ul.box_top_links li a.inline,.mo ul.top_links a.button_dropdown_split.inline,.mo ul.box_top_links a.button_dropdown_split.inline{margin:0 7px 0 0}.mo ul.top_links li a.primary,.mo ul.box_top_links li a.primary,.mo ul.top_links a.button_dropdown_split.primary,.mo ul.box_top_links a.button_dropdown_split.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo ul.top_links li a.primary:hover,.mo ul.box_top_links li a.primary:hover,.mo ul.top_links a.button_dropdown_split.primary:hover,.mo ul.box_top_links a.button_dropdown_split.primary:hover{background-color:#ee3900;border-color:#ee3900}.mo ul.top_links li a.big,.mo ul.box_top_links li a.big,.mo ul.top_links a.button_dropdown_split.big,.mo ul.box_top_links a.button_dropdown_split.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo ul.top_links li a.big .suffix_icon,.mo ul.box_top_links li a.big .suffix_icon,.mo ul.top_links a.button_dropdown_split.big .suffix_icon,.mo ul.box_top_links a.button_dropdown_split.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.top_links li a.with_button_dropdown_split,.mo ul.box_top_links li a.with_button_dropdown_split,.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split{padding-right:1.2em}.mo ul.top_links li a.with_button_dropdown_split.big,.mo ul.box_top_links li a.with_button_dropdown_split.big,.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split.big,.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.top_links li a.loading,.mo ul.box_top_links li a.loading,.mo ul.top_links a.button_dropdown_split.loading,.mo ul.box_top_links a.button_dropdown_split.loading{opacity:.5;background-image:none}.mo ul.top_links li,.mo ul.box_top_links li{padding:0}.mo ul.top_links li a,.mo ul.box_top_links li a{margin:0 0 0 .5em}.mo ul.top_links a.button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split{margin:0 0 0 -1em}.mo ul.top_links .dropdown,.mo ul.box_top_links .dropdown{margin-left:.5em}.mo ul.popup_links>li,.mo ul.popup_links>.dropdown-container>li{display:block;padding:0;margin:0}.mo ul.popup_links>li>a,.mo ul.popup_links>.dropdown-container>li>a{display:block;border:none;padding:.5em;margin:0;border-radius:0;position:relative;overflow:hidden;text-overflow:ellipsis;font-weight:700;background-color:transparent;color:#303030}.mo ul.popup_links>li>a img,.mo ul.popup_links>.dropdown-container>li>a img{vertical-align:text-top;margin:0 .5em 0 0}.mo ul.popup_links>li>a.disabled,.mo ul.popup_links>.dropdown-container>li>a.disabled{color:#969696!important}.mo ul.popup_links>li>a.disabled:hover,.mo ul.popup_links>.dropdown-container>li>a.disabled:hover{border:none}.mo ul.popup_links>li>a .badge,.mo ul.popup_links>.dropdown-container>li>a .badge{position:absolute;right:0;margin-left:1em;top:.6em}.mo ul.popup_links>li:hover,.mo ul.popup_links>.dropdown-container>li:hover{background-color:#ff5722;color:#eee}.mo ul.popup_links>li:hover a,.mo ul.popup_links>.dropdown-container>li:hover a{color:#eee}.mo ul.popup_links>li .cell_links>li>a,.mo ul.popup_links>.dropdown-container>li .cell_links>li>a{border-color:#979797}.mo ul.popup_links>li.separator,.mo ul.popup_links>.dropdown-container>li.separator{border-top:1px solid #ff5722;margin:.5em 0}.mo ul.popup_links.table_columns>li>a,.mo ul.popup_links.table_columns>.dropdown-container>li>a{display:table-cell;vertical-align:middle;width:100%}.mo ul.popup_links.table_columns>li>.table_column,.mo ul.popup_links.table_columns>.dropdown-container>li>.table_column{display:table-cell;vertical-align:middle;width:auto}.mo .dropdown ul.popup_links{margin:-.5em -1em}.mo .dropdown ul.popup_links>li>a,.mo .dropdown ul.popup_links>.dropdown-container>li>a{text-align:left;width:100%}.mo select,.mo textarea{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;box-shadow:none}.mo select:focus,.mo textarea:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo select.inline,.mo textarea.inline{margin-right:.5em;width:auto}.mo input:disabled,.mo select:disabled,.mo textarea:disabled{opacity:.5!important}.mo ::-webkit-input-placeholder{color:#7c7c7c;opacity:1}.mo ::-moz-placeholder{color:#7c7c7c;opacity:1}.mo :-ms-input-placeholder{color:#7c7c7c;opacity:1}.mo ::placeholder{color:#7c7c7c;opacity:1}.mo .async_loading{color:transparent;text-align:center;background:url(../../../../misc/others/loading.gif) no-repeat 50% 50% white;opacity:.5}.mo .async_loading_iframe{background:url(../../../../misc/others/loadingbig.gif) no-repeat 50% 50% transparent}.mo .ui-helper-hidden{display:none}.mo .ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}.mo .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.mo .ui-helper-clearfix:before,.mo .ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.mo .ui-helper-clearfix:after{clear:both}.mo .ui-helper-clearfix{min-height:0}.mo .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0)}.mo .ui-front{z-index:1004}.mo .ui-state-disabled{cursor:default!important}.mo .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.mo .ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.mo .ui-widget-overlay{background:#aaa none;opacity:.6;filter:alpha(opacity=60)}.mo .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa none;opacity:.3;filter:alpha(opacity=30);border-radius:8px}.mo .ui-corner-all{border-radius:2px}.mo .ui-button{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase}li .mo .ui-button{color:#eee}.mo .ui-button img{vertical-align:middle;margin:0 .2em}.mo .ui-button:hover,.mo .ui-button.pressed,.mo .ui-button.selected{text-decoration:none;background-color:#ee3900}.mo .ui-button.disabled{color:#ffa588}.mo .ui-button.disabled a,.mo .ui-button.disabled .link{color:#ffa588}.mo .ui-button.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .ui-button.inline{margin:0 7px 0 0}.mo .ui-button.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo .ui-button.primary:hover{background-color:#ee3900;border-color:#ee3900}.mo .ui-button.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo .ui-button.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .ui-button.with_button_dropdown_split{padding-right:1.2em}.mo .ui-button.with_button_dropdown_split.big{padding-right:1.8em}.mo .ui-button.loading{opacity:.5;background-image:none}.mo .ui-button .ui-button-text,.mo .ui-button .ui-icon{color:#eee}.mo .ui-button.ui-button-icon-only .ui-icon{margin:0 .1em}.mo .ui-button.ui-button-icon-only .ui-button-text{display:none}.mo .ui-button.ui-button-disabled{color:#ffa588}.mo .ui-button.ui-button-disabled a,.mo .ui-button.ui-button-disabled .link{color:#ffa588}.mo .ui-button.ui-button-disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .ui-button.ui-button-disabled .ui-button-text,.mo .ui-button.ui-button-disabled .ui-icon{color:#ffa588}.mo .ui-button.ui-state-active{text-decoration:none;background-color:#ee3900}.mo .ui-buttonset{margin-right:7px;vertical-align:middle;font-size:0}.mo .ui-buttonset>.ui-button{font-size:13.6px;margin-right:1px;border-radius:0}.mo .ui-buttonset>.ui-button.ui-corner-left{border-radius:2px 0 0 2px}.mo .ui-buttonset>.ui-button.ui-corner-right{border-radius:0 2px 2px 0}.mo .ui-dialog{border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;position:absolute;overflow:hidden;width:300px;padding:0;font-size:1em;z-index:1005}.mo .ui-dialog .ui-dialog-titlebar{position:relative;padding:.5em 1em .3em;color:#303030;background:none #900000;border:none;font-weight:700;border-radius:0;color:#eee;font-size:1.1em}.mo .ui-dialog .ui-dialog-titlebar .ui-icon{color:#303030}.mo .ui-dialog .ui-dialog-titlebar .ui-icon{color:#eee}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-title{float:left;margin:.1em 16px .2em 0}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close{position:absolute;right:.3em;top:35%;width:21px;margin:-10px 0 0;padding:1px;height:20px;cursor:pointer;border:0 none;background:none transparent;box-shadow:none}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close::-moz-focus-inner{border:none}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon{position:absolute;top:50%;margin-top:-8px;left:50%;margin-left:-8px}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close.ui-button-icon-only .ui-button-text{display:block;line-height:normal;padding:.4em;text-indent:-9999999px}.mo .ui-dialog .ui-dialog-content{border:0;padding:.5em 1em;background:none;zoom:1;max-height:600px;position:relative}.mo .ui-dialog .ui-dialog-content .async_loading_iframe{margin:-.5em 0 0}.mo .ui-dialog .async_loading_iframe{width:100%;height:100%;min-height:100px;position:absolute;left:0}.mo .ui-dialog .ui-dialog-buttonpane{text-align:center;background-image:none;margin:.5em 0 0;border:none;padding:.3em 0}.mo .ui-dialog.dialog_info .ui-dialog-titlebar{background:none #6e5158}.mo .ui-dialog.dialog_warn .ui-dialog-titlebar{background:none #960108}.mo .ui-dialog.dialog_ok .ui-dialog-titlebar{background:none #925826}.mo .ui-dialog.dialog_standard_href .ui-dialog-content{padding:0;min-height:600px}.mo .ui-dialog.dialog_ajax_href .ui-dialog-content,.mo .ui-dialog.dialog_standard_content .ui-dialog-content,.mo .ui-dialog.dialog_standard_rel .ui-dialog-content{overflow:auto}.mo .ui-dialog.no-close .ui-dialog-titlebar-close{display:none}.mo .ui-dialog:focus,.mo .ui-dialog:-moz-focusring{outline:0 none!important}.mo .ui-menu{list-style:outside none none;padding:0;margin:0;display:block;outline:medium none}.mo .ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0}.mo .ui-autocomplete{top:0;left:0;cursor:default;position:absolute;z-index:1003;padding:.5em 1em;border-radius:2px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);box-shadow:0 4px 10px #727272;background-color:#fff;max-height:300px;overflow:auto;min-width:100%;max-width:25em;white-space:normal;min-width:auto;max-width:none;margin:0;padding:0}.mo .ui-autocomplete.dropdown-right{right:0}.mo .ui-autocomplete.dropdown-bottom{bottom:0}a.button+div.dropdown_spacer+.mo .ui-autocomplete,.button_links .mo .ui-autocomplete,.links.inline .mo .ui-autocomplete{margin:-.4em 0 0}.cell_links .mo .ui-autocomplete,.top_links .mo .ui-autocomplete,.box_top_links .mo .ui-autocomplete,.slide_links .mo .ui-autocomplete{margin:.2em 0 0}.mo .ui-autocomplete hr{margin:.5em -1em;border-top:1px solid #fff2ee;box-shadow:none}.container-inline .mo .ui-autocomplete{display:block}.mo .ui-autocomplete .dropdown_footer{padding:.5em 0 0;margin:0}.mo .ui-autocomplete .ui-menu-item{display:block;padding:.5em;margin:0;font-weight:700}.mo .ui-autocomplete .ui-menu-item.ui-state-focus,.mo .ui-autocomplete .ui-menu-item.ui-state-active{background-color:#ff5722;color:#eee}.mo .ui-autocomplete .ui-menu-item.ui-state-focus a,.mo .ui-autocomplete .ui-menu-item.ui-state-active a{color:#eee}.mo .ui-tabs .ui-tabs-nav{border-radius:0}.mo .ui-tabs.tabs_horizontal>ul{margin:0;border-bottom:1px solid #900000;text-transform:uppercase;padding:0 0 0 .5em}.mo .ui-tabs.tabs_horizontal>ul:after{content:"";display:table;clear:both}.mo .ui-tabs.tabs_horizontal>ul li{float:left;list-style-type:none;margin:.4em 0 -1px;display:block;text-align:center}.mo .ui-tabs.tabs_horizontal>ul li>a{display:block;padding:.5em 1em;margin:0 .5em 0 0;border-radius:2px 2px 0 0;background-color:#900000;border:1px solid #900000}.mo .ui-tabs.tabs_horizontal>ul li a:focus{outline:0 none!important}.mo .ui-tabs.tabs_horizontal>ul li.ui-state-active a{border-bottom:1px solid #eee;background:transparent;font-weight:700;background-color:transparent;color:#303030}.mo .ui-tabs.tabs_horizontal .ui-tabs-panel{margin-top:.5em}.mo .ui-tabs.tabs_horizontal .ui-tabs-panel.ui-tabs-noscroll{padding:0}.mo .ui-tabs.tabs_horizontal.button_color>ul{background-color:#900000;margin:0;border-bottom:1px solid #900000;text-transform:uppercase;border-bottom:0;background-color:transparent}.mo .ui-tabs.tabs_horizontal.button_color>ul:after{content:"";display:table;clear:both}.mo .ui-tabs.tabs_horizontal.button_color>ul li{float:left;list-style-type:none;margin:.4em 0 -1px;display:block;text-align:center}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a{display:block;padding:.5em 1em;margin:0 .5em 0 0;border-radius:2px 2px 0 0;background-color:#ff5722;color:#eee;border:none;font-weight:700}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a:hover{background-color:#ee3900}.mo .ui-tabs.tabs_horizontal.button_color>ul li a:focus{outline:0 none!important}.mo .ui-tabs.tabs_horizontal.button_color>ul li.ui-state-active a{border-bottom:1px solid #eee;background:transparent;font-weight:700;background-color:#eee;color:#303030}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a{background-color:transparent}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a:hover{background-color:#c30000;border-bottom:3px solid #c30000}.mo .ui-tabs.tabs_horizontal.button_color>ul li.ui-state-active a{background-color:transparent;color:#eee;border-bottom:3px solid #eee}.mo .ui-tabs.tabs_vertical{position:relative;margin:1em 0}.mo .ui-tabs.tabs_vertical>ul{margin:0;padding:0;text-align:left;float:left}.mo .ui-tabs.tabs_vertical>ul li{width:11em;list-style-type:none;padding:.5em 1em;margin:0;text-align:right}.mo .ui-tabs.tabs_vertical>ul li.ui-state-active{background-color:#900000;font-weight:700;border-radius:2px 0 0 2px}.mo .ui-tabs.tabs_vertical>ul li.ui-state-active a{color:#303030}.mo .ui-tabs.tabs_vertical .ui-tabs-panel{background:#eee;border:1px solid #900000;padding:.5em 1em;margin:.5em 0;overflow:auto}.mo .ui-tabs.tabs_vertical .ui-tabs-panel.ui-tabs-noscroll{padding:0}.mo .ui-tooltip{border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;padding:0;overflow:hidden;max-width:300px;padding:.5em;z-index:1004}.mo .ui-spinner{display:block;margin:10px 0;padding:0;position:relative}.mo .ui-spinner input[type=number]{-moz-appearance:textfield}.mo .ui-spinner input[type=number]::-webkit-outer-spin-button,.mo .ui-spinner input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mo .ui-spinner input[type=number]::-ms-clear{width:0;height:0}.mo .ui-spinner .ui-spinner-input{margin:0;margin-right:2em;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .ui-spinner .ui-spinner-button{width:2.5em;height:50%;min-height:inherit;padding:0;margin:0;position:absolute;right:0;line-height:1em;cursor:pointer}.mo .ui-spinner .ui-spinner-button .ui-icon{display:none}.mo .ui-spinner .ui-spinner-up{top:0;border-bottom:none;border-radius:0 2px 0 0}.mo .ui-spinner .ui-spinner-up .ui-button-text:after{font-family:FontAwesome;font-weight:400;content:"\f0d8"}.mo .ui-spinner .ui-spinner-down{bottom:0;border-top:none;border-radius:0 0 2px}.mo .ui-spinner .ui-spinner-down .ui-button-text:after{font-family:FontAwesome;font-weight:400;content:"\f0d7"}.mo .ui-icon{font-family:FontAwesome;background:none repeat scroll 0 0 transparent;text-indent:0;width:auto;height:auto;min-width:16px;vertical-align:middle;margin-top:0;margin-right:.5em}.mo .ui-icon-closethick:before{content:"\f00d"}.mo .ui-draggable .ui-dialog-titlebar{cursor:move}.mo .ui-draggable-handle,.mo .ui-sortable-handle{-ms-touch-action:none;touch-action:none}.mo *,.mo :before,.mo :after{margin:0;padding:0;box-sizing:border-box}.mo .ui-icon{overflow:visible}.mo .fa{display:inline-block;font-style:normal}.mo .buttons{text-align:center;padding-top:3px}.mo .propInput input[type=text],.mo .propInput input[type=number],.mo .propInput input[type=url],.mo .propInput select{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;box-shadow:none;margin:0}.mo .propInput input[type=text]:focus,.mo .propInput input[type=number]:focus,.mo .propInput input[type=url]:focus,.mo .propInput select:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput input[type=text].inline,.mo .propInput input[type=number].inline,.mo .propInput input[type=url].inline,.mo .propInput select.inline{margin-right:.5em;width:auto}.mo .propInput input[type=text].invalid,.mo .propInput input[type=number].invalid,.mo .propInput input[type=url].invalid,.mo .propInput select.invalid,.mo .propInput input[type=text].error,.mo .propInput input[type=number].error,.mo .propInput input[type=url].error,.mo .propInput select.error{border:2px solid #9c010f}.mo .propInput .data-select{display:block}@media(-ms-high-contrast:active),(-ms-high-contrast:none),not screen\0{.mo .propInput .data-select{position:relative}.mo .propInput .data-select select{-webkit-appearance:none;-moz-appearance:none;padding-right:30px;font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .data-select select::-ms-expand{display:none}.mo .propInput .data-select:after{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;margin:0;position:absolute;top:0;right:0;bottom:0;line-height:30px;width:28px;margin-right:0;border-top-left-radius:0;border-bottom-left-radius:0;font-family:FontAwesome;content:"\f0d7";font-weight:400;pointer-events:none}li .mo .propInput .data-select:after{color:#eee}.mo .propInput .data-select:after img{vertical-align:middle;margin:0 .2em}.mo .propInput .data-select:after:hover,.mo .propInput .data-select:after.pressed,.mo .propInput .data-select:after.selected{text-decoration:none;background-color:#ee3900}.mo .propInput .data-select:after.disabled{color:#ffa588}.mo .propInput .data-select:after.disabled a,.mo .propInput .data-select:after.disabled .link{color:#ffa588}.mo .propInput .data-select:after.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .propInput .data-select:after.inline{margin:0 7px 0 0}.mo .propInput .data-select:after.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo .propInput .data-select:after.primary:hover{background-color:#ee3900;border-color:#ee3900}.mo .propInput .data-select:after.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo .propInput .data-select:after.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .propInput .data-select:after.with_button_dropdown_split{padding-right:1.2em}.mo .propInput .data-select:after.with_button_dropdown_split.big{padding-right:1.8em}.mo .propInput .data-select:after.loading{opacity:.5;background-image:none}}.mo .propInput .ui-textbutton{width:100%;display:inline-table;table-layout:fixed;margin-right:0;vertical-align:middle}.mo .propInput .ui-textbutton .ui-textbutton-input.withButton{display:table-cell;margin:0;margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.mo .propInput .ui-textbutton .ui-textbutton-button{display:table-cell;margin-right:0;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.mo .propInput .ui-textbutton .ui-textbutton-button .ui-button-text{line-height:0}.mo .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;width:1.6em}.mo .propEditor{display:table;width:100%}.mo .propLabel{padding:8px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:45%;float:left;text-align:right}.mo .propLabel[title]:before{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block;float:right;position:initial;color:#636363;content:"\f059";font-size:80%;line-height:1.5em;margin-left:.5em}.mo .propInput{width:55%;float:left}.mo .propInput input,.mo .propInput select{width:100%}.mo .notnull.propEditor.checkboxes .propInput{width:50%}.mo .propCheck{width:5%;float:left;padding:5px;display:none}.mo .notnull .propCheck{display:block}.mo .propLabel:after,.mo .propInput:after,.mo .objEdit:after{content:"";display:table}.mo .objEdit{display:block;width:100%}.mo .objEdit.level1{background-color:#eee;padding:2px}.mo .label.notused{display:none;font-size:50%;color:gray}.mo .label.notused:before{content:"[[["}.mo .label.notused:after{content:"]]]"}.mo .objLabel.level2{color:rgba(255,255,255,.7);float:left;position:absolute;display:none}.mo .objLabel.level3{color:rgba(255,255,255,.4);float:left;position:absolute;top:1em;display:none}.mo .objEdit.level1{padding-top:4px;padding-bottom:2px;margin-bottom:3px}.mo .objLabel.level1{color:black;display:block}.mo #toolstyles .objLabel.level1,.mo #tooltheme .objLabel.level1{padding-left:60px}.mo .objLabel{text-transform:uppercase;border-bottom:3px solid #900000;color:#303030;display:block;margin:-4px -2px 6px;padding:5px;border-radius:6px 6px 0 0}.mo .objEdit.level0{padding:0 1px;margin-top:12px}.mo .objLabel.level0{display:block;color:#303030;background-color:#eee;font-weight:700;font-size:90%;border-bottom:3px solid #303030;border-radius:0;padding:3px 10px;margin:0 -7px 8px}.mo .supportsCustomStyles .objLabel.level0{margin-right:70px}.mo .objEdit.level-1{padding:0 15px;overflow:auto;height:95%;background-color:#eee;border-radius:6px}.mo .objEdit{position:relative}.mo .objEdit.level1{margin-top:15px}.mo .objPreview{width:50px;height:50px;border-radius:100%;position:absolute;overflow:hidden;border:2px solid #900000;top:-11px;left:5px}.mo .objPreview>div{position:absolute;bottom:20%;left:20%}.mo .propEditor{padding:2px}.mo .objEdit .propEditor{padding:2px 0;border:0}.mo .propEditor.notnull{font-weight:700}.mo .propEditor.notnull input,.mo .propEditor.notnull select{font-weight:700}.mo .propEditor.notnull input[type=checkbox]{font-weight:400}.mo .propInput{position:relative}.mo .propInput .colorPicker{padding-right:30px}.mo .propInput .data-color input[type=text]{font-size:90%;font-family:monospace;width:5.5em;margin:0;margin-left:85px;background-color:transparent;border-color:rgba(0,0,0,.2);box-shadow:none;border-style:dashed}.mo .propInput .data-color input[type=text]:hover,.mo .propInput .data-color input[type=text]:focus{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;box-shadow:none;font-size:90%;font-family:monospace;width:5.5em;margin:0;margin-left:85px}.mo .propInput .data-color input[type=text]:hover:focus,.mo .propInput .data-color input[type=text]:focus:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput .data-color input[type=text]:hover.inline,.mo .propInput .data-color input[type=text]:focus.inline{margin-right:.5em;width:auto}.mo .propInput .evo-pointer{position:absolute;font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;box-shadow:none;margin:0;z-index:5;left:0;top:0;width:80px;height:30px;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .evo-pointer:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput .evo-pointer.inline{margin-right:.5em;width:auto}.mo .propInput .evo-pointer:before{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;font-family:FontAwesome;content:"\f0d7";font-weight:400;border-left:1px solid rgba(0,0,0,.5)!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;position:absolute;top:-1px;right:-1px;bottom:-1px;line-height:30px;width:28px;padding:0 8px;margin:0}li .mo .propInput .evo-pointer:before{color:#eee}.mo .propInput .evo-pointer:before img{vertical-align:middle;margin:0 .2em}.mo .propInput .evo-pointer:before:hover,.mo .propInput .evo-pointer:before.pressed,.mo .propInput .evo-pointer:before.selected{text-decoration:none;background-color:#ee3900}.mo .propInput .evo-pointer:before.disabled{color:#ffa588}.mo .propInput .evo-pointer:before.disabled a,.mo .propInput .evo-pointer:before.disabled .link{color:#ffa588}.mo .propInput .evo-pointer:before.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .propInput .evo-pointer:before.inline{margin:0 7px 0 0}.mo .propInput .evo-pointer:before.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo .propInput .evo-pointer:before.primary:hover{background-color:#ee3900;border-color:#ee3900}.mo .propInput .evo-pointer:before.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo .propInput .evo-pointer:before.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .propInput .evo-pointer:before.with_button_dropdown_split{padding-right:1.2em}.mo .propInput .evo-pointer:before.with_button_dropdown_split.big{padding-right:1.8em}.mo .propInput .evo-pointer:before.loading{opacity:.5;background-image:none}.mo .objEdit input[type=checkbox]{display:none}.mo .objEdit input[type=checkbox]+.checkbox-replacer{width:1.28571429em;display:block;text-align:center}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block}.mo .objEdit input[type=checkbox]:checked+.checkbox-replacer:before{content:'\f205'}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{font-size:150%;text-align:center;content:'\f204'}.mo .propCheck input[type=checkbox]:checked+.checkbox-replacer:before{content:"\f041";content:"\f1b2";font-size:14px;opacity:1}.mo .propCheck input[type=checkbox]+.checkbox-replacer:before{content:'\f0ac';content:"\f1b3";font-size:14px;opacity:.8}.mo .propInput .ui-spinner{width:100%;margin:0}.mo .propInput .ui-spinner .ui-spinner-input{border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .ui-spinner .ui-state-default .ui-icon.fa,.mo .propInput .ui-spinner .ui-widget-content .ui-icon.fa{background-image:none;font-size:10px;top:9px}.mo .propLabel[title]{text-decoration:underline;cursor:help}.mo .noSelectedBlock,.mo .customStyleHelp,.mo .objEmpty,.mo .galleryEmpty,.mo .blockDescription{padding:1em;margin-bottom:.5em;background-color:#ddd;border-radius:2.8px;box-shadow:none;color:#4f4f4f}.mo .customStyleHelp,.mo .objEmpty{margin-bottom:1em}.mo .evo-pop{right:0;width:auto;border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;padding:0;overflow:hidden;border-width:0;padding:3px}.mo .evo-pop .evo-palette td{padding:12px;border:none}.mo .evo-pop .evo-palette th,.mo .evo-pop .evo-palette-ie th,.mo .evo-pop .evo-palette2 th{border:none}.mo .evo-pop .evo-palette,.mo .evo-pop .evo-palette-ie,.mo .evo-pop .evo-palette2{border-spacing:0;margin:0 auto;width:auto;border:none}.mo .evo-pop .evo-palette2 td{padding:8px 9px}.mo .evo-pop .evo-cHist div{padding:12px;margin:2px}.mo .evo-pop .evo-color div{padding:12px;margin:2px;border-color:silver}.mo .evo-pop .evo-color{width:120px;padding:1px 3px 2px 4px}.mo .evo-pop .evo-color span{font-size:17px;margin:5px 0 4px 4px}.mo .evo-pop .evo-more{padding:4px 5px}.mo .evo-pop .evo-more a{margin-right:1em}#toolbar{padding:5px 10px}#toolbar .button,#toolbar .ui-button,#toolbar .button_dropdown_split{margin-top:0;margin-bottom:0}#toolbar ul.top_right_links{float:right}#toolbar ul.top_right_links .dropdown{margin:.2em 0 0}@media(max-width:1460px){#toolbar label[for=previewFrameToggle]{display:none}#toolbar .ui-button[for=showGallery] .ui-icon{margin-right:0}#toolbar .ui-button[for=showGallery] .ui-button-text{display:none}}#toolbar .leftButtons{float:left}#toolbar .rightButtons{float:right}#toolbar #downloadForm{display:inline-block}#main-toolbox>div,#main-toolbox>div>div{height:100%;overflow:hidden}#main-toolbox #tooltabs.ui-tabs{overflow:hidden}#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel{top:40px;overflow-y:auto;overflow-x:hidden;z-index:100}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav{font-size:1.2em;padding:0 0 0 4px}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li{margin:4px 4px 0 0;line-height:37px}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li a{width:100%;padding:0 .5em}#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel{margin:0;padding:.7em;position:absolute;bottom:0;left:0;right:0;z-index:100;background-color:#eee}#main-toolbox .draggable-item{display:inline-block}#main-toolbox .draggable{width:100px;height:100px;overflow:hidden;border:2px solid black;z-index:100;display:inline-block}#main-toolbox .draggable-item .block .handle{cursor:move;z-index:120;position:absolute;top:0;bottom:0;left:20px;right:20px}#main-toolbox .draggable-item{position:relative}#main-toolbox .draggable-item .addblockbutton{z-index:1000;position:absolute;bottom:10px;right:5px;display:none}#main-toolbox .draggable-item .image,#main-toolbox .draggable-item .block img{box-shadow:0 0 1px gray;margin:3px 0}#main-toolbox .draggable-item:hover{transform:scale(1.05,1.05);z-index:10;position:relative}#main-toolbox .draggable-item:hover .addblockbutton{display:block}#main-toolbox .draggable-item:hover .image{box-shadow:0 0 15px gray}#main-toolbox .draggable-item:hover .block img{box-shadow:0 0 15px gray}#main-toolbox .blockType{display:none}#main-toolbox .block-list{max-width:346px}#main-toolbox .block-list .draggable-item,#main-toolbox .block-list .draggable-item img{width:100%}#main-toolbox .objEdit.level1.selectable{position:relative}#main-toolbox .objEdit.level1.selectable:after{content:"";visibility:hidden;position:absolute;z-index:-1;top:-3px;bottom:-3px;left:-7px;right:-7px;border-width:0;border-style:solid;border-color:currentcolor;outline-color:currentcolor}#main-toolbox .objEdit.level1.selectable.selecteditem:after{display:block;visibility:visible;border:0 dashed #ff5722;border-left-width:5px;border-right-width:5px;border-style:dashed solid;animation:border-color-selection-pulsate 4s infinite}#main-toolbox .objEdit.level1.selectable:hover:after{display:block;visibility:visible;outline-width:1px;outline-style:solid;border-top-width:0;border-bottom-width:0}#main-toolbox .objEdit.level1.selectable:hover,#main-toolbox .objEdit.level1.selectable.selecteditem{position:relative}#main-toolbox .objEdit.level1.selectable.selecteditem{z-index:10}#main-toolbox .objEdit.level1.selectable:hover{z-index:11}#main-toolbox .blockCheck{float:right;margin-top:-34px}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer{width:56px}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after{padding:1px;display:block;float:left;font-size:14px;line-height:18px;width:22px;opacity:1;height:18px;top:0;left:0;box-sizing:content-box}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after{content:"\f1b2"}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{content:"\f1b3"}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;box-shadow:none;width:22px;font-weight:400;min-height:18px;line-height:18px;color:rgba(48,48,48,.5);padding:2px;margin:-1px -2px;z-index:0}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after:focus,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after.inline,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before.inline{margin-right:.5em;width:auto}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{padding-left:4px;padding-right:2px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{padding-left:2px;padding-right:4px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;font-weight:400;min-height:18px;line-height:18px;padding:4px;margin:-3px -2px;opacity:1;z-index:1}li #main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,li #main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{color:#eee}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after img,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before img{vertical-align:middle;margin:0 .2em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before:hover,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.pressed,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.pressed,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.selected,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.selected{text-decoration:none;background-color:#ee3900}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled{color:#ffa588}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled a,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled a,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled .link,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled .link{color:#ffa588}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.inline,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.inline{margin:0 7px 0 0}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary:hover{background-color:#ee3900;border-color:#ee3900}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.big,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.big .suffix_icon,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.big .suffix_icon{font-size:55%;vertical-align:middle}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.with_button_dropdown_split,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.with_button_dropdown_split{padding-right:1.2em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.with_button_dropdown_split.big,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.with_button_dropdown_split.big{padding-right:1.8em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.loading,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.loading{opacity:.5;background-image:none}#main-toolbox .workLocal .propInput.global,#main-toolbox .workLocal .propInput.global *{display:none}#main-toolbox .workGlobal .propInput.local.default,#main-toolbox .workGlobal .propInput.local.default *{display:none}#main-toolbox .workGlobal .propInput.global.overridden,#main-toolbox .workGlobal .propInput.global.overridden *{display:none}#main-toolbox .workGlobalContent .propInput.local,#main-toolbox .workGlobalContent .propInput.local *{display:none}#main-toolbox .workGlobalContent .blockCheck{display:none}#main-toolbox .workGlobalContent .objLabel.level0{margin-right:0}#main-toolbox .customStyled span{display:none}#main-toolbox .customStyled:before{content:" "}#main-toolbox .customStyled:after{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block;content:"\f1b2";font-size:14px;opacity:1}#main-toolbox #tooldebug{overflow:auto}.mo-standalone #main-toolbox #tooltabs.ui-tabs>.ui-tabs-nav{padding-left:40px}#toolimagesgallery{padding:10px}@keyframes slideright{0%{left:-450px}100%{left:0}}@keyframes slideleft{0%{left:0}100%{left:-450px}}#toolimages .pane{text-align:center}#toolimages .loadbutton,#toolimages .galleryPager{margin:.5em}.slidebar{z-index:200;position:absolute;top:0;width:397px;left:0;animation:slideright .2s ease-out 0s 1;border-radius:0;background-color:#eee;box-shadow:1px 0 3px gray}.slidebar .close{float:right;visibility:hidden;cursor:pointer;width:24px;display:block}.slidebar .close:before{visibility:visible;font-size:24px;font-family:FontAwesome;content:'\f00d';position:relative;top:0;right:0;width:24px;height:24px}.slidebar .pane{background-color:#eee;border-radius:5px;margin:5px;padding:5px}.slidebar .pane-title{padding:5px;display:block}.slidebar.hidden{left:-450px;animation:slideleft .2s ease-out 0s 1}#toolimagestab{padding:.2em}#toolimagestab ul.ui-tabs-nav{padding:0}#toolimagestab li.ui-state-active a{background:none repeat scroll 0 0 #FFF}#toolimagestab .ui-tabs-panel{display:block;margin-top:0;padding:15px 18px;background:none repeat scroll 0 0 #FFF;border:1px solid #900000;border-width:0 1px 1px}#main-preview .button,#main-preview .ui-button,#main-preview .button_dropdown_split{margin-top:0;margin-bottom:0}#main-preview #preview-toolbar{padding:3px 10px;text-align:center;position:absolute;bottom:0;right:0;left:0;z-index:200}#main-preview #frame-container{position:absolute;top:40px;bottom:40px;left:0;right:0;background-color:#eee;box-shadow:inset 0 0 10px gray}#frame-container>iframe{border:0;box-sizing:border-box;padding:0 6px;width:100%;height:100%;overflow:auto;transform-origin:0 0;transform:scale(1)}#frame-container.desktop>iframe{padding:12px;width:200%;height:200%;transform:scale(.5)}#frame-container.large>iframe{padding:15px;width:250%;height:250%;transform:scale(.4)}@media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0){@media{#main-wysiwyg-area table:not(.img-wysiwyg),#main-wysiwyg-area .selected table:not(.img-wysiwyg):hover{position:relative}#main-wysiwyg-area table:not(.img-wysiwyg):hover,#main-wysiwyg-area .selected table:not(.img-wysiwyg){position:static}}}#main-edit-area .editable{position:relative}#main-edit-area .sortable-blocks-edit.empty{min-height:200px;height:200px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;margin:20px 30px;border:2px dashed currentcolor;border-radius:20px;animation:border-color-selection-pulsate 4s infinite;position:relative}#main-edit-area .sortable-blocks-edit.empty:after{content:attr(data-empty-content);font-size:21.76px;font-weight:400;text-decoration:none;font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif}#main-edit-area .isdragging .sortable-blocks-edit.empty:after{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(255,87,34,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #ff5722;z-index:10;pointer-events:none;height:auto;bottom:-14px}@keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@keyframes slidein{0%{transform:scale(1.5,1.5);opacity:0}100%{transform:scale(1,1);opacity:1}}@keyframes slidein2{0%{margin-left:-30%;margin-right:30%;opacity:0}100%{margin-left:0;margin-right:0;opacity:1}}#main-edit-area .sortable-placeholder{animation:slidein .2s linear 0s 1}#main-edit-area .sortable-placeholder:after{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border:10px solid red;border-color:rgba(255,0,0,.1) red;z-index:50;opacity:.8}#main-edit-area .img-wysiwyg{position:relative;display:block;width:auto}#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg:before{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(255,87,34,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #ff5722;z-index:10;pointer-events:none;line-height:45px;height:auto;top:-10px;bottom:-10px}#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg.ui-state-draghover:before{background-color:rgba(255,87,34,.8);animation:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mo-blockselectionhelper{content:"";visibility:hidden;position:absolute;z-index:-1;top:-3px;bottom:-3px;left:-12px;right:-12px;border-width:0;border-style:solid;border-color:currentcolor;outline-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper{display:block;visibility:visible;border:0 dashed #ff5722;border-left-width:10px;border-right-width:10px;border-style:dashed solid;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper{display:block;visibility:visible;outline-width:1px;outline-style:solid;border-top-width:0;border-bottom-width:0}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover{z-index:11}#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder)+div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):before,#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):first-child:before,#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(255,87,34,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #ff5722;z-index:10;pointer-events:none}#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after{bottom:-20px;top:auto}#main-edit-area .editable.sortable-placeholder:hover .tools{visibility:hidden}#main-edit-area .editable:hover .tools{visibility:visible}#main-edit-area .ui-sortable-helper>*,#main-edit-area .ui-sortable-helper .tools>*{opacity:.3}#main-edit-area .ui-sortable-helper .tools,#main-edit-area .ui-sortable-helper .tools .handle{opacity:1}#main-edit-area .tool{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;font-weight:700;text-transform:uppercase;display:inline-block;text-align:center;width:25px;height:25px;font-size:20px;padding:3px;padding-bottom:2px;margin:0;min-height:auto;box-shadow:0 0 5px #77deff;cursor:pointer}li #main-edit-area .tool{color:#eee}#main-edit-area .tool img{vertical-align:middle;margin:0 .2em}#main-edit-area .tool:hover,#main-edit-area .tool.pressed,#main-edit-area .tool.selected{text-decoration:none;background-color:#ee3900}#main-edit-area .tool.disabled{color:#ffa588}#main-edit-area .tool.disabled a,#main-edit-area .tool.disabled .link{color:#ffa588}#main-edit-area .tool.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}#main-edit-area .tool.inline{margin:0 7px 0 0}#main-edit-area .tool.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}#main-edit-area .tool.primary:hover{background-color:#ee3900;border-color:#ee3900}#main-edit-area .tool.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}#main-edit-area .tool.big .suffix_icon{font-size:55%;vertical-align:middle}#main-edit-area .tool.with_button_dropdown_split{padding-right:1.2em}#main-edit-area .tool.with_button_dropdown_split.big{padding-right:1.8em}#main-edit-area .tool.loading{opacity:.5;background-image:none}#main-edit-area .tool input.fileupload{padding-top:50px}#main-edit-area .tool:hover{background-color:#ee3900}#main-edit-area .tools .tool.handle{float:left;margin-left:16px;cursor:move}#main-edit-area .tools .tool.moveup,#main-edit-area .tools .tool.movedown{float:left;margin-left:3px}#main-edit-area .tools .tool.delete,#main-edit-area .tools .tool.clone{float:right;margin-left:3px}#main-edit-area .tools .tool.delete{margin-right:16px}#main-edit-area .midtools{visibility:hidden;z-index:30;position:absolute;bottom:16px;width:100%;text-align:left}#main-edit-area .img-wysiwyg:hover .midtools{visibility:visible}#main-edit-area .uploading .midtools{visibility:hidden!important}#main-edit-area .uploading .fileuploadtext{visibility:hidden!important}#main-edit-area .uploading .fileupload.withfile{visibility:hidden}#main-edit-area .img-wysiwyg .img-size{visibility:hidden;position:absolute;top:0;right:0;padding:2px;font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:12px;background-color:rgba(128,128,128,.5);color:white}#main-edit-area .img-wysiwyg:hover .img-size{visibility:visible}#main-edit-area .midtools .tool{z-index:20;margin-left:8px}#main-edit-area .tools{position:absolute;visibility:hidden;margin:0;top:-16px;left:0;right:0;height:1px;z-index:20;text-align:center}#main-wysiwyg-area{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:white}#main-edit-area,#main-toolbox,#main-preview{position:absolute;top:0;bottom:0}#main-wysiwyg-area a[href]{cursor:default!important}#main-wysiwyg-area a[contenteditable]{cursor:text!important}#main-wysiwyg-area span[contenteditable]:empty,#main-wysiwyg-area a[contenteditable]:empty{display:inline-block;min-width:50px}#main-wysiwyg-area div[contenteditable],#main-wysiwyg-area p[contenteditable],#main-wysiwyg-area td[contenteditable]{min-width:50px}#main-edit-area .mce-edit-focus{outline:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after{content:"";visibility:hidden;position:absolute;z-index:-1;top:-3px;bottom:-3px;left:-7px;right:-7px;border-width:0;border-style:solid;border-color:currentcolor;outline-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after{display:block;visibility:visible;border:1px dashed #ff5722;border-left-width:5px;border-right-width:5px;border-style:dashed solid;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after{display:block;visibility:visible;outline-width:1px;outline-style:solid;border-top-width:0;border-bottom-width:0}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover{z-index:11}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img .mo-imgselectionhelper{content:"";visibility:hidden;position:absolute;z-index:-1;top:-3px;bottom:-3px;left:-7px;right:-7px;border-width:0;border-style:solid;border-color:currentcolor;outline-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper{display:block;visibility:visible;border:1px dashed #ff5722;border-left-width:5px;border-right-width:5px;border-style:dashed solid;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper{display:block;visibility:visible;outline-width:1px;outline-style:solid;border-top-width:0;border-bottom-width:0}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover{z-index:11}#main-edit-area .textMiddle{text-shadow:none!important;font-weight:700;background-color:rgba(255,255,255,.2);padding:3px;position:absolute;top:2px;left:2px;right:2px}#main-wysiwyg-area replacedbody{position:relative;display:block;min-height:100%;max-width:700px;margin:0 auto!important;padding:16px 20px!important}@media(min-width:1400px){#main-wysiwyg-area replacedbody{max-width:800px}}@media(min-width:1600px){#main-wysiwyg-area replacedbody{max-width:900px}}@media(max-width:1700px){.withPreviewFrame #main-wysiwyg-area replacedbody{max-width:700px}}@media(min-width:1700px){.withPreviewFrame #main-wysiwyg-area replacedbody{max-width:800px}}@media(max-width:1400px){.withPreviewFrame #main-wysiwyg-area replacedbody:before,.withPreviewFrame #main-wysiwyg-area replacedbody:after{display:none}}@media(min-width:1100px){#main-wysiwyg-area replacedbody:before,#main-wysiwyg-area replacedbody:after{content:"";display:block;position:absolute;top:0;left:0;width:40px;bottom:0;background:linear-gradient(90deg,rgba(255,255,255,0) 19%,white 21%,white 79%,rgba(255,255,255,0) 81%),linear-gradient(135deg,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 28%,white 28%,white 72%,rgba(255,255,255,0) 72%,rgba(255,255,255,0) 75%),linear-gradient(-135deg,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 28%,white 28%,white 72%,rgba(255,255,255,0) 72%,rgba(255,255,255,0) 75%),linear-gradient(135deg,rgba(255,255,255,0) 25%,#CCC 25%,white 28%,white 72%,#CCC 75%,rgba(255,255,255,0) 75%),linear-gradient(-135deg,rgba(255,255,255,0) 25%,#CCC 25%,white 28%,white 72%,#CCC 75%,rgba(255,255,255,0) 75%);background-size:80px 20px;background-position:left -40px top 0;z-index:1}#main-wysiwyg-area replacedbody:after{left:auto;right:0;background-position:left 0 top 0}}.mce-toolbar-grp.mce-panel .mce-btn-group{box-shadow:0 0 5px #77deff}.moxman-window,.mce-window{border:none;border-top-left-radius:2.8px;border-top-right-radius:2.8px;border-color:rgba(114,114,114,0);box-shadow:0 2px 20px #727272;overflow:hidden}.moxman-window .moxman-window-head,.mce-window .moxman-window-head,.moxman-window .mce-window-head,.mce-window .mce-window-head{background:none #900000;font-size:1.1em}.moxman-window .moxman-window-head .moxman-title,.mce-window .moxman-window-head .moxman-title,.moxman-window .mce-window-head .moxman-title,.mce-window .mce-window-head .moxman-title,.moxman-window .moxman-window-head .mce-title,.mce-window .moxman-window-head .mce-title,.moxman-window .mce-window-head .mce-title,.mce-window .mce-window-head .mce-title{color:#303030}.moxman-window .moxman-window-head button.moxman-close,.mce-window .moxman-window-head button.moxman-close,.moxman-window .mce-window-head button.moxman-close,.mce-window .mce-window-head button.moxman-close,.moxman-window .moxman-window-head button.mce-close,.mce-window .moxman-window-head button.mce-close,.moxman-window .mce-window-head button.mce-close,.mce-window .mce-window-head button.mce-close{color:#eee;font-size:1.6em;top:6px}.moxman-window .moxman-window-head button.moxman-close:hover,.mce-window .moxman-window-head button.moxman-close:hover,.moxman-window .mce-window-head button.moxman-close:hover,.mce-window .mce-window-head button.moxman-close:hover,.moxman-window .moxman-window-head button.mce-close:hover,.mce-window .moxman-window-head button.mce-close:hover,.moxman-window .mce-window-head button.mce-close:hover,.mce-window .mce-window-head button.mce-close:hover{color:#303030}.moxman-window .moxman-panel,.mce-window .moxman-panel,.moxman-window .mce-panel,.mce-window .mce-panel{background-color:#eee}.moxman-window .moxman-container-body .moxman-panel.moxman-first,.mce-window .moxman-container-body .moxman-panel.moxman-first,.moxman-window .mce-container-body .moxman-panel.moxman-first,.mce-window .mce-container-body .moxman-panel.moxman-first,.moxman-window .moxman-container-body .mce-panel.mce-first,.mce-window .moxman-container-body .mce-panel.mce-first,.moxman-window .mce-container-body .mce-panel.mce-first,.mce-window .mce-container-body .mce-panel.mce-first{border-bottom:none}.moxman-window div.moxman-filelist-head,.mce-window div.moxman-filelist-head{background-color:#eee;border-bottom:none}.moxman-window .moxman-filelist,.mce-window .moxman-filelist{border-top:2px solid #d5d5d5}.moxman-window .moxman-filelist .moxman-filelist-row td,.mce-window .moxman-filelist .moxman-filelist-row td{background-color:#d2a7a7;border-bottom:none}.moxman-window .moxman-filelist .moxman-filelist-odd td,.mce-window .moxman-filelist .moxman-filelist-odd td{background-color:#eee}.moxman-window .moxman-filelist tr.moxman-checked,.mce-window .moxman-filelist tr.moxman-checked,.moxman-window .moxman-filelist tr.moxman-checked td,.mce-window .moxman-filelist tr.moxman-checked td{background-color:#ffff90;color:#303030}.moxman-window .moxman-filelist tr.moxman-checked div .moxman-txt,.mce-window .moxman-filelist tr.moxman-checked div .moxman-txt,.moxman-window .moxman-filelist tr.moxman-checked td div .moxman-txt,.mce-window .moxman-filelist tr.moxman-checked td div .moxman-txt,.moxman-window .moxman-filelist tr.moxman-checked i.moxman-ico,.mce-window .moxman-filelist tr.moxman-checked i.moxman-ico,.moxman-window .moxman-filelist tr.moxman-checked td i.moxman-ico,.mce-window .moxman-filelist tr.moxman-checked td i.moxman-ico{color:#303030}.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-down,.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-down{border-top-color:#303030}.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-up,.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-up{border-bottom-color:#303030}.moxman-window .moxman-thumbnailview,.mce-window .moxman-thumbnailview{border-top:2px solid #d5d5d5}.moxman-window .moxman-thumbnailview .moxman-thumb,.mce-window .moxman-thumbnailview .moxman-thumb{border:1px solid #d2a7a7}.moxman-window .moxman-thumbnailview .moxman-thumb:hover,.mce-window .moxman-thumbnailview .moxman-thumb:hover,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked{outline:2px solid #ffff90}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info{background-color:#d2a7a7;color:#303030}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox{background-color:#eee;color:#303030;border:1px solid #303030}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before{color:#303030}.moxman-window i.moxman-i-checkbox,.mce-window i.moxman-i-checkbox,.moxman-window i.mce-i-checkbox,.mce-window i.mce-i-checkbox{background-color:transparent}.moxman-window .mce-listbox,.mce-window .mce-listbox,.moxman-window .mce-listbox:hover,.mce-window .mce-listbox:hover,.moxman-window .mce-listbox.mce-active,.mce-window .mce-listbox.mce-active,.moxman-window .mce-listbox.mce-active:hover,.mce-window .mce-listbox.mce-active:hover,.moxman-window .mce-listbox:focus,.mce-window .mce-listbox:focus{background-color:transparent;text-shadow:none;border:1px solid #c5c5c5}.moxman-window .mce-listbox span,.mce-window .mce-listbox span,.moxman-window .mce-listbox:hover span,.mce-window .mce-listbox:hover span,.moxman-window .mce-listbox.mce-active span,.mce-window .mce-listbox.mce-active span,.moxman-window .mce-listbox.mce-active:hover span,.mce-window .mce-listbox.mce-active:hover span,.moxman-window .mce-listbox:focus span,.mce-window .mce-listbox:focus span,.moxman-window .mce-listbox .mce-ico,.mce-window .mce-listbox .mce-ico,.moxman-window .mce-listbox:hover .mce-ico,.mce-window .mce-listbox:hover .mce-ico,.moxman-window .mce-listbox.mce-active .mce-ico,.mce-window .mce-listbox.mce-active .mce-ico,.moxman-window .mce-listbox.mce-active:hover .mce-ico,.mce-window .mce-listbox.mce-active:hover .mce-ico,.moxman-window .mce-listbox:focus .mce-ico,.mce-window .mce-listbox:focus .mce-ico{color:#303030}.moxman-window .mce-listbox i.mce-caret,.mce-window .mce-listbox i.mce-caret,.moxman-window .mce-listbox:hover i.mce-caret,.mce-window .mce-listbox:hover i.mce-caret,.moxman-window .mce-listbox.mce-active i.mce-caret,.mce-window .mce-listbox.mce-active i.mce-caret,.moxman-window .mce-listbox.mce-active:hover i.mce-caret,.mce-window .mce-listbox.mce-active:hover i.mce-caret,.moxman-window .mce-listbox:focus i.mce-caret,.mce-window .mce-listbox:focus i.mce-caret{border-top-color:#303030}.moxman-window .moxman-btn i,.mce-window .moxman-btn i,.moxman-window .mce-btn i,.mce-window .mce-btn i{text-shadow:none}.moxman-window input,.mce-window input,.moxman-window select,.mce-window select,.moxman-window textarea,.mce-window textarea,.moxman-window button,.mce-window button{max-width:none}.moxman-tooltip,.mce-tooltip{z-index:500000!important}.mce-toolbar-grp.mce-panel,.mce-tinymce-inline{background-color:transparent!important;border-color:transparent!important}.mce-menu,.moxman-menu{border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;padding:0;overflow:hidden}@keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#ff5722}60%{border-color:#ff5722}100%{border-color:currentcolor}}@keyframes droppable-pulsate{0%{opacity:1}100%{opacity:.1}}body{background-color:#900000;margin:0;overflow:hidden}input,select,textarea,button{font-family:inherit;font-size:inherit;max-width:100%}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable],[contenteditable] *,.evo-color span{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}a[disabledhref]{color:#06C;color:-webkit-link;text-decoration:underline;cursor:auto}a[disabledhref]:-moz-read-write{text-decoration:underline -moz-anchor-decoration;color:-moz-hyperlinktext}#page{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}#main-edit-area{left:0;right:0;overflow:hidden}#main-edit-area,#toolbar{min-width:600px}#toolbar{z-index:110!important;background-color:#900000;box-sizing:border-box;position:absolute;top:0;left:0;right:0;height:40px}#main-toolbox{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;left:0;width:400px;box-shadow:0 0 10px gray,0 0 5px gray}.withToolbox #main-toolbox{display:block}.withToolbox #main-edit-area,.withToolbox #toolbar{left:400px}#main-preview{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;right:0;width:340px;overflow:hidden}.withPreviewFrame #main-preview{display:block}.withPreviewFrame #main-edit-area{right:345px}#main-edit-area:before,#main-edit-area:after,#frame-container:before,#frame-container:after{content:"";display:block;position:absolute;border:0;height:40px;box-shadow:0 1px 10px gray,0 0 5px gray;left:0;right:0;top:0;z-index:100}#main-edit-area:after{top:auto;bottom:-40px}#frame-container:before{top:-40px}#frame-container:after{top:auto;bottom:-40px}#main-wysiwyg-area{position:absolute;top:40px;left:0;right:0;bottom:0;overflow-y:auto;-webkit-transform:translate3d(0,0,0)}#main-toolbox .draggable.image{width:85px;height:85px;text-align:center;vertical-align:middle;padding:5px;border:0;background-size:contain;background-repeat:no-repeat;background-position:center;background-origin:content-box}#main-toolbox .draggable.image img{opacity:0}.ui-draggable-dragging{z-index:10000}.ui-draggable-dragging.sortable-placeholder{top:0!important;left:0!important}.uploading .fileuploadtext{display:none}.fileuploadtext{top:0!important;left:0!important;right:0!important;bottom:0!important;color:#000}.uploadzone .fileuploadtext{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700}.isdragging .uploadzone .fileuploadtext,.isdraggingimg .uploadzone .fileuploadtext{display:none!important}.uploadzone .progress{display:none}.uploadzone.uploading .progress{display:block}.mo-uploadzone{position:absolute;z-index:15;top:0;left:0;bottom:0;right:0;display:block}.toast-bottom-full-width{margin-left:25%;margin-right:25%;width:50%!important}body>.ui-tooltip{border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;padding:0;overflow:hidden;font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-size:14px;border-width:0;padding:8px;position:absolute;z-index:9999;max-width:300px;box-shadow:0 0 5px #AAA}.ui-helper-hidden-accessible{border:0 none;clip:rect(1px,1px,1px,1px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}i.mce-i-newsletter-profile:before{content:'\e826';font-family:fontello}@keyframes loading{0%{transform:scale(1,1) rotate(0deg)}50%{transform:scale(1.5,1.5) rotate(360deg)}100%{transform:scale(1,1) rotate(720deg)}}.mo-standalone #loading.loading img{animation:loading 4s linear infinite}@keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}#loading.loading div{animation:broken 10s linear forwards;padding:1em;opacity:1}#carousel-dialog .carousel-buttons{position:absolute;right:5px;bottom:10px}#carousel-dialog .carousel-buttons .button{font-size:1.2em}#carousel-dialog .carousel-remember{font-size:1.2em;position:absolute;left:10px;bottom:17px}#carousel-dialog .carousel-remember input{vertical-align:middle;margin-right:.2em}#carousel-dialog .owl-carousel{height:550px}#carousel-dialog .owl-controls{position:absolute;left:0;right:0;bottom:7px}#carousel-dialog .owl-controls .owl-page.active span{background-color:#ff5722}#carousel-dialog .owl-controls .owl-page span{background-color:#900000}#carousel-dialog .carousel-help{margin-top:5px;font-size:1.2em}#carousel-dialog .carousel-help-text{line-height:1.5em}#carousel-dialog .carousel-help-text.large-width{width:80%;margin:0 auto}#carousel-dialog .carousel-help-text p{padding:.5em}#carousel-dialog .carousel-help .left{margin-right:20px}#carousel-dialog .carousel-help .top{margin-bottom:10px}#carousel-dialog .carousel-help-balloon{display:flex;display:-ms-flexbox;-ms-flex-align:center;align-items:center;-webkit-align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;overflow:auto;padding:0 .5em}#carousel-dialog .carousel-help-balloon>div{width:100%}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}.evo-pop{z-index:10000;width:204px;padding:3px 3px 0}.evo-pop-ie{z-index:10000;width:212px;padding:3px}.evo-palette td{font-size:1px;border:solid 1px silver;padding:7px;cursor:pointer}.evo-palette tr.top>td{border-bottom:0}.evo-palette tr.in>td{border-top:0;border-bottom:0}.evo-palette tr.bottom>td{border-top:0}.evo-palette div.sep{height:3px}.evo-palette,.evo-palette-ie{border-collapse:separate;border-spacing:4px 0}.evo-palette th,.evo-palette-ie th{border:0;padding:5px 3px;text-align:left;font-weight:400;background:transparent!important}.evo-palette-ie td{font-size:1px;border:solid 1px silver;padding:7px;cursor:pointer}.evo-palette2,.evo-palette2-ie{margin:auto;border-collapse:collapse}.evo-palette2 td,.evo-palette2-ie td{font-size:1px;cursor:pointer}.evo-palette2 td{padding:6px 7px}.evo-palette2-ie td{padding:5px}.evo-palcenter{padding:5px;text-align:center}.evo-colorind,.evo-colorind-ie,.evo-colorind-ff{border:solid 1px #c3c3c3;width:18px;height:18px;float:right}.evo-colorind-ie{position:relative;top:-23px}.evo-colorbox-ie{font-size:8px;padding:3px 9px!important}.evo-pop:after,.evo-pop-ie:after,.evo-colorind:after,.evo-colorind-ie:after,.evo-colorind-ff:after,.evo-color span:after,.evo-cHist:after{content:".";display:block;height:0;clear:both;visibility:hidden;font-size:0}.evo-color{width:94px;padding:1px 3px 0 4px}.evo-color div{border:solid 1px gray;border-right:solid 1px silver;border-bottom:solid 1px silver;padding:3px;margin-bottom:5px;width:10px;height:10px;float:left}.evo-color span{font-size:15px;margin:1px 0 4px 3px;float:left}.evo-sep{height:10px;font-size:0}.evo-more{padding:4px 5px;font-size:smaller}.evo-cHist{padding:3px}.evo-cHist div{cursor:pointer;border:solid 1px silver;padding:3px;margin:5px;width:10px;height:10px;float:left}.evo-transparent{background-image:repeating-linear-gradient(135deg,#000,#000 1px,#fff 1px,#fff 3px)}.evo-tr-box{cursor:pointer;border:solid 1px silver;padding:3px;width:7px;height:7px;float:right;position:relative;right:-3px;top:2px}a.evo-hist{margin-left:6px}.evo-pointer{cursor:pointer}.evo-hidden-button{display:none}#main-preview #preview-toolbar{padding:1px 5px}#toolbar{padding:1px 5px}#main-edit-area .tool{border-radius:100%;padding:4px;padding-bottom:2px;box-shadow:1px 1px 3px #727272}#toolbar .ui-button,#preview-toolbar .ui-button{padding-top:7px;padding-bottom:7px;line-height:22px;background-color:#900000}#toolbar .ui-button:hover,#preview-toolbar .ui-button:hover,#toolbar .ui-button.pressed,#preview-toolbar .ui-button.pressed{background-color:#c30000}#toolbar .ui-button.selected,#preview-toolbar .ui-button.selected,#toolbar .ui-button.ui-state-active,#preview-toolbar .ui-button.ui-state-active{border-bottom:2px solid #eee;border-top:0}#toolbar .ui-button.ui-button-disabled,#preview-toolbar .ui-button.ui-button-disabled,#toolbar .ui-button.ui-button-disabled .ui-icon,#preview-toolbar .ui-button.ui-button-disabled .ui-icon,#toolbar .ui-button.ui-button-disabled .ui-button-text,#preview-toolbar .ui-button.ui-button-disabled .ui-button-text{color:#bf7777}#main-toolbox #tooltabs.ui-tabs>.ui-tabs-nav{box-shadow:0 0 10px #727272;position:absolute;left:0;right:0;z-index:105}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav{font-size:1em}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li{margin:1px 1px 0 0;line-height:36px}.addblockbutton{box-shadow:1px 1px 3px #727272}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{border-radius:50%;box-shadow:1px 1px 2px #727272}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{border-radius:30px;background-color:#ffa588;color:#eee}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{padding-left:15px;margin-left:-15px;border-color:transparent}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{padding-right:15px;margin-right:-15px;border-color:transparent}#main-toolbox .objEdit .propInput input[type=checkbox]:checked+.checkbox-replacer:before{margin-left:20px;background-color:#ff5722}#main-toolbox .objEdit .propInput input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .objEdit .propInput input[type=checkbox]+.checkbox-replacer:before{content:" ";display:block;transition:margin-left .2s,background-color .2s}#main-toolbox .objEdit .propInput input[type=checkbox]+.checkbox-replacer:before{width:20px;height:20px;background-color:white;border-radius:50%;font-size:120%;box-shadow:1px 1px 3px #727272}#main-toolbox .objEdit .propInput input[type=checkbox]:checked+.checkbox-replacer:after{background-color:#ffa588}#main-toolbox .objEdit .propInput input[type=checkbox]+.checkbox-replacer:after{width:34px;height:14px;margin:-16px 2px 0;border-radius:7px;background-color:#7c7c7c}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{color:#ff5722}.mo .propInput .data-select select{border-top-right-radius:0;border-bottom-right-radius:0}.mo .propInput .data-select:after{background-color:transparent;color:#7c7c7c}.mo .propInput .evo-pointer:before{background-color:white;color:#7c7c7c}.mo .propInput .data-integer .ui-spinner-button .ui-button-text{background-color:transparent;color:#7c7c7c}.mo .propInput .data-select:hover:after,.mo .propInput .evo-pointer:hover:before,.mo .ui-button.ui-spinner-button.ui-state-hover,.mo .propInput .data-integer .ui-button-text,.mo .propInput .data-integer .ui-spinner-button:hover .ui-button-text{color:#ff5722}.mo .propInput .ui-spinner .ui-spinner-input{border-top-right-radius:0;border-bottom-right-radius:0}.mo .ui-button.ui-spinner-button{background-color:transparent}.mo .ui-button.ui-spinner-button .ui-button-text .ui-icon{color:#7c7c7c}#main-toolbox .objLabel.level1{font-weight:700;border-bottom-width:1px}.mo .objPreview{border-width:0;box-shadow:1px 1px 3px #727272}.mo .objLabel{border-bottom:0;font-weight:700;font-size:80%}.mo .objEdit.level1{border-top:2px solid #900000}#main-toolbox .objLabel.level1{font-size:1em;padding-top:.5em}.mo #toolstyles .objLabel.level1,.mo #tooltheme .objLabel.level1{padding-left:70px}.mo .objLabel.level0{border-bottom:none}.mo a:link,.mo a:visited{color:white}#main-toolbox .noSelectedBlock,#main-toolbox .customStyleHelp,#main-toolbox .objEmpty,#main-toolbox .galleryEmpty{font-size:1em}#main-toolbox .noSelectedBlock,#main-toolbox .customStyleHelp,#main-toolbox .objEmpty{margin-left:-15px;padding-left:25px;padding-right:25px;width:calc(100% + 40px)}.mo .objEdit.level1{background-color:white;box-shadow:1px 1px 3px #888;border-top:0;padding:6px;padding-top:.5em}.mo #toolstyles .objEdit.level1,.mo #tooltheme .objEdit.level1{border-top-left-radius:30px}.mo #toolstyles .objEdit.level1 .objLabel.level1,.mo #tooltheme .objEdit.level1 .objLabel.level1{padding-bottom:0;padding-top:1em}.mo .objPreview{border-width:0;box-shadow:inset 1px 1px 4px rgba(0,0,0,.3);top:4px;left:4px}.mo #toolstyles .objLabel.level1,.mo #tooltheme .objLabel.level1{padding-left:60px}.mo .propInput input[type=text],.mo .propInput input[type=number],.mo .propInput input[type=url],.mo .propInput select,.mo .propInput .data-select select,.mo .propInput .ui-spinner .ui-spinner-input{border-width:0 0 2px;background-color:transparent}.mo .propInput input[type=text]:hover,.mo .propInput input[type=number]:hover,.mo .propInput input[type=url]:hover,.mo .propInput select:hover,.mo .propInput .data-select select:hover,.mo .propInput .ui-spinner .ui-spinner-input:hover,.mo .propInput input[type=text]:focus,.mo .propInput input[type=number]:focus,.mo .propInput input[type=url]:focus,.mo .propInput select:focus,.mo .propInput .data-select select:focus,.mo .propInput .ui-spinner .ui-spinner-input:focus{border-color:#ff5722}.mo .propInput .data-color input[type=text]{margin-left:35px}.mo .propInput .data-color input[type=text]:hover,.mo .propInput .data-color input[type=text]:focus{margin-left:35px}.mo .propInput .evo-pointer{border-radius:50%;width:30px;border:0;box-shadow:1px 1px 3px #727272}.mo .propInput .evo-pointer:before{content:none;display:none}.mo .propInput .ui-textbutton .ui-textbutton-button{border-radius:50%;box-shadow:1px 1px 3px #727272} +/*# sourceMappingURL=mosaico-material.min.css.map */ \ No newline at end of file diff --git a/public/mosaico/dist/mosaico-material.min.css.map b/public/mosaico/dist/mosaico-material.min.css.map new file mode 100644 index 00000000..97ea5912 --- /dev/null +++ b/public/mosaico/dist/mosaico-material.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../build/mosaico-material.css","../bower_components/font-awesome/less/path.less","../bower_components/font-awesome/less/core.less","../bower_components/font-awesome/less/larger.less","../bower_components/font-awesome/less/fixed-width.less","../bower_components/font-awesome/less/list.less","../bower_components/font-awesome/less/bordered-pulled.less","../bower_components/font-awesome/less/animated.less","../bower_components/font-awesome/less/rotated-flipped.less","../bower_components/font-awesome/less/mixins.less","../bower_components/font-awesome/less/stacked.less","../bower_components/font-awesome/less/icons.less","../bower_components/font-awesome/less/screen-reader.less","../src/css/style_mosaico_tools.less","../src/css/style_mosaico.less","../src/css/style_elements.less","../src/css/style_elements_mixins.less","../src/css/app_standalone_material.less","../src/css/style_elements_jquery.less","../src/css/safarihack.css","../src/css/style_mosaico_content.less","../src/css/style_elements_moxie.less","../bower_components/toastr/toastr.css","../bower_components/evol-colorpicker/css/evol.colorpicker.css"],"names":[],"mappings":"AAAA;;;GAGG,ACAH,WACE,wBAAA,AACA,kDAAA,AACA,kWAAA,CDMD,AETD,IACE,qBAAA,AACA,6CAAA,AACA,kBAAA,AACA,oBAAA,AACA,mCAAA,AACA,iCAAA,CFWD,AGhBD,OACE,uBAAA,AACA,kBAAA,AACA,mBAAA,CHmBD,AGjBD,OAAuB,aAAA,CHoBtB,AGnBD,OAAuB,aAAA,CHsBtB,AGrBD,OAAuB,aAAA,CHwBtB,AGvBD,OAAuB,aAAA,CH0BtB,AIpCD,OACE,mBAAA,AACA,iBAAA,CJsCD,AKvCD,OACE,eAAA,AACA,yBAAA,AACA,oBAAA,CLyCD,AK5CD,UAIS,iBAAA,CL2CR,AKzCD,OACE,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,gBAAA,AACA,iBAAA,CL2CD,AK1CC,aACE,kBAAA,CL4CH,AMzDD,WACE,yBAAA,AACA,wBAAA,AACA,kBAAA,CN2DD,AMxDD,cAA8B,UAAA,CN2D7B,AM1DD,eAA+B,WAAA,CN6D9B,AM1DC,iBAA+B,iBAAA,CN6DhC,AM5DC,kBAAgC,gBAAA,CN+DjC,AM3DD,YAAc,WAAA,CN+Db,AM9DD,WAAa,UAAA,CNiEZ,AM9DC,cAAc,iBAAA,CNiEf,AMhEC,eAAe,gBAAA,CNmEhB,AOvFD,SAEU,oCAAA,CPyFT,AOtFD,UAEU,sCAAA,CPwFT,AO1ED,mBACE,GAEU,sBAAA,CPsFT,AOpFD,KAEU,wBAAA,CPsFT,CACF,AQnHD,cCWE,sEAAA,AAGQ,uBAAA,CT2GT,AQxHD,eCUE,sEAAA,AAGQ,wBAAA,CTiHT,AQ7HD,eCSE,sEAAA,AAGQ,wBAAA,CTuHT,AQjID,oBCcE,+EAAA,AAGQ,qBAAA,CTsHT,AQtID,kBCaE,+EAAA,AAGQ,qBAAA,CT4HT,AQvID,gHAKE,WAAA,CRyID,AUxJD,UACE,kBAAA,AACA,qBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,qBAAA,CV0JD,AUxJD,0BACE,kBAAA,AACA,OAAA,AACA,WAAA,AACA,iBAAA,CV2JD,AUzJD,aAA6B,mBAAA,CV4J5B,AU3JD,aAA6B,aAAA,CV8J5B,AU7JD,YAA4B,UAAA,CVgK3B,AWhLD,iBAAiC,eAAA,CXqLhC,AWpLD,iBAAiC,eAAA,CXuLhC,AWtLD,kBAAkC,eAAA,CXyLjC,AWxLD,sBAAsC,eAAA,CX2LrC,AW1LD,iBAAiC,eAAA,CX6LhC,AW5LD,gBAAgC,eAAA,CX+L/B,AW9LD,kBAAkC,eAAA,CXiMjC,AWhMD,gBAAgC,eAAA,CXmM/B,AWlMD,gBAAgC,eAAA,CXqM/B,AWpMD,oBAAoC,eAAA,CXuMnC,AWtMD,cAA8B,eAAA,CXyM7B,AWxMD,mBAAmC,eAAA,CX2MlC,AW1MD,iBAAiC,eAAA,CX6MhC,AW5MD,oDAEiC,eAAA,CX+MhC,AW9MD,uBAAuC,eAAA,CXiNtC,AWhND,wBAAwC,eAAA,CXmNvC,AWlND,qBAAqC,eAAA,CXqNpC,AWpND,kBAAkC,eAAA,CXuNjC,AWtND,+BAC+B,eAAA,CXyN9B,AWxND,mBAAmC,eAAA,CX2NlC,AW1ND,gBAAgC,eAAA,CX6N/B,AW5ND,kBAAkC,eAAA,CX+NjC,AW9ND,mBAAmC,eAAA,CXiOlC,AWhOD,gBAAgC,eAAA,CXmO/B,AWlOD,oBAAoC,eAAA,CXqOnC,AWpOD,+BAA+C,eAAA,CXuO9C,AWtOD,6BAA6C,eAAA,CXyO5C,AWxOD,iBAAiC,eAAA,CX2OhC,AW1OD,yBAAyC,eAAA,CX6OxC,AW5OD,0CACkC,eAAA,CX+OjC,AW9OD,mBAAmC,eAAA,CXiPlC,AWhPD,oBAAoC,eAAA,CXmPnC,AWlPD,gBAAgC,eAAA,CXqP/B,AWpPD,gBAAgC,eAAA,CXuP/B,AWtPD,sBAAsC,eAAA,CXyPrC,AWxPD,sBAAsC,eAAA,CX2PrC,AW1PD,uBAAuC,eAAA,CX6PtC,AW5PD,qBAAqC,eAAA,CX+PpC,AW9PD,kBAAkC,eAAA,CXiQjC,AWhQD,mBAAmC,eAAA,CXmQlC,AWlQD,eAA+B,eAAA,CXqQ9B,AWpQD,gBAAgC,eAAA,CXuQ/B,AWtQD,gBAAgC,eAAA,CXyQ/B,AWxQD,oBAAoC,eAAA,CX2QnC,AW1QD,iBAAiC,eAAA,CX6QhC,AW5QD,kBAAkC,eAAA,CX+QjC,AW9QD,gBAAgC,eAAA,CXiR/B,AWhRD,gBAAgC,eAAA,CXmR/B,AWlRD,kBAAkC,eAAA,CXqRjC,AWpRD,uBAAuC,eAAA,CXuRtC,AWtRD,sBAAsC,eAAA,CXyRrC,AWxRD,sBAAsC,eAAA,CX2RrC,AW1RD,wBAAwC,eAAA,CX6RvC,AW5RD,uBAAuC,eAAA,CX+RtC,AW9RD,yBAAyC,eAAA,CXiSxC,AWhSD,gBAAgC,eAAA,CXmS/B,AWlSD,qCACmC,eAAA,CXqSlC,AWpSD,kBAAkC,eAAA,CXuSjC,AWtSD,wBAAwC,eAAA,CXySvC,AWxSD,uDAEqC,eAAA,CX2SpC,AW1SD,kBAAkC,eAAA,CX6SjC,AW5SD,sBAAsC,eAAA,CX+SrC,AW9SD,kBAAkC,eAAA,CXiTjC,AWhTD,gBAAgC,eAAA,CXmT/B,AWlTD,2CAC2C,eAAA,CXqT1C,AWpTD,0BAA0C,eAAA,CXuTzC,AWtTD,0BAA0C,eAAA,CXyTzC,AWxTD,kBAAkC,eAAA,CX2TjC,AW1TD,yBAAyC,eAAA,CX6TxC,AW5TD,yBAAyC,eAAA,CX+TxC,AW9TD,oBAAoC,eAAA,CXiUnC,AWhUD,gBAAgC,eAAA,CXmU/B,AWlUD,iBAAiC,eAAA,CXqUhC,AWpUD,gBAAgC,eAAA,CXuU/B,AWtUD,mBAAmC,eAAA,CXyUlC,AWxUD,wBAAwC,eAAA,CX2UvC,AW1UD,wBAAwC,eAAA,CX6UvC,AW5UD,iBAAiC,eAAA,CX+UhC,AW9UD,wBAAwC,eAAA,CXiVvC,AWhVD,yBAAyC,eAAA,CXmVxC,AWlVD,uBAAuC,eAAA,CXqVtC,AWpVD,wBAAwC,eAAA,CXuVvC,AWtVD,wBAAwC,eAAA,CXyVvC,AWxVD,wBAAwC,eAAA,CX2VvC,AW1VD,2BAA2C,eAAA,CX6V1C,AW5VD,uBAAuC,eAAA,CX+VtC,AW9VD,sBAAsC,eAAA,CXiWrC,AWhWD,0BAA0C,eAAA,CXmWzC,AWlWD,0BAA0C,eAAA,CXqWzC,AWpWD,eAA+B,eAAA,CXuW9B,AWtWD,sBAAsC,eAAA,CXyWrC,AWxWD,uBAAuC,eAAA,CX2WtC,AW1WD,oBAAoC,eAAA,CX6WnC,AW5WD,sBAAsC,eAAA,CX+WrC,AW9WD,yCACiC,eAAA,CXiXhC,AWhXD,kBAAkC,eAAA,CXmXjC,AWlXD,oBAAoC,eAAA,CXqXnC,AWpXD,gBAAgC,eAAA,CXuX/B,AWtXD,iBAAiC,eAAA,CXyXhC,AWxXD,oBAAoC,eAAA,CX2XnC,AW1XD,8BAA8C,eAAA,CX6X7C,AW5XD,gBAAgC,eAAA,CX+X/B,AW9XD,gBAAgC,eAAA,CXiY/B,AWhYD,gBAAgC,eAAA,CXmY/B,AWlYD,eAA+B,eAAA,CXqY9B,AWpYD,qBAAqC,eAAA,CXuYpC,AWtYD,mDACgD,eAAA,CXyY/C,AWxYD,iBAAiC,eAAA,CX2YhC,AW1YD,oBAAoC,eAAA,CX6YnC,AW5YD,kBAAkC,eAAA,CX+YjC,AW9YD,mBAAmC,eAAA,CXiZlC,AWhZD,kBAAkC,eAAA,CXmZjC,AWlZD,sBAAsC,eAAA,CXqZrC,AWpZD,wBAAwC,eAAA,CXuZvC,AWtZD,mBAAmC,eAAA,CXyZlC,AWxZD,yBAAyC,eAAA,CX2ZxC,AW1ZD,kBAAkC,eAAA,CX6ZjC,AW5ZD,uBAAuC,eAAA,CX+ZtC,AW9ZD,oBAAoC,eAAA,CXianC,AWhaD,oBAAoC,eAAA,CXmanC,AWlaD,4CACqC,eAAA,CXqapC,AWpaD,0BAA0C,eAAA,CXuazC,AWtaD,2BAA2C,eAAA,CXya1C,AWxaD,wBAAwC,eAAA,CX2avC,AW1aD,eAA+B,eAAA,CX6a9B,AW5aD,iCACgC,eAAA,CX+a/B,AW9aD,oBAAoC,eAAA,CXibnC,AWhbD,uBAAuC,eAAA,CXmbtC,AWlbD,yBAAyC,eAAA,CXqbxC,AWpbD,qBAAqC,eAAA,CXubpC,AWtbD,mBAAmC,eAAA,CXyblC,AWxbD,oBAAoC,eAAA,CX2bnC,AW1bD,2BAA2C,eAAA,CX6b1C,AW5bD,sBAAsC,eAAA,CX+brC,AW9bD,yBAAyC,eAAA,CXicxC,AWhcD,mBAAmC,eAAA,CXmclC,AWlcD,kBAAkC,eAAA,CXqcjC,AWpcD,yBAAyC,eAAA,CXucxC,AWtcD,kBAAkC,eAAA,CXycjC,AWxcD,mBAAmC,eAAA,CX2clC,AW1cD,iBAAiC,eAAA,CX6chC,AW5cD,oBAAoC,eAAA,CX+cnC,AW9cD,sBAAsC,eAAA,CXidrC,AWhdD,wBAAwC,eAAA,CXmdvC,AWldD,mBAAmC,eAAA,CXqdlC,AWpdD,0CACoC,eAAA,CXudnC,AWtdD,kBAAkC,eAAA,CXydjC,AWxdD,kBAAkC,eAAA,CX2djC,AW1dD,uBAAuC,eAAA,CX6dtC,AW5dD,+BAC+B,eAAA,CX+d9B,AW9dD,iBAAiC,eAAA,CXiehC,AWheD,oBAAoC,eAAA,CXmenC,AWleD,gBAAgC,eAAA,CXqe/B,AWpeD,uBAAuC,eAAA,CXuetC,AWteD,wBAAwC,eAAA,CXyevC,AWxeD,uBAAuC,eAAA,CX2etC,AW1eD,qBAAqC,eAAA,CX6epC,AW5eD,uBAAuC,eAAA,CX+etC,AW9eD,6BAA6C,eAAA,CXif5C,AWhfD,8BAA8C,eAAA,CXmf7C,AWlfD,2BAA2C,eAAA,CXqf1C,AWpfD,6BAA6C,eAAA,CXuf5C,AWtfD,iBAAiC,eAAA,CXyfhC,AWxfD,kBAAkC,eAAA,CX2fjC,AW1fD,iBAAiC,eAAA,CX6fhC,AW5fD,kBAAkC,eAAA,CX+fjC,AW9fD,qBAAqC,eAAA,CXigBpC,AWhgBD,sBAAsC,eAAA,CXmgBrC,AWlgBD,kCACiC,eAAA,CXqgBhC,AWpgBD,iCACgC,eAAA,CXugB/B,AWtgBD,iBAAiC,eAAA,CXygBhC,AWxgBD,iBAAiC,eAAA,CX2gBhC,AW1gBD,mCACoC,eAAA,CX6gBnC,AW5gBD,mCACmC,eAAA,CX+gBlC,AW9gBD,qBAAqC,eAAA,CXihBpC,AWhhBD,oCACoC,eAAA,CXmhBnC,AWlhBD,kBAAkC,eAAA,CXqhBjC,AWphBD,sDAEgC,eAAA,CXuhB/B,AWthBD,mBAAmC,eAAA,CXyhBlC,AWxhBD,mBAAmC,eAAA,CX2hBlC,AW1hBD,yBAAyC,eAAA,CX6hBxC,AW5hBD,qBAAqC,eAAA,CX+hBpC,AW9hBD,iBAAiC,eAAA,CXiiBhC,AWhiBD,iBAAiC,eAAA,CXmiBhC,AWliBD,iBAAiC,eAAA,CXqiBhC,AWpiBD,qBAAqC,eAAA,CXuiBpC,AWtiBD,4BAA4C,eAAA,CXyiB3C,AWxiBD,8BAA8C,eAAA,CX2iB7C,AW1iBD,uBAAuC,eAAA,CX6iBtC,AW5iBD,iBAAiC,eAAA,CX+iBhC,AW9iBD,sBAAsC,eAAA,CXijBrC,AWhjBD,oBAAoC,eAAA,CXmjBnC,AWljBD,sBAAsC,eAAA,CXqjBrC,AWpjBD,uBAAuC,eAAA,CXujBtC,AWtjBD,mBAAmC,eAAA,CXyjBlC,AWxjBD,oCACgC,eAAA,CX2jB/B,AW1jBD,0CACqC,eAAA,CX6jBpC,AW5jBD,uCACoC,eAAA,CX+jBnC,AW9jBD,oBAAoC,eAAA,CXikBnC,AWhkBD,oBAAoC,eAAA,CXmkBnC,AWlkBD,uCACgC,eAAA,CXqkB/B,AWpkBD,kCACiC,eAAA,CXukBhC,AWtkBD,2CACsC,eAAA,CXykBrC,AWxkBD,qBAAqC,eAAA,CX2kBpC,AW1kBD,sBAAsC,eAAA,CX6kBrC,AW5kBD,iCACgC,eAAA,CX+kB/B,AW9kBD,mBAAmC,eAAA,CXilBlC,AWhlBD,oBAAoC,eAAA,CXmlBnC,AWllBD,sCACqC,eAAA,CXqlBpC,AWplBD,uBAAuC,eAAA,CXulBtC,AWtlBD,oBAAoC,eAAA,CXylBnC,AWxlBD,0BAA0C,eAAA,CX2lBzC,AW1lBD,wBAAwC,eAAA,CX6lBvC,AW5lBD,mBAAmC,eAAA,CX+lBlC,AW9lBD,uBAAuC,eAAA,CXimBtC,AWhmBD,oBAAoC,eAAA,CXmmBnC,AWlmBD,kBAAkC,eAAA,CXqmBjC,AWpmBD,kBAAkC,eAAA,CXumBjC,AWtmBD,mBAAmC,eAAA,CXymBlC,AWxmBD,uBAAuC,eAAA,CX2mBtC,AW1mBD,sBAAsC,eAAA,CX6mBrC,AW5mBD,sBAAsC,eAAA,CX+mBrC,AW9mBD,qBAAqC,eAAA,CXinBpC,AWhnBD,kBAAkC,eAAA,CXmnBjC,AWlnBD,uBAAuC,eAAA,CXqnBtC,AWpnBD,gBAAgC,eAAA,CXunB/B,AWtnBD,oBAAoC,eAAA,CXynBnC,AWxnBD,uBAAuC,eAAA,CX2nBtC,AW1nBD,6BAA6C,eAAA,CX6nB5C,AW5nBD,8BAA8C,eAAA,CX+nB7C,AW9nBD,2BAA2C,eAAA,CXioB1C,AWhoBD,6BAA6C,eAAA,CXmoB5C,AWloBD,sBAAsC,eAAA,CXqoBrC,AWpoBD,uBAAuC,eAAA,CXuoBtC,AWtoBD,oBAAoC,eAAA,CXyoBnC,AWxoBD,sBAAsC,eAAA,CX2oBrC,AW1oBD,mBAAmC,eAAA,CX6oBlC,AW5oBD,kBAAkC,eAAA,CX+oBjC,AW9oBD,kBAAkC,eAAA,CXipBjC,AWhpBD,0CACkC,eAAA,CXmpBjC,AWlpBD,oBAAoC,eAAA,CXqpBnC,AWppBD,sBAAsC,eAAA,CXupBrC,AWtpBD,uBAAuC,eAAA,CXypBtC,AWxpBD,mBAAmC,eAAA,CX2pBlC,AW1pBD,kBAAkC,eAAA,CX6pBjC,AW5pBD,uCACiC,eAAA,CX+pBhC,AW9pBD,sBAAsC,eAAA,CXiqBrC,AWhqBD,oBAAoC,eAAA,CXmqBnC,AWlqBD,yBAAyC,eAAA,CXqqBxC,AWpqBD,mBAAmC,eAAA,CXuqBlC,AWtqBD,mBAAmC,eAAA,CXyqBlC,AWxqBD,iBAAiC,eAAA,CX2qBhC,AW1qBD,mBAAmC,eAAA,CX6qBlC,AW5qBD,sBAAsC,eAAA,CX+qBrC,AW9qBD,kBAAkC,eAAA,CXirBjC,AWhrBD,0BAA0C,eAAA,CXmrBzC,AWlrBD,oBAAoC,eAAA,CXqrBnC,AWprBD,gBAAgC,eAAA,CXurB/B,AWtrBD,+CACqC,eAAA,CXyrBpC,AWxrBD,4EAEuC,eAAA,CX2rBtC,AW1rBD,0BAA0C,eAAA,CX6rBzC,AW5rBD,gBAAgC,eAAA,CX+rB/B,AW9rBD,qBAAqC,eAAA,CXisBpC,AWhsBD,0CACwC,eAAA,CXmsBvC,AWlsBD,oBAAoC,eAAA,CXqsBnC,AWpsBD,gBAAgC,eAAA,CXusB/B,AWtsBD,uBAAuC,eAAA,CXysBtC,AWxsBD,uBAAuC,eAAA,CX2sBtC,AW1sBD,qBAAqC,eAAA,CX6sBpC,AW5sBD,kBAAkC,eAAA,CX+sBjC,AW9sBD,wBAAwC,eAAA,CXitBvC,AWhtBD,sBAAsC,eAAA,CXmtBrC,AWltBD,4BAA4C,eAAA,CXqtB3C,AWptBD,kBAAkC,eAAA,CXutBjC,AWttBD,sBAAsC,eAAA,CXytBrC,AWxtBD,6BAA6C,eAAA,CX2tB5C,AW1tBD,kBAAkC,eAAA,CX6tBjC,AW5tBD,kBAAkC,eAAA,CX+tBjC,AW9tBD,+BAA+C,eAAA,CXiuB9C,AWhuBD,gCAAgD,eAAA,CXmuB/C,AWluBD,6BAA6C,eAAA,CXquB5C,AWpuBD,+BAA+C,eAAA,CXuuB9C,AWtuBD,iBAAiC,eAAA,CXyuBhC,AWxuBD,gBAAgC,eAAA,CX2uB/B,AW1uBD,kBAAkC,eAAA,CX6uBjC,AW5uBD,sBAAsC,eAAA,CX+uBrC,AW9uBD,oBAAoC,eAAA,CXivBnC,AWhvBD,sBAAsC,eAAA,CXmvBrC,AWlvBD,sBAAsC,eAAA,CXqvBrC,AWpvBD,sBAAsC,eAAA,CXuvBrC,AWtvBD,uBAAuC,eAAA,CXyvBtC,AWxvBD,kBAAkC,eAAA,CX2vBjC,AW1vBD,wBAAwC,eAAA,CX6vBvC,AW5vBD,0BAA0C,eAAA,CX+vBzC,AW9vBD,oBAAoC,eAAA,CXiwBnC,AWhwBD,sBAAsC,eAAA,CXmwBrC,AWlwBD,wBAAwC,eAAA,CXqwBvC,AWpwBD,yBAAyC,eAAA,CXuwBxC,AWtwBD,gCAAgD,eAAA,CXywB/C,AWxwBD,wBAAwC,eAAA,CX2wBvC,AW1wBD,mBAAmC,eAAA,CX6wBlC,AW5wBD,sDAC+C,eAAA,CX+wB9C,AW9wBD,kDAC6C,eAAA,CXixB5C,AWhxBD,wDACgD,eAAA,CXmxB/C,AWlxBD,+BAC+B,eAAA,CXqxB9B,AWpxBD,eAA+B,eAAA,CXuxB9B,AWtxBD,iCAC+B,eAAA,CXyxB9B,AWxxBD,gCAC+B,eAAA,CX2xB9B,AW1xBD,4DAG+B,eAAA,CX6xB9B,AW5xBD,kDAE+B,eAAA,CX+xB9B,AW9xBD,8BAC+B,eAAA,CXiyB9B,AWhyBD,kCAC+B,eAAA,CXmyB9B,AWlyBD,gBAAgC,eAAA,CXqyB/B,AWpyBD,qBAAqC,eAAA,CXuyBpC,AWtyBD,0BAA0C,eAAA,CXyyBzC,AWxyBD,2BAA2C,eAAA,CX2yB1C,AW1yBD,2BAA2C,eAAA,CX6yB1C,AW5yBD,4BAA4C,eAAA,CX+yB3C,AW9yBD,4BAA4C,eAAA,CXizB3C,AWhzBD,6BAA6C,eAAA,CXmzB5C,AWlzBD,qBAAqC,eAAA,CXqzBpC,AWpzBD,uBAAuC,eAAA,CXuzBtC,AWtzBD,0BAA0C,eAAA,CXyzBzC,AWxzBD,mBAAmC,eAAA,CX2zBlC,AW1zBD,gBAAgC,eAAA,CX6zB/B,AW5zBD,uBAAuC,eAAA,CX+zBtC,AW9zBD,wBAAwC,eAAA,CXi0BvC,AWh0BD,mBAAmC,eAAA,CXm0BlC,AWl0BD,0BAA0C,eAAA,CXq0BzC,AWp0BD,qBAAqC,eAAA,CXu0BpC,AWt0BD,kBAAkC,eAAA,CXy0BjC,AWx0BD,eAA+B,eAAA,CX20B9B,AW10BD,qBAAqC,eAAA,CX60BpC,AW50BD,4BAA4C,eAAA,CX+0B3C,AW90BD,kBAAkC,eAAA,CXi1BjC,AWh1BD,yBAAyC,eAAA,CXm1BxC,AWl1BD,2BAA2C,eAAA,CXq1B1C,AWp1BD,yBAAyC,eAAA,CXu1BxC,AWt1BD,2BAA2C,eAAA,CXy1B1C,AWx1BD,4BAA4C,eAAA,CX21B3C,AW11BD,iBAAiC,eAAA,CX61BhC,AW51BD,mBAAmC,eAAA,CX+1BlC,AW91BD,mBAAmC,eAAA,CXi2BlC,AWh2BD,iBAAiC,eAAA,CXm2BhC,AWl2BD,oBAAoC,eAAA,CXq2BnC,AWp2BD,iBAAiC,eAAA,CXu2BhC,AWt2BD,sBAAsC,eAAA,CXy2BrC,AWx2BD,kBAAkC,eAAA,CX22BjC,AW12BD,kBAAkC,eAAA,CX62BjC,AW52BD,gBAAgC,eAAA,CX+2B/B,AW92BD,sCACoC,eAAA,CXi3BnC,AWh3BD,iBAAiC,eAAA,CXm3BhC,AWl3BD,kBAAkC,eAAA,CXq3BjC,AWp3BD,mBAAmC,eAAA,CXu3BlC,AWt3BD,eAA+B,eAAA,CXy3B9B,AWx3BD,cAA8B,eAAA,CX23B7B,AW13BD,iBAAiC,eAAA,CX63BhC,AW53BD,kBAAkC,eAAA,CX+3BjC,AW93BD,qBAAqC,eAAA,CXi4BpC,AWh4BD,0BAA0C,eAAA,CXm4BzC,AWl4BD,gCAAgD,eAAA,CXq4B/C,AWp4BD,+BAA+C,eAAA,CXu4B9C,AWt4BD,sDAC+C,eAAA,CXy4B9C,AWx4BD,wBAAwC,eAAA,CX24BvC,AW14BD,sBAAsC,eAAA,CX64BrC,AW54BD,wBAAwC,eAAA,CX+4BvC,AW94BD,uCAC+B,eAAA,CXi5B9B,AWh5BD,yBAAyC,eAAA,CXm5BxC,AWl5BD,yBAAyC,eAAA,CXq5BxC,AWp5BD,iBAAiC,eAAA,CXu5BhC,AWt5BD,2BAA2C,eAAA,CXy5B1C,AWx5BD,qBAAqC,eAAA,CX25BpC,AW15BD,kBAAkC,eAAA,CX65BjC,AW55BD,6DAEsC,eAAA,CX+5BrC,AW95BD,kDAC0C,eAAA,CXi6BzC,AWh6BD,iBAAiC,eAAA,CXm6BhC,AWl6BD,kBAAkC,eAAA,CXq6BjC,AWp6BD,kBAAkC,eAAA,CXu6BjC,AWt6BD,yBAAyC,eAAA,CXy6BxC,AWx6BD,8BAA8C,eAAA,CX26B7C,AW16BD,uBAAuC,eAAA,CX66BtC,AW56BD,qBAAqC,eAAA,CX+6BpC,AW96BD,gBAAgC,eAAA,CXi7B/B,AWh7BD,yBAAyC,eAAA,CXm7BxC,AWl7BD,0BAA0C,eAAA,CXq7BzC,AWp7BD,kBAAkC,eAAA,CXu7BjC,AWt7BD,kBAAkC,eAAA,CXy7BjC,AWx7BD,oBAAoC,eAAA,CX27BnC,AW17BD,eAA+B,eAAA,CX67B9B,AW57BD,oBAAoC,eAAA,CX+7BnC,AW97BD,iBAAiC,eAAA,CXi8BhC,AWh8BD,eAA+B,eAAA,CXm8B9B,AWl8BD,iBAAiC,eAAA,CXq8BhC,AWp8BD,gBAAgC,eAAA,CXu8B/B,AWt8BD,iBAAiC,eAAA,CXy8BhC,AWx8BD,mBAAmC,eAAA,CX28BlC,AW18BD,0BAA0C,eAAA,CX68BzC,AW58BD,iBAAiC,eAAA,CX+8BhC,AW98BD,wBAAwC,eAAA,CXi9BvC,AWh9BD,mBAAmC,eAAA,CXm9BlC,AWl9BD,qCAC+B,eAAA,CXq9B9B,AWp9BD,+BACgC,eAAA,CXu9B/B,AWt9BD,gBAAgC,eAAA,CXy9B/B,AWx9BD,mBAAmC,eAAA,CX29BlC,AW19BD,sBAAsC,eAAA,CX69BrC,AW59BD,sBAAsC,eAAA,CX+9BrC,AW99BD,oBAAoC,eAAA,CXi+BnC,AWh+BD,sBAAsC,eAAA,CXm+BrC,AWl+BD,uBAAuC,eAAA,CXq+BtC,AWp+BD,wBAAwC,eAAA,CXu+BvC,AWt+BD,6BAA6C,eAAA,CXy+B5C,AWx+BD,0EAEwC,eAAA,CX2+BvC,AW1+BD,gDAC0C,eAAA,CX6+BzC,AW5+BD,gDACwC,eAAA,CX++BvC,AW9+BD,gDACwC,eAAA,CXi/BvC,AWh/BD,uBAAuC,eAAA,CXm/BtC,AWl/BD,gBAAgC,eAAA,CXq/B/B,AWp/BD,mBAAmC,eAAA,CXu/BlC,AWt/BD,oBAAoC,eAAA,CXy/BnC,AWx/BD,wGAIqC,eAAA,CX2/BpC,AW1/BD,0BAA0C,eAAA,CX6/BzC,AW5/BD,qDAEiC,eAAA,CX+/BhC,AW9/BD,gCACkC,eAAA,CXigCjC,AWhgCD,sBAAsC,eAAA,CXmgCrC,AWlgCD,eAA+B,eAAA,CXqgC9B,AWpgCD,2EAEuC,eAAA,CXugCtC,AWtgCD,yBAAyC,eAAA,CXygCxC,AWxgCD,cAA8B,eAAA,CX2gC7B,AW1gCD,oCACkC,eAAA,CX6gCjC,AW5gCD,uCACuC,eAAA,CX+gCtC,AW9gCD,2CACyC,eAAA,CXihCxC,AWhhCD,mBAAmC,eAAA,CXmhClC,AWlhCD,uBAAuC,eAAA,CXqhCtC,AWphCD,kBAAkC,eAAA,CXuhCjC,AWthCD,qBAAqC,eAAA,CXyhCpC,AWxhCD,mBAAmC,eAAA,CX2hClC,AW1hCD,qBAAqC,eAAA,CX6hCpC,AW5hCD,4BAA4C,eAAA,CX+hC3C,AW9hCD,gBAAgC,eAAA,CXiiC/B,AWhiCD,6CACoC,eAAA,CXmiCnC,AWliCD,eAA+B,eAAA,CXqiC9B,AWpiCD,sBAAsC,eAAA,CXuiCrC,AWtiCD,gBAAgC,eAAA,CXyiC/B,AWxiCD,sBAAsC,eAAA,CX2iCrC,AW1iCD,kBAAkC,eAAA,CX6iCjC,AW5iCD,gBAAgC,eAAA,CX+iC/B,AW9iCD,uBAAuC,eAAA,CXijCtC,AWhjCD,gBAAgC,eAAA,CXmjC/B,AWljCD,sBAAsC,eAAA,CXqjCrC,AWpjCD,kBAAkC,eAAA,CXujCjC,AWtjCD,yBAAyC,eAAA,CXyjCxC,AWxjCD,mBAAmC,eAAA,CX2jClC,AW1jCD,yBAAyC,eAAA,CX6jCxC,AW5jCD,uBAAuC,eAAA,CX+jCtC,AW9jCD,mBAAmC,eAAA,CXikClC,AWhkCD,qBAAqC,eAAA,CXmkCpC,AWlkCD,qBAAqC,eAAA,CXqkCpC,AWpkCD,sBAAsC,eAAA,CXukCrC,AWtkCD,wBAAwC,eAAA,CXykCvC,AWxkCD,iBAAiC,eAAA,CX2kChC,AW1kCD,qBAAqC,eAAA,CX6kCpC,AW5kCD,cAA8B,eAAA,CX+kC7B,AW9kCD,sBAAsC,eAAA,CXilCrC,AWhlCD,uBAAuC,eAAA,CXmlCtC,AWllCD,yBAAyC,eAAA,CXqlCxC,AWplCD,sBAAsC,eAAA,CXulCrC,AWtlCD,qBAAqC,eAAA,CXylCpC,AWxlCD,sBAAsC,eAAA,CX2lCrC,AW1lCD,kBAAkC,eAAA,CX6lCjC,AW5lCD,yBAAyC,eAAA,CX+lCxC,AW9lCD,sBAAsC,eAAA,CXimCrC,AWhmCD,qBAAqC,eAAA,CXmmCpC,AWlmCD,mBAAmC,eAAA,CXqmClC,AWpmCD,eAA+B,eAAA,CXumC9B,AWtmCD,mBAAmC,eAAA,CXymClC,AWxmCD,qBAAqC,eAAA,CX2mCpC,AW1mCD,cAA8B,eAAA,CX6mC7B,AW5mCD,mDAE+B,eAAA,CX+mC9B,AW9mCD,oBAAoC,eAAA,CXinCnC,AWhnCD,sBAAsC,eAAA,CXmnCrC,AWlnCD,0BAA0C,eAAA,CXqnCzC,AWpnCD,oBAAoC,eAAA,CXunCnC,AWtnCD,oBAAoC,eAAA,CXynCnC,AWxnCD,mBAAmC,eAAA,CX2nClC,AW1nCD,kBAAkC,eAAA,CX6nCjC,AW5nCD,wBAAwC,eAAA,CX+nCvC,AW9nCD,uBAAuC,eAAA,CXioCtC,AWhoCD,oBAAoC,eAAA,CXmoCnC,AWloCD,qBAAqC,eAAA,CXqoCpC,AWpoCD,2BAA2C,eAAA,CXuoC1C,AWtoCD,mBAAmC,eAAA,CXyoClC,AWxoCD,gBAAgC,eAAA,CX2oC/B,AW1oCD,uBAAuC,eAAA,CX6oCtC,AW5oCD,sBAAsC,eAAA,CX+oCrC,AW9oCD,uBAAuC,eAAA,CXipCtC,AWhpCD,qBAAqC,eAAA,CXmpCpC,AWlpCD,iBAAiC,eAAA,CXqpChC,AWppCD,gBAAgC,eAAA,CXupC/B,AWtpCD,mBAAmC,eAAA,CXypClC,AWxpCD,2CACuC,eAAA,CX2pCtC,AW1pCD,2BAA2C,eAAA,CX6pC1C,AW5pCD,wBAAwC,eAAA,CX+pCvC,AW9pCD,uBAAuC,eAAA,CXiqCtC,AWhqCD,sBAAsC,eAAA,CXmqCrC,AWlqCD,uBAAuC,eAAA,CXqqCtC,AWpqCD,yBAAyC,eAAA,CXuqCxC,AWtqCD,yBAAyC,eAAA,CXyqCxC,AWxqCD,kBAAkC,eAAA,CX2qCjC,AW1qCD,sBAAsC,eAAA,CX6qCrC,AW5qCD,6BAA6C,eAAA,CX+qC5C,AW9qCD,uBAAuC,eAAA,CXirCtC,AWhrCD,oBAAoC,eAAA,CXmrCnC,AWlrCD,kBAAkC,eAAA,CXqrCjC,AWprCD,qBAAqC,eAAA,CXurCpC,AWtrCD,sBAAsC,eAAA,CXyrCrC,AWxrCD,gCAC+B,eAAA,CX2rC9B,AW1rCD,mBAAmC,eAAA,CX6rClC,AW5rCD,iBAAiC,eAAA,CX+rChC,AW9rCD,kBAAkC,eAAA,CXisCjC,AWhsCD,kBAAkC,eAAA,CXmsCjC,AWlsCD,sCACwC,eAAA,CXqsCvC,AWpsCD,yBAAyC,eAAA,CXusCxC,AWtsCD,oBAAoC,eAAA,CXysCnC,AWxsCD,wBAAwC,eAAA,CX2sCvC,AW1sCD,6CACwC,eAAA,CX6sCvC,AW5sCD,uDACkD,eAAA,CX+sCjD,AW9sCD,6CACwC,eAAA,CXitCvC,AWhtCD,gDAC2C,eAAA,CXmtC1C,AWltCD,8CACyC,eAAA,CXqtCxC,AWptCD,yBAAyC,eAAA,CXutCxC,AWttCD,oBAAoC,eAAA,CXytCnC,AWxtCD,wBAAwC,eAAA,CX2tCvC,AW1tCD,0BAA0C,eAAA,CX6tCzC,AW5tCD,uBAAuC,eAAA,CX+tCtC,AW9tCD,yBAAyC,eAAA,CXiuCxC,AWhuCD,kBAAkC,eAAA,CXmuCjC,AWluCD,0BAA0C,eAAA,CXquCzC,AWpuCD,iBAAiC,eAAA,CXuuChC,AWtuCD,yBAAyC,eAAA,CXyuCxC,AWxuCD,uBAAuC,eAAA,CX2uCtC,AW1uCD,kDAC2C,eAAA,CX6uC1C,AW5uCD,iDAC0C,eAAA,CX+uCzC,AW9uCD,gDACyC,eAAA,CXivCxC,AWhvCD,qBAAqC,eAAA,CXmvCpC,AWlvCD,8CACuC,eAAA,CXqvCtC,AWpvCD,+CACwC,eAAA,CXuvCvC,AWtvCD,2BAA2C,eAAA,CXyvC1C,AWxvCD,yBAAyC,eAAA,CX2vCxC,AW1vCD,wBAAwC,eAAA,CX6vCvC,AW5vCD,0BAA0C,eAAA,CX+vCzC,AW9vCD,wBAAwC,eAAA,CXiwCvC,AWhwCD,qBAAqC,eAAA,CXmwCpC,AWlwCD,sBAAsC,eAAA,CXqwCrC,AWpwCD,4BAA4C,eAAA,CXuwC3C,AWtwCD,cAA8B,eAAA,CXywC7B,AWxwCD,qBAAqC,eAAA,CX2wCpC,AW1wCD,uBAAuC,eAAA,CX6wCtC,AW5wCD,yBAAyC,eAAA,CX+wCxC,AW9wCD,gCAAgD,eAAA,CXixC/C,AWhxCD,sBAAsC,eAAA,CXmxCrC,AWlxCD,uBAAuC,eAAA,CXqxCtC,AWpxCD,kBAAkC,eAAA,CXuxCjC,AWtxCD,kBAAkC,eAAA,CXyxCjC,AWxxCD,mBAAmC,eAAA,CX2xClC,AW1xCD,iBAAiC,eAAA,CX6xChC,AW5xCD,6BAA6C,eAAA,CX+xC5C,AW9xCD,oCACsC,eAAA,CXiyCrC,AWhyCD,kBAAkC,eAAA,CXmyCjC,AWlyCD,iBAAiC,eAAA,CXqyChC,AWpyCD,kBAAkC,eAAA,CXuyCjC,AWtyCD,2BAA2C,eAAA,CXyyC1C,AWxyCD,4BAA4C,eAAA,CX2yC3C,AW1yCD,4BAA4C,eAAA,CX6yC3C,AW5yCD,4BAA4C,eAAA,CX+yC3C,AW9yCD,oBAAoC,eAAA,CXizCnC,AWhzCD,mBAAmC,eAAA,CXmzClC,AWlzCD,qBAAqC,eAAA,CXqzCpC,AWpzCD,iBAAiC,eAAA,CXuzChC,AWtzCD,eAA+B,eAAA,CXyzC9B,AWxzCD,sBAAsC,eAAA,CX2zCrC,AW1zCD,wBAAwC,eAAA,CX6zCvC,AW5zCD,iBAAiC,eAAA,CX+zChC,AW9zCD,iBAAiC,eAAA,CXi0ChC,AWh0CD,qBAAqC,eAAA,CXm0CpC,AWl0CD,qBAAqC,eAAA,CXq0CpC,AWp0CD,wBAAwC,eAAA,CXu0CvC,AWt0CD,gBAAgC,eAAA,CXy0C/B,AWx0CD,2BAA2C,eAAA,CX20C1C,AW10CD,oBAAoC,eAAA,CX60CnC,AW50CD,gBAAgC,eAAA,CX+0C/B,AW90CD,wBAAwC,eAAA,CXi1CvC,AWh1CD,eAA+B,eAAA,CXm1C9B,AWl1CD,wBAAwC,eAAA,CXq1CvC,AWp1CD,oBAAoC,eAAA,CXu1CnC,AWt1CD,kBAAkC,eAAA,CXy1CjC,AWx1CD,wBAAwC,eAAA,CX21CvC,AW11CD,0BAA0C,eAAA,CX61CzC,AW51CD,uBAAuC,eAAA,CX+1CtC,AW91CD,yBAAyC,eAAA,CXi2CxC,AWh2CD,wBAAwC,eAAA,CXm2CvC,AWl2CD,2BAA2C,eAAA,CXq2C1C,AWp2CD,mBAAmC,eAAA,CXu2ClC,AWt2CD,qBAAqC,eAAA,CXy2CpC,AWx2CD,uBAAuC,eAAA,CX22CtC,AW12CD,mBAAmC,eAAA,CX62ClC,AW52CD,kBAAkC,eAAA,CX+2CjC,AW92CD,sBAAsC,eAAA,CXi3CrC,AWh3CD,mBAAmC,eAAA,CXm3ClC,AWl3CD,kBAAkC,eAAA,CXq3CjC,AWp3CD,4BAA4C,eAAA,CXu3C3C,AWt3CD,0BAA0C,eAAA,CXy3CzC,AWx3CD,6BAA6C,eAAA,CX23C5C,AW13CD,iBAAiC,eAAA,CX63ChC,AW53CD,6BAA6C,eAAA,CX+3C5C,AW93CD,gCAAgD,eAAA,CXi4C/C,AWh4CD,mBAAmC,eAAA,CXm4ClC,AWl4CD,uCAAuD,eAAA,CXq4CtD,AWp4CD,2EAC+D,eAAA,CXu4C9D,AWt4CD,+DAEgC,eAAA,CXy4C/B,AWx4CD,iBAAiC,eAAA,CX24ChC,AW14CD,mBAAmC,eAAA,CX64ClC,AW54CD,4CACyC,eAAA,CX+4CxC,AW94CD,sBAAsC,eAAA,CXi5CrC,AWh5CD,kBAAkC,eAAA,CXm5CjC,AWl5CD,yBAAyC,eAAA,CXq5CxC,AWp5CD,oBAAoC,eAAA,CXu5CnC,AWt5CD,0BAA0C,eAAA,CXy5CzC,AWx5CD,2BAA2C,eAAA,CX25C1C,AW15CD,sBAAsC,eAAA,CX65CrC,AW55CD,uBAAuC,eAAA,CX+5CtC,AW95CD,iBAAiC,eAAA,CXi6ChC,AWh6CD,qBAAqC,eAAA,CXm6CpC,AWl6CD,8DACgD,eAAA,CXq6C/C,AWp6CD,sCACwC,eAAA,CXu6CvC,AYhoED,SH8BE,kBAAA,AACA,UAAA,AACA,WAAA,AACA,UAAA,AACA,YAAA,AACA,gBAAA,AACA,mBAAA,AACA,QAAA,CTqmED,AS3lEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CT6lEH,AalpED,IACE,oGAAA,AACA,iBAAA,AACA,iBAAA,CbusED,AapsED,cAEE,kBAAA,CbqsED,AavsED,wDAKI,gBAAA,AACA,eAAA,CbqsEH,Aa3sED,yDASI,eAAA,CbssEH,Aa/sED,+BAYI,eAAA,CbssEH,AaltED,kHAeI,eAAA,CbysEH,AaxtED,yFAmBI,WAAA,AACA,cAAA,CbysEH,Aa7tED,kFAuBI,WAAA,AACA,SAAA,CbysEH,AajuED,2FA0BM,QAAA,Cb0sEL,AapuED,4CA8BI,UAAA,CbysEH,AavuED,qDA+Be,SAAA,AAAW,OAAA,Cb4sEzB,Aa3uED,iCAkCI,aAAA,Cb4sEH,AazsED,0BAEI,iBAAA,Cb0sEH,Aa5sED,oDCqIE,oGAAA,AACA,eAAA,AACA,+BAAA,AA7EA,gBAAA,AAEA,gCAAA,AACA,kBAAA,AACA,iBAAA,AACA,kBAAA,AAEA,8DAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,oCAAA,AACA,4BAAA,AACA,YAAA,AACA,YAAA,AACA,0BAAA,AAGA,WAAA,AACA,oBAAA,ADvEE,iBAAA,AACA,YAAA,AACA,UAAA,AACA,YAAA,Cb4tEH,AaruED,oDAYI,oCAAA,AACA,cAAA,Cb4tEH,AazuED,wBAiBI,eAAA,Cb2tEH,AavtED,6DE1DE,cAAA,AACA,oBAAA,Cfm1ED,Ael1EC,4EACE,aAAA,Cfw1EH,AajyED,YEnDE,aAAA,Cfu1ED,Aet1EC,eACE,aAAA,Cfw1EH,AavyED,0DE7CE,aAAA,Cfy1ED,Aa5yED,iBEzCE,eAAA,Cfy1ED,AahzED,aErCE,iBAAA,Cfy1ED,AapzED,cEjCE,cAAA,AACA,mBAAA,Cfy1ED,AazzED,oBE9BI,aAAA,Cf21EH,Aa7zED,wIE5BM,kBAAA,Cfm2EL,Aav0ED,MEtBE,YAAA,Cfg2ED,Aa10ED,YEpBI,aAAA,Cfi2EH,Aa70ED,UEfE,iBAAA,Cf+1ED,Aah1ED,QEXE,gBAAA,Cf81ED,Aan1ED,OEPE,cAAA,AACA,aAAA,Cf61ED,Aav1ED,wBEHE,gBAAA,AACA,aAAA,Cf81ED,Aa51ED,OECE,gBAAA,AACA,aAAA,Cf81ED,Aah2ED,OEME,mBAAA,Cf61ED,Aan2ED,UEQI,eAAA,Cf81EH,Aat2ED,UEWI,iBAAA,AACA,iBAAA,Cf81EH,Aa12ED,OEgBE,SAAA,AACA,6BAAA,AACA,YAAA,Cf61ED,Aa/2ED,eEqBE,kBAAA,AACA,8BAAA,AACA,YAAA,Cf61ED,Aap3ED,SE0BE,qBAAA,AACA,8BAAA,AACA,YAAA,Cf61ED,Aaz3ED,UEgCE,WAAA,AACA,yBAAA,AACA,iBAAA,AACA,eAAA,AACA,+BAAA,Cfg2ED,Aap4ED,mCEuCI,YAAA,AACA,UAAA,AACA,4BAAA,Cfi2EH,Aa14ED,aE4CI,kBAAA,AAEA,gBAAA,AACA,kBAAA,AACA,gCAAA,AACA,sBAAA,AACA,wBAAA,Cfg2EH,Aal5ED,aEqDI,kBAAA,AACA,aAAA,AAEA,sBAAA,AACA,kBAAA,AACA,qBAAA,Cf+1EH,Ae91EG,oBACE,qBAAA,Cfg2EL,Aa55ED,qBEgEI,wBAAA,Cf+1EH,Ae91EG,4BACE,wBAAA,Cfg2EL,Aal6ED,wCE0EM,4BAAA,Cf21EL,Aar6ED,uCE6EM,6BAAA,Cf21EL,Aax6ED,yBEsFI,SAAA,Cfq1EH,Aa36ED,yDEyFI,kCAAA,Cfs1EH,Aa/6ED,wJE4FI,kCAAA,Cfy1EH,Aar7ED,0BEgGE,WAAA,AACA,eAAA,Cfw1ED,Aaz7ED,YEoGE,cAAA,AACA,gBAAA,AACA,gBAAA,AACA,iBAAA,Cfw1ED,Aa/7ED,gBE0GE,oBAAA,AACA,sBAAA,AAgCA,UAAA,CfyzED,Aap8ED,aEsHE,SAAA,AACA,SAAA,Cfi1ED,Aeh1EC,oBACE,cAAA,Cfk1EH,Aa38ED,gBE4HI,eAAA,AACA,qBAAA,AACA,cAAA,Cfk1EH,Aah9ED,WEmIE,aAAA,Cfg1ED,Aan9ED,SEuIE,cAAA,Cf+0ED,Aat9ED,iBE2IE,UAAA,Cf80ED,Aaz9ED,gBE+IE,eAAA,Cf60ED,Aa59ED,qBEmJE,eAAA,Cf40ED,Aa/9ED,mBEuJE,mBAAA,Cf20ED,Aal+ED,gBE0JE,mBAAA,Cf20ED,Aar+ED,gBE6JE,oBAAA,Cf20ED,Aax+ED,kBEgKE,oBAAA,Cf20ED,Aa3+ED,eEoKE,cAAA,Cf00ED,Aa9+ED,UEwKE,yBAAA,AAEA,aAAA,AACA,YAAA,Cfw0ED,Aan/ED,wBE6KI,YAAA,Cfy0EH,Aat/ED,uBEgLI,eAAA,Cfy0EH,Aaz/ED,cG2OE,kBAAA,AACA,aAAA,AACA,SAAA,AACA,iBAAA,AACA,kBAAA,AAEA,uBAAA,AACA,oBAAA,AAEA,iCAAA,AACA,8BAAA,AACA,sBAAA,AAEA,iBAAA,AACA,cAAA,AACA,eAAA,AACA,eAAA,AACA,kBAAA,ChB8wED,AgB7wEC,6BAAmB,OAAA,ChBgxEpB,AgB/wEC,8BAAoB,QAAA,ChBkxErB,AgBjxEC,mGACE,gBAAA,ChBqxEH,AgBnxEC,2GACE,eAAA,ChBwxEH,Aa3hFD,iBGsQI,iBAAA,AACA,6BAAA,AACA,eAAA,ChBwxEH,AgBtxEC,gCACE,aAAA,ChBwxEH,AaniFD,+BG8QI,iBAAA,AAAoC,QAAA,ChByxEvC,AaviFD,wBEwLE,kBAAA,AACA,mBAAA,AACA,oBAAA,Cfk3ED,Aej3EC,0CACE,oBAAA,Cfm3EH,Aej3EC,mCACE,iBAAA,Cfm3EH,AaljFD,uDEuME,eAAA,AACA,aAAA,Cf+2ED,AavjFD,WE4ME,cAAA,Cf82ED,Aa1jFD,kBE+ME,cAAA,Cf82ED,Aa7jFD,cEiNY,aAAA,Cf+2EX,AahkFD,gBEkNc,aAAA,Cfi3Eb,AankFD,aEoNE,uBAAA,Cfk3ED,AatkFD,sBEuNE,cAAA,AACA,cAAA,AACA,mBAAA,AACA,aAAA,Cfm3ED,Ael3EC,kCACE,aAAA,Cfq3EH,Aen3EC,oFACE,aAAA,Cf03EH,Aex3EC,4BACE,aAAA,Cf23EH,Aa7lFD,WEsOE,WAAA,Cf03ED,AahmFD,iBE0OE,aAAA,Cfy3ED,AanmFD,aE8OE,aAAA,AACA,yBAAA,AACA,aAAA,Cfw3ED,AaxmFD,sBEqPE,qBAAA,AACA,sBAAA,AAA4C,cAAA,AAC5C,kBAAA,AAAsB,kBAAA,AAAuB,iBAAA,Cfy3E9C,Aex3EC,8BACE,wBAAA,Cf03EH,Aex3EC,+BACE,aAAA,Cf03EH,AatnFD,4BE+QE,8BAAA,AACA,iBAAA,Cf02ED,Aa1nFD,4HGzDE,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ACKA,wBAAA,CjB8qFD,AgB5rFC,qIAAO,UAAA,ChBisFR,AarpFD,wIGjCI,sBAAA,AACA,aAAA,ChB2rFH,AgBzrFC,ybACE,qBAAA,AACA,wBAAA,ChBmsFH,AgBjsFC,uJACE,aAAA,ChBqsFH,AgBtsFC,sUAGI,aAAA,ChB2sFL,AgBzsFG,yKACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChB6sFL,AgBvsFC,iJACE,gBAAA,ChB2sFH,AgBzsFC,oJACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChB6sFH,AgB5sFG,sKACE,yBAAA,AACA,oBAAA,ChBgtFL,AgB7sFC,wIACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChBitFH,AgBptFC,+KAMI,cAAA,AACA,qBAAA,ChBmtFL,AgBhtFC,6MACE,mBAAA,ChBotFH,AgBntFG,yNACE,mBAAA,ChButFL,AgBptFC,oJACE,WAAA,AACA,qBAAA,ChBquFH,AavvFD,mKEsRE,mBAAA,AACA,4CAAA,AACA,mCAAA,AACA,sCAAA,AACA,SAAA,Cfu+ED,AajwFD,mCGzDE,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ACKA,wBAAA,CjBozFD,AgBl0FC,yCAAO,UAAA,ChBs0FR,Aa1xFD,2CGjCI,sBAAA,AACA,aAAA,ChB+zFH,AgB7zFC,uJACE,qBAAA,AACA,wBAAA,ChBo0FH,AgBl0FC,qDACE,aAAA,ChBq0FH,AgBt0FC,0HAGI,aAAA,ChBy0FL,AgBv0FG,iEACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChB00FL,AgBp0FC,iDACE,gBAAA,ChBu0FH,AgBr0FC,mDACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChBw0FH,AgBv0FG,+DACE,yBAAA,AACA,oBAAA,ChB00FL,AgBv0FC,2CACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChB00FH,AgB70FC,qEAMI,cAAA,AACA,qBAAA,ChB20FL,AgBx0FC,yFACE,mBAAA,ChB20FH,AgB10FG,iGACE,mBAAA,ChB60FL,AgB10FC,mDACE,WAAA,AACA,qBAAA,ChB01FH,Aa52FD,eEmSI,eAAA,Cf4kFH,Aa/2FD,wCEwSE,SAAA,Cf2kFD,Aan3FD,4CGzDE,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ACKA,wBAAA,CjBs6FD,AgBp7FC,kDAAO,UAAA,ChBw7FR,Aa54FD,oDGjCI,sBAAA,AACA,aAAA,ChBi7FH,AgB/6FC,kLACE,qBAAA,AACA,wBAAA,ChBs7FH,AgBp7FC,8DACE,aAAA,ChBu7FH,AgBx7FC,4IAGI,aAAA,ChB27FL,AgBz7FG,0EACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChB47FL,AgBt7FC,0DACE,gBAAA,ChBy7FH,AgBv7FC,4DACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChB07FH,AgBz7FG,wEACE,yBAAA,AACA,oBAAA,ChB47FL,AgBz7FC,oDACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChB47FH,AgB/7FC,8EAMI,cAAA,AACA,qBAAA,ChB67FL,AgB17FC,kGACE,mBAAA,ChB67FH,AgB57FG,0GACE,mBAAA,ChB+7FL,AgB57FC,4DACE,WAAA,AACA,qBAAA,ChB48FH,Aa99FD,oDE4SM,wBAAA,AACA,iBAAA,CfsrFL,Aan+FD,iBEkTE,kBAAA,CforFD,Aat+FD,4DEoTI,iBAAA,AACA,UAAA,CfsrFH,Aa3+FD,wIEuTM,cAAA,AACA,eAAA,AACA,eAAA,Cf0rFL,AezrFK,oPACE,gBAAA,Cf8rFP,Ae3rFG,4EACE,yBAAA,Cf8rFL,Ae7rFK,oFACE,6BAAA,CfgsFP,Ae7rFG,0EACE,yBAAA,CfgsFL,Ae/rFK,kFACE,6BAAA,CfksFP,Ae9rFC,2BACE,gBAAA,CfgsFH,AgBpsFC,uBACE,WAAA,AACA,cAAA,AACA,UAAA,ChBssFH,AajhGD,8DEmVI,SAAA,CfksFH,AarhGD,kEGzDE,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ACKA,yBAAA,AFoXI,iBAAA,CfqtFL,AgBvlGC,wEAAO,UAAA,ChB2lGR,Aa/iGD,0EGjCI,sBAAA,AACA,aAAA,ChBolGH,AgBllGC,oPACE,qBAAA,AACA,wBAAA,ChBylGH,AgBvlGC,oFACE,aAAA,ChB0lGH,AgB3lGC,wLAGI,aAAA,ChB8lGL,AgB5lGG,gGACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChB+lGL,AgBzlGC,gFACE,gBAAA,ChB4lGH,AgB1lGC,kFACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChB6lGH,AgB5lGG,8FACE,yBAAA,AACA,oBAAA,ChB+lGL,AgB5lGC,0EACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChB+lGH,AgBlmGC,oGAMI,cAAA,AACA,qBAAA,ChBgmGL,AgB7lGC,wHACE,mBAAA,ChBgmGH,AgB/lGG,gIACE,mBAAA,ChBkmGL,AgB/lGC,kFACE,WAAA,AACA,qBAAA,ChB+mGH,AajoGD,0CE2VI,aAAA,AACA,eAAA,CfyyFH,AetyFC,qBACE,gBAAA,CfwyFH,AaxoGD,mBEoWE,iBAAA,AACA,kBAAA,CfuyFD,Aa5oGD,sCEyWE,YAAA,AACA,gBAAA,CfuyFD,AajpGD,0CE4WI,mBAAA,AACA,gBAAA,AACA,kBAAA,CfyyFH,AavpGD,sIGzDE,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ACKA,yBAAA,AFgZE,oBAAA,AACA,mBAAA,AACA,eAAA,Cf6zFH,AgB7tGC,kJAAO,UAAA,ChBmuGR,AavrGD,sJGjCI,sBAAA,AACA,aAAA,ChB8tGH,AgB5tGC,8eACE,qBAAA,AACA,wBAAA,ChByuGH,AgBvuGC,0KACE,aAAA,ChB4uGH,AgB7uGC,oXAGI,aAAA,ChBovGL,AgBlvGG,kMACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChBuvGL,AgBjvGC,kKACE,gBAAA,ChBsvGH,AgBpvGC,sKACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChByvGH,AgBxvGG,8LACE,yBAAA,AACA,oBAAA,ChB6vGL,AgB1vGC,sJACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChB+vGH,AgBlwGC,0MAMI,cAAA,AACA,qBAAA,ChBkwGL,AgB/vGC,kPACE,mBAAA,ChBowGH,AgBnwGG,kQACE,mBAAA,ChBwwGL,AgBrwGC,sKACE,WAAA,AACA,qBAAA,ChBuxGH,AazyGD,4CEuXI,SAAA,Cfs7FH,Aa7yGD,gDEyXM,iBAAA,Cfw7FL,AajzGD,sFE6XI,iBAAA,Cfw7FH,AarzGD,0DEgYI,gBAAA,Cfy7FH,AazzGD,gEGgKI,cAAA,AACA,UAAA,AAAY,QAAA,ChB8pGf,Aa/zGD,oEGqKM,cAAA,AACA,YAAA,AACA,aAAA,AACA,SAAA,AACA,gBAAA,AACA,kBAAA,AACA,gBAAA,AAAkB,uBAAA,AAClB,gBAAA,AACA,6BAAA,AACA,aAAA,ChB+pGL,Aa70GD,4EGgLQ,wBAAA,AACA,iBAAA,ChBiqGP,AgB/pGK,sFACE,uBAAA,ChBkqGP,AgBjqGO,kGACE,WAAA,ChBoqGT,Aa11GD,kFG0LQ,kBAAA,AACA,QAAA,AACA,gBAAA,AACA,QAAA,ChBoqGP,AgB9pGG,4EACE,yBAAA,AACA,UAAA,ChBiqGL,AgBnqGG,gFAII,UAAA,ChBmqGP,Aa12GD,kGG4MM,oBAAA,ChBkqGL,AgBhqGG,oFACE,6BAAA,AACA,aAAA,ChBmqGL,AgBhqGC,gGAGM,mBAAA,AACA,sBAAA,AACA,UAAA,ChBiqGP,AgBtqGC,wHAQM,mBAAA,AACA,sBAAA,AACA,UAAA,ChBsqGP,Aan4GD,6BEwYE,iBAAA,Cf8/FD,Aat4GD,wFE0YI,gBAAA,AACA,UAAA,CfggGH,Aa34GD,wBGzDE,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,sBAAA,AACA,kBAAA,AACA,qBAAA,AACA,4CAAA,AACA,2EAAA,ACkHA,eAAA,CjByuGD,AgBz1GC,oCACE,qBAAA,AACA,yEAAA,AACA,cAAA,ChB41GH,AgB11GC,sCACE,kBAAA,AACA,UAAA,ChB61GH,Aa36GD,6DEuZE,oBAAA,CfyhGD,Aah7GD,gCE2ZE,cAAA,AACA,SAAA,CfwhGD,Aap7GD,uBE2ZE,cAAA,AACA,SAAA,CfwhGD,Aap7GD,2BE2ZE,cAAA,AACA,SAAA,CfwhGD,Aap7GD,kBE2ZE,cAAA,AACA,SAAA,CfwhGD,Aap7GD,mBEoaE,kBAAA,AACA,kBAAA,AACA,4EAAA,AACA,UAAA,CfmhGD,Aa17GD,0BE2aE,oFAAA,CfkhGD,Aa77GD,sBK7DmB,YAAA,ClB6/GlB,Aah8GD,iCK5D8B,SAAA,AAAU,mBAAA,AAAoB,WAAA,AAAY,YAAA,AAAa,gBAAA,AAAiB,UAAA,AAAW,4BAAA,AAA8B,SAAA,ClBsgH9I,Aa18GD,qBK3DkB,SAAA,AAAU,UAAA,AAAW,SAAA,AAAU,UAAA,AAAW,gBAAA,AAAiB,qBAAA,AAAsB,eAAA,AAAgB,eAAA,ClB+gHlH,Aap9GD,6DK1DsD,WAAA,AAAY,cAAA,AAAe,wBAAA,ClBohHhF,Aa19GD,8BKzD2B,UAAA,ClBshH1B,Aa79GD,wBKxDqB,YAAA,ClByhHpB,Aaj+GD,oBKvDiB,WAAA,AAAY,YAAA,AAAa,MAAA,AAAO,OAAA,AAAQ,kBAAA,AAAmB,UAAA,AAAW,uBAAA,ClBiiHtF,Aa1+GD,cKtDW,YAAA,ClBmiHV,Aa7+GD,uBKnDoB,wBAAA,ClBmiHnB,Aah/GD,aKhDU,cAAA,AAAe,qBAAA,AAAsB,gBAAA,AAAiB,2BAAA,ClBsiH/D,Aat/GD,uBK7CoB,eAAA,AAAgB,MAAA,AAAO,OAAA,AAAQ,WAAA,AAAY,WAAA,ClB0iH9D,Aa7/GD,uBK5CoB,qBAAA,AAAyB,WAAA,AAAY,wBAAA,ClB8iHxD,AalgHD,sBK3CmB,qBAAA,AAAsB,YAAA,AAAa,qBAAA,AAAyB,WAAA,AAAY,yBAAA,AAA0B,iBAAA,ClBqjHpH,Aa1gHD,mBKzCiB,iBAAA,ClBsjHhB,Aa7gHD,eGzDE,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ACKA,wBAAA,CjB+jHD,AgB7kHC,kBAAO,UAAA,ChBglHR,AapiHD,mBGjCI,sBAAA,AACA,aAAA,ChBwkHH,AgBtkHC,oEACE,qBAAA,AACA,wBAAA,ChB0kHH,AgBxkHC,wBACE,aAAA,ChB0kHH,AgB3kHC,wDAGI,aAAA,ChB4kHL,AgB1kHG,8BACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChB4kHL,AgBtkHC,sBACE,gBAAA,ChBwkHH,AgBtkHC,uBACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChBwkHH,AgBvkHG,6BACE,yBAAA,AACA,oBAAA,ChBykHL,AgBtkHC,mBACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChBwkHH,AgB3kHC,gCAMI,cAAA,AACA,qBAAA,ChBwkHL,AgBrkHC,0CACE,mBAAA,ChBukHH,AgBtkHG,8CACE,mBAAA,ChBwkHL,AgBrkHC,uBACE,WAAA,AACA,qBAAA,ChBolHH,AatmHD,uDKnCI,UAAA,ClB6oHH,AkB3oHC,4CACa,aAAA,ClB6oHd,AkB9oHC,mDAEoB,YAAA,ClB+oHrB,AkB7oHC,kCFIE,aAAA,ChB4oHH,AkBhpHC,4EFMI,aAAA,ChB8oHL,AgB5oHG,wCACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChB8oHL,AkBzpHC,6FFMI,aAAA,ChBupHL,AkBvpHC,+BFNE,qBAAA,AACA,wBAAA,ChBgqHH,AapoHD,kBGoCE,iBAAA,AACA,sBAAA,AACA,WAAA,ChBmmHD,AazoHD,6BGwCI,iBAAA,AACA,iBAAA,AACA,eAAA,ChBomHH,AgBnmHG,4CACE,yBAAA,ChBqmHL,AgBnmHG,6CACE,yBAAA,ChBqmHL,AappHD,eGqIE,oBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,8BAAA,AACA,cAAA,AACA,sBAAA,AExJA,kBAAA,AACA,gBAAA,AACA,YAAA,AACA,UAAA,AACA,cAAA,AACA,YAAA,ClB0qHD,AanqHD,mCGkJE,kBAAA,AAAoB,sBAAA,AAEpB,cAAA,AAIA,wBAAA,AACA,YAAA,AACA,gBAAA,AACA,gBAAA,AC0HA,WAAA,ACxRE,eAAA,ClBirHH,Aa9qHD,4CGsJI,aAAA,ChB2hHH,AajrHD,4CIuRI,UAAA,CjB65GH,AaprHD,oDKAM,WAAA,AAAa,uBAAA,ClBwrHlB,AaxrHD,6DKGM,kBAAA,AACA,WAAA,AACA,QAAA,AACA,WAAA,AACA,iBAAA,AACA,YAAA,AACA,YAAA,AACA,eAAA,AACA,cAAA,AACA,4BAAA,AAEA,eAAA,ClBurHL,AkBtrHK,+EACE,WAAA,ClBwrHP,AaxsHD,sEKoBQ,kBAAA,AACA,QAAA,AACA,gBAAA,AACA,SAAA,AACA,gBAAA,ClBurHP,AkBprHK,iGACE,cAAA,AACA,mBAAA,AACA,aAAA,AACA,sBAAA,ClBsrHP,AartHD,kCKoCI,SAAA,AAAW,iBAAA,AAAmB,gBAAA,AAAkB,OAAA,AAChD,iBAAA,AACA,iBAAA,ClBurHH,Aa7tHD,wDKwCM,gBAAA,ClBwrHL,AahuHD,qCK4CI,WAAA,AACA,YAAA,AACA,iBAAA,AACA,kBAAA,AAAoB,MAAA,ClBwrHvB,AavuHD,qCKkDI,kBAAA,AACA,sBAAA,AACA,gBAAA,AACA,YAAA,AACA,cAAA,ClBwrHH,AkBtrHC,+CACE,uBAAA,ClBwrHH,AkBtrHC,+CACE,uBAAA,ClBwrHH,AkBtrHC,6CACE,uBAAA,ClBwrHH,AkBtrHC,uDACE,UAAA,AACA,gBAAA,ClBwrHH,AkBtrHC,mKACE,aAAA,ClB0rHH,AkBxrHC,kDAAuC,YAAA,ClB2rHxC,AkBvrHC,mDACE,wBAAA,ClB0rHH,AavwHD,aKmFE,6BAAA,AACA,UAAA,AACA,SAAA,AACA,cAAA,AACA,mBAAA,ClBurHD,Aa9wHD,2BKyFI,kBAAA,AACA,SAAA,AAAa,yBAAA,AACb,eAAA,AACA,YAAA,ClByrHH,AarxHD,qBKmGE,MAAA,AACA,OAAA,AACA,eAAA,AFsIA,kBAAA,AACA,aAAA,AAEA,iBAAA,AACA,kBAAA,AAEA,uBAAA,AACA,oBAAA,AAEA,iCAAA,AACA,8BAAA,AACA,sBAAA,AAEA,iBAAA,AACA,cAAA,AACA,eAAA,AACA,eAAA,AACA,mBAAA,AEpJA,eAAA,AACA,eAAA,AACA,SAAA,AAAW,SAAA,ClBksHZ,AgB/iHC,oCAAmB,OAAA,ChBkjHpB,AgBjjHC,qCAAoB,QAAA,ChBojHrB,AgBnjHC,wHACE,gBAAA,ChBujHH,AgBrjHC,uIACE,eAAA,ChB0jHH,Aa7zHD,wBGsQI,iBAAA,AACA,6BAAA,AACA,eAAA,ChB0jHH,AgBxjHC,uCACE,aAAA,ChB0jHH,Aar0HD,sCG8QI,iBAAA,AAAoC,QAAA,ChB2jHvC,Aaz0HD,mCK4GI,cAAA,AACA,aAAA,AAAgB,SAAA,AAChB,eAAA,ClBiuHH,AkBhuHG,qGACE,yBAAA,AACA,UAAA,ClBmuHL,AkBruHG,yGAII,UAAA,ClBquHP,Aax1HD,0BK2HI,eAAA,ClBguHH,Aa31HD,gCGsRE,SAAA,AACA,gCAAA,AC/PA,yBAAA,AC6GE,kBAAA,ClB4tHH,AgBzhHC,sCACE,WAAA,AACA,cAAA,AACA,UAAA,ChB2hHH,Aat2HD,mCG0RI,WAAA,AACA,qBAAA,AACA,mBAAA,AACA,cAAA,AACA,iBAAA,ChB+kHH,Aa72HD,qCGgSM,cAAA,AACA,iBAAA,AACA,kBAAA,AACA,0BAAA,AAWE,yBAAA,AACA,wBAAA,ChBskHP,Aar3HD,2CGmTM,wBAAA,ChBqkHL,Aax3HD,qDGuTI,6BAAA,AACA,uBAAA,AACA,gBAAA,AAME,6BAAA,AACA,aAAA,ChB+jHL,Aa/3HD,4CKwII,eAAA,ClB0vHH,AkBzvHG,6DACE,SAAA,ClB2vHL,Aar4HD,6CGoRI,yBAAA,AAEF,SAAA,AACA,gCAAA,AC/PA,yBAAA,AAGE,gBAAA,AACA,4BAAA,CjBi3HH,AgBrkHC,mDACE,WAAA,AACA,cAAA,AACA,UAAA,ChBukHH,Aal5HD,gDG0RI,WAAA,AACA,qBAAA,AACA,mBAAA,AACA,cAAA,AACA,iBAAA,ChB2nHH,Aaz5HD,kDGgSM,cAAA,AACA,iBAAA,AACA,kBAAA,AACA,0BAAA,AAEE,yBAAA,AACA,WAAA,AACA,YAAA,AACA,eAAA,ChB2nHP,AgB1nHO,wDACE,wBAAA,ChB4nHT,Aat6HD,wDGmTM,wBAAA,ChBsnHL,Aaz6HD,kEGuTI,6BAAA,AACA,uBAAA,AACA,gBAAA,AAEE,sBAAA,AACA,aAAA,ChBonHL,Aah7HD,kDI+BI,4BAAA,CjBo5HH,AiBn5HG,wDACE,yBAAA,AACA,+BAAA,CjBq5HL,Aav7HD,kEIwCM,6BAAA,AACA,WAAA,AACA,4BAAA,CjBk5HL,Aa57HD,2BKwJE,kBAAA,AACA,YAAA,ClBuyHD,Aah8HD,8BK2JI,SAAA,AACA,UAAA,AACA,gBAAA,AACA,UAAA,ClBwyHH,Aat8HD,iCKgKM,WAAA,AACA,qBAAA,AACA,iBAAA,AACA,SAAA,AACA,gBAAA,ClByyHL,AkBxyHK,iDACE,yBAAA,AACA,gBAAA,AACA,yBAAA,ClB0yHP,AkB7yHK,mDAKI,aAAA,ClB2yHT,Aar9HD,0CKgLI,gBAAA,AACA,yBAAA,AACA,iBAAA,AACA,cAAA,AACA,aAAA,ClBwyHH,AkBvyHG,2DACE,SAAA,ClByyHL,Aa/9HD,gBGqIE,oBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,8BAAA,AACA,cAAA,AACA,sBAAA,AACA,UAAA,AACA,gBAAA,AE+CA,gBAAA,AACA,aAAA,AACA,YAAA,ClB8yHD,Aa7+HD,gBKmME,cAAA,AACA,cAAA,AAAoD,UAAA,AACpD,iBAAA,ClB8yHD,Aan/HD,mCKkNI,yBAAA,ClBoyHH,AkB7yHG,4HAEE,wBAAA,AACA,QAAA,ClB+yHL,AkB7yHG,8CACE,QAAA,AACA,QAAA,ClB+yHL,Aa//HD,kCKqNI,SAAA,AACA,iBAAA,AAEA,6BAAA,AACA,+BAAA,ClB4yHH,AargID,mCK4NI,YAAA,AACA,WAAA,AACA,mBAAA,AACA,UAAA,AAAY,SAAA,AACZ,kBAAA,AACA,QAAA,AACA,gBAAA,AACA,cAAA,ClB6yHH,AahhID,4CKqOM,YAAA,ClB8yHL,AanhID,+BKyOI,MAAA,AACA,mBAAA,AACA,uBAAA,ClB6yHH,AaxhID,qDK6OM,wBAAA,AACA,gBAAA,AACA,eAAA,ClB8yHL,Aa7hID,iCKmPI,SAAA,AACA,gBAAA,AACA,qBAAA,ClB6yHH,AaliID,uDKuPM,wBAAA,AACA,gBAAA,AACA,eAAA,ClB8yHL,AaviID,aK+PE,wBAAA,AACA,8CAAA,AACA,cAAA,AACA,WAAA,AAAa,YAAA,AACb,eAAA,AAEA,sBAAA,AACA,aAAA,AACA,iBAAA,ClB2yHD,AaljID,+BK0QE,eAAA,ClB2yHD,AarjID,sCK8QE,WAAA,ClB0yHD,AaxjID,iDKiRE,sBAAA,AACA,iBAAA,ClB2yHD,Aa7jID,6BASI,SAAA,AACA,UAAA,AACA,qBAAA,CbyjIH,AapkID,aAeI,gBAAA,CbwjIH,AavkID,QAmBI,qBAAA,AACA,iBAAA,CbujIH,Aa3kID,aAwBI,kBAAA,AACA,eAAA,CbsjIH,Aa/kID,uHGzDE,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,sBAAA,AACA,kBAAA,AACA,qBAAA,AACA,4CAAA,AACA,2EAAA,ACkHA,gBAAA,AJxJI,QAAA,CbwkIL,AgBhiIC,+IACE,qBAAA,AACA,yEAAA,AACA,cAAA,ChBqiIH,AgBniIC,mJACE,kBAAA,AACA,UAAA,ChBwiIH,AarlIK,sSACE,wBAAA,Cb8lIP,AahoID,4BAsCM,aAAA,Cb6lIL,AgBhjIC,uEA8PD,4BA7PG,iBAAA,ChBmjID,AgBtzHF,mCA3PK,wBAAA,AACA,qBAAA,AAOA,mBAAA,AAvJJ,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAuJI,6BAAA,AACA,+BAAA,ChBgjIH,AgBzjIG,+CACE,YAAA,ChB2jIL,AgBhjIC,kCA/JF,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ACKA,yBAAA,ADsII,SAAA,AAEA,kBAAA,AACA,MAAA,AACA,QAAA,AACA,SAAA,AACA,iBAAA,AACA,WAAA,AACA,eAAA,AACA,yBAAA,AACA,4BAAA,AAOA,wBAAA,AACA,gBAAA,AACA,gBAAA,AAGA,mBAAA,ChB8jIH,AgBxuID,qCAAO,UAAA,ChB2uIN,AgBzlIC,sCAvIA,sBAAA,AACA,aAAA,ChBmuID,AgBjuID,6HACE,qBAAA,AACA,wBAAA,ChBquID,AgBnuID,2CACE,aAAA,ChBquID,AgBtuID,8FAGI,aAAA,ChBuuIH,AgBruIC,iDACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChBuuIH,AgBjuID,yCACE,gBAAA,ChBmuID,AgBjuID,0CACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChBmuID,AgBluIC,gDACE,yBAAA,AACA,oBAAA,ChBouIH,AgBjuID,sCACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChBmuID,AgBtuID,mDAMI,cAAA,AACA,qBAAA,ChBmuIH,AgBhuID,6DACE,mBAAA,ChBkuID,AgBjuIC,iEACE,mBAAA,ChBmuIH,AgBhuID,0CACE,WAAA,AACA,qBAAA,ChB+uID,CACF,AalwID,8BA0CM,WAAA,AAGA,qBAAA,AACA,mBAAA,AACA,eAAA,AACA,qBAAA,CbytIL,AazwID,8DAmDQ,mBAAA,AACA,SAAA,AACA,eAAA,AACA,0BAAA,AACA,4BAAA,CbytIP,AahxID,oDA4DQ,mBAAA,AACA,eAAA,AACA,cAAA,AACA,yBAAA,AACA,2BAAA,CbutIP,AavxID,oEAmEU,aAAA,CbutIT,AaptIO,wEG/HN,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AH6HQ,WAAA,Cb0tIT,AalyID,gBA+EI,cAAA,AACA,UAAA,CbstIH,AatyID,eAoFI,YAAA,AACA,eAAA,AACA,mBAAA,AACA,gBAAA,AACA,uBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,CbqtIH,AaltIG,6BChFF,mBAAA,AACA,wBAAA,AACA,cAAA,AACA,kBAAA,AACA,QAAA,AACA,UAAA,AACA,qBAAA,AD4EI,YAAA,AACA,iBAAA,AACA,cAAA,AACA,gBAAA,AACA,cAAA,AACA,kBAAA,AACA,gBAAA,Cb0tIL,Aah0ID,eA4GI,UAAA,AACA,UAAA,CbutIH,Aap0ID,2CA8GqB,UAAA,Cb0tIpB,Aax0ID,8CAkHI,SAAA,CbytIH,Aa30ID,eAsHI,SAAA,AAAW,WAAA,AAAa,YAAA,AAAc,YAAA,Cb2tIzC,Aaj1ID,wBAyHI,aAAA,Cb2tIH,Aap1ID,6DA6HI,WAAA,AACA,aAAA,Cb4tIH,Aa11ID,aAkII,cAAA,AACA,UAAA,Cb4tIH,Aa1tIG,oBAEE,sBAAA,AACA,WAAA,Cb4tIL,Aap2ID,mBA6II,aAAA,AACA,cAAA,AACA,UAAA,Cb0tIH,Aaz2ID,0BAkJI,aAAA,Cb0tIH,Aa52ID,yBAqJI,aAAA,Cb0tIH,Aa/2ID,qBAyJI,2BAAA,AACA,WAAA,AACA,kBAAA,AACA,YAAA,CbytIH,Aar3ID,qBA+JI,2BAAA,AACA,WAAA,AACA,kBAAA,AACA,QAAA,AACA,YAAA,CbytIH,Aa53ID,oBAwKI,gBAAA,AACA,mBAAA,AACA,iBAAA,CbytIH,Aan4ID,qBA8KI,YAAA,AACA,aAAA,CbytIH,Aax4ID,iEAqLI,iBAAA,CbutIH,Aa54ID,cAyLI,yBAAA,AAEA,gCAAA,AACA,cAAA,AACA,cAAA,AACA,qBAAA,AACA,YAAA,AACA,yBAAA,CbqtIH,Aar5ID,oBAqMI,cAAA,AACA,eAAA,CbmtIH,Aaz5ID,qBA0MI,cAAA,AACA,cAAA,AACA,sBAAA,AACA,gBAAA,AACA,cAAA,AACA,gCAAA,AACA,gBAAA,AACA,iBAAA,AAEA,iBAAA,CbitIH,Aap6ID,2CAsNI,iBAAA,CbitIH,Aav6ID,qBA0NI,eAAA,AACA,cAAA,AACA,WAAA,AACA,sBAAA,AACA,iBAAA,CbgtIH,Aa96ID,aAkOI,iBAAA,Cb+sIH,Aaj7ID,oBAqOI,eAAA,Cb+sIH,Aap7ID,gBAwOI,WAAA,AACA,YAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,AACA,yBAAA,AACA,UAAA,AACA,QAAA,Cb+sIH,Aa97ID,oBAmPI,kBAAA,AACA,WAAA,AACA,QAAA,Cb8sIH,Aan8ID,gBA0PI,WAAA,Cb6sIH,Aav8ID,yBA6PI,cAAA,AACA,QAAA,Cb6sIH,Aa38ID,wBAyQI,eAAA,CbssIH,Aa/8ID,6DA8QI,eAAA,CbqsIH,Aan9ID,6CAiRI,eAAA,CbqsIH,Aat9ID,eA0RI,iBAAA,Cb+rIH,Aaz9ID,4BA8RI,kBAAA,Cb8rIH,Aa59ID,4CAkSI,cAAA,AACA,sBAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,6BAAA,AACA,4BAAA,AACA,gBAAA,AACA,mBAAA,Cb6rIH,Aa3rIG,oGGrWF,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,sBAAA,AACA,kBAAA,AACA,qBAAA,AACA,4CAAA,AACA,2EAAA,ACkHA,gBAAA,AJwHI,cAAA,AACA,sBAAA,AACA,YAAA,AACA,SAAA,AACA,gBAAA,CbotIL,AgBh8IC,gHACE,qBAAA,AACA,yEAAA,AACA,cAAA,ChBm8IH,AgBj8IC,kHACE,kBAAA,AACA,UAAA,ChBo8IH,AalhJD,4BAiUI,kBAAA,AG1XF,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,sBAAA,AACA,kBAAA,AACA,qBAAA,AACA,4CAAA,AACA,2EAAA,ACkHA,gBAAA,AJ4IE,SAAA,AAGA,UAAA,AAEA,OAAA,AACA,MAAA,AAEA,WAAA,AACA,YAAA,AAIA,6BAAA,AACA,+BAAA,Cb8tIH,AgBx+IC,kCACE,qBAAA,AACA,yEAAA,AACA,cAAA,ChB0+IH,AgBx+IC,mCACE,kBAAA,AACA,UAAA,ChB0+IH,AaruIG,mCG5YF,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ACKA,yBAAA,AJoXI,wBAAA,AACA,gBAAA,AACA,gBAAA,AAGA,+CAAA,AACA,mCAAA,AACA,sCAAA,AAEA,kBAAA,AACA,SAAA,AACA,WAAA,AACA,YAAA,AACA,iBAAA,AACA,WAAA,AACA,cAAA,AACA,QAAA,CbovIL,AgBtoJC,sCAAO,UAAA,ChByoJR,Aa1wIG,uCGpXA,sBAAA,AACA,aAAA,ChBioJH,AgB/nJC,gIACE,qBAAA,AACA,wBAAA,ChBmoJH,AgBjoJC,4CACE,aAAA,ChBmoJH,AgBpoJC,gGAGI,aAAA,ChBqoJL,AgBnoJG,kDACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChBqoJL,AgB/nJC,0CACE,gBAAA,ChBioJH,AgB/nJC,2CACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChBioJH,AgBhoJG,iDACE,yBAAA,AACA,oBAAA,ChBkoJL,AgB/nJC,uCACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChBioJH,AgBpoJC,oDAMI,cAAA,AACA,qBAAA,ChBioJL,AgB9nJC,8DACE,mBAAA,ChBgoJH,AgB/nJG,kEACE,mBAAA,ChBioJL,AgB9nJC,2CACE,WAAA,AACA,qBAAA,ChB6oJH,Aa/pJD,kCA4WI,YAAA,CbuzIH,AarzIG,qDACE,mBAAA,AACA,cAAA,AACA,iBAAA,CbuzIL,AajzIG,4DCzWF,mBAAA,AACA,wBAAA,AACA,cAAA,AACA,kBAAA,AACA,QAAA,AACA,UAAA,AACA,oBAAA,Cd6pJD,AapzIG,oEACE,eAAA,CbuzIL,AarzIG,4DACE,eAAA,AACA,kBAAA,AACA,eAAA,CbwzIL,AanzIG,sEACE,gBAAA,AACA,gBAAA,AACA,eAAA,AACA,SAAA,CbyzIL,AavzIG,8DACE,gBAAA,AACA,gBAAA,AACA,eAAA,AACA,UAAA,Cb4zIL,Aa9sJD,2BAuZI,WAAA,AACA,QAAA,Cb0zIH,AaltJD,6CA2ZM,6BAAA,AACA,+BAAA,Cb0zIL,AattJD,mHAkaM,sBAAA,AACA,eAAA,AACA,OAAA,CbwzIL,Aa5tJD,sBAyaI,0BAAA,AACA,WAAA,CbszIH,AahuJD,gGA8aI,YAAA,AACA,mBAAA,AACA,sBAAA,AACA,oBAAA,AACA,gBAAA,AACA,aAAA,CbyzIH,Aa5uJD,mCAubI,iBAAA,CbyzIH,AahvJD,aA+bI,QAAA,AACA,WAAA,AG3TF,oBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,8BAAA,AACA,cAAA,AACA,sBAAA,AACA,UAAA,AACA,gBAAA,AHoTE,eAAA,AACA,WAAA,Cb4zIH,Aa/vJD,6BAscM,aAAA,AACA,WAAA,Cb4zIL,AanwJD,2FA0cM,WAAA,Cb8zIL,AaxwJD,kFA6cM,iBAAA,AACA,cAAA,AACA,WAAA,AACA,WAAA,Cbg0IL,AahxJD,8BAodM,eAAA,Cb+zIL,AanxJD,4BAwdM,aAAA,AACA,UAAA,Cb8zIL,AavxJD,4BA6dM,aAAA,AACA,WAAA,AACA,mBAAA,Cb6zIL,Aa5xJD,wBAmeM,YAAA,AACA,uBAAA,Cb4zIL,AahyJD,6BAweM,eAAA,AACA,oBAAA,Cb2zIL,AapyJD,uBA6eM,eAAA,Cb0zIL,AavyJD,yBA+eQ,gBAAA,Cb2zIP,AahzID,SACE,gBAAA,CbqzID,AatzID,qEAII,aAAA,AAAe,eAAA,CbwzIlB,Aa5zID,4BAQI,WAAA,CbuzIH,Aa/zID,sCAUM,eAAA,CbwzIL,AanzIC,yBAscF,uCApcM,YAAA,CbqzIH,Aaj3HH,8CAjciB,cAAA,CbqzId,Aap3HH,qDAhcwB,YAAA,CbuzIrB,CACF,Aa70ID,sBA0BI,UAAA,CbszIH,Aah1ID,uBA8BI,WAAA,CbqzIH,Aan1ID,uBAiCI,oBAAA,CbqzIH,Aa7yID,wCAGI,YAAA,AACA,eAAA,CbqzIH,AazzID,gCAQI,eAAA,CbozIH,Aa5zID,+CAUM,SAAA,AACA,gBAAA,AACA,kBAAA,AACA,WAAA,CbqzIL,Aal0ID,6CAiBM,gBAAA,AACA,iBAAA,CbozIL,Aat0ID,gDAqBQ,mBAAA,AACA,gBAAA,Cbu0IP,Aa71ID,kDAyBU,WAAA,AACA,cAAA,Cbu0IT,Aaj2ID,+CAkDM,SAAA,AAAW,aAAA,AACX,kBAAA,AACA,SAAA,AACA,OAAA,AACA,QAAA,AACA,YAAA,AACA,qBAAA,CbmzIL,Aa32ID,8BA8DI,oBAAA,CbgzIH,Aa92ID,yBAiEI,YAAA,AACA,aAAA,AACA,gBAAA,AACA,uBAAA,AACA,YAAA,AACA,oBAAA,CbgzIH,Aat3ID,6CA4EM,YAAA,AACA,YAAA,AACA,kBAAA,AACA,MAAA,AAAQ,SAAA,AACR,UAAA,AAAY,UAAA,Cb+yIjB,Aa/3ID,8BAqFI,iBAAA,Cb6yIH,Aal4ID,8CAwFM,aAAA,AACA,kBAAA,AACA,YAAA,AACA,UAAA,AACA,YAAA,Cb6yIL,Aaz4ID,8EAgGM,wBAAA,AACA,YAAA,Cb6yIL,Aa94ID,oCAwGI,2BAAA,AACA,WAAA,AACA,iBAAA,CbyyIH,Aan5ID,oDA6GM,aAAA,CbyyIL,Aat5ID,2CAiHM,wBAAA,CbwyIL,Aaz5ID,+CAsHQ,wBAAA,CbsyIP,Aa55ID,yBA4HI,YAAA,CbmyIH,Aa/5ID,0BAgII,eAAA,CbkyIH,Aal6ID,wFAsII,UAAA,CbgyIH,Aat6ID,yCCveE,iBAAA,Cdg5JD,Ac94JC,+CACE,WAAA,AAEA,kBAAA,AACA,kBAAA,AACA,WAAA,AACA,SAAA,AAAW,YAAA,AAEX,UAAA,AACA,WAAA,AACA,eAAA,AACA,mBAAA,AACA,0BAAA,AACA,0BAAA,Cd+4JH,Ac74JC,4DACE,cAAA,AACA,mBAAA,AAEA,wBAAA,AACA,sBAAA,AACA,uBAAA,AACA,0BAAA,AACA,oDAAA,Cd84JH,Ac54JC,qDACE,cAAA,AACA,mBAAA,AACA,kBAAA,AACA,oBAAA,AACA,mBAAA,AACA,qBAAA,Cd84JH,Ac34JC,qGAEE,iBAAA,Cd64JH,Ac14JC,sDACE,UAAA,Cd44JH,Acz4JC,+CACE,UAAA,Cd24JH,Aal9ID,0BA8II,YAAA,AACA,gBAAA,Cb80IH,Aal0IG,kEACE,UAAA,Cbo0IL,Aaj0IG,wECprBF,mBAAA,AACA,wBAAA,AACA,cAAA,AACA,kBAAA,AACA,QAAA,AACA,UAAA,AACA,oBAAA,Cdw/JD,Aat0IG,kTAIE,YAAA,AACA,cAAA,AACA,WAAA,AACA,eAAA,AACA,iBAAA,AACA,WAAA,AACA,UAAA,AACA,YAAA,AAEA,MAAA,AACA,OAAA,AACA,sBAAA,Cbu0IL,Aap0IG,wJAEE,eAAA,Cbu0IL,Aap0IG,0JAEE,eAAA,Cbu0IL,Aan0IG,yJG5xBF,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,sBAAA,AACA,kBAAA,AACA,qBAAA,AACA,4CAAA,AACA,2EAAA,ACkHA,gBAAA,AJgjBI,WAAA,AACA,gBAAA,AACA,gBAAA,AACA,iBAAA,AACA,wBAAA,AAEA,YAAA,AACA,iBAAA,AAEA,SAAA,Cbm1IL,AgB5/JC,qKACE,qBAAA,AACA,yEAAA,AACA,cAAA,ChB+/JH,AgB7/JC,uKACE,kBAAA,AACA,UAAA,ChBggKH,Aa51IG,wEACE,iBAAA,AACA,iBAAA,Cb81IL,Aa51IG,iFACE,iBAAA,AACA,iBAAA,Cb81IL,Aa11IG,yJGrzBF,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ACKA,yBAAA,AJ8xBI,gBAAA,AACA,gBAAA,AACA,iBAAA,AAEA,YAAA,AACA,iBAAA,AACA,UAAA,AACA,SAAA,Cb22IL,AgB9pKC,+JAAO,UAAA,ChBkqKR,Aa13IG,iKG7xBA,sBAAA,AACA,aAAA,ChB2pKH,AgBzpKC,yfACE,qBAAA,AACA,wBAAA,ChBgqKH,AgB9pKC,2KACE,aAAA,ChBiqKH,AgBlqKC,sWAGI,aAAA,ChBqqKL,AgBnqKG,uLACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChBsqKL,AgBhqKC,uKACE,gBAAA,ChBmqKH,AgBjqKC,yKACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChBoqKH,AgBnqKG,qLACE,yBAAA,AACA,oBAAA,ChBsqKL,AgBnqKC,iKACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChBsqKH,AgBzqKC,2LAMI,cAAA,AACA,qBAAA,ChBuqKL,AgBpqKC,+MACE,mBAAA,ChBuqKH,AgBtqKG,uNACE,mBAAA,ChByqKL,AgBtqKC,yKACE,WAAA,AACA,qBAAA,ChBsrKH,AarqJD,wFA2O6C,YAAA,Cb87I5C,AazqJD,wGA+O2D,YAAA,Cb87I1D,Aa7qJD,gHAgPmE,YAAA,Cbi8IlE,AajrJD,sGAoP2C,YAAA,Cbi8I1C,AarrJD,6CAqPkB,YAAA,Cbm8IjB,AaxrJD,kDAuPM,cAAA,Cbo8IL,Aa3rJD,iCA4PI,YAAA,Cbk8IH,Aa9rJD,mCAgQI,WAAA,Cbi8IH,AajsJD,kCCrhBE,mBAAA,AACA,wBAAA,AACA,cAAA,AACA,kBAAA,AACA,QAAA,AACA,UAAA,AACA,qBAAA,ADoxBE,gBAAA,AACA,eAAA,AACA,SAAA,Cbs8IH,Aa7sJD,yBA4QI,aAAA,Cbo8IH,Aaj8ID,4DACE,iBAAA,Cbm8ID,Aa57ID,mBACE,YAAA,Cbi8ID,Aa97ID,sBACE,GAAK,WAAA,Cbi8IJ,Aah8ID,KAAO,MAAA,Cbm8IN,CACF,Aal8ID,qBACE,GAAK,MAAA,Cbq8IJ,Aap8ID,KAAO,WAAA,Cbu8IN,CACF,Aar8ID,kBAEI,iBAAA,Cbs8IH,Aax8ID,kDAKI,WAAA,Cbu8IH,Aap8ID,UACE,YAAA,AACA,kBAAA,AACA,MAAA,AACA,YAAA,AACA,OAAA,AACA,uCAAA,AACA,gBAAA,AACA,sBAAA,AACA,yBAAA,Cbs8ID,Aa/8ID,iBAYI,YAAA,AACA,kBAAA,AACA,eAAA,AACA,WAAA,AACA,aAAA,Cbs8IH,Aap8IG,wBACE,mBAAA,AACA,eAAA,AACA,wBAAA,AACA,gBAAA,AACA,kBAAA,AACA,MAAA,AACA,QAAA,AACA,WAAA,AACA,WAAA,Cbs8IL,Aaj+ID,gBAgCI,sBAAA,AACA,kBAAA,AACA,WAAA,AACA,WAAA,Cbo8IH,Aav+ID,sBAsCI,YAAA,AACA,aAAA,Cbo8IH,Aa/7ID,iBACE,YAAA,AACA,qCAAA,Cbi8ID,Aa97ID,eACE,YAAA,Cbg8ID,Aaj8ID,8BAII,SAAA,Cbg8IH,Aap8ID,oCAOI,sCAAA,Cbg8IH,Aav8ID,8BAUI,cAAA,AACA,aAAA,AAEA,kBAAA,AACA,uCAAA,AACA,yBAAA,AACA,sBAAA,Cb+7IH,Aav7ID,oFAEI,aAAA,AAAe,eAAA,Cb87IlB,Aa17ID,+BACE,iBAAA,AACA,kBAAA,AACA,kBAAA,AACA,SAAA,AACA,QAAA,AACA,OAAA,AACA,WAAA,Cb47ID,Aaz7ID,+BACE,kBAAA,AACA,SAAA,AACA,YAAA,AACA,OAAA,AACA,QAAA,AACA,sBAAA,AACA,8BAAA,Cb27ID,Aax7ID,wBAEE,SAAA,AACA,sBAAA,AACA,cAAA,AAEA,WAAA,AACA,YAAA,AACA,cAAA,AACA,qBAAA,AACA,kBAAA,Cbw7ID,Aap7ID,gCACE,aAAA,AAEA,WAAA,AACA,YAAA,AACA,mBAAA,Cbq7ID,Aal7ID,8BACE,aAAA,AAEA,WAAA,AACA,YAAA,AACA,mBAAA,Cbm7ID,AmB37KD,6EAAA,OACA,sGACA,iBAAA,CACA,AACA,sGACA,eAAA,CACA,CACA,CAAA,ACdA,0BACE,iBAAA,CpBs9KD,AoBj9KD,4CACE,iBAAA,AAEA,aAAA,AACA,oBAAA,aAAA,AACA,qBAAA,uBAAA,AACA,sBAAA,mBAAA,AACA,iBAAA,AAEA,+BAAA,AACA,mBAAA,AACA,qDAAA,AACA,iBAAA,CpBk9KD,AoB/8KD,kDACE,iCAAA,AAEA,kBAAA,AACA,gBAAA,AACA,qBAAA,AACA,mGAAA,CpBg9KD,AoB58KD,8DNmJE,oGAAA,AACA,eAAA,AACA,+BAAA,AA7EA,gBAAA,AAEA,gCAAA,AACA,kBAAA,AACA,iBAAA,AACA,kBAAA,AAEA,8DAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,oCAAA,AACA,4BAAA,AACA,YAAA,AACA,YAAA,AACA,0BAAA,AAGA,WAAA,AACA,oBAAA,AMzFA,YAAA,AACA,YAAA,CpBg+KD,AoB79KD,iBACI,GAAK,WAAA,AAAa,YAAA,AAAc,UAAA,CpBk+KjC,AoBj+KD,KAAO,WAAA,AAAa,YAAA,AAAc,SAAA,CpBs+KjC,CACF,AoBr+KD,mBACI,GAAK,yBAAA,AAA2B,SAAA,CpBy+KjC,AoBx+KD,KAAO,qBAAA,AAA2B,SAAA,CpB4+KjC,CACF,AoB3+KD,oBACI,GAAK,iBAAA,AAAmB,iBAAA,AAAmB,SAAA,CpBg/K5C,AoB/+KD,KAAO,cAAA,AAAgB,eAAA,AAAiB,SAAA,CpBo/KvC,CACF,AoBn/KD,sCACE,iCAAA,CpBq/KD,AoBn/KD,4CACE,WAAA,AACA,kBAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,aAAA,AACA,sBAAA,AACA,kCAAA,AACA,WAAA,AACA,UAAA,CpBq/KD,AoBl/KD,6BACE,kBAAA,AAGA,cAAA,AACA,UAAA,CpBo/KD,AoBj/KC,gENyGA,oGAAA,AACA,eAAA,AACA,+BAAA,AA7EA,gBAAA,AAEA,gCAAA,AACA,kBAAA,AACA,iBAAA,AACA,kBAAA,AAEA,8DAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,oCAAA,AACA,4BAAA,AACA,YAAA,AACA,YAAA,AACA,0BAAA,AAGA,WAAA,AACA,oBAAA,AM/CE,iBAAA,AACA,YAAA,AACA,UAAA,AACA,YAAA,CpBqgLH,AoBngLC,mFACE,oCAAA,AACA,cAAA,CpBqgLH,AoBhgLD,kFNuCE,iBAAA,Cd49KD,Ac19KC,2GACE,WAAA,AAEA,kBAAA,AACA,kBAAA,AACA,WAAA,AACA,SAAA,AAAW,YAAA,AAEX,WAAA,AACA,YAAA,AACA,eAAA,AACA,mBAAA,AACA,0BAAA,AACA,0BAAA,Cd29KH,Acz9KC,oHACE,cAAA,AACA,mBAAA,AAEA,wBAAA,AACA,uBAAA,AACA,wBAAA,AACA,0BAAA,AACA,oDAAA,Cd09KH,Acx9KC,iHACE,cAAA,AACA,mBAAA,AACA,kBAAA,AACA,oBAAA,AACA,mBAAA,AACA,qBAAA,Cd09KH,Acv9KC,mLAEE,iBAAA,Cdy9KH,Act9KC,2FACE,UAAA,Cdw9KH,Acr9KC,wFACE,UAAA,Cdu9KH,AoBxiLD,4dNuFE,oGAAA,AACA,eAAA,AACA,+BAAA,AA7EA,gBAAA,AAEA,gCAAA,AACA,kBAAA,AACA,iBAAA,AACA,kBAAA,AAEA,8DAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,oCAAA,AACA,4BAAA,AACA,YAAA,AACA,YAAA,AACA,0BAAA,AAGA,WAAA,AACA,mBAAA,CdgiLD,AoBzjLD,uJACE,aAAA,AACA,QAAA,CpB2jLD,AoBxjLD,4DAEE,iBAAA,CpByjLD,AoBtjLD,uCAEE,kBAAA,CpBujLD,AoBpjLD,mFAEE,UAAA,CpBsjLD,AoBpjLD,8FAEE,SAAA,CpBsjLD,AoBnjLD,sBJhHE,gBAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAMA,yBAAA,AACA,6BAAA,AACA,WAAA,AAEA,kBAAA,AAGA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AAEA,gBAAA,ACKA,yBAAA,AGwFA,qBAAA,AACA,kBAAA,AACA,WAAA,AACA,YAAA,AAEA,eAAA,AACA,YAAA,AACA,mBAAA,AACA,SAAA,AACA,gBAAA,AAEA,2BAAA,AAEA,cAAA,CpB+jLD,AgBlrLC,yBAAO,UAAA,ChBqrLR,AoBllLD,0BJxFI,sBAAA,AACA,aAAA,ChB6qLH,AgB3qLC,yFACE,qBAAA,AACA,wBAAA,ChB+qLH,AgB7qLC,+BACE,aAAA,ChB+qLH,AgBhrLC,sEAGI,aAAA,ChBirLL,AgB/qLG,qCACE,yBAAA,AACA,6BAAA,AACA,aAAA,ChBirLL,AgB3qLC,6BACE,gBAAA,ChB6qLH,AgB3qLC,8BACE,WAAA,AACA,yBAAA,AACA,oBAAA,ChB6qLH,AgB5qLG,oCACE,yBAAA,AACA,oBAAA,ChB8qLL,AgB3qLC,0BACE,gBAAA,AACA,oBAAA,AACA,oBAAA,ChB6qLH,AgBhrLC,uCAMI,cAAA,AACA,qBAAA,ChB6qLL,AgB1qLC,iDACE,mBAAA,ChB4qLH,AgB3qLG,qDACE,mBAAA,ChB6qLL,AgB1qLC,8BACE,WAAA,AACA,qBAAA,ChByrLH,AoBppLD,uCAmBI,gBAAA,CpBooLH,AoBjoLD,4BACE,wBAAA,CpBmoLD,AoBjoLD,oCACE,WAAA,AACA,iBAAA,AACA,WAAA,CpBmoLD,AoBjoLD,0EAEE,WAAA,AACA,eAAA,CpBmoLD,AoBhoLD,uEAEE,YAAA,AACA,eAAA,CpBkoLD,AoB/nLD,oCACE,iBAAA,CpBioLD,AoB9nLD,0BAEE,kBAAA,AACA,WAAA,AACA,kBAAA,AACA,YAAA,AACA,WAAA,AACA,eAAA,CpB+nLD,AoB7nLD,6CAEE,kBAAA,CpB8nLD,AoB3nLD,qCAGI,2BAAA,CpB2nLH,AoB9nLD,2CAOI,2BAAA,CpB0nLH,AoBjoLD,gDAWI,iBAAA,CpBynLH,AoBpnLD,uCACE,kBAAA,AACA,kBAAA,AACA,MAAA,AACA,QAAA,AACA,YAAA,AACA,oGAAA,AACA,eAAA,AACA,sCAAA,AACA,WAAA,CpBsnLD,AoBnnLD,6CACE,kBAAA,CpBqnLD,AoBlnLD,gCACE,WAAA,AACA,eAAA,CpBonLD,AoBjnLD,uBACE,kBAAA,AAEA,kBAAA,AACA,SAAA,AACA,UAAA,AACA,OAAA,AACA,QAAA,AACA,WAAA,AACA,WAAA,AACA,iBAAA,CpBonLD,AoB/mLD,mBACE,mCAAA,2BAAA,AACA,sBAAA,CpBinLD,AoB9mLD,4CACE,kBAAA,AACA,MAAA,AACA,QAAA,CpBknLD,AoB/mLD,2BAGI,wBAAA,CpB+mLH,AoBlnLD,sCAOI,qBAAA,CpB8mLH,AoBxmLG,2FACE,qBAAA,AACA,cAAA,CpB2mLL,AoBvmLG,qHACE,cAAA,CpB2mLL,AoBrmLD,gCAEI,YAAA,CpBsmLH,AoBxmLD,0FNhJE,iBAAA,Cd2vLD,AczvLC,gGACE,WAAA,AAEA,kBAAA,AACA,kBAAA,AACA,WAAA,AACA,SAAA,AAAW,YAAA,AAEX,UAAA,AACA,WAAA,AACA,eAAA,AACA,mBAAA,AACA,0BAAA,AACA,0BAAA,Cd0vLH,AcxvLC,6GACE,cAAA,AACA,mBAAA,AAEA,0BAAA,AACA,sBAAA,AACA,uBAAA,AACA,0BAAA,AACA,oDAAA,CdyvLH,AcvvLC,sGACE,cAAA,AACA,mBAAA,AACA,kBAAA,AACA,oBAAA,AACA,mBAAA,AACA,qBAAA,CdyvLH,ActvLC,uMAEE,iBAAA,CdwvLH,AcrvLC,uGACE,UAAA,CduvLH,AcpvLC,gGACE,UAAA,CdsvLH,AoBppLD,wFNhJE,iBAAA,CduyLD,AcryLC,+GACE,WAAA,AAEA,kBAAA,AACA,kBAAA,AACA,WAAA,AACA,SAAA,AAAW,YAAA,AAEX,UAAA,AACA,WAAA,AACA,eAAA,AACA,mBAAA,AACA,0BAAA,AACA,0BAAA,CdsyLH,AcpyLC,4HACE,cAAA,AACA,mBAAA,AAEA,0BAAA,AACA,sBAAA,AACA,uBAAA,AACA,0BAAA,AACA,oDAAA,CdqyLH,AcnyLC,qHACE,cAAA,AACA,mBAAA,AACA,kBAAA,AACA,oBAAA,AACA,mBAAA,AACA,qBAAA,CdqyLH,AclyLC,mMAEE,iBAAA,CdoyLH,AcjyLC,qGACE,UAAA,CdmyLH,AchyLC,8FACE,UAAA,CdkyLH,AoBhsLD,4BAeI,2BAAA,AACA,gBAAA,AACA,sCAAA,AAEA,YAAA,AACA,kBAAA,AACA,QAAA,AACA,SAAA,AACA,SAAA,CpBorLH,AoBhrLD,gCACE,kBAAA,AACA,cAAA,AACA,gBAAA,AACA,gBAAA,AACA,wBAAA,AACA,2BAAA,CpBkrLD,AoBhrLC,yBAoFF,gCAnFI,eAAA,CpBmrLD,CACF,AoBlrLC,yBAiFF,gCAhFI,eAAA,CpBqrLD,CACF,AoBnrLG,yBA6EJ,kDA5EM,eAAA,CpBsrLH,CACF,AoBrrLG,yBA0EJ,kDAzEM,eAAA,CpBwrLH,CACF,AoBvrLG,yBACE,iHACE,YAAA,CpB0rLL,CACF,AoBnrLC,yBAEE,6EACE,WAAA,AACA,cAAA,AACA,kBAAA,AACA,MAAA,AACA,OAAA,AACA,WAAA,AACA,SAAA,AACA,4lBAAA,AAkCA,0BAAA,AACA,qCAAA,AACA,SAAA,CpBopLH,AoBlpLC,sCACE,UAAA,AACA,QAAA,AACA,gCAAA,CpBopLH,CACF,AoB9oLD,0CACE,0BAAA,CpBgpLD,AqB9gMD,2BACE,YAAA,AACA,6BAAA,AACA,8BAAA,AACA,iCAAA,AACA,8BAAA,AACA,eAAA,CrBuhMD,AqB7hMD,gIASI,wBAAA,AACA,eAAA,CrB0hMH,AqBpiMD,oWAeM,aAAA,CrB+hML,AqB9iMD,oZAkBM,WAAA,AACA,gBAAA,AACA,OAAA,CrBsiML,AqBriMK,ocACE,aAAA,CrB8iMP,AqBpkMD,wGA2BI,qBAAA,CrB+iMH,AqB1kMD,wdA+BM,kBAAA,CrBqjML,AqBplMD,6EAmCI,sBAAA,AACA,kBAAA,CrBqjMH,AqBzlMD,6DAuCI,4BAAA,CrByjMH,AqBhmMD,6GAyCM,yBAAA,AACA,kBAAA,CrB2jML,AqBrmMD,6GA6CM,qBAAA,CrB4jML,AqBzmMD,wMAgDM,yBAAA,AACA,aAAA,CrB+jML,AqB9jMK,ogBACE,aAAA,CrBukMP,AqB1nMD,6IAuDM,wBAAA,CrBukML,AqB9nMD,yIA0DM,2BAAA,CrBwkML,AqBloMD,uEAiEI,4BAAA,CrBqkMH,AqBtoMD,mGAmEM,wBAAA,CrBukML,AqBtkMK,gPACE,yBAAA,CrB2kMP,AqBhpMD,ibAwEQ,yBAAA,AACA,aAAA,CrBglMP,AqBzpMD,yiBA4EU,sBAAA,AACA,cAAA,AACA,wBAAA,CrBqlMT,AqBplMS,mlBACE,aAAA,CrB2lMX,AqB3qMD,gIAuFI,4BAAA,CrB0lMH,AqBjrMD,yVA4FI,6BAAA,AACA,iBAAA,AACA,wBAAA,CrBimMH,AqB/rMD,8zBAgGM,aAAA,CrBqnML,AqBrtMD,idAmGM,wBAAA,CrB8nML,AqBjuMD,wGAuGI,gBAAA,CrBgoMH,AqBvuMD,sKA0GI,cAAA,CrBuoMH,AqBloMD,6BACE,wBAAA,CrBqoMD,AqBloMD,+CACE,uCAAA,AACA,kCAAA,CrBqoMD,AqBloMD,uBL0EE,oBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,8BAAA,AACA,cAAA,AACA,sBAAA,AACA,UAAA,AACA,eAAA,ChB2jMD,AclrMD,0CACI,GAAK,yBAAA,CdqrMN,AcprMA,IAAM,oBAAA,CdurMN,ActrMA,IAAM,oBAAA,CdyrMN,AcxrMD,KAAO,yBAAA,Cd2rMN,CACF,AczrMD,6BACE,GAAK,SAAA,Cd4rMJ,Ac3rMD,KAAO,UAAA,Cd8rMN,CACF,AcrmMD,KACE,yBAAA,AACA,SAAA,AACA,eAAA,Cd4mMD,Ac1mMD,6BACE,oBAAA,AACA,kBAAA,AACA,cAAA,Cd+mMD,Ac5mMD,EACE,yBAAA,sBAAA,qBAAA,gBAAA,Cd8mMD,Ac5mMD,qEAME,yBAAA,sBAAA,qBAAA,gBAAA,Cd6mMD,AczmMD,gBACE,WAAA,AACA,mBAAA,AACA,0BAAA,AACA,WAAA,Cd2mMD,AcvmMD,gCACE,iDAAA,AACA,wBAAA,CdymMD,AclmMD,MACE,kBAAA,AACA,MAAA,AACA,SAAA,AACA,OAAA,AACA,QAAA,AACA,eAAA,CdumMD,AcpmMD,gBACE,OAAA,AACA,QAAA,AACA,eAAA,CdsmMD,AcnmMD,yBACE,eAAA,CdsmMD,AcnmMD,SACE,sBAAA,AACA,yBAAA,AACA,sBAAA,AACA,kBAAA,AACA,MAAA,AACA,OAAA,AACA,QAAA,AACA,WAAA,CdqmMD,AclmMD,cACE,mCAAA,2BAAA,AACA,aAAA,AACA,OAAA,AACA,YAAA,AACA,qCAAA,CdomMD,AclmMD,2BACE,aAAA,CdomMD,AclmMD,mDAEE,UAAA,CdomMD,AcjmMD,cACE,mCAAA,2BAAA,AACA,aAAA,AACA,QAAA,AACA,YAAA,AAEA,eAAA,CdkmMD,AchmMD,gCACE,aAAA,CdkmMD,AchmMD,kCACE,WAAA,CdkmMD,Ac/lMD,4FAIE,WAAA,AACA,cAAA,AACA,kBAAA,AACA,SAAA,AACA,YAAA,AACA,wCAAA,AACA,OAAA,AACA,QAAA,AACA,MAAA,AACA,WAAA,CdimMD,Ac/lMD,sBACE,SAAA,AACA,YAAA,CdimMD,Ac/lMD,wBACE,SAAA,CdimMD,Ac/lMD,uBACE,SAAA,AACA,YAAA,CdimMD,Ac/lMD,mBACE,kBAAA,AACA,SAAA,AACA,OAAA,AACA,QAAA,AACA,SAAA,AACA,gBAAA,AAEA,oCAAA,CdgmMD,ActlMC,+BAEE,WAAA,AACA,YAAA,AACA,kBAAA,AACA,sBAAA,AAEA,YAAA,AACA,SAAA,AACA,wBAAA,AACA,4BAAA,AACA,2BAAA,AACA,6BAAA,Cd0lMH,ActmMC,mCAcI,SAAA,Cd2lML,AcvlMD,uBACE,aAAA,CdylMD,AcvlMD,4CACE,gBAAA,AACA,gBAAA,CdylMD,AcrlMD,2BACE,YAAA,CdulMD,AcplMD,gBACE,gBAAA,AACA,iBAAA,AACA,kBAAA,AACA,mBAAA,AACA,UAAA,CdslMD,AcplMD,4BAjME,oGAAA,AACA,eAAA,AACA,+BAAA,AAiMA,eAAA,CdwlMD,ActlMD,mFAEI,sBAAA,CdwlMH,AcrlMD,sBACE,YAAA,CdulMD,AcrlMD,gCACE,aAAA,CdulMD,AcllMD,eACE,kBAAA,AAEA,WAAA,AACA,MAAA,AACA,OAAA,AACA,SAAA,AACA,QAAA,AACA,aAAA,CdqlMD,AcllMD,yBACE,gBAAA,AACA,iBAAA,AACA,mBAAA,CdolMD,Ac7kMD,iBEnNE,oBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,8BAAA,AACA,cAAA,AACA,sBAAA,AACA,UAAA,AACA,gBAAA,AF9BA,oGAAA,AACA,eAAA,AACA,+BAAA,AA4OA,eAAA,AAEA,eAAA,AACA,YAAA,AACA,kBAAA,AACA,aAAA,AACA,gBAAA,AACA,uBAAA,CdqlMD,AcllMD,6BACE,cAAA,AACA,2BAAA,AACA,WAAA,AACA,YAAA,AACA,gBAAA,AACA,UAAA,AACA,4BAAA,AACA,SAAA,CdolMD,AchlMD,kCACE,gBAAA,AACA,oBAAA,CdklMD,Ac9kMC,mBACI,GAAK,iCAAA,CdilMR,AchlME,IAAM,uCAAA,CdmlMR,AcllMC,KAAO,mCAAA,CdqlMR,CACF,Ac1lMD,oCAQI,oCAAA,CdqlMH,AcjlMD,kBACI,GAAK,SAAA,CdolMN,AcnlMA,IAAM,SAAA,CdslMN,AcrlMD,KAAO,SAAA,CdwlMN,CACF,AcvlMD,qBACE,qCAAA,AACA,YAAA,AACA,SAAA,CdylMD,ActlMD,mCAEI,kBAAA,AAAoB,UAAA,AAAY,WAAA,CdylMnC,Ac3lMD,2CAKI,eAAA,CdylMH,Ac9lMD,oCAQI,gBAAA,AACA,kBAAA,AAAoB,UAAA,AAAY,WAAA,Cd2lMnC,AcpmMD,0CAYI,sBAAA,AAAwB,iBAAA,Cd4lM3B,AcxmMD,+BAeI,YAAA,Cd4lMH,Ac3mMD,+BAkBI,kBAAA,AAAoB,OAAA,AAAS,QAAA,AAAU,UAAA,Cd+lM1C,AcjnMD,qDAqBI,wBAAA,Cd+lMH,AcpnMD,8CAwBI,wBAAA,CdgmMH,AcxnMD,gCA4BI,eAAA,AACA,eAAA,Cd+lMH,Ac5nMD,qCAgCI,iBAAA,Cd+lMH,Ac/nMD,iDAmCI,UAAA,AACA,aAAA,Cd+lMH,AcnoMD,uCAuCI,YAAA,Cd+lMH,ActoMD,sCA4CI,iBAAA,Cd6lMH,AczoMD,qCA+CI,kBAAA,Cd6lMH,Ac5oMD,wCAkDI,aAAA,AAAsC,oBAAA,AACtC,sBAAA,mBAAA,AAAqB,2BAAA,AAErB,qBAAA,uBAAA,AACA,kBAAA,AACA,cAAA,AACA,cAAA,CdgmMH,AcxpMD,4CA0DY,UAAA,CdimMX,AsB/mND,aACE,eAAA,CtBinND,AsB/mND,eACE,yBAAA,AACA,oBAAA,CtBinND,AsB/mND,sCAEE,UAAA,CtBinND,AsB/mND,uBACE,WAAA,AACA,oBAAA,CtBinND,AsB/mND,oBACE,kBAAA,AACA,YAAA,AACA,UAAA,AACA,YAAA,AACA,eAAA,AACA,gBAAA,AACA,WAAA,AACA,iCAAA,AACA,yBAAA,AACA,WAAA,AACA,+DAAA,AACA,yBAAA,AACA,aAAA,CtBinND,AsB/mND,oDAEE,WAAA,AACA,qBAAA,AACA,eAAA,AACA,WAAA,AACA,+DAAA,AACA,wBAAA,CtBinND,AsB/mND,yBACE,WAAA,AACA,WAAA,AACA,UAAA,CtBinND,AsB5mND,0BACE,UAAA,AACA,eAAA,AACA,uBAAA,AACA,SAAA,AACA,uBAAA,CtBinND,AsB/mND,kBACE,MAAA,AACA,QAAA,AACA,UAAA,CtBinND,AsB/mND,qBACE,SAAA,AACA,QAAA,AACA,UAAA,CtBinND,AsB/mND,sBACE,MAAA,AACA,QAAA,AACA,UAAA,CtBinND,AsB/mND,yBACE,SAAA,AACA,QAAA,AACA,UAAA,CtBinND,AsB/mND,gBACE,SAAA,AACA,SAAA,CtBinND,AsB/mND,iBACE,SAAA,AACA,UAAA,CtBinND,AsB/mND,oBACE,WAAA,AACA,WAAA,CtBinND,AsB/mND,mBACE,YAAA,AACA,SAAA,CtBinND,AsB/mND,iBACE,eAAA,AACA,eAAA,AACA,mBAAA,CtBknND,AsB/mND,mBAGE,qBAAA,CtBinND,AsB/mND,qBACE,kBAAA,AACA,oBAAA,AACA,gBAAA,AACA,eAAA,AACA,4BAAA,AACA,YAAA,AAGA,kBAAA,AACA,gCAAA,AACA,4BAAA,AAGA,yBAAA,AACA,WAAA,AACA,WAAA,AACA,+DAAA,AACA,wBAAA,CtBinND,AsB/mND,yBACE,cAAA,AACA,4BAAA,AACA,qCAAA,CtBinND,AsB/mND,2BAGE,yBAAA,AACA,UAAA,AACA,gEAAA,AACA,0BAAA,AACA,cAAA,CtBinND,AsB/mND,6BACE,swBAAA,CtBinND,AsB/mND,8BACE,8yBAAA,CtBinND,AsB/mND,gCACE,kgBAAA,CtBinND,AsB/mND,gCACE,suBAAA,CtBinND,AsB/mND,+EAEE,YAAA,AACA,iBAAA,AACA,iBAAA,CtBinND,AsB/mND,uFAEE,UAAA,AACA,iBAAA,AACA,iBAAA,CtBinND,AsB/mND,OACE,wBAAA,CtBinND,AsB/mND,eACE,wBAAA,CtBinND,AsB/mND,aACE,wBAAA,CtBinND,AsB/mND,YACE,wBAAA,CtBinND,AsB/mND,eACE,wBAAA,CtBinND,AsB/mND,gBACE,kBAAA,AACA,OAAA,AACA,SAAA,AACA,WAAA,AACA,sBAAA,AACA,WAAA,AACA,+DAAA,AACA,wBAAA,CtBinND,AsB9mND,iCACE,qBACE,yBAAA,AACA,UAAA,CtBinND,AsB/mND,yBACE,wBAAA,CtBinND,AsB/mND,qCACE,YAAA,AACA,SAAA,CtBinND,AsB/mND,0CACE,WAAA,AACA,UAAA,CtBinND,CACF,AsB/mND,uDACE,qBACE,yBAAA,AACA,UAAA,CtBinND,AsB/mND,yBACE,wBAAA,CtBinND,AsB/mND,qCACE,YAAA,AACA,SAAA,CtBinND,AsB/mND,0CACE,WAAA,AACA,UAAA,CtBinND,CACF,AsB/mND,uDACE,qBACE,4BAAA,AACA,UAAA,CtBinND,AsB/mND,yBACE,2BAAA,CtBinND,CACF,AuB90ND,SACE,cAAA,AACA,YAAA,AACA,iBAAA,CvBq1ND,AuBn1ND,YACE,cAAA,AACA,YAAA,AACA,WAAA,CvBq1ND,AuBn1ND,gBACE,cAAA,AACA,wBAAA,AACA,YAAA,AACA,cAAA,CvBq1ND,AuBn1ND,uBACE,eAAA,CvBq1ND,AuBn1ND,sBACE,aAAA,AACA,eAAA,CvBq1ND,AuBn1ND,0BACE,YAAA,CvBq1ND,AuBn1ND,qBACE,UAAA,CvBq1ND,AuBn1ND,6BAEE,yBAAA,AACA,oBAAA,CvBs1ND,AuBn1ND,mCAEE,SAAA,AACA,gBAAA,AACA,gBAAA,AACA,gBAAA,AACA,gCAAA,CvBq1ND,AuBn1ND,mBACE,cAAA,AACA,wBAAA,AACA,YAAA,AACA,cAAA,CvBq1ND,AuBn1ND,+BAEE,YAAA,AACA,wBAAA,CvBq1ND,AuBn1ND,qCAEE,cAAA,AACA,cAAA,CvBq1ND,AuBn1ND,iBACE,eAAA,CvBq1ND,AuB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","file":"mosaico-material.min.css","sourcesContent":["/*!\n * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url('fa/fonts/fontawesome-webfont.eot?v=4.6.3');\n src: url('fa/fonts/fontawesome-webfont.eot?#iefix&v=4.6.3') format('embedded-opentype'), url('fa/fonts/fontawesome-webfont.woff2?v=4.6.3') format('woff2'), url('fa/fonts/fontawesome-webfont.woff?v=4.6.3') format('woff'), url('fa/fonts/fontawesome-webfont.ttf?v=4.6.3') format('truetype'), url('fa/fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: .3em;\n}\n.fa.fa-pull-right {\n margin-left: .3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: .3em;\n}\n.fa.pull-right {\n margin-left: .3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\f000\";\n}\n.fa-music:before {\n content: \"\\f001\";\n}\n.fa-search:before {\n content: \"\\f002\";\n}\n.fa-envelope-o:before {\n content: \"\\f003\";\n}\n.fa-heart:before {\n content: \"\\f004\";\n}\n.fa-star:before {\n content: \"\\f005\";\n}\n.fa-star-o:before {\n content: \"\\f006\";\n}\n.fa-user:before {\n content: \"\\f007\";\n}\n.fa-film:before {\n content: \"\\f008\";\n}\n.fa-th-large:before {\n content: \"\\f009\";\n}\n.fa-th:before {\n content: \"\\f00a\";\n}\n.fa-th-list:before {\n content: \"\\f00b\";\n}\n.fa-check:before {\n content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\f00d\";\n}\n.fa-search-plus:before {\n content: \"\\f00e\";\n}\n.fa-search-minus:before {\n content: \"\\f010\";\n}\n.fa-power-off:before {\n content: \"\\f011\";\n}\n.fa-signal:before {\n content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\f013\";\n}\n.fa-trash-o:before {\n content: \"\\f014\";\n}\n.fa-home:before {\n content: \"\\f015\";\n}\n.fa-file-o:before {\n content: \"\\f016\";\n}\n.fa-clock-o:before {\n content: \"\\f017\";\n}\n.fa-road:before {\n content: \"\\f018\";\n}\n.fa-download:before {\n content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n content: \"\\f01b\";\n}\n.fa-inbox:before {\n content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\f01e\";\n}\n.fa-refresh:before {\n content: \"\\f021\";\n}\n.fa-list-alt:before {\n content: \"\\f022\";\n}\n.fa-lock:before {\n content: \"\\f023\";\n}\n.fa-flag:before {\n content: \"\\f024\";\n}\n.fa-headphones:before {\n content: \"\\f025\";\n}\n.fa-volume-off:before {\n content: \"\\f026\";\n}\n.fa-volume-down:before {\n content: \"\\f027\";\n}\n.fa-volume-up:before {\n content: \"\\f028\";\n}\n.fa-qrcode:before {\n content: \"\\f029\";\n}\n.fa-barcode:before {\n content: \"\\f02a\";\n}\n.fa-tag:before {\n content: \"\\f02b\";\n}\n.fa-tags:before {\n content: \"\\f02c\";\n}\n.fa-book:before {\n content: \"\\f02d\";\n}\n.fa-bookmark:before {\n content: \"\\f02e\";\n}\n.fa-print:before {\n content: \"\\f02f\";\n}\n.fa-camera:before {\n content: \"\\f030\";\n}\n.fa-font:before {\n content: \"\\f031\";\n}\n.fa-bold:before {\n content: \"\\f032\";\n}\n.fa-italic:before {\n content: \"\\f033\";\n}\n.fa-text-height:before {\n content: \"\\f034\";\n}\n.fa-text-width:before {\n content: \"\\f035\";\n}\n.fa-align-left:before {\n content: \"\\f036\";\n}\n.fa-align-center:before {\n content: \"\\f037\";\n}\n.fa-align-right:before {\n content: \"\\f038\";\n}\n.fa-align-justify:before {\n content: \"\\f039\";\n}\n.fa-list:before {\n content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\f03b\";\n}\n.fa-indent:before {\n content: \"\\f03c\";\n}\n.fa-video-camera:before {\n content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\f03e\";\n}\n.fa-pencil:before {\n content: \"\\f040\";\n}\n.fa-map-marker:before {\n content: \"\\f041\";\n}\n.fa-adjust:before {\n content: \"\\f042\";\n}\n.fa-tint:before {\n content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\f044\";\n}\n.fa-share-square-o:before {\n content: \"\\f045\";\n}\n.fa-check-square-o:before {\n content: \"\\f046\";\n}\n.fa-arrows:before {\n content: \"\\f047\";\n}\n.fa-step-backward:before {\n content: \"\\f048\";\n}\n.fa-fast-backward:before {\n content: \"\\f049\";\n}\n.fa-backward:before {\n content: \"\\f04a\";\n}\n.fa-play:before {\n content: \"\\f04b\";\n}\n.fa-pause:before {\n content: \"\\f04c\";\n}\n.fa-stop:before {\n content: \"\\f04d\";\n}\n.fa-forward:before {\n content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n content: \"\\f050\";\n}\n.fa-step-forward:before {\n content: \"\\f051\";\n}\n.fa-eject:before {\n content: \"\\f052\";\n}\n.fa-chevron-left:before {\n content: \"\\f053\";\n}\n.fa-chevron-right:before {\n content: \"\\f054\";\n}\n.fa-plus-circle:before {\n content: \"\\f055\";\n}\n.fa-minus-circle:before {\n content: \"\\f056\";\n}\n.fa-times-circle:before {\n content: \"\\f057\";\n}\n.fa-check-circle:before {\n content: \"\\f058\";\n}\n.fa-question-circle:before {\n content: \"\\f059\";\n}\n.fa-info-circle:before {\n content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n content: \"\\f05d\";\n}\n.fa-ban:before {\n content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n content: \"\\f060\";\n}\n.fa-arrow-right:before {\n content: \"\\f061\";\n}\n.fa-arrow-up:before {\n content: \"\\f062\";\n}\n.fa-arrow-down:before {\n content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\f064\";\n}\n.fa-expand:before {\n content: \"\\f065\";\n}\n.fa-compress:before {\n content: \"\\f066\";\n}\n.fa-plus:before {\n content: \"\\f067\";\n}\n.fa-minus:before {\n content: \"\\f068\";\n}\n.fa-asterisk:before {\n content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n content: \"\\f06a\";\n}\n.fa-gift:before {\n content: \"\\f06b\";\n}\n.fa-leaf:before {\n content: \"\\f06c\";\n}\n.fa-fire:before {\n content: \"\\f06d\";\n}\n.fa-eye:before {\n content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\f071\";\n}\n.fa-plane:before {\n content: \"\\f072\";\n}\n.fa-calendar:before {\n content: \"\\f073\";\n}\n.fa-random:before {\n content: \"\\f074\";\n}\n.fa-comment:before {\n content: \"\\f075\";\n}\n.fa-magnet:before {\n content: \"\\f076\";\n}\n.fa-chevron-up:before {\n content: \"\\f077\";\n}\n.fa-chevron-down:before {\n content: \"\\f078\";\n}\n.fa-retweet:before {\n content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n content: \"\\f07a\";\n}\n.fa-folder:before {\n content: \"\\f07b\";\n}\n.fa-folder-open:before {\n content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\f080\";\n}\n.fa-twitter-square:before {\n content: \"\\f081\";\n}\n.fa-facebook-square:before {\n content: \"\\f082\";\n}\n.fa-camera-retro:before {\n content: \"\\f083\";\n}\n.fa-key:before {\n content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\f085\";\n}\n.fa-comments:before {\n content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n content: \"\\f088\";\n}\n.fa-star-half:before {\n content: \"\\f089\";\n}\n.fa-heart-o:before {\n content: \"\\f08a\";\n}\n.fa-sign-out:before {\n content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n content: \"\\f08d\";\n}\n.fa-external-link:before {\n content: \"\\f08e\";\n}\n.fa-sign-in:before {\n content: \"\\f090\";\n}\n.fa-trophy:before {\n content: \"\\f091\";\n}\n.fa-github-square:before {\n content: \"\\f092\";\n}\n.fa-upload:before {\n content: \"\\f093\";\n}\n.fa-lemon-o:before {\n content: \"\\f094\";\n}\n.fa-phone:before {\n content: \"\\f095\";\n}\n.fa-square-o:before {\n content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n content: \"\\f097\";\n}\n.fa-phone-square:before {\n content: \"\\f098\";\n}\n.fa-twitter:before {\n content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\f09a\";\n}\n.fa-github:before {\n content: \"\\f09b\";\n}\n.fa-unlock:before {\n content: \"\\f09c\";\n}\n.fa-credit-card:before {\n content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n content: \"\\f0a1\";\n}\n.fa-bell:before {\n content: \"\\f0f3\";\n}\n.fa-certificate:before {\n content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\";\n}\n.fa-globe:before {\n content: \"\\f0ac\";\n}\n.fa-wrench:before {\n content: \"\\f0ad\";\n}\n.fa-tasks:before {\n content: \"\\f0ae\";\n}\n.fa-filter:before {\n content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n content: \"\\f0c1\";\n}\n.fa-cloud:before {\n content: \"\\f0c2\";\n}\n.fa-flask:before {\n content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\f0c7\";\n}\n.fa-square:before {\n content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n content: \"\\f0cc\";\n}\n.fa-underline:before {\n content: \"\\f0cd\";\n}\n.fa-table:before {\n content: \"\\f0ce\";\n}\n.fa-magic:before {\n content: \"\\f0d0\";\n}\n.fa-truck:before {\n content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n content: \"\\f0d5\";\n}\n.fa-money:before {\n content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n content: \"\\f0da\";\n}\n.fa-columns:before {\n content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\f0de\";\n}\n.fa-envelope:before {\n content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n content: \"\\f0eb\";\n}\n.fa-exchange:before {\n content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n content: \"\\f0ee\";\n}\n.fa-user-md:before {\n content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n content: \"\\f0a2\";\n}\n.fa-coffee:before {\n content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n content: \"\\f0f6\";\n}\n.fa-building-o:before {\n content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n content: \"\\f0f9\";\n}\n.fa-medkit:before {\n content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n content: \"\\f0fb\";\n}\n.fa-beer:before {\n content: \"\\f0fc\";\n}\n.fa-h-square:before {\n content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n content: \"\\f103\";\n}\n.fa-angle-left:before {\n content: \"\\f104\";\n}\n.fa-angle-right:before {\n content: \"\\f105\";\n}\n.fa-angle-up:before {\n content: \"\\f106\";\n}\n.fa-angle-down:before {\n content: \"\\f107\";\n}\n.fa-desktop:before {\n content: \"\\f108\";\n}\n.fa-laptop:before {\n content: \"\\f109\";\n}\n.fa-tablet:before {\n content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\f10b\";\n}\n.fa-circle-o:before {\n content: \"\\f10c\";\n}\n.fa-quote-left:before {\n content: \"\\f10d\";\n}\n.fa-quote-right:before {\n content: \"\\f10e\";\n}\n.fa-spinner:before {\n content: \"\\f110\";\n}\n.fa-circle:before {\n content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\f112\";\n}\n.fa-github-alt:before {\n content: \"\\f113\";\n}\n.fa-folder-o:before {\n content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n content: \"\\f115\";\n}\n.fa-smile-o:before {\n content: \"\\f118\";\n}\n.fa-frown-o:before {\n content: \"\\f119\";\n}\n.fa-meh-o:before {\n content: \"\\f11a\";\n}\n.fa-gamepad:before {\n content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n content: \"\\f11c\";\n}\n.fa-flag-o:before {\n content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n content: \"\\f11e\";\n}\n.fa-terminal:before {\n content: \"\\f120\";\n}\n.fa-code:before {\n content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\f123\";\n}\n.fa-location-arrow:before {\n content: \"\\f124\";\n}\n.fa-crop:before {\n content: \"\\f125\";\n}\n.fa-code-fork:before {\n content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\f127\";\n}\n.fa-question:before {\n content: \"\\f128\";\n}\n.fa-info:before {\n content: \"\\f129\";\n}\n.fa-exclamation:before {\n content: \"\\f12a\";\n}\n.fa-superscript:before {\n content: \"\\f12b\";\n}\n.fa-subscript:before {\n content: \"\\f12c\";\n}\n.fa-eraser:before {\n content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n content: \"\\f12e\";\n}\n.fa-microphone:before {\n content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n content: \"\\f131\";\n}\n.fa-shield:before {\n content: \"\\f132\";\n}\n.fa-calendar-o:before {\n content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n content: \"\\f134\";\n}\n.fa-rocket:before {\n content: \"\\f135\";\n}\n.fa-maxcdn:before {\n content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n content: \"\\f13a\";\n}\n.fa-html5:before {\n content: \"\\f13b\";\n}\n.fa-css3:before {\n content: \"\\f13c\";\n}\n.fa-anchor:before {\n content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n content: \"\\f13e\";\n}\n.fa-bullseye:before {\n content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n content: \"\\f142\";\n}\n.fa-rss-square:before {\n content: \"\\f143\";\n}\n.fa-play-circle:before {\n content: \"\\f144\";\n}\n.fa-ticket:before {\n content: \"\\f145\";\n}\n.fa-minus-square:before {\n content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n content: \"\\f147\";\n}\n.fa-level-up:before {\n content: \"\\f148\";\n}\n.fa-level-down:before {\n content: \"\\f149\";\n}\n.fa-check-square:before {\n content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n content: \"\\f14c\";\n}\n.fa-share-square:before {\n content: \"\\f14d\";\n}\n.fa-compass:before {\n content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\f153\";\n}\n.fa-gbp:before {\n content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\f15a\";\n}\n.fa-file:before {\n content: \"\\f15b\";\n}\n.fa-file-text:before {\n content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n content: \"\\f165\";\n}\n.fa-youtube-square:before {\n content: \"\\f166\";\n}\n.fa-youtube:before {\n content: \"\\f167\";\n}\n.fa-xing:before {\n content: \"\\f168\";\n}\n.fa-xing-square:before {\n content: \"\\f169\";\n}\n.fa-youtube-play:before {\n content: \"\\f16a\";\n}\n.fa-dropbox:before {\n content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n content: \"\\f16c\";\n}\n.fa-instagram:before {\n content: \"\\f16d\";\n}\n.fa-flickr:before {\n content: \"\\f16e\";\n}\n.fa-adn:before {\n content: \"\\f170\";\n}\n.fa-bitbucket:before {\n content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n content: \"\\f172\";\n}\n.fa-tumblr:before {\n content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n content: \"\\f178\";\n}\n.fa-apple:before {\n content: \"\\f179\";\n}\n.fa-windows:before {\n content: \"\\f17a\";\n}\n.fa-android:before {\n content: \"\\f17b\";\n}\n.fa-linux:before {\n content: \"\\f17c\";\n}\n.fa-dribbble:before {\n content: \"\\f17d\";\n}\n.fa-skype:before {\n content: \"\\f17e\";\n}\n.fa-foursquare:before {\n content: \"\\f180\";\n}\n.fa-trello:before {\n content: \"\\f181\";\n}\n.fa-female:before {\n content: \"\\f182\";\n}\n.fa-male:before {\n content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\f184\";\n}\n.fa-sun-o:before {\n content: \"\\f185\";\n}\n.fa-moon-o:before {\n content: \"\\f186\";\n}\n.fa-archive:before {\n content: \"\\f187\";\n}\n.fa-bug:before {\n content: \"\\f188\";\n}\n.fa-vk:before {\n content: \"\\f189\";\n}\n.fa-weibo:before {\n content: \"\\f18a\";\n}\n.fa-renren:before {\n content: \"\\f18b\";\n}\n.fa-pagelines:before {\n content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n content: \"\\f192\";\n}\n.fa-wheelchair:before {\n content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n content: \"\\f197\";\n}\n.fa-slack:before {\n content: \"\\f198\";\n}\n.fa-envelope-square:before {\n content: \"\\f199\";\n}\n.fa-wordpress:before {\n content: \"\\f19a\";\n}\n.fa-openid:before {\n content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\f19d\";\n}\n.fa-yahoo:before {\n content: \"\\f19e\";\n}\n.fa-google:before {\n content: \"\\f1a0\";\n}\n.fa-reddit:before {\n content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n content: \"\\f1a4\";\n}\n.fa-delicious:before {\n content: \"\\f1a5\";\n}\n.fa-digg:before {\n content: \"\\f1a6\";\n}\n.fa-pied-piper-pp:before {\n content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\";\n}\n.fa-drupal:before {\n content: \"\\f1a9\";\n}\n.fa-joomla:before {\n content: \"\\f1aa\";\n}\n.fa-language:before {\n content: \"\\f1ab\";\n}\n.fa-fax:before {\n content: \"\\f1ac\";\n}\n.fa-building:before {\n content: \"\\f1ad\";\n}\n.fa-child:before {\n content: \"\\f1ae\";\n}\n.fa-paw:before {\n content: \"\\f1b0\";\n}\n.fa-spoon:before {\n content: \"\\f1b1\";\n}\n.fa-cube:before {\n content: \"\\f1b2\";\n}\n.fa-cubes:before {\n content: \"\\f1b3\";\n}\n.fa-behance:before {\n content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n content: \"\\f1b5\";\n}\n.fa-steam:before {\n content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n content: \"\\f1b7\";\n}\n.fa-recycle:before {\n content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\f1ba\";\n}\n.fa-tree:before {\n content: \"\\f1bb\";\n}\n.fa-spotify:before {\n content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n content: \"\\f1be\";\n}\n.fa-database:before {\n content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n content: \"\\f1c9\";\n}\n.fa-vine:before {\n content: \"\\f1ca\";\n}\n.fa-codepen:before {\n content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\f1d1\";\n}\n.fa-git-square:before {\n content: \"\\f1d2\";\n}\n.fa-git:before {\n content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n content: \"\\f1d5\";\n}\n.fa-qq:before {\n content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\f1d9\";\n}\n.fa-history:before {\n content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n content: \"\\f1db\";\n}\n.fa-header:before {\n content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n content: \"\\f1dd\";\n}\n.fa-sliders:before {\n content: \"\\f1de\";\n}\n.fa-share-alt:before {\n content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n content: \"\\f1e1\";\n}\n.fa-bomb:before {\n content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\f1e3\";\n}\n.fa-tty:before {\n content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n content: \"\\f1e5\";\n}\n.fa-plug:before {\n content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n content: \"\\f1e7\";\n}\n.fa-twitch:before {\n content: \"\\f1e8\";\n}\n.fa-yelp:before {\n content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n content: \"\\f1ea\";\n}\n.fa-wifi:before {\n content: \"\\f1eb\";\n}\n.fa-calculator:before {\n content: \"\\f1ec\";\n}\n.fa-paypal:before {\n content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n content: \"\\f1f7\";\n}\n.fa-trash:before {\n content: \"\\f1f8\";\n}\n.fa-copyright:before {\n content: \"\\f1f9\";\n}\n.fa-at:before {\n content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n content: \"\\f200\";\n}\n.fa-line-chart:before {\n content: \"\\f201\";\n}\n.fa-lastfm:before {\n content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n content: \"\\f203\";\n}\n.fa-toggle-off:before {\n content: \"\\f204\";\n}\n.fa-toggle-on:before {\n content: \"\\f205\";\n}\n.fa-bicycle:before {\n content: \"\\f206\";\n}\n.fa-bus:before {\n content: \"\\f207\";\n}\n.fa-ioxhost:before {\n content: \"\\f208\";\n}\n.fa-angellist:before {\n content: \"\\f209\";\n}\n.fa-cc:before {\n content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\f20b\";\n}\n.fa-meanpath:before {\n content: \"\\f20c\";\n}\n.fa-buysellads:before {\n content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n content: \"\\f20e\";\n}\n.fa-dashcube:before {\n content: \"\\f210\";\n}\n.fa-forumbee:before {\n content: \"\\f211\";\n}\n.fa-leanpub:before {\n content: \"\\f212\";\n}\n.fa-sellsy:before {\n content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n content: \"\\f215\";\n}\n.fa-skyatlas:before {\n content: \"\\f216\";\n}\n.fa-cart-plus:before {\n content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n content: \"\\f218\";\n}\n.fa-diamond:before {\n content: \"\\f219\";\n}\n.fa-ship:before {\n content: \"\\f21a\";\n}\n.fa-user-secret:before {\n content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n content: \"\\f21c\";\n}\n.fa-street-view:before {\n content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n content: \"\\f21e\";\n}\n.fa-venus:before {\n content: \"\\f221\";\n}\n.fa-mars:before {\n content: \"\\f222\";\n}\n.fa-mercury:before {\n content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n content: \"\\f225\";\n}\n.fa-venus-double:before {\n content: \"\\f226\";\n}\n.fa-mars-double:before {\n content: \"\\f227\";\n}\n.fa-venus-mars:before {\n content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n content: \"\\f22b\";\n}\n.fa-neuter:before {\n content: \"\\f22c\";\n}\n.fa-genderless:before {\n content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n content: \"\\f231\";\n}\n.fa-whatsapp:before {\n content: \"\\f232\";\n}\n.fa-server:before {\n content: \"\\f233\";\n}\n.fa-user-plus:before {\n content: \"\\f234\";\n}\n.fa-user-times:before {\n content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\f236\";\n}\n.fa-viacoin:before {\n content: \"\\f237\";\n}\n.fa-train:before {\n content: \"\\f238\";\n}\n.fa-subway:before {\n content: \"\\f239\";\n}\n.fa-medium:before {\n content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n content: \"\\f23c\";\n}\n.fa-opencart:before {\n content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery-full:before {\n content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n content: \"\\f245\";\n}\n.fa-i-cursor:before {\n content: \"\\f246\";\n}\n.fa-object-group:before {\n content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n content: \"\\f248\";\n}\n.fa-sticky-note:before {\n content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n content: \"\\f24c\";\n}\n.fa-clone:before {\n content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\f253\";\n}\n.fa-hourglass:before {\n content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n content: \"\\f25b\";\n}\n.fa-trademark:before {\n content: \"\\f25c\";\n}\n.fa-registered:before {\n content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n content: \"\\f25e\";\n}\n.fa-gg:before {\n content: \"\\f260\";\n}\n.fa-gg-circle:before {\n content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n content: \"\\f264\";\n}\n.fa-get-pocket:before {\n content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n content: \"\\f266\";\n}\n.fa-safari:before {\n content: \"\\f267\";\n}\n.fa-chrome:before {\n content: \"\\f268\";\n}\n.fa-firefox:before {\n content: \"\\f269\";\n}\n.fa-opera:before {\n content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n content: \"\\f26c\";\n}\n.fa-contao:before {\n content: \"\\f26d\";\n}\n.fa-500px:before {\n content: \"\\f26e\";\n}\n.fa-amazon:before {\n content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n content: \"\\f274\";\n}\n.fa-industry:before {\n content: \"\\f275\";\n}\n.fa-map-pin:before {\n content: \"\\f276\";\n}\n.fa-map-signs:before {\n content: \"\\f277\";\n}\n.fa-map-o:before {\n content: \"\\f278\";\n}\n.fa-map:before {\n content: \"\\f279\";\n}\n.fa-commenting:before {\n content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n content: \"\\f27b\";\n}\n.fa-houzz:before {\n content: \"\\f27c\";\n}\n.fa-vimeo:before {\n content: \"\\f27d\";\n}\n.fa-black-tie:before {\n content: \"\\f27e\";\n}\n.fa-fonticons:before {\n content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n content: \"\\f281\";\n}\n.fa-edge:before {\n content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n content: \"\\f283\";\n}\n.fa-codiepie:before {\n content: \"\\f284\";\n}\n.fa-modx:before {\n content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n content: \"\\f286\";\n}\n.fa-usb:before {\n content: \"\\f287\";\n}\n.fa-product-hunt:before {\n content: \"\\f288\";\n}\n.fa-mixcloud:before {\n content: \"\\f289\";\n}\n.fa-scribd:before {\n content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n content: \"\\f291\";\n}\n.fa-hashtag:before {\n content: \"\\f292\";\n}\n.fa-bluetooth:before {\n content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n content: \"\\f294\";\n}\n.fa-percent:before {\n content: \"\\f295\";\n}\n.fa-gitlab:before {\n content: \"\\f296\";\n}\n.fa-wpbeginner:before {\n content: \"\\f297\";\n}\n.fa-wpforms:before {\n content: \"\\f298\";\n}\n.fa-envira:before {\n content: \"\\f299\";\n}\n.fa-universal-access:before {\n content: \"\\f29a\";\n}\n.fa-wheelchair-alt:before {\n content: \"\\f29b\";\n}\n.fa-question-circle-o:before {\n content: \"\\f29c\";\n}\n.fa-blind:before {\n content: \"\\f29d\";\n}\n.fa-audio-description:before {\n content: \"\\f29e\";\n}\n.fa-volume-control-phone:before {\n content: \"\\f2a0\";\n}\n.fa-braille:before {\n content: \"\\f2a1\";\n}\n.fa-assistive-listening-systems:before {\n content: \"\\f2a2\";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\f2a3\";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\f2a4\";\n}\n.fa-glide:before {\n content: \"\\f2a5\";\n}\n.fa-glide-g:before {\n content: \"\\f2a6\";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\f2a7\";\n}\n.fa-low-vision:before {\n content: \"\\f2a8\";\n}\n.fa-viadeo:before {\n content: \"\\f2a9\";\n}\n.fa-viadeo-square:before {\n content: \"\\f2aa\";\n}\n.fa-snapchat:before {\n content: \"\\f2ab\";\n}\n.fa-snapchat-ghost:before {\n content: \"\\f2ac\";\n}\n.fa-snapchat-square:before {\n content: \"\\f2ad\";\n}\n.fa-pied-piper:before {\n content: \"\\f2ae\";\n}\n.fa-first-order:before {\n content: \"\\f2b0\";\n}\n.fa-yoast:before {\n content: \"\\f2b1\";\n}\n.fa-themeisle:before {\n content: \"\\f2b2\";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\f2b3\";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\f2b4\";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/****************************************************************************************************************************\n * MOSAICO\n ***************************************************************************************************************************/\n/**\n * Page html structure:\n * \n * #page\n * #main-edit-area\n * #main-wysiwyg-area\n * #toolbar .mo\n * #main-toolbox .mo\n * #tooltabs\n * #toolimages\n * #tooldebug\n * #tooltheme\n * #main-preview .mo\n * #preview-toolbar\n * #frame-container\n * #incompatible-browser\n * #fake-image-editor\n * #loading (usato solo da standalone)\n * #moxman-loading\n * #toast-container\n * #contextmenu-help.mo\n * #carousel-container.mo\n * \n * CSS selector used, beyond the #ids before:\n * - .mo e .mo-*\n * - .ui-* (ui-helper-hidden-accessible, ui-tooltip)\n * - .moxman-* e .mce-*\n * - .fa-* (font-awesome, configurable via @fa-css-prefix)\n * - .icon-* (fontello: TODO remove me, we currently refer 2 icons from fontello)\n * - .evo-* (evo.colorpicker)\n * - .toast-* #toast-* (toastr)\n */\n/**************************************************************************************************************************\n * BASIC CONFIGURATION\n *************************************************************************************************************************/\n/* 20140929: Previously 0.85em, but we don't want user selected sizes because it breaks around */\n/**************************************************************************************************************************\n * COMPUTED CONFIUGRATION\n *************************************************************************************************************************/\n/**************************************************************************************************************************\n * SERVICE COLORS\n *************************************************************************************************************************/\n/**************************************************************************************************************************\n * COMPUTED VARIABLES\n *************************************************************************************************************************/\n/****************************************************************************************************************************\n * GENERIC TOOLS STYLES\n ***************************************************************************************************************************/\n.mo {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 13.6px;\n line-height: 1.5em;\n}\n#main-toolbox {\n line-height: normal;\n}\n#main-toolbox .propEditor .propInput .checkbox-replacer {\n padding: 4px 2px;\n font-size: 1.2em;\n}\n#main-toolbox .objLabel.level0,\n#main-toolbox .pane-title {\n font-size: 1.2em;\n}\n#main-toolbox .objLabel.level1 {\n font-size: 1.2em;\n}\n#main-toolbox .noSelectedBlock,\n#main-toolbox .customStyleHelp,\n#main-toolbox .objEmpty,\n#main-toolbox .galleryEmpty {\n font-size: 1.2em;\n}\n#main-toolbox .propInput .data-select::after,\n#main-toolbox .propInput .evo-pointer::before {\n width: 31px;\n padding: 0 10px;\n}\n#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only {\n width: 30px;\n padding: 0;\n}\n#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only .ui-icon {\n margin: 0;\n}\n#main-toolbox .propInput .ui-spinner-button {\n width: 30px;\n}\n#main-toolbox .propInput .ui-spinner-button .ui-icon {\n left: 6px;\n top: 8px;\n}\n#main-toolbox .evo-pop .evo-more {\n font-size: 1em;\n}\n#toolimages .img-dropzone {\n position: relative;\n}\n#toolimages .img-dropzone.ui-state-highlight:before {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(255, 87, 34, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #ff5722;\n z-index: 10;\n pointer-events: none;\n line-height: 45px;\n height: auto;\n top: -10px;\n bottom: -10px;\n}\n#toolimages .img-dropzone.ui-state-draghover:before {\n background-color: rgba(255, 87, 34, 0.8);\n animation: none;\n}\n#toolimages .uploadzone {\n font-size: 1.2em;\n}\n.mo {\n /**************************************************************************************************************************\n * COMMON USE, BASIC ELEMENTS\n * Primitive html tags, common base classes, buttons, base forms, dropdown...\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * BASIC HTML ELEMENTS\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * HTML HELPERS\n * Additional generic elements\n *************************************************************************************************************************/\n /**\n * ICONS FIX\n */\n /**************************************************************************************************************************\n * BUTTONS\n *************************************************************************************************************************/\n /*\nbutton::-moz-focus-inner,\ninput[type=\"reset\"]::-moz-focus-inner,\ninput[type=\"button\"]::-moz-focus-inner,\ninput[type=\"submit\"]::-moz-focus-inner,\ninput[type=\"file\"] > input[type=\"button\"]::-moz-focus-inner {\n border: none;\n}\n*/\n /*#main */\n /**************************************************************************************************************************\n * FORM\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * TOOLTIPS, WINDOWS...\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * JQUERY UI\n * \n * Needs style_elements.less. Uses .button() .win()\n *************************************************************************************************************************/\n /**\n * JQUERY HORIZONTAL UI TABS\n */\n /**\n * JQUERY VERTICAL UI TABS\n */\n /* questo renderebbe grigini i dati default\n .propInput.default input,\n .propInput.default select {\n color: #CCC;\n }\n */\n /*\n .propInput.local.default, .propInput.local.default * { display: none; }\n .propInput.global.overridden, .propInput.global.overridden * { display: none; }\n */\n /***************\n * COLOR PICKER\n ***************/\n}\n.mo a,\n.mo a:link,\n.mo a:visited,\n.mo a:active,\n.mo #site-slogan {\n color: #ff5722;\n text-decoration: none;\n}\nli .mo a,\nli .mo a:link,\nli .mo a:visited,\nli .mo a:active,\nli .mo #site-slogan {\n color: #ff5722;\n}\n.mo a:hover {\n color: #bb2d00;\n}\nli .mo a:hover {\n color: #bb2d00;\n}\n.mo a.disabled,\n.mo a.disabled:link,\n.mo a.disabled:visited {\n color: #220800;\n}\n.mo b,\n.mo strong {\n font-weight: bold;\n}\n.mo i,\n.mo em {\n font-style: italic;\n}\n.mo ul,\n.mo ol {\n margin: .5em 0;\n padding: 0 0 0 1.5em;\n}\n.mo ul li,\n.mo ol li {\n margin: .5em 0;\n}\n.mo ul li a,\n.mo ol li a,\n.mo ul li a:active,\n.mo ol li a:active,\n.mo ul li a:link,\n.mo ol li a:link,\n.mo ul li a:visited,\n.mo ol li a:visited {\n white-space: nowrap;\n}\n.mo p {\n margin: 1em 0;\n}\n.mo p .grey {\n color: #969696;\n}\n.mo small {\n font-size: smaller;\n}\n.mo big {\n font-size: larger;\n}\n.mo h1 {\n font-size: 2em;\n margin: .5em 0;\n}\n.mo h2,\n.mo h3.box_title {\n font-size: 1.5em;\n margin: .5em 0;\n}\n.mo h3 {\n font-size: 1.3em;\n margin: .5em 0;\n}\n.mo dl {\n margin-bottom: 1.5em;\n}\n.mo dl dt {\n font-weight: bold;\n}\n.mo dl dd {\n margin-left: 10px;\n font-style: italic;\n}\n.mo hr {\n border: 0;\n border-top: 2px solid #d5d5d5;\n margin: 1em 0;\n}\n.mo blockquote {\n font-style: italic;\n border-left: 2px solid #d5d5d5;\n padding: 0.5em;\n}\n.mo code {\n display: inline-block;\n border-left: 2px solid #d5d5d5;\n padding: 0.5em;\n}\n.mo table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n margin: 1.5em 0 1.5em 0;\n border-bottom: 2px solid #d5d5d5;\n /*&.thead-fixed {\n //margin: -@body-padding-top 0;\n margin: 0;\n }*/\n}\n.mo table tr.even,\n.mo table tr.odd {\n border: none;\n padding: 0;\n background-color: transparent;\n}\n.mo table th {\n padding: .5em .7em;\n font-weight: bold;\n border-top: 0 none;\n border-bottom: 2px solid #d5d5d5;\n vertical-align: middle;\n background-color: #900000;\n}\n.mo table td {\n padding: .1em .7em;\n height: 3.3em;\n background-color: #eeeeee;\n border-top: 0 none;\n vertical-align: middle;\n}\n.mo table td.active {\n background-color: #eeeeee;\n}\n.mo table tr.even td {\n background-color: #d2a7a7;\n}\n.mo table tr.even td.active {\n background-color: #d2a7a7;\n}\n.mo table tr:first-child th:first-child {\n border-top-left-radius: 2.8px;\n}\n.mo table tr:first-child th:last-child {\n border-top-right-radius: 2.8px;\n}\n.mo table .checkbox_cell {\n width: 3em;\n}\n.mo table tr.selected td,\n.mo table tr.selected td.active {\n background-color: #FFFF90 !important;\n}\n.mo table tr.odd.selected td,\n.mo table tr.odd.selected td.active,\n.mo table tr:nth-child(odd).selected td,\n.mo table tr:nth-child(odd).selected td.active {\n background-color: #fafaac !important;\n}\n.mo .table-wrapper-scroll {\n width: 100%;\n overflow-x: auto;\n}\n.mo caption {\n color: #ff5722;\n font-weight: bold;\n text-align: left;\n padding: .5em .7em;\n}\n.mo div.showall {\n padding: 0 .7em .5em .7em;\n vertical-align: middle;\n clear: both;\n}\n.mo ul.links {\n margin: 0;\n padding: 0;\n}\n.mo ul.links.inline {\n display: inline;\n}\n.mo ul.links li {\n display: inline;\n list-style-type: none;\n padding: 0 0.5em;\n}\n.mo .small {\n font-size: 80%;\n}\n.mo .big {\n font-size: 120%;\n}\n.mo .clear-block {\n clear: both;\n}\n.mo .margin-top {\n margin-top: .5em;\n}\n.mo .overflow-hidden {\n overflow: hidden;\n}\n.mo .quarter-width {\n width: 25% !important;\n}\n.mo .half-width {\n width: 50% !important;\n}\n.mo .full-width {\n width: 100% !important;\n}\n.mo .normal-width {\n width: auto !important;\n}\n.mo .clickable {\n cursor: pointer;\n}\n.mo .help {\n background-color: #b65f5f;\n margin: 1em 0;\n padding: .8em;\n}\n.mo .help p:first-child {\n margin-top: 0;\n}\n.mo .help p:last-child {\n margin-bottom: 0;\n}\n.mo .dropdown {\n position: absolute;\n z-index: 1003;\n margin: 0;\n padding: 0.5em 1em;\n border-radius: 2px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 4px 10px #727272;\n background-color: #ffffff;\n max-height: 300px;\n overflow: auto;\n min-width: 100%;\n max-width: 25em;\n white-space: normal;\n}\n.mo .dropdown.dropdown-right {\n right: 0;\n}\n.mo .dropdown.dropdown-bottom {\n bottom: 0;\n}\na.button + div.dropdown_spacer + .mo .dropdown,\n.button_links .mo .dropdown,\n.links.inline .mo .dropdown {\n margin: -0.4em 0 0 0;\n}\n.cell_links .mo .dropdown,\n.top_links .mo .dropdown,\n.box_top_links .mo .dropdown,\n.slide_links .mo .dropdown {\n margin: .2em 0 0 0;\n}\n.mo .dropdown hr {\n margin: 0.5em -1em;\n border-top: 1px solid #fff2ee;\n box-shadow: none;\n}\n.container-inline .mo .dropdown {\n display: block;\n}\n.mo .dropdown .dropdown_footer {\n padding: 0.5em 0 0 0;\n margin: 0;\n}\n.mo .dropdown-container {\n position: relative;\n white-space: nowrap;\n display: inline-block;\n}\n.container-inline .mo .dropdown-container {\n display: inline-block;\n}\n.form-item .mo .dropdown-container {\n margin: 0 .5em 0 0;\n}\n.mo [class^=\"icon-\"]:before,\n.mo [class*=\" icon-\"]:before {\n margin-right: 0;\n margin-left: 0;\n}\n.mo i.icon {\n cursor: default;\n}\n.mo a:link i.icon {\n cursor: pointer;\n}\n.mo .icon_red {\n color: #9C010F;\n}\n.mo .icon_green {\n color: #94AF4B;\n}\n.mo img.icon {\n vertical-align: text-top;\n}\n.mo a.hint,\n.mo a.info {\n color: #636363;\n font-size: 80%;\n vertical-align: top;\n margin: 0 .2em;\n}\n.mo a.hint:hover,\n.mo a.info:hover {\n color: #ff5722;\n}\nh1 .mo a.hint,\nh1 .mo a.info,\nh2 .mo a.hint,\nh2 .mo a.info,\nh3 .mo a.hint,\nh3 .mo a.info {\n font-size: 60%;\n}\nli .mo a.hint,\nli .mo a.info {\n color: #636363;\n}\n.mo a.hint {\n cursor: help;\n}\n.mo .suffix_icon {\n font-size: 80%;\n}\n.mo div.info {\n padding: .5em;\n background-color: #b65f5f;\n margin: .5em 0;\n}\n.mo .menu_step_circle {\n display: inline-block;\n background-color: #DDDDDD;\n color: #303030;\n padding: 0.3em 0.6em;\n margin: 0px 0.2em 0 0;\n border-radius: 1em;\n}\n.mo .menu_step_circle.current {\n background-color: #900000;\n}\n.mo .menu_step_circle.disabled {\n color: #969696;\n}\n.mo a.button_dropdown_split {\n border-left: 1px solid #303030;\n padding-left: .5em;\n}\n.mo .button_links a.button_dropdown_split,\n.mo .links.inline a.button_dropdown_split,\n.mo .cell_links a.button_dropdown_split {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n}\nli .mo .button_links a.button_dropdown_split,\nli .mo .links.inline a.button_dropdown_split,\nli .mo .cell_links a.button_dropdown_split {\n color: #eeeeee;\n}\n.mo .button_links a.button_dropdown_split img,\n.mo .links.inline a.button_dropdown_split img,\n.mo .cell_links a.button_dropdown_split img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo .button_links a.button_dropdown_split:hover,\n.mo .links.inline a.button_dropdown_split:hover,\n.mo .cell_links a.button_dropdown_split:hover,\n.mo .button_links a.button_dropdown_split.pressed,\n.mo .links.inline a.button_dropdown_split.pressed,\n.mo .cell_links a.button_dropdown_split.pressed,\n.mo .button_links a.button_dropdown_split.selected,\n.mo .links.inline a.button_dropdown_split.selected,\n.mo .cell_links a.button_dropdown_split.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo .button_links a.button_dropdown_split.disabled,\n.mo .links.inline a.button_dropdown_split.disabled,\n.mo .cell_links a.button_dropdown_split.disabled {\n color: #ffa588;\n}\n.mo .button_links a.button_dropdown_split.disabled a,\n.mo .links.inline a.button_dropdown_split.disabled a,\n.mo .cell_links a.button_dropdown_split.disabled a,\n.mo .button_links a.button_dropdown_split.disabled .link,\n.mo .links.inline a.button_dropdown_split.disabled .link,\n.mo .cell_links a.button_dropdown_split.disabled .link {\n color: #ffa588;\n}\n.mo .button_links a.button_dropdown_split.disabled:hover,\n.mo .links.inline a.button_dropdown_split.disabled:hover,\n.mo .cell_links a.button_dropdown_split.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo .button_links a.button_dropdown_split.inline,\n.mo .links.inline a.button_dropdown_split.inline,\n.mo .cell_links a.button_dropdown_split.inline {\n margin: 0 7px 0 0;\n}\n.mo .button_links a.button_dropdown_split.primary,\n.mo .links.inline a.button_dropdown_split.primary,\n.mo .cell_links a.button_dropdown_split.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo .button_links a.button_dropdown_split.primary:hover,\n.mo .links.inline a.button_dropdown_split.primary:hover,\n.mo .cell_links a.button_dropdown_split.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n}\n.mo .button_links a.button_dropdown_split.big,\n.mo .links.inline a.button_dropdown_split.big,\n.mo .cell_links a.button_dropdown_split.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo .button_links a.button_dropdown_split.big .suffix_icon,\n.mo .links.inline a.button_dropdown_split.big .suffix_icon,\n.mo .cell_links a.button_dropdown_split.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .button_links a.button_dropdown_split.with_button_dropdown_split,\n.mo .links.inline a.button_dropdown_split.with_button_dropdown_split,\n.mo .cell_links a.button_dropdown_split.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .button_links a.button_dropdown_split.with_button_dropdown_split.big,\n.mo .links.inline a.button_dropdown_split.with_button_dropdown_split.big,\n.mo .cell_links a.button_dropdown_split.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .button_links a.button_dropdown_split.loading,\n.mo .links.inline a.button_dropdown_split.loading,\n.mo .cell_links a.button_dropdown_split.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .button_links a.button_dropdown_split,\n.mo .links.inline a.button_dropdown_split,\n.mo .cell_links a.button_dropdown_split,\n.mo .top_links a.button_dropdown_split {\n margin-left: -1.5em;\n border-left: 1px solid transparent !important;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n z-index: 2;\n}\n.mo a.button,\n.mo input.form-submit {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n}\nli .mo a.button,\nli .mo input.form-submit {\n color: #eeeeee;\n}\n.mo a.button img,\n.mo input.form-submit img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo a.button:hover,\n.mo input.form-submit:hover,\n.mo a.button.pressed,\n.mo input.form-submit.pressed,\n.mo a.button.selected,\n.mo input.form-submit.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo a.button.disabled,\n.mo input.form-submit.disabled {\n color: #ffa588;\n}\n.mo a.button.disabled a,\n.mo input.form-submit.disabled a,\n.mo a.button.disabled .link,\n.mo input.form-submit.disabled .link {\n color: #ffa588;\n}\n.mo a.button.disabled:hover,\n.mo input.form-submit.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo a.button.inline,\n.mo input.form-submit.inline {\n margin: 0 7px 0 0;\n}\n.mo a.button.primary,\n.mo input.form-submit.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo a.button.primary:hover,\n.mo input.form-submit.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n}\n.mo a.button.big,\n.mo input.form-submit.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo a.button.big .suffix_icon,\n.mo input.form-submit.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo a.button.with_button_dropdown_split,\n.mo input.form-submit.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo a.button.with_button_dropdown_split.big,\n.mo input.form-submit.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo a.button.loading,\n.mo input.form-submit.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.links a {\n font-weight: bold;\n}\n.mo ul.button_links li,\n.mo ul.inline li {\n padding: 0;\n}\n.mo ul.button_links li a,\n.mo ul.inline li a {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n}\nli .mo ul.button_links li a,\nli .mo ul.inline li a {\n color: #eeeeee;\n}\n.mo ul.button_links li a img,\n.mo ul.inline li a img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo ul.button_links li a:hover,\n.mo ul.inline li a:hover,\n.mo ul.button_links li a.pressed,\n.mo ul.inline li a.pressed,\n.mo ul.button_links li a.selected,\n.mo ul.inline li a.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo ul.button_links li a.disabled,\n.mo ul.inline li a.disabled {\n color: #ffa588;\n}\n.mo ul.button_links li a.disabled a,\n.mo ul.inline li a.disabled a,\n.mo ul.button_links li a.disabled .link,\n.mo ul.inline li a.disabled .link {\n color: #ffa588;\n}\n.mo ul.button_links li a.disabled:hover,\n.mo ul.inline li a.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo ul.button_links li a.inline,\n.mo ul.inline li a.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.button_links li a.primary,\n.mo ul.inline li a.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo ul.button_links li a.primary:hover,\n.mo ul.inline li a.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n}\n.mo ul.button_links li a.big,\n.mo ul.inline li a.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo ul.button_links li a.big .suffix_icon,\n.mo ul.inline li a.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.button_links li a.with_button_dropdown_split,\n.mo ul.inline li a.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.button_links li a.with_button_dropdown_split.big,\n.mo ul.inline li a.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.button_links li a.loading,\n.mo ul.inline li a.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.button_links li a img,\n.mo ul.inline li a img {\n vertical-align: text-top;\n margin: 0 .5em 0 0;\n}\n.mo ul.buttonbar {\n white-space: nowrap;\n}\n.mo ul.buttonbar > li,\n.mo ul.buttonbar > .dropdown-container > li {\n margin: 0 1px 0 0;\n float: left;\n}\n.mo ul.buttonbar > li a,\n.mo ul.buttonbar > .dropdown-container > li a,\n.mo ul.buttonbar > li a.big,\n.mo ul.buttonbar > .dropdown-container > li a.big {\n margin-left: 0;\n margin-right: 0;\n border-radius: 0;\n}\n.mo ul.buttonbar > li a.with_button_dropdown_split,\n.mo ul.buttonbar > .dropdown-container > li a.with_button_dropdown_split,\n.mo ul.buttonbar > li a.big.with_button_dropdown_split,\n.mo ul.buttonbar > .dropdown-container > li a.big.with_button_dropdown_split {\n margin-right: 7px;\n}\n.mo ul.buttonbar > li.first a,\n.mo ul.buttonbar > .dropdown-container > li.first a {\n border-radius: 2px 0 0 2px;\n}\n.mo ul.buttonbar > li.first a.big,\n.mo ul.buttonbar > .dropdown-container > li.first a.big {\n border-radius: 2.8px 0 0 2.8px;\n}\n.mo ul.buttonbar > li.last a,\n.mo ul.buttonbar > .dropdown-container > li.last a {\n border-radius: 0 2px 2px 0;\n}\n.mo ul.buttonbar > li.last a.big,\n.mo ul.buttonbar > .dropdown-container > li.last a.big {\n border-radius: 0 2.8px 2.8px 0;\n}\n.mo ul.buttonbar.top_links {\n margin-left: .5em;\n}\n.mo ul.buttonbar:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo ul.cell_links > li,\n.mo ul.cell_links > .dropdown-container > li {\n padding: 0;\n}\n.mo ul.cell_links > li > a,\n.mo ul.cell_links > .dropdown-container > li > a {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n margin: 0 .5em 0 0;\n}\nli .mo ul.cell_links > li > a,\nli .mo ul.cell_links > .dropdown-container > li > a {\n color: #eeeeee;\n}\n.mo ul.cell_links > li > a img,\n.mo ul.cell_links > .dropdown-container > li > a img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo ul.cell_links > li > a:hover,\n.mo ul.cell_links > .dropdown-container > li > a:hover,\n.mo ul.cell_links > li > a.pressed,\n.mo ul.cell_links > .dropdown-container > li > a.pressed,\n.mo ul.cell_links > li > a.selected,\n.mo ul.cell_links > .dropdown-container > li > a.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo ul.cell_links > li > a.disabled,\n.mo ul.cell_links > .dropdown-container > li > a.disabled {\n color: #ffa588;\n}\n.mo ul.cell_links > li > a.disabled a,\n.mo ul.cell_links > .dropdown-container > li > a.disabled a,\n.mo ul.cell_links > li > a.disabled .link,\n.mo ul.cell_links > .dropdown-container > li > a.disabled .link {\n color: #ffa588;\n}\n.mo ul.cell_links > li > a.disabled:hover,\n.mo ul.cell_links > .dropdown-container > li > a.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo ul.cell_links > li > a.inline,\n.mo ul.cell_links > .dropdown-container > li > a.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.cell_links > li > a.primary,\n.mo ul.cell_links > .dropdown-container > li > a.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo ul.cell_links > li > a.primary:hover,\n.mo ul.cell_links > .dropdown-container > li > a.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n}\n.mo ul.cell_links > li > a.big,\n.mo ul.cell_links > .dropdown-container > li > a.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo ul.cell_links > li > a.big .suffix_icon,\n.mo ul.cell_links > .dropdown-container > li > a.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.cell_links > li > a.with_button_dropdown_split,\n.mo ul.cell_links > .dropdown-container > li > a.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.cell_links > li > a.with_button_dropdown_split.big,\n.mo ul.cell_links > .dropdown-container > li > a.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.cell_links > li > a.loading,\n.mo ul.cell_links > .dropdown-container > li > a.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.cell_links a.button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\ntd .mo ul.cell_links {\n text-align: right;\n}\n.mo .td_cell_links {\n text-align: right;\n white-space: nowrap;\n}\n.mo ul.top_links,\n.mo ul.box_top_links {\n float: right;\n text-align: right;\n}\n.mo ul.top_links > *,\n.mo ul.box_top_links > * {\n line-height: normal;\n text-align: left;\n margin-bottom: .4em;\n}\n.mo ul.top_links li a,\n.mo ul.box_top_links li a,\n.mo ul.top_links a.button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n border-radius: 2.8px;\n padding: .25em .4em;\n font-size: 1.3em;\n}\nli .mo ul.top_links li a,\nli .mo ul.box_top_links li a,\nli .mo ul.top_links a.button_dropdown_split,\nli .mo ul.box_top_links a.button_dropdown_split {\n color: #eeeeee;\n}\n.mo ul.top_links li a img,\n.mo ul.box_top_links li a img,\n.mo ul.top_links a.button_dropdown_split img,\n.mo ul.box_top_links a.button_dropdown_split img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo ul.top_links li a:hover,\n.mo ul.box_top_links li a:hover,\n.mo ul.top_links a.button_dropdown_split:hover,\n.mo ul.box_top_links a.button_dropdown_split:hover,\n.mo ul.top_links li a.pressed,\n.mo ul.box_top_links li a.pressed,\n.mo ul.top_links a.button_dropdown_split.pressed,\n.mo ul.box_top_links a.button_dropdown_split.pressed,\n.mo ul.top_links li a.selected,\n.mo ul.box_top_links li a.selected,\n.mo ul.top_links a.button_dropdown_split.selected,\n.mo ul.box_top_links a.button_dropdown_split.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo ul.top_links li a.disabled,\n.mo ul.box_top_links li a.disabled,\n.mo ul.top_links a.button_dropdown_split.disabled,\n.mo ul.box_top_links a.button_dropdown_split.disabled {\n color: #ffa588;\n}\n.mo ul.top_links li a.disabled a,\n.mo ul.box_top_links li a.disabled a,\n.mo ul.top_links a.button_dropdown_split.disabled a,\n.mo ul.box_top_links a.button_dropdown_split.disabled a,\n.mo ul.top_links li a.disabled .link,\n.mo ul.box_top_links li a.disabled .link,\n.mo ul.top_links a.button_dropdown_split.disabled .link,\n.mo ul.box_top_links a.button_dropdown_split.disabled .link {\n color: #ffa588;\n}\n.mo ul.top_links li a.disabled:hover,\n.mo ul.box_top_links li a.disabled:hover,\n.mo ul.top_links a.button_dropdown_split.disabled:hover,\n.mo ul.box_top_links a.button_dropdown_split.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo ul.top_links li a.inline,\n.mo ul.box_top_links li a.inline,\n.mo ul.top_links a.button_dropdown_split.inline,\n.mo ul.box_top_links a.button_dropdown_split.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.top_links li a.primary,\n.mo ul.box_top_links li a.primary,\n.mo ul.top_links a.button_dropdown_split.primary,\n.mo ul.box_top_links a.button_dropdown_split.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo ul.top_links li a.primary:hover,\n.mo ul.box_top_links li a.primary:hover,\n.mo ul.top_links a.button_dropdown_split.primary:hover,\n.mo ul.box_top_links a.button_dropdown_split.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n}\n.mo ul.top_links li a.big,\n.mo ul.box_top_links li a.big,\n.mo ul.top_links a.button_dropdown_split.big,\n.mo ul.box_top_links a.button_dropdown_split.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo ul.top_links li a.big .suffix_icon,\n.mo ul.box_top_links li a.big .suffix_icon,\n.mo ul.top_links a.button_dropdown_split.big .suffix_icon,\n.mo ul.box_top_links a.button_dropdown_split.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.top_links li a.with_button_dropdown_split,\n.mo ul.box_top_links li a.with_button_dropdown_split,\n.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.top_links li a.with_button_dropdown_split.big,\n.mo ul.box_top_links li a.with_button_dropdown_split.big,\n.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split.big,\n.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.top_links li a.loading,\n.mo ul.box_top_links li a.loading,\n.mo ul.top_links a.button_dropdown_split.loading,\n.mo ul.box_top_links a.button_dropdown_split.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.top_links li,\n.mo ul.box_top_links li {\n padding: 0;\n}\n.mo ul.top_links li a,\n.mo ul.box_top_links li a {\n margin: 0px 0px 0px .5em;\n}\n.mo ul.top_links a.button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split {\n margin: 0 0 0 -1em;\n}\n.mo ul.top_links .dropdown,\n.mo ul.box_top_links .dropdown {\n margin-left: .5em;\n}\n.mo ul.popup_links > li,\n.mo ul.popup_links > .dropdown-container > li {\n display: block;\n padding: 0;\n margin: 0;\n}\n.mo ul.popup_links > li > a,\n.mo ul.popup_links > .dropdown-container > li > a {\n display: block;\n border: none;\n padding: .5em;\n margin: 0;\n border-radius: 0;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n background-color: transparent;\n color: #303030;\n}\n.mo ul.popup_links > li > a img,\n.mo ul.popup_links > .dropdown-container > li > a img {\n vertical-align: text-top;\n margin: 0 .5em 0 0;\n}\n.mo ul.popup_links > li > a.disabled,\n.mo ul.popup_links > .dropdown-container > li > a.disabled {\n color: #969696 !important;\n}\n.mo ul.popup_links > li > a.disabled:hover,\n.mo ul.popup_links > .dropdown-container > li > a.disabled:hover {\n border: none;\n}\n.mo ul.popup_links > li > a .badge,\n.mo ul.popup_links > .dropdown-container > li > a .badge {\n position: absolute;\n right: 0;\n margin-left: 1em;\n top: .6em;\n}\n.mo ul.popup_links > li:hover,\n.mo ul.popup_links > .dropdown-container > li:hover {\n background-color: #ff5722;\n color: #eeeeee;\n}\n.mo ul.popup_links > li:hover a,\n.mo ul.popup_links > .dropdown-container > li:hover a {\n color: #eeeeee;\n}\n.mo ul.popup_links > li .cell_links > li > a,\n.mo ul.popup_links > .dropdown-container > li .cell_links > li > a {\n border-color: #979797;\n}\n.mo ul.popup_links > li.separator,\n.mo ul.popup_links > .dropdown-container > li.separator {\n border-top: 1px solid #ff5722;\n margin: .5em 0;\n}\n.mo ul.popup_links.table_columns > li > a,\n.mo ul.popup_links.table_columns > .dropdown-container > li > a {\n display: table-cell;\n vertical-align: middle;\n width: 100%;\n}\n.mo ul.popup_links.table_columns > li > .table_column,\n.mo ul.popup_links.table_columns > .dropdown-container > li > .table_column {\n display: table-cell;\n vertical-align: middle;\n width: auto;\n /*.button {\n margin: 0 .5em;\n color: @button-text-color;\n }*/\n}\n.mo .dropdown ul.popup_links {\n margin: -0.5em -1em;\n}\n.mo .dropdown ul.popup_links > li > a,\n.mo .dropdown ul.popup_links > .dropdown-container > li > a {\n text-align: left;\n width: 100%;\n}\n.mo select,\n.mo textarea {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n}\n.mo select:focus,\n.mo textarea:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo select.inline,\n.mo textarea.inline {\n margin-right: .5em;\n width: auto;\n}\n.mo input:disabled,\n.mo select:disabled,\n.mo textarea:disabled {\n opacity: 0.5 !important;\n}\n.mo ::placeholder {\n color: #7c7c7c;\n opacity: 1;\n}\n.mo .async_loading {\n color: transparent;\n text-align: center;\n background: url(../../../../misc/others/loading.gif) no-repeat 50% 50% white;\n opacity: .5;\n}\n.mo .async_loading_iframe {\n background: url(../../../../misc/others/loadingbig.gif) no-repeat 50% 50% transparent;\n}\n.mo .ui-helper-hidden {\n display: none;\n}\n.mo .ui-helper-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute !important;\n width: 1px;\n}\n.mo .ui-helper-reset {\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n line-height: 1.3;\n text-decoration: none;\n font-size: 100%;\n list-style: none;\n}\n.mo .ui-helper-clearfix:before,\n.mo .ui-helper-clearfix:after {\n content: \"\";\n display: table;\n border-collapse: collapse;\n}\n.mo .ui-helper-clearfix:after {\n clear: both;\n}\n.mo .ui-helper-clearfix {\n min-height: 0;\n /* support: IE7 */\n}\n.mo .ui-helper-zfix {\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n position: absolute;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.mo .ui-front {\n z-index: 1004;\n}\n.mo .ui-state-disabled {\n cursor: default !important;\n}\n.mo .ui-icon {\n display: block;\n text-indent: -99999px;\n overflow: hidden;\n background-repeat: no-repeat;\n}\n.mo .ui-widget-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.mo .ui-widget-overlay {\n background: #aaaaaa none;\n opacity: .6;\n filter: alpha(opacity=60);\n}\n.mo .ui-widget-shadow {\n margin: -8px 0 0 -8px;\n padding: 8px;\n background: #aaaaaa none;\n opacity: .3;\n filter: alpha(opacity=30);\n border-radius: 8px;\n}\n.mo .ui-corner-all {\n border-radius: 2px;\n}\n.mo .ui-button {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n}\nli .mo .ui-button {\n color: #eeeeee;\n}\n.mo .ui-button img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo .ui-button:hover,\n.mo .ui-button.pressed,\n.mo .ui-button.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo .ui-button.disabled {\n color: #ffa588;\n}\n.mo .ui-button.disabled a,\n.mo .ui-button.disabled .link {\n color: #ffa588;\n}\n.mo .ui-button.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo .ui-button.inline {\n margin: 0 7px 0 0;\n}\n.mo .ui-button.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo .ui-button.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n}\n.mo .ui-button.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo .ui-button.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .ui-button.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .ui-button.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .ui-button.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .ui-button .ui-button-text,\n.mo .ui-button .ui-icon {\n color: #eeeeee;\n}\n.mo .ui-button.ui-button-icon-only .ui-icon {\n margin: 0 .1em;\n}\n.mo .ui-button.ui-button-icon-only .ui-button-text {\n display: none;\n}\n.mo .ui-button.ui-button-disabled {\n color: #ffa588;\n}\n.mo .ui-button.ui-button-disabled a,\n.mo .ui-button.ui-button-disabled .link {\n color: #ffa588;\n}\n.mo .ui-button.ui-button-disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo .ui-button.ui-button-disabled .ui-button-text,\n.mo .ui-button.ui-button-disabled .ui-icon {\n color: #ffa588;\n}\n.mo .ui-button.ui-state-active {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo .ui-buttonset {\n margin-right: 7px;\n vertical-align: middle;\n font-size: 0;\n}\n.mo .ui-buttonset > .ui-button {\n font-size: 13.6px;\n margin-right: 1px;\n border-radius: 0;\n}\n.mo .ui-buttonset > .ui-button.ui-corner-left {\n border-radius: 2px 0 0 2px;\n}\n.mo .ui-buttonset > .ui-button.ui-corner-right {\n border-radius: 0 2px 2px 0;\n}\n.mo .ui-dialog {\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n position: absolute;\n overflow: hidden;\n width: 300px;\n padding: 0;\n font-size: 1em;\n z-index: 1005;\n}\n.mo .ui-dialog .ui-dialog-titlebar {\n position: relative;\n padding: .5em 1em .3em;\n color: #303030;\n background: none #900000;\n border: none;\n font-weight: bold;\n border-radius: 0;\n color: #eeeeee;\n font-size: 1.1em;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-icon {\n color: #303030;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-icon {\n color: #eeeeee;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-title {\n float: left;\n margin: .1em 16px .2em 0;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close {\n position: absolute;\n right: .3em;\n top: 35%;\n width: 21px;\n margin: -10px 0 0 0;\n padding: 1px;\n height: 20px;\n cursor: pointer;\n border: 0 none;\n background: none transparent;\n box-shadow: none;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close::-moz-focus-inner {\n border: none;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon {\n position: absolute;\n top: 50%;\n margin-top: -8px;\n left: 50%;\n margin-left: -8px;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close.ui-button-icon-only .ui-button-text {\n display: block;\n line-height: normal;\n padding: .4em;\n text-indent: -9999999px;\n}\n.mo .ui-dialog .ui-dialog-content {\n border: 0;\n padding: .5em 1em;\n background: none;\n zoom: 1;\n max-height: 600px;\n position: relative;\n}\n.mo .ui-dialog .ui-dialog-content .async_loading_iframe {\n margin: -0.5em 0 0 0;\n}\n.mo .ui-dialog .async_loading_iframe {\n width: 100%;\n height: 100%;\n min-height: 100px;\n position: absolute;\n left: 0;\n}\n.mo .ui-dialog .ui-dialog-buttonpane {\n text-align: center;\n background-image: none;\n margin: .5em 0 0 0;\n border: none;\n padding: .3em 0;\n}\n.mo .ui-dialog.dialog_info .ui-dialog-titlebar {\n background: none #6e5158;\n}\n.mo .ui-dialog.dialog_warn .ui-dialog-titlebar {\n background: none #960108;\n}\n.mo .ui-dialog.dialog_ok .ui-dialog-titlebar {\n background: none #925826;\n}\n.mo .ui-dialog.dialog_standard_href .ui-dialog-content {\n padding: 0;\n min-height: 600px;\n}\n.mo .ui-dialog.dialog_ajax_href .ui-dialog-content,\n.mo .ui-dialog.dialog_standard_content .ui-dialog-content,\n.mo .ui-dialog.dialog_standard_rel .ui-dialog-content {\n overflow: auto;\n}\n.mo .ui-dialog.no-close .ui-dialog-titlebar-close {\n display: none;\n}\n.mo .ui-dialog:focus,\n.mo .ui-dialog:-moz-focusring {\n outline: 0 none !important;\n}\n.mo .ui-menu {\n list-style: outside none none;\n padding: 0px;\n margin: 0px;\n display: block;\n outline: medium none;\n}\n.mo .ui-menu .ui-menu-item {\n position: relative;\n margin: 0px;\n padding: 3px 1em 3px 0.4em;\n cursor: pointer;\n min-height: 0px;\n}\n.mo .ui-autocomplete {\n top: 0px;\n left: 0px;\n cursor: default;\n position: absolute;\n z-index: 1003;\n padding: 0.5em 1em;\n border-radius: 2px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 4px 10px #727272;\n background-color: #ffffff;\n max-height: 300px;\n overflow: auto;\n min-width: 100%;\n max-width: 25em;\n white-space: normal;\n min-width: auto;\n max-width: none;\n margin: 0;\n padding: 0;\n}\n.mo .ui-autocomplete.dropdown-right {\n right: 0;\n}\n.mo .ui-autocomplete.dropdown-bottom {\n bottom: 0;\n}\na.button + div.dropdown_spacer + .mo .ui-autocomplete,\n.button_links .mo .ui-autocomplete,\n.links.inline .mo .ui-autocomplete {\n margin: -0.4em 0 0 0;\n}\n.cell_links .mo .ui-autocomplete,\n.top_links .mo .ui-autocomplete,\n.box_top_links .mo .ui-autocomplete,\n.slide_links .mo .ui-autocomplete {\n margin: .2em 0 0 0;\n}\n.mo .ui-autocomplete hr {\n margin: 0.5em -1em;\n border-top: 1px solid #fff2ee;\n box-shadow: none;\n}\n.container-inline .mo .ui-autocomplete {\n display: block;\n}\n.mo .ui-autocomplete .dropdown_footer {\n padding: 0.5em 0 0 0;\n margin: 0;\n}\n.mo .ui-autocomplete .ui-menu-item {\n display: block;\n padding: 0.5em;\n margin: 0;\n font-weight: bold;\n}\n.mo .ui-autocomplete .ui-menu-item.ui-state-focus,\n.mo .ui-autocomplete .ui-menu-item.ui-state-active {\n background-color: #ff5722;\n color: #eeeeee;\n}\n.mo .ui-autocomplete .ui-menu-item.ui-state-focus a,\n.mo .ui-autocomplete .ui-menu-item.ui-state-active a {\n color: #eeeeee;\n}\n.mo .ui-tabs .ui-tabs-nav {\n border-radius: 0;\n}\n.mo .ui-tabs.tabs_horizontal > ul {\n margin: 0;\n border-bottom: 1px solid #900000;\n text-transform: uppercase;\n padding: 0px 0px 0px .5em;\n}\n.mo .ui-tabs.tabs_horizontal > ul:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo .ui-tabs.tabs_horizontal > ul li {\n float: left;\n list-style-type: none;\n margin: 0.4em 0 -1px 0;\n display: block;\n text-align: center;\n}\n.mo .ui-tabs.tabs_horizontal > ul li > a {\n display: block;\n padding: .5em 1em;\n margin: 0 .5em 0 0;\n border-radius: 2px 2px 0 0;\n background-color: #900000;\n border: 1px solid #900000;\n}\n.mo .ui-tabs.tabs_horizontal > ul li a:focus {\n outline: 0 none !important;\n}\n.mo .ui-tabs.tabs_horizontal > ul li.ui-state-active a {\n border-bottom: 1px solid #eeeeee;\n background: transparent;\n font-weight: bold;\n background-color: transparent;\n color: #303030;\n}\n.mo .ui-tabs.tabs_horizontal .ui-tabs-panel {\n margin-top: .5em;\n}\n.mo .ui-tabs.tabs_horizontal .ui-tabs-panel.ui-tabs-noscroll {\n padding: 0;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul {\n background-color: #900000;\n margin: 0;\n border-bottom: 1px solid #900000;\n text-transform: uppercase;\n border-bottom: 0;\n background-color: transparent;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li {\n float: left;\n list-style-type: none;\n margin: 0.4em 0 -1px 0;\n display: block;\n text-align: center;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a {\n display: block;\n padding: .5em 1em;\n margin: 0 .5em 0 0;\n border-radius: 2px 2px 0 0;\n background-color: #ff5722;\n color: #eeeeee;\n border: none;\n font-weight: bold;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a:hover {\n background-color: #ee3900;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li a:focus {\n outline: 0 none !important;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li.ui-state-active a {\n border-bottom: 1px solid #eeeeee;\n background: transparent;\n font-weight: bold;\n background-color: #eeeeee;\n color: #303030;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a {\n background-color: transparent;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a:hover {\n background-color: #c30000;\n border-bottom: 3px solid #c30000;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li.ui-state-active a {\n background-color: transparent;\n color: #eeeeee;\n border-bottom: 3px solid #eeeeee;\n}\n.mo .ui-tabs.tabs_vertical {\n position: relative;\n margin: 1em 0;\n}\n.mo .ui-tabs.tabs_vertical > ul {\n margin: 0;\n padding: 0;\n text-align: left;\n float: left;\n}\n.mo .ui-tabs.tabs_vertical > ul li {\n width: 11em;\n list-style-type: none;\n padding: .5em 1em;\n margin: 0;\n text-align: right;\n}\n.mo .ui-tabs.tabs_vertical > ul li.ui-state-active {\n background-color: #900000;\n font-weight: bold;\n border-radius: 2px 0 0 2px;\n}\n.mo .ui-tabs.tabs_vertical > ul li.ui-state-active a {\n color: #303030;\n}\n.mo .ui-tabs.tabs_vertical .ui-tabs-panel {\n background: #eeeeee;\n border: 1px solid #900000;\n padding: .5em 1em;\n margin: .5em 0;\n overflow: auto;\n}\n.mo .ui-tabs.tabs_vertical .ui-tabs-panel.ui-tabs-noscroll {\n padding: 0;\n}\n.mo .ui-tooltip {\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n max-width: 300px;\n padding: .5em;\n z-index: 1004;\n}\n.mo .ui-spinner {\n display: block;\n margin: 10px 0 10px 0;\n padding: 0;\n position: relative;\n}\n.mo .ui-spinner input[type=number] {\n -moz-appearance: textfield;\n}\n.mo .ui-spinner input[type=number]::-webkit-outer-spin-button,\n.mo .ui-spinner input[type=number]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.mo .ui-spinner input[type=number]::-ms-clear {\n width: 0;\n height: 0;\n}\n.mo .ui-spinner .ui-spinner-input {\n margin: 0;\n margin-right: 2em;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .ui-spinner .ui-spinner-button {\n width: 2.5em;\n height: 50%;\n min-height: inherit;\n padding: 0;\n margin: 0;\n position: absolute;\n right: 0;\n line-height: 1em;\n cursor: pointer;\n}\n.mo .ui-spinner .ui-spinner-button .ui-icon {\n display: none;\n}\n.mo .ui-spinner .ui-spinner-up {\n top: 0;\n border-bottom: none;\n border-radius: 0 2px 0 0;\n}\n.mo .ui-spinner .ui-spinner-up .ui-button-text:after {\n font-family: FontAwesome;\n font-weight: normal;\n content: \"\\f0d8\";\n}\n.mo .ui-spinner .ui-spinner-down {\n bottom: 0;\n border-top: none;\n border-radius: 0 0 2px 0;\n}\n.mo .ui-spinner .ui-spinner-down .ui-button-text:after {\n font-family: FontAwesome;\n font-weight: normal;\n content: \"\\f0d7\";\n}\n.mo .ui-icon {\n font-family: FontAwesome;\n background: none repeat scroll 0 0 transparent;\n text-indent: 0;\n width: auto;\n height: auto;\n min-width: 16px;\n vertical-align: middle;\n margin-top: 0;\n margin-right: .5em;\n}\n.mo .ui-icon-closethick:before {\n content: \"\\f00d\";\n}\n.mo .ui-draggable .ui-dialog-titlebar {\n cursor: move;\n}\n.mo .ui-draggable-handle,\n.mo .ui-sortable-handle {\n -ms-touch-action: none;\n touch-action: none;\n}\n.mo *,\n.mo *:before,\n.mo *:after {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n.mo .ui-icon {\n overflow: visible;\n}\n.mo .fa {\n display: inline-block;\n font-style: normal;\n}\n.mo .buttons {\n text-align: center;\n padding-top: 3px;\n}\n.mo .propInput input[type=text],\n.mo .propInput input[type=number],\n.mo .propInput input[type=url],\n.mo .propInput select {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n margin: 0;\n}\n.mo .propInput input[type=text]:focus,\n.mo .propInput input[type=number]:focus,\n.mo .propInput input[type=url]:focus,\n.mo .propInput select:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput input[type=text].inline,\n.mo .propInput input[type=number].inline,\n.mo .propInput input[type=url].inline,\n.mo .propInput select.inline {\n margin-right: .5em;\n width: auto;\n}\n.mo .propInput input[type=text].invalid,\n.mo .propInput input[type=number].invalid,\n.mo .propInput input[type=url].invalid,\n.mo .propInput select.invalid,\n.mo .propInput input[type=text].error,\n.mo .propInput input[type=number].error,\n.mo .propInput input[type=url].error,\n.mo .propInput select.error {\n border: 2px solid #9C010F;\n}\n.mo .propInput .data-select {\n display: block;\n}\n@media (-ms-high-contrast: active), (-ms-high-contrast: none), not screen\\0 {\n .mo .propInput .data-select {\n position: relative;\n }\n .mo .propInput .data-select select {\n -webkit-appearance: none;\n -moz-appearance: none;\n padding-right: 30px;\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n }\n .mo .propInput .data-select select::-ms-expand {\n display: none;\n }\n .mo .propInput .data-select:after {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n margin: 0;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n line-height: 30px;\n width: 28px;\n margin-right: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n /*\n content: \"▼\";\n font-size: 60%;\n */\n font-family: FontAwesome;\n content: \"\\f0d7\";\n font-weight: normal;\n pointer-events: none;\n }\n li .mo .propInput .data-select:after {\n color: #eeeeee;\n }\n .mo .propInput .data-select:after img {\n vertical-align: middle;\n margin: 0 .2em;\n }\n .mo .propInput .data-select:after:hover,\n .mo .propInput .data-select:after.pressed,\n .mo .propInput .data-select:after.selected {\n text-decoration: none;\n background-color: #ee3900;\n }\n .mo .propInput .data-select:after.disabled {\n color: #ffa588;\n }\n .mo .propInput .data-select:after.disabled a,\n .mo .propInput .data-select:after.disabled .link {\n color: #ffa588;\n }\n .mo .propInput .data-select:after.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n }\n .mo .propInput .data-select:after.inline {\n margin: 0 7px 0 0;\n }\n .mo .propInput .data-select:after.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n }\n .mo .propInput .data-select:after.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n }\n .mo .propInput .data-select:after.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n }\n .mo .propInput .data-select:after.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n }\n .mo .propInput .data-select:after.with_button_dropdown_split {\n padding-right: 1.2em;\n }\n .mo .propInput .data-select:after.with_button_dropdown_split.big {\n padding-right: 1.8em;\n }\n .mo .propInput .data-select:after.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n }\n}\n.mo .propInput .ui-textbutton {\n width: 100%;\n display: inline-table;\n table-layout: fixed;\n margin-right: 0;\n vertical-align: middle;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-input.withButton {\n display: table-cell;\n margin: 0;\n margin-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button {\n display: table-cell;\n margin-right: 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button .ui-button-text {\n line-height: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n width: 1.6em;\n}\n.mo .propEditor {\n display: table;\n width: 100%;\n}\n.mo .propLabel {\n padding: 8px 8px;\n padding-left: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 45%;\n float: left;\n text-align: right;\n}\n.mo .propLabel[title]:before {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n float: right;\n position: initial;\n color: #636363;\n content: \"\\f059\";\n font-size: 80%;\n line-height: 1.5em;\n margin-left: 0.5em;\n}\n.mo .propInput {\n width: 55%;\n float: left;\n}\n.mo .propInput input,\n.mo .propInput select {\n width: 100%;\n}\n.mo .notnull.propEditor.checkboxes .propInput {\n width: 50%;\n}\n.mo .propCheck {\n width: 5%;\n float: left;\n padding: 5px;\n display: none;\n}\n.mo .notnull .propCheck {\n display: block;\n}\n.mo .propLabel:after,\n.mo .propInput:after,\n.mo .objEdit:after {\n content: \"\";\n display: table;\n}\n.mo .objEdit {\n display: block;\n width: 100%;\n /* background-color: rgba(0,0,0,0.02); */\n}\n.mo .objEdit.level1 {\n /* border-bottom: 2px solid #f1eee6; */\n background-color: #eeeeee;\n padding: 2px;\n}\n.mo .label.notused {\n display: none;\n font-size: 50%;\n color: #808080;\n}\n.mo .label.notused:before {\n content: \"[[[\";\n}\n.mo .label.notused:after {\n content: \"]]]\";\n}\n.mo .objLabel.level2 {\n color: rgba(255, 255, 255, 0.7);\n float: left;\n position: absolute;\n display: none;\n}\n.mo .objLabel.level3 {\n color: rgba(255, 255, 255, 0.4);\n float: left;\n position: absolute;\n top: 1em;\n display: none;\n}\n.mo .objEdit.level1 {\n /* border-bottom: 2px solid #CCC; */\n padding-top: 4px;\n padding-bottom: 2px;\n margin-bottom: 3px;\n /* padding: 2px; */\n}\n.mo .objLabel.level1 {\n color: black;\n display: block;\n /* display: none; */\n}\n.mo #toolstyles .objLabel.level1,\n.mo #tooltheme .objLabel.level1 {\n padding-left: 60px;\n}\n.mo .objLabel {\n text-transform: uppercase;\n border-bottom: 3px solid #900000;\n color: #303030;\n display: block;\n margin: -4px -2px 6px;\n padding: 5px;\n border-radius: 6px 6px 0 0;\n}\n.mo .objEdit.level0 {\n padding: 0px 1px;\n margin-top: 12px;\n}\n.mo .objLabel.level0 {\n display: block;\n color: #303030;\n background-color: #eeeeee;\n font-weight: bold;\n font-size: 90%;\n border-bottom: 3px solid #303030;\n border-radius: 0;\n padding: 3px 10px;\n margin: 0px -7px 8px -7px;\n}\n.mo .supportsCustomStyles .objLabel.level0 {\n margin-right: 70px;\n}\n.mo .objEdit.level-1 {\n padding: 0 15px;\n overflow: auto;\n height: 95%;\n background-color: #eeeeee;\n border-radius: 6px;\n}\n.mo .objEdit {\n position: relative;\n}\n.mo .objEdit.level1 {\n margin-top: 15px;\n}\n.mo .objPreview {\n width: 50px;\n height: 50px;\n border-radius: 100%;\n position: absolute;\n overflow: hidden;\n border: 2px solid #900000;\n top: -11px;\n left: 5px;\n}\n.mo .objPreview > div {\n position: absolute;\n bottom: 20%;\n left: 20%;\n}\n.mo .propEditor {\n /* border-bottom: 2px solid #CCC; */\n padding: 2px;\n}\n.mo .objEdit .propEditor {\n padding: 2px 0;\n border: 0;\n}\n.mo .propEditor.notnull {\n font-weight: bold;\n /* background-color: #FFFF80; */\n}\n.mo .propEditor.notnull input,\n.mo .propEditor.notnull select {\n font-weight: bold;\n}\n.mo .propEditor.notnull input[type=checkbox] {\n font-weight: normal;\n}\n.mo .propInput {\n position: relative;\n}\n.mo .propInput .colorPicker {\n padding-right: 30px;\n}\n.mo .propInput .data-color input[type=text] {\n font-size: 90%;\n font-family: monospace;\n width: 5.5em;\n margin: 0;\n margin-left: 85px;\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.2);\n box-shadow: none;\n border-style: dashed;\n}\n.mo .propInput .data-color input[type=text]:hover,\n.mo .propInput .data-color input[type=text]:focus {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n font-size: 90%;\n font-family: monospace;\n width: 5.5em;\n margin: 0;\n margin-left: 85px;\n /*\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: @mosaico-button-border-color;\n border-style: solid;\n */\n}\n.mo .propInput .data-color input[type=text]:hover:focus,\n.mo .propInput .data-color input[type=text]:focus:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput .data-color input[type=text]:hover.inline,\n.mo .propInput .data-color input[type=text]:focus.inline {\n margin-right: .5em;\n width: auto;\n}\n.mo .propInput .evo-pointer {\n position: absolute;\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n margin: 0;\n z-index: 5;\n left: 0px;\n top: 0px;\n width: 80px;\n height: 30px;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .propInput .evo-pointer:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput .evo-pointer.inline {\n margin-right: .5em;\n width: auto;\n}\n.mo .propInput .evo-pointer:before {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n font-family: FontAwesome;\n content: \"\\f0d7\";\n font-weight: normal;\n border-left: 1px solid rgba(0, 0, 0, 0.5) !important;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n line-height: 30px;\n width: 28px;\n padding: 0 8px;\n margin: 0;\n}\nli .mo .propInput .evo-pointer:before {\n color: #eeeeee;\n}\n.mo .propInput .evo-pointer:before img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo .propInput .evo-pointer:before:hover,\n.mo .propInput .evo-pointer:before.pressed,\n.mo .propInput .evo-pointer:before.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo .propInput .evo-pointer:before.disabled {\n color: #ffa588;\n}\n.mo .propInput .evo-pointer:before.disabled a,\n.mo .propInput .evo-pointer:before.disabled .link {\n color: #ffa588;\n}\n.mo .propInput .evo-pointer:before.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo .propInput .evo-pointer:before.inline {\n margin: 0 7px 0 0;\n}\n.mo .propInput .evo-pointer:before.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo .propInput .evo-pointer:before.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n}\n.mo .propInput .evo-pointer:before.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo .propInput .evo-pointer:before.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .propInput .evo-pointer:before.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .propInput .evo-pointer:before.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .propInput .evo-pointer:before.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .objEdit input[type=checkbox] {\n display: none;\n /* , &:checked + .checkbox-replacer:before */\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer {\n width: 1.28571429em;\n display: block;\n text-align: center;\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n}\n.mo .objEdit input[type=checkbox]:checked + .checkbox-replacer:before {\n content: '\\f205';\n /* '\\f096'; */\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n font-size: 150%;\n text-align: center;\n content: '\\f204';\n /* '\\f14a'; */\n}\n.mo .propCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n content: \"\\f041\";\n /* tondo con punto '\\f192';*/\n /* '\\f140'; */\n /* '\\f14a'; */\n content: \"\\f1b2\";\n /* cubo */\n font-size: 14px;\n opacity: 1;\n}\n.mo .propCheck input[type=checkbox] + .checkbox-replacer:before {\n content: '\\f0ac';\n /* asterisco \"\\f069\"; */\n /* '\\f096'; */\n content: \"\\f1b3\";\n /* cubi */\n font-size: 14px;\n opacity: .8;\n}\n.mo .propInput .ui-spinner {\n width: 100%;\n margin: 0;\n}\n.mo .propInput .ui-spinner .ui-spinner-input {\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .propInput .ui-spinner .ui-state-default .ui-icon.fa,\n.mo .propInput .ui-spinner .ui-widget-content .ui-icon.fa {\n background-image: none;\n font-size: 10px;\n top: 9px;\n}\n.mo .propLabel[title] {\n text-decoration: underline;\n cursor: help;\n}\n.mo .noSelectedBlock,\n.mo .customStyleHelp,\n.mo .objEmpty,\n.mo .galleryEmpty,\n.mo .blockDescription {\n padding: 1em;\n margin-bottom: .5em;\n background-color: #DDDDDD;\n border-radius: 2.8px;\n box-shadow: none;\n color: #4F4F4F;\n}\n.mo .customStyleHelp,\n.mo .objEmpty {\n margin-bottom: 1em;\n}\n.mo .evo-pop {\n right: 0;\n width: auto;\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n border-width: 0;\n padding: 3px;\n}\n.mo .evo-pop .evo-palette td {\n padding: 12px;\n border: none;\n}\n.mo .evo-pop .evo-palette th,\n.mo .evo-pop .evo-palette-ie th,\n.mo .evo-pop .evo-palette2 th {\n border: none;\n}\n.mo .evo-pop .evo-palette,\n.mo .evo-pop .evo-palette-ie,\n.mo .evo-pop .evo-palette2 {\n border-spacing: 0px 0px;\n margin: 0 auto;\n width: auto;\n border: none;\n}\n.mo .evo-pop .evo-palette2 td {\n padding: 8px 9px;\n}\n.mo .evo-pop .evo-cHist div {\n padding: 12px;\n margin: 2px;\n}\n.mo .evo-pop .evo-color div {\n padding: 12px;\n margin: 2px;\n border-color: #c0c0c0;\n}\n.mo .evo-pop .evo-color {\n width: 120px;\n padding: 1px 3px 2px 4px;\n}\n.mo .evo-pop .evo-color span {\n font-size: 17px;\n margin: 5px 0 4px 4px;\n}\n.mo .evo-pop .evo-more {\n padding: 4px 5px;\n}\n.mo .evo-pop .evo-more a {\n margin-right: 1em;\n}\n/****************************************************************************************************************************\n * TOOLBAR\n ***************************************************************************************************************************/\n#toolbar {\n padding: 5px 10px;\n}\n#toolbar .button,\n#toolbar .ui-button,\n#toolbar .button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\n#toolbar ul.top_right_links {\n float: right;\n}\n#toolbar ul.top_right_links .dropdown {\n margin: .2em 0 0 0;\n}\n@media (max-width: 1460px) {\n #toolbar label[for=previewFrameToggle] {\n display: none;\n }\n #toolbar .ui-button[for=showGallery] .ui-icon {\n margin-right: 0;\n }\n #toolbar .ui-button[for=showGallery] .ui-button-text {\n display: none;\n }\n}\n#toolbar .leftButtons {\n float: left;\n}\n#toolbar .rightButtons {\n float: right;\n}\n#toolbar #downloadForm {\n display: inline-block;\n}\n/****************************************************************************************************************************\n * TOOLBOX\n ***************************************************************************************************************************/\n#main-toolbox {\n /* while local-editing we always show the local editor */\n /* while global-editing show the global editor unless it is overwritten (not null) */\n}\n#main-toolbox > div,\n#main-toolbox > div > div {\n height: 100%;\n overflow: hidden;\n}\n#main-toolbox #tooltabs.ui-tabs {\n overflow: hidden;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel {\n top: 40px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 100;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav {\n font-size: 1.2em;\n padding: 0px 0px 0px 4px;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li {\n margin: 4px 4px 0 0;\n line-height: 37px;\n /*\n a {\n background-color: @mosaico-button-background-color;\n color: @mosaico-button-text-color;\n text-decoration: none;\n font-weight: bold;\n &:hover {\n background-color: @mosaico-button-background-color-hover;\n }\n }\n &.ui-tabs-active a {\n background-color: @mosaico-background-color;\n color: @mosaico-text-color;\n font-weight: bold;\n }\n */\n /*a:focus, a:-moz-focusring {\n outline: 0 none !important;\n }*/\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li a {\n width: 100%;\n padding: 0 .5em;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel {\n margin: 0;\n padding: 0.7em;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n background-color: #eeeeee;\n}\n#main-toolbox .draggable-item {\n display: inline-block;\n}\n#main-toolbox .draggable {\n width: 100px;\n height: 100px;\n overflow: hidden;\n border: 2px solid black;\n z-index: 100;\n display: inline-block;\n}\n#main-toolbox .draggable-item .block .handle {\n cursor: move;\n z-index: 120;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 20px;\n right: 20px;\n}\n#main-toolbox .draggable-item {\n position: relative;\n}\n#main-toolbox .draggable-item .addblockbutton {\n z-index: 1000;\n position: absolute;\n bottom: 10px;\n right: 5px;\n display: none;\n}\n#main-toolbox .draggable-item .image,\n#main-toolbox .draggable-item .block img {\n box-shadow: 0 0 1px #808080;\n margin: 3px 0;\n}\n#main-toolbox .draggable-item:hover {\n transform: scale(1.05, 1.05);\n z-index: 10;\n position: relative;\n}\n#main-toolbox .draggable-item:hover .addblockbutton {\n display: block;\n}\n#main-toolbox .draggable-item:hover .image {\n box-shadow: 0 0 15px #808080;\n}\n#main-toolbox .draggable-item:hover .block img {\n box-shadow: 0 0 15px #808080;\n}\n#main-toolbox .blockType {\n display: none;\n}\n#main-toolbox .block-list {\n max-width: 346px;\n}\n#main-toolbox .block-list .draggable-item,\n#main-toolbox .block-list .draggable-item img {\n width: 100%;\n}\n#main-toolbox .objEdit.level1.selectable {\n position: relative;\n}\n#main-toolbox .objEdit.level1.selectable:after {\n content: \"\";\n visibility: hidden;\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border-width: 0px 0px;\n border-style: solid solid;\n border-color: currentcolor;\n outline-color: currentcolor;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem:after {\n display: block;\n visibility: visible;\n border: 0 dashed #ff5722;\n border-left-width: 5px;\n border-right-width: 5px;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-toolbox .objEdit.level1.selectable:hover:after {\n display: block;\n visibility: visible;\n outline-width: 1px;\n outline-style: solid;\n border-top-width: 0;\n border-bottom-width: 0;\n}\n#main-toolbox .objEdit.level1.selectable:hover,\n#main-toolbox .objEdit.level1.selectable.selecteditem {\n position: relative;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem {\n z-index: 10;\n}\n#main-toolbox .objEdit.level1.selectable:hover {\n z-index: 11;\n}\n#main-toolbox .blockCheck {\n float: right;\n margin-top: -34px;\n /*\n border-radius: 5px;\n border: 1px solid @mosaico-input-border-color;\n .reverse & {\n background-color: @mosaico-button-background-color;\n }\n */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer {\n width: 56px;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after {\n padding: 1px;\n display: block;\n float: left;\n font-size: 14px;\n line-height: 18px;\n width: 22px;\n opacity: 1;\n height: 18px;\n top: 0;\n left: 0;\n box-sizing: content-box;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after {\n content: \"\\f1b2\";\n /* cubo */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n content: \"\\f1b3\";\n /* cubi */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n width: 22px;\n font-weight: normal;\n min-height: 18px;\n line-height: 18px;\n color: rgba(48, 48, 48, 0.5);\n padding: 2px;\n margin: -1px -2px;\n z-index: 0;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after:focus,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after.inline,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before.inline {\n margin-right: .5em;\n width: auto;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n padding-left: 4px;\n padding-right: 2px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n padding-left: 2px;\n padding-right: 4px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n font-weight: normal;\n min-height: 18px;\n line-height: 18px;\n padding: 4px;\n margin: -3px -2px;\n opacity: 1;\n z-index: 1;\n}\nli #main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\nli #main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n color: #eeeeee;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after img,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before:hover,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.pressed,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.pressed,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.selected,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled {\n color: #ffa588;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled a,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled a,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled .link,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled .link {\n color: #ffa588;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.inline,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.inline {\n margin: 0 7px 0 0;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.big,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.big .suffix_icon,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.with_button_dropdown_split,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.with_button_dropdown_split.big,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.loading,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n#main-toolbox .workLocal .propInput.global,\n#main-toolbox .workLocal .propInput.global * {\n display: none;\n}\n#main-toolbox .workGlobal .propInput.local.default,\n#main-toolbox .workGlobal .propInput.local.default * {\n display: none;\n}\n#main-toolbox .workGlobal .propInput.global.overridden,\n#main-toolbox .workGlobal .propInput.global.overridden * {\n display: none;\n}\n#main-toolbox .workGlobalContent .propInput.local,\n#main-toolbox .workGlobalContent .propInput.local * {\n display: none;\n}\n#main-toolbox .workGlobalContent .blockCheck {\n display: none;\n}\n#main-toolbox .workGlobalContent .objLabel.level0 {\n margin-right: 0;\n}\n#main-toolbox .customStyled span {\n display: none;\n}\n#main-toolbox .customStyled:before {\n content: \" \";\n}\n#main-toolbox .customStyled:after {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n content: \"\\f1b2\";\n font-size: 14px;\n opacity: 1;\n}\n#main-toolbox #tooldebug {\n overflow: auto;\n}\n.mo-standalone #main-toolbox #tooltabs.ui-tabs > .ui-tabs-nav {\n padding-left: 40px;\n}\n/****************************************************************************************************************************\n * IMAGES GALLERY\n ***************************************************************************************************************************/\n#toolimagesgallery {\n padding: 10px;\n}\n@keyframes slideright {\n 0% {\n left: -450px;\n }\n 100% {\n left: 0;\n }\n}\n@keyframes slideleft {\n 0% {\n left: 0;\n }\n 100% {\n left: -450px;\n }\n}\n#toolimages .pane {\n text-align: center;\n}\n#toolimages .loadbutton,\n#toolimages .galleryPager {\n margin: .5em;\n}\n.slidebar {\n z-index: 200;\n position: absolute;\n top: 0;\n width: 397px;\n left: 0;\n animation: slideright 0.2s ease-out 0s 1;\n border-radius: 0;\n background-color: #eeeeee;\n box-shadow: 1px 0px 3px #808080;\n}\n.slidebar .close {\n float: right;\n visibility: hidden;\n cursor: pointer;\n width: 24px;\n display: block;\n}\n.slidebar .close:before {\n visibility: visible;\n font-size: 24px;\n font-family: FontAwesome;\n content: '\\f00d';\n position: relative;\n top: 0px;\n right: 0px;\n width: 24px;\n height: 24px;\n}\n.slidebar .pane {\n background-color: #eeeeee;\n border-radius: 5px;\n margin: 5px;\n padding: 5px;\n}\n.slidebar .pane-title {\n padding: 5px;\n display: block;\n}\n.slidebar.hidden {\n left: -450px;\n animation: slideleft 0.2s ease-out 0s 1;\n}\n#toolimagestab {\n padding: 0.2em;\n}\n#toolimagestab ul.ui-tabs-nav {\n padding: 0;\n}\n#toolimagestab li.ui-state-active a {\n background: none repeat scroll 0% 0% #FFF;\n}\n#toolimagestab .ui-tabs-panel {\n display: block;\n margin-top: 0;\n padding: 15px 18px;\n background: none repeat scroll 0% 0% #FFF;\n border: 1px solid #900000;\n border-width: 0px 1px 1px;\n}\n/****************************************************************************************************************************\n * PREVIEW\n ***************************************************************************************************************************/\n#main-preview .button,\n#main-preview .ui-button,\n#main-preview .button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\n#main-preview #preview-toolbar {\n padding: 3px 10px;\n text-align: center;\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n z-index: 200;\n}\n#main-preview #frame-container {\n position: absolute;\n top: 40px;\n bottom: 40px;\n left: 0;\n right: 0;\n background-color: #eeeeee;\n box-shadow: inset 0px 0px 10px #808080;\n}\n#frame-container > iframe {\n border: 0;\n box-sizing: border-box;\n padding: 0 6px;\n width: 100%;\n height: 100%;\n overflow: auto;\n transform-origin: 0 0;\n transform: scale(1);\n}\n#frame-container.desktop > iframe {\n padding: 12px;\n width: 200%;\n height: 200%;\n transform: scale(0.5);\n}\n#frame-container.large > iframe {\n padding: 15px;\n width: 250%;\n height: 250%;\n transform: scale(0.4);\n}\n/*\nSafari Hack: Safari create reflow glitches due to a webkit bug with border-spacing (cellspacing)\nwhen the template being edited makes use of horizontal border spacing.\n See: https://github.com/voidlabs/mosaico/issues/53\nThe following are terrible hacks to make this happens less often.\nIt seems something similar happens to Chrome, too;\n See:; https://github.com/voidlabs/mosaico/issues/85\nSo we broadened the application of this hack to include Chrome.\n*/\n@media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0) { @media {\n #main-wysiwyg-area table:not(.img-wysiwyg), #main-wysiwyg-area .selected table:not(.img-wysiwyg):hover {\n position: relative;\n }\n #main-wysiwyg-area table:not(.img-wysiwyg):hover, #main-wysiwyg-area .selected table:not(.img-wysiwyg) {\n position: static;\n }\n}}\n\n#main-edit-area .editable {\n position: relative;\n}\n/* minimum size for empty dropzones */\n#main-edit-area .sortable-blocks-edit.empty {\n min-height: 200px;\n height: 200px;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 20px 30px;\n border: 2px dashed currentcolor;\n border-radius: 20px;\n animation: border-color-selection-pulsate 4s infinite;\n position: relative;\n}\n#main-edit-area .sortable-blocks-edit.empty:after {\n content: attr(data-empty-content);\n font-size: 21.76px;\n font-weight: normal;\n text-decoration: none;\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n}\n#main-edit-area .isdragging .sortable-blocks-edit.empty:after {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(255, 87, 34, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #ff5722;\n z-index: 10;\n pointer-events: none;\n height: auto;\n bottom: -14px;\n}\n@keyframes pulse {\n 0% {\n left: -10px;\n right: -10px;\n opacity: .8;\n }\n 100% {\n left: -30px;\n right: -30px;\n opacity: 0;\n }\n}\n@keyframes slidein {\n 0% {\n transform: scale(1.5, 1.5);\n opacity: 0;\n }\n 100% {\n transform: scale(1, 1);\n opacity: 1;\n }\n}\n@keyframes slidein2 {\n 0% {\n margin-left: -30%;\n margin-right: 30%;\n opacity: 0;\n }\n 100% {\n margin-left: 0;\n margin-right: 0;\n opacity: 1;\n }\n}\n#main-edit-area .sortable-placeholder {\n animation: slidein .2s linear 0s 1;\n}\n#main-edit-area .sortable-placeholder:after {\n content: \"\";\n position: absolute;\n top: -10px;\n left: -10px;\n right: -10px;\n bottom: -10px;\n border: 10px solid red;\n border-color: rgba(255, 0, 0, 0.1) red rgba(255, 0, 0, 0.1) red;\n z-index: 50;\n opacity: .8;\n}\n#main-edit-area .img-wysiwyg {\n position: relative;\n /* questo dovrebbe avere lo stesso stile dell'immagine rimpiazzata! */\n /* display: inline-block; */\n display: block;\n width: auto;\n}\n#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg:before {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(255, 87, 34, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #ff5722;\n z-index: 10;\n pointer-events: none;\n line-height: 45px;\n height: auto;\n top: -10px;\n bottom: -10px;\n}\n#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg.ui-state-draghover:before {\n background-color: rgba(255, 87, 34, 0.8);\n animation: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mo-blockselectionhelper {\n content: \"\";\n visibility: hidden;\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -3px;\n left: -12px;\n right: -12px;\n border-width: 0px 0px;\n border-style: solid solid;\n border-color: currentcolor;\n outline-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper {\n display: block;\n visibility: visible;\n border: 0 dashed #ff5722;\n border-left-width: 10px;\n border-right-width: 10px;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper {\n display: block;\n visibility: visible;\n outline-width: 1px;\n outline-style: solid;\n border-top-width: 0;\n border-bottom-width: 0;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover,\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover {\n z-index: 11;\n}\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder) + div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):before,\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):first-child:before,\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(255, 87, 34, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #ff5722;\n z-index: 10;\n pointer-events: none;\n}\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after {\n bottom: -20px;\n top: auto;\n}\n#main-edit-area .editable.sortable-placeholder:hover .tools {\n visibility: hidden;\n}\n#main-edit-area .editable:hover .tools {\n visibility: visible;\n}\n#main-edit-area .ui-sortable-helper > *,\n#main-edit-area .ui-sortable-helper .tools > * {\n opacity: .3;\n}\n#main-edit-area .ui-sortable-helper .tools,\n#main-edit-area .ui-sortable-helper .tools .handle {\n opacity: 1;\n}\n#main-edit-area .tool {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n font-weight: bold;\n text-transform: uppercase;\n display: inline-block;\n text-align: center;\n width: 25px;\n height: 25px;\n font-size: 20px;\n padding: 3px;\n padding-bottom: 2px;\n margin: 0;\n min-height: auto;\n box-shadow: 0 0 5px #77deff;\n cursor: pointer;\n}\nli #main-edit-area .tool {\n color: #eeeeee;\n}\n#main-edit-area .tool img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n#main-edit-area .tool:hover,\n#main-edit-area .tool.pressed,\n#main-edit-area .tool.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n#main-edit-area .tool.disabled {\n color: #ffa588;\n}\n#main-edit-area .tool.disabled a,\n#main-edit-area .tool.disabled .link {\n color: #ffa588;\n}\n#main-edit-area .tool.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n#main-edit-area .tool.inline {\n margin: 0 7px 0 0;\n}\n#main-edit-area .tool.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n#main-edit-area .tool.primary:hover {\n background-color: #ee3900;\n border-color: #ee3900;\n}\n#main-edit-area .tool.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n#main-edit-area .tool.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n#main-edit-area .tool.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n#main-edit-area .tool.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n#main-edit-area .tool.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n#main-edit-area .tool input.fileupload {\n padding-top: 50px;\n}\n#main-edit-area .tool:hover {\n background-color: #ee3900;\n}\n#main-edit-area .tools .tool.handle {\n float: left;\n margin-left: 16px;\n cursor: move;\n}\n#main-edit-area .tools .tool.moveup,\n#main-edit-area .tools .tool.movedown {\n float: left;\n margin-left: 3px;\n}\n#main-edit-area .tools .tool.delete,\n#main-edit-area .tools .tool.clone {\n float: right;\n margin-left: 3px;\n}\n#main-edit-area .tools .tool.delete {\n margin-right: 16px;\n}\n#main-edit-area .midtools {\n visibility: hidden;\n z-index: 30;\n position: absolute;\n bottom: 16px;\n width: 100%;\n text-align: left;\n}\n#main-edit-area .img-wysiwyg:hover .midtools {\n visibility: visible;\n}\n#main-edit-area .uploading .midtools {\n visibility: hidden !important;\n}\n#main-edit-area .uploading .fileuploadtext {\n visibility: hidden !important;\n}\n#main-edit-area .uploading .fileupload.withfile {\n visibility: hidden;\n}\n#main-edit-area .img-wysiwyg .img-size {\n visibility: hidden;\n position: absolute;\n top: 0;\n right: 0;\n padding: 2px;\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 12px;\n background-color: rgba(128, 128, 128, 0.5);\n color: white;\n}\n#main-edit-area .img-wysiwyg:hover .img-size {\n visibility: visible;\n}\n#main-edit-area .midtools .tool {\n z-index: 20;\n margin-left: 8px;\n}\n#main-edit-area .tools {\n position: absolute;\n visibility: hidden;\n margin: 0;\n top: -16px;\n left: 0;\n right: 0;\n height: 1px;\n z-index: 20;\n text-align: center;\n /* width: 100%;*/\n /* padding: 0.25em; */\n}\n#main-wysiwyg-area {\n backface-visibility: hidden;\n background-color: white;\n}\n#main-edit-area,\n#main-toolbox,\n#main-preview {\n position: absolute;\n top: 0;\n bottom: 0;\n}\n#main-wysiwyg-area a[href] {\n cursor: default !important;\n}\n#main-wysiwyg-area a[contenteditable] {\n cursor: text !important;\n}\n#main-wysiwyg-area span[contenteditable]:empty,\n#main-wysiwyg-area a[contenteditable]:empty {\n display: inline-block;\n min-width: 50px;\n}\n#main-wysiwyg-area div[contenteditable],\n#main-wysiwyg-area p[contenteditable],\n#main-wysiwyg-area td[contenteditable] {\n min-width: 50px;\n}\n#main-edit-area .mce-edit-focus {\n outline: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after {\n content: \"\";\n visibility: hidden;\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border-width: 0px 0px;\n border-style: solid solid;\n border-color: currentcolor;\n outline-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after {\n display: block;\n visibility: visible;\n border: 1px dashed #ff5722;\n border-left-width: 5px;\n border-right-width: 5px;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after {\n display: block;\n visibility: visible;\n outline-width: 1px;\n outline-style: solid;\n border-top-width: 0;\n border-bottom-width: 0;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover,\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover {\n z-index: 11;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img .mo-imgselectionhelper {\n content: \"\";\n visibility: hidden;\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border-width: 0px 0px;\n border-style: solid solid;\n border-color: currentcolor;\n outline-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper {\n display: block;\n visibility: visible;\n border: 1px dashed #ff5722;\n border-left-width: 5px;\n border-right-width: 5px;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper {\n display: block;\n visibility: visible;\n outline-width: 1px;\n outline-style: solid;\n border-top-width: 0;\n border-bottom-width: 0;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover,\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover {\n z-index: 11;\n}\n#main-edit-area .textMiddle {\n text-shadow: none !important;\n font-weight: bold;\n background-color: rgba(255, 255, 255, 0.2);\n /* border-radius: 5px; */\n padding: 3px;\n position: absolute;\n top: 2px;\n left: 2px;\n right: 2px;\n}\n#main-wysiwyg-area replacedbody {\n position: relative;\n display: block;\n min-height: 100%;\n max-width: 700px;\n margin: 0 auto !important;\n padding: 16px 20px !important;\n}\n@media (min-width: 1400px) {\n #main-wysiwyg-area replacedbody {\n max-width: 800px;\n }\n}\n@media (min-width: 1600px) {\n #main-wysiwyg-area replacedbody {\n max-width: 900px;\n }\n}\n@media (max-width: 1700px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody {\n max-width: 700px;\n }\n}\n@media (min-width: 1700px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody {\n max-width: 800px;\n }\n}\n@media (max-width: 1400px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody:before,\n .withPreviewFrame #main-wysiwyg-area replacedbody:after {\n display: none;\n }\n}\n@media (min-width: 1100px) {\n #main-wysiwyg-area replacedbody:before,\n #main-wysiwyg-area replacedbody:after {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 40px;\n bottom: 0;\n background: linear-gradient(90deg, rgba(255, 255, 255, 0) 19%, white 21%, white 79%, rgba(255, 255, 255, 0) 81%), linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 28%, white 28%, white 72%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 0) 75%), linear-gradient(-135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 28%, white 28%, white 72%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 0) 75%), linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, #CCC 25%, white 28%, white 72%, #CCC 75%, rgba(255, 255, 255, 0) 75%), linear-gradient(-135deg, rgba(255, 255, 255, 0) 25%, #CCC 25%, white 28%, white 72%, #CCC 75%, rgba(255, 255, 255, 0) 75%);\n background-size: 80px 20px;\n background-position: left -40px top 0;\n z-index: 1;\n }\n #main-wysiwyg-area replacedbody:after {\n left: auto;\n right: 0;\n background-position: left 0px top 0;\n }\n}\n.mce-toolbar-grp.mce-panel .mce-btn-group {\n box-shadow: 0 0 5px #77deff;\n}\n/**************************************************************************************************************************\n * TINYMCE / MOXIEMANAGER HTML ELEMENTS\n *************************************************************************************************************************/\n/**\n * moxiemanager window\n */\n.moxman-window,\n.mce-window {\n border: none;\n border-top-left-radius: 2.8px;\n border-top-right-radius: 2.8px;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n overflow: hidden;\n}\n.moxman-window .moxman-window-head,\n.mce-window .moxman-window-head,\n.moxman-window .mce-window-head,\n.mce-window .mce-window-head {\n background: none #900000;\n font-size: 1.1em;\n}\n.moxman-window .moxman-window-head .moxman-title,\n.mce-window .moxman-window-head .moxman-title,\n.moxman-window .mce-window-head .moxman-title,\n.mce-window .mce-window-head .moxman-title,\n.moxman-window .moxman-window-head .mce-title,\n.mce-window .moxman-window-head .mce-title,\n.moxman-window .mce-window-head .mce-title,\n.mce-window .mce-window-head .mce-title {\n color: #303030;\n}\n.moxman-window .moxman-window-head button.moxman-close,\n.mce-window .moxman-window-head button.moxman-close,\n.moxman-window .mce-window-head button.moxman-close,\n.mce-window .mce-window-head button.moxman-close,\n.moxman-window .moxman-window-head button.mce-close,\n.mce-window .moxman-window-head button.mce-close,\n.moxman-window .mce-window-head button.mce-close,\n.mce-window .mce-window-head button.mce-close {\n color: #eeeeee;\n font-size: 1.6em;\n top: 6px;\n}\n.moxman-window .moxman-window-head button.moxman-close:hover,\n.mce-window .moxman-window-head button.moxman-close:hover,\n.moxman-window .mce-window-head button.moxman-close:hover,\n.mce-window .mce-window-head button.moxman-close:hover,\n.moxman-window .moxman-window-head button.mce-close:hover,\n.mce-window .moxman-window-head button.mce-close:hover,\n.moxman-window .mce-window-head button.mce-close:hover,\n.mce-window .mce-window-head button.mce-close:hover {\n color: #303030;\n}\n.moxman-window .moxman-panel,\n.mce-window .moxman-panel,\n.moxman-window .mce-panel,\n.mce-window .mce-panel {\n background-color: #eeeeee;\n}\n.moxman-window .moxman-container-body .moxman-panel.moxman-first,\n.mce-window .moxman-container-body .moxman-panel.moxman-first,\n.moxman-window .mce-container-body .moxman-panel.moxman-first,\n.mce-window .mce-container-body .moxman-panel.moxman-first,\n.moxman-window .moxman-container-body .mce-panel.mce-first,\n.mce-window .moxman-container-body .mce-panel.mce-first,\n.moxman-window .mce-container-body .mce-panel.mce-first,\n.mce-window .mce-container-body .mce-panel.mce-first {\n border-bottom: none;\n}\n.moxman-window div.moxman-filelist-head,\n.mce-window div.moxman-filelist-head {\n background-color: #eeeeee;\n border-bottom: none;\n}\n.moxman-window .moxman-filelist,\n.mce-window .moxman-filelist {\n border-top: 2px solid #d5d5d5;\n /* HIDE CHECKBOX: .moxman-filelist-body td:first-child, .moxman-filelist-head td:first-child {\n display: none;\n }*/\n}\n.moxman-window .moxman-filelist .moxman-filelist-row td,\n.mce-window .moxman-filelist .moxman-filelist-row td {\n background-color: #d2a7a7;\n border-bottom: none;\n}\n.moxman-window .moxman-filelist .moxman-filelist-odd td,\n.mce-window .moxman-filelist .moxman-filelist-odd td {\n background-color: #eeeeee;\n}\n.moxman-window .moxman-filelist tr.moxman-checked,\n.mce-window .moxman-filelist tr.moxman-checked,\n.moxman-window .moxman-filelist tr.moxman-checked td,\n.mce-window .moxman-filelist tr.moxman-checked td {\n background-color: #FFFF90;\n color: #303030;\n}\n.moxman-window .moxman-filelist tr.moxman-checked div .moxman-txt,\n.mce-window .moxman-filelist tr.moxman-checked div .moxman-txt,\n.moxman-window .moxman-filelist tr.moxman-checked td div .moxman-txt,\n.mce-window .moxman-filelist tr.moxman-checked td div .moxman-txt,\n.moxman-window .moxman-filelist tr.moxman-checked i.moxman-ico,\n.mce-window .moxman-filelist tr.moxman-checked i.moxman-ico,\n.moxman-window .moxman-filelist tr.moxman-checked td i.moxman-ico,\n.mce-window .moxman-filelist tr.moxman-checked td i.moxman-ico {\n color: #303030;\n}\n.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-down,\n.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-down {\n border-top-color: #303030;\n}\n.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-up,\n.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-up {\n border-bottom-color: #303030;\n}\n.moxman-window .moxman-thumbnailview,\n.mce-window .moxman-thumbnailview {\n border-top: 2px solid #d5d5d5;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb,\n.mce-window .moxman-thumbnailview .moxman-thumb {\n border: 1px solid #d2a7a7;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb:hover,\n.mce-window .moxman-thumbnailview .moxman-thumb:hover,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked {\n outline: 2px solid #FFFF90;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info {\n background-color: #d2a7a7;\n color: #303030;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox {\n background-color: #eeeeee;\n color: #303030;\n border: 1px solid #303030;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before {\n color: #303030;\n}\n.moxman-window i.moxman-i-checkbox,\n.mce-window i.moxman-i-checkbox,\n.moxman-window i.mce-i-checkbox,\n.mce-window i.mce-i-checkbox {\n background-color: transparent;\n}\n.moxman-window .mce-listbox,\n.mce-window .mce-listbox,\n.moxman-window .mce-listbox:hover,\n.mce-window .mce-listbox:hover,\n.moxman-window .mce-listbox.mce-active,\n.mce-window .mce-listbox.mce-active,\n.moxman-window .mce-listbox.mce-active:hover,\n.mce-window .mce-listbox.mce-active:hover,\n.moxman-window .mce-listbox:focus,\n.mce-window .mce-listbox:focus {\n background-color: transparent;\n text-shadow: none;\n border: 1px solid #C5C5C5;\n}\n.moxman-window .mce-listbox span,\n.mce-window .mce-listbox span,\n.moxman-window .mce-listbox:hover span,\n.mce-window .mce-listbox:hover span,\n.moxman-window .mce-listbox.mce-active span,\n.mce-window .mce-listbox.mce-active span,\n.moxman-window .mce-listbox.mce-active:hover span,\n.mce-window .mce-listbox.mce-active:hover span,\n.moxman-window .mce-listbox:focus span,\n.mce-window .mce-listbox:focus span,\n.moxman-window .mce-listbox .mce-ico,\n.mce-window .mce-listbox .mce-ico,\n.moxman-window .mce-listbox:hover .mce-ico,\n.mce-window .mce-listbox:hover .mce-ico,\n.moxman-window .mce-listbox.mce-active .mce-ico,\n.mce-window .mce-listbox.mce-active .mce-ico,\n.moxman-window .mce-listbox.mce-active:hover .mce-ico,\n.mce-window .mce-listbox.mce-active:hover .mce-ico,\n.moxman-window .mce-listbox:focus .mce-ico,\n.mce-window .mce-listbox:focus .mce-ico {\n color: #303030;\n}\n.moxman-window .mce-listbox i.mce-caret,\n.mce-window .mce-listbox i.mce-caret,\n.moxman-window .mce-listbox:hover i.mce-caret,\n.mce-window .mce-listbox:hover i.mce-caret,\n.moxman-window .mce-listbox.mce-active i.mce-caret,\n.mce-window .mce-listbox.mce-active i.mce-caret,\n.moxman-window .mce-listbox.mce-active:hover i.mce-caret,\n.mce-window .mce-listbox.mce-active:hover i.mce-caret,\n.moxman-window .mce-listbox:focus i.mce-caret,\n.mce-window .mce-listbox:focus i.mce-caret {\n border-top-color: #303030;\n}\n.moxman-window .moxman-btn i,\n.mce-window .moxman-btn i,\n.moxman-window .mce-btn i,\n.mce-window .mce-btn i {\n text-shadow: none;\n}\n.moxman-window input,\n.mce-window input,\n.moxman-window select,\n.mce-window select,\n.moxman-window textarea,\n.mce-window textarea,\n.moxman-window button,\n.mce-window button {\n max-width: none;\n}\n.moxman-tooltip,\n.mce-tooltip {\n z-index: 500000 !important;\n}\n.mce-toolbar-grp.mce-panel,\n.mce-tinymce-inline {\n background-color: transparent !important;\n border-color: transparent !important;\n}\n.mce-menu,\n.moxman-menu {\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n}\n@keyframes border-color-selection-pulsate {\n 0% {\n border-color: currentcolor;\n }\n 40% {\n border-color: #ff5722;\n }\n 60% {\n border-color: #ff5722;\n }\n 100% {\n border-color: currentcolor;\n }\n}\n@keyframes droppable-pulsate {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0.1;\n }\n}\n/****************************************************************************************************************************\n * PAGE SETTINGS\n * Base styles / reset, full page layout\n ***************************************************************************************************************************/\nbody {\n background-color: #900000;\n margin: 0;\n overflow: hidden;\n /* otherwsie TinyMCE menues sometimes makes scrollbars show in main body */\n}\ninput,\nselect,\ntextarea,\nbutton {\n font-family: inherit;\n font-size: inherit;\n max-width: 100%;\n}\n* {\n user-select: none;\n}\ninput,\ntextarea,\n[contenteditable],\n[contenteditable] *,\n.evo-color span {\n user-select: text;\n}\na[disabledhref] {\n color: #06C;\n color: -webkit-link;\n text-decoration: underline;\n cursor: auto;\n}\na[disabledhref]:-moz-read-write {\n text-decoration: underline -moz-anchor-decoration;\n color: -moz-hyperlinktext;\n}\n/****************************************************************************************************************************\n * LAYOUT\n ***************************************************************************************************************************/\n#page {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n}\n#main-edit-area {\n left: 0;\n right: 0;\n overflow: hidden;\n}\n#main-edit-area,\n#toolbar {\n min-width: 600px;\n}\n#toolbar {\n z-index: 110 !important;\n background-color: #900000;\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 40px;\n}\n#main-toolbox {\n backface-visibility: hidden;\n display: none;\n left: 0;\n width: 400px;\n box-shadow: 0 0 10px #808080, 0 0 5px #808080;\n}\n.withToolbox #main-toolbox {\n display: block;\n}\n.withToolbox #main-edit-area,\n.withToolbox #toolbar {\n left: 400px;\n}\n#main-preview {\n backface-visibility: hidden;\n display: none;\n right: 0;\n width: 340px;\n overflow: hidden;\n}\n.withPreviewFrame #main-preview {\n display: block;\n}\n.withPreviewFrame #main-edit-area {\n right: 345px;\n}\n#main-edit-area:before,\n#main-edit-area:after,\n#frame-container:before,\n#frame-container:after {\n content: \"\";\n display: block;\n position: absolute;\n border: 0;\n height: 40px;\n box-shadow: 0px 1px 10px #808080, 0px 0px 5px #808080;\n left: 0;\n right: 0;\n top: 0;\n z-index: 100;\n}\n#main-edit-area:after {\n top: auto;\n bottom: -40px;\n}\n#frame-container:before {\n top: -40px;\n}\n#frame-container:after {\n top: auto;\n bottom: -40px;\n}\n#main-wysiwyg-area {\n position: absolute;\n top: 40px;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n -webkit-transform: translate3d(0, 0, 0);\n}\n/****************************************************************************************************************************\n * GENERIC UTILITIES: \n * DRAG&DROP, UPLOADER, TOASTER, TOOLTIP, FONTS, LOADER\n ***************************************************************************************************************************/\n#main-toolbox .draggable.image {\n width: 85px;\n height: 85px;\n text-align: center;\n vertical-align: middle;\n padding: 5px;\n border: 0;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n}\n#main-toolbox .draggable.image img {\n opacity: 0;\n}\n.ui-draggable-dragging {\n z-index: 10000;\n}\n.ui-draggable-dragging.sortable-placeholder {\n top: 0 !important;\n left: 0 !important;\n}\n.uploading .fileuploadtext {\n display: none;\n}\n.fileuploadtext {\n top: 0px !important;\n left: 0px !important;\n right: 0px !important;\n bottom: 0px !important;\n color: #000000;\n}\n.uploadzone .fileuploadtext {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n}\n.isdragging .uploadzone .fileuploadtext,\n.isdraggingimg .uploadzone .fileuploadtext {\n display: none !important;\n}\n.uploadzone .progress {\n display: none;\n}\n.uploadzone.uploading .progress {\n display: block;\n}\n/* this is needed to push a dropzone over a \"makeDroppable\" (greater z-index)\n because IE10 doesn't support \"pointer-events: none\" and images drag/drop from desktop wouldn't work */\n.mo-uploadzone {\n position: absolute;\n z-index: 15;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n display: block;\n}\n.toast-bottom-full-width {\n margin-left: 25%;\n margin-right: 25%;\n width: 50% !important;\n}\nbody > .ui-tooltip {\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-size: 14px;\n border-width: 0px;\n padding: 8px;\n position: absolute;\n z-index: 9999;\n max-width: 300px;\n box-shadow: 0px 0px 5px #AAA;\n}\n.ui-helper-hidden-accessible {\n border: 0px none;\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute !important;\n width: 1px;\n}\ni.mce-i-newsletter-profile:before {\n content: '\\e826';\n font-family: \"fontello\";\n}\n@keyframes loading {\n 0% {\n transform: scale(1, 1) rotate(0deg);\n }\n 50% {\n transform: scale(1.5, 1.5) rotate(360deg);\n }\n 100% {\n transform: scale(1, 1) rotate(720deg);\n }\n}\n.mo-standalone #loading.loading img {\n animation: loading 4s linear infinite;\n}\n@keyframes broken {\n 0% {\n opacity: 0;\n }\n 95% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n#loading.loading div {\n animation: broken 10s linear forwards;\n padding: 1em;\n opacity: 1;\n}\n#carousel-dialog .carousel-buttons {\n position: absolute;\n right: 5px;\n bottom: 10px;\n}\n#carousel-dialog .carousel-buttons .button {\n font-size: 1.2em;\n}\n#carousel-dialog .carousel-remember {\n font-size: 1.2em;\n position: absolute;\n left: 10px;\n bottom: 17px;\n}\n#carousel-dialog .carousel-remember input {\n vertical-align: middle;\n margin-right: .2em;\n}\n#carousel-dialog .owl-carousel {\n height: 550px;\n}\n#carousel-dialog .owl-controls {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 7px;\n}\n#carousel-dialog .owl-controls .owl-page.active span {\n background-color: #ff5722;\n}\n#carousel-dialog .owl-controls .owl-page span {\n background-color: #900000;\n /*opacity: 1;*/\n}\n#carousel-dialog .carousel-help {\n margin-top: 5px;\n font-size: 1.2em;\n}\n#carousel-dialog .carousel-help-text {\n line-height: 1.5em;\n}\n#carousel-dialog .carousel-help-text.large-width {\n width: 80%;\n margin: 0 auto;\n}\n#carousel-dialog .carousel-help-text p {\n padding: .5em;\n}\n#carousel-dialog .carousel-help .left {\n margin-right: 20px;\n}\n#carousel-dialog .carousel-help .top {\n margin-bottom: 10px;\n}\n#carousel-dialog .carousel-help-balloon {\n display: flex;\n display: -webkit-flex;\n display: -ms-flexbox;\n align-items: center;\n -webkit-align-items: center;\n /*-ms-flex-align: center; -webkit-box-align: center;*/\n justify-content: center;\n text-align: center;\n overflow: auto;\n padding: 0 .5em;\n}\n#carousel-dialog .carousel-help-balloon > div {\n width: 100%;\n}\n.toast-title {\n font-weight: bold;\n}\n.toast-message {\n -ms-word-wrap: break-word;\n word-wrap: break-word;\n}\n.toast-message a,\n.toast-message label {\n color: #FFFFFF;\n}\n.toast-message a:hover {\n color: #CCCCCC;\n text-decoration: none;\n}\n.toast-close-button {\n position: relative;\n right: -0.3em;\n top: -0.3em;\n float: right;\n font-size: 20px;\n font-weight: bold;\n color: #FFFFFF;\n -webkit-text-shadow: 0 1px 0 #ffffff;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n line-height: 1;\n}\n.toast-close-button:hover,\n.toast-close-button:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n.rtl .toast-close-button {\n left: -0.3em;\n float: left;\n right: 0.3em;\n}\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.toast-top-center {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-center {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-full-width {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-full-width {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-left {\n top: 12px;\n left: 12px;\n}\n.toast-top-right {\n top: 12px;\n right: 12px;\n}\n.toast-bottom-right {\n right: 12px;\n bottom: 12px;\n}\n.toast-bottom-left {\n bottom: 12px;\n left: 12px;\n}\n#toast-container {\n position: fixed;\n z-index: 999999;\n pointer-events: none;\n /*overrides*/\n}\n#toast-container * {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n#toast-container > div {\n position: relative;\n pointer-events: auto;\n overflow: hidden;\n margin: 0 0 6px;\n padding: 15px 15px 15px 50px;\n width: 300px;\n -moz-border-radius: 3px 3px 3px 3px;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n background-position: 15px center;\n background-repeat: no-repeat;\n -moz-box-shadow: 0 0 12px #999999;\n -webkit-box-shadow: 0 0 12px #999999;\n box-shadow: 0 0 12px #999999;\n color: #FFFFFF;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n}\n#toast-container > div.rtl {\n direction: rtl;\n padding: 15px 50px 15px 15px;\n background-position: right 15px center;\n}\n#toast-container > div:hover {\n -moz-box-shadow: 0 0 12px #000000;\n -webkit-box-shadow: 0 0 12px #000000;\n box-shadow: 0 0 12px #000000;\n opacity: 1;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n filter: alpha(opacity=100);\n cursor: pointer;\n}\n#toast-container > .toast-info {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-error {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-success {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important;\n}\n#toast-container > .toast-warning {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important;\n}\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div {\n width: 300px;\n margin-left: auto;\n margin-right: auto;\n}\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n width: 96%;\n margin-left: auto;\n margin-right: auto;\n}\n.toast {\n background-color: #030303;\n}\n.toast-success {\n background-color: #51A351;\n}\n.toast-error {\n background-color: #BD362F;\n}\n.toast-info {\n background-color: #2F96B4;\n}\n.toast-warning {\n background-color: #F89406;\n}\n.toast-progress {\n position: absolute;\n left: 0;\n bottom: 0;\n height: 4px;\n background-color: #000000;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 11em;\n }\n #toast-container > div.rtl {\n padding: 8px 50px 8px 8px;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n #toast-container .rtl .toast-close-button {\n left: -0.2em;\n right: 0.2em;\n }\n}\n@media all and (min-width: 241px) and (max-width: 480px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 18em;\n }\n #toast-container > div.rtl {\n padding: 8px 50px 8px 8px;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n #toast-container .rtl .toast-close-button {\n left: -0.2em;\n right: 0.2em;\n }\n}\n@media all and (min-width: 481px) and (max-width: 768px) {\n #toast-container > div {\n padding: 15px 15px 15px 50px;\n width: 25em;\n }\n #toast-container > div.rtl {\n padding: 15px 50px 15px 15px;\n }\n}\n/*\n evol.colorpicker 3.2.2\n (c) 2015 Olivier Giulieri\n http://evoluteur.github.io/colorpicker/\n*/\n.evo-pop {\n z-index: 10000;\n width: 204px;\n padding: 3px 3px 0;\n}\n.evo-pop-ie {\n z-index: 10000;\n width: 212px;\n padding: 3px;\n}\n.evo-palette td {\n font-size: 1px;\n border: solid 1px #c0c0c0;\n padding: 7px;\n cursor: pointer;\n}\n.evo-palette tr.top > td {\n border-bottom: 0;\n}\n.evo-palette tr.in > td {\n border-top: 0;\n border-bottom: 0;\n}\n.evo-palette tr.bottom > td {\n border-top: 0;\n}\n.evo-palette div.sep {\n height: 3px;\n}\n.evo-palette,\n.evo-palette-ie {\n border-collapse: separate;\n border-spacing: 4px 0px;\n *border-collapse: expression('separate', cellSpacing='2px');\n}\n.evo-palette th,\n.evo-palette-ie th {\n border: 0;\n padding: 5px 3px;\n text-align: left;\n font-weight: normal;\n background: transparent !important;\n}\n.evo-palette-ie td {\n font-size: 1px;\n border: solid 1px #c0c0c0;\n padding: 7px;\n cursor: pointer;\n}\n.evo-palette2,\n.evo-palette2-ie {\n margin: auto;\n border-collapse: collapse;\n}\n.evo-palette2 td,\n.evo-palette2-ie td {\n font-size: 1px;\n cursor: pointer;\n}\n.evo-palette2 td {\n padding: 6px 7px;\n}\n.evo-palette2-ie td {\n padding: 5px;\n}\n.evo-palcenter {\n padding: 5px;\n text-align: center;\n}\n.evo-colorind,\n.evo-colorind-ie,\n.evo-colorind-ff {\n border: solid 1px #c3c3c3;\n width: 18px;\n height: 18px;\n float: right;\n}\n.evo-colorind-ie {\n position: relative;\n top: -23px;\n}\n.evo-colorbox-ie {\n font-size: 8px;\n padding: 3px 9px !important;\n}\n/*\n.evo-colortxt-ie {\n\tposition:relative;\n\ttop:-6px;\n}*/\n.evo-pop:after,\n.evo-pop-ie:after,\n.evo-colorind:after,\n.evo-colorind-ie:after,\n.evo-colorind-ff:after,\n.evo-color span:after,\n.evo-cHist:after {\n content: \".\";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n font-size: 0;\n}\n.evo-color {\n width: 94px;\n padding: 1px 3px 0 4px;\n}\n.evo-color div {\n border: solid 1px #808080;\n border-right: solid 1px #c0c0c0;\n border-bottom: solid 1px #c0c0c0;\n padding: 3px;\n margin-bottom: 5px;\n width: 10px;\n height: 10px;\n float: left;\n}\n.evo-color span {\n font-size: 15px;\n margin: 1px 0 4px 3px;\n float: left;\n}\n.evo-sep {\n height: 10px;\n font-size: 0;\n}\n.evo-more {\n padding: 4px 5px 4px;\n font-size: smaller;\n}\n.evo-cHist {\n padding: 3px;\n}\n.evo-cHist div {\n cursor: pointer;\n border: solid 1px #c0c0c0;\n padding: 3px;\n margin: 5px;\n width: 10px;\n height: 10px;\n float: left;\n}\n.evo-transparent {\n background-image: repeating-linear-gradient(135deg, #000000, #000000 1px, #ffffff 1px, #ffffff 3px);\n}\n.evo-tr-box {\n cursor: pointer;\n border: solid 1px #c0c0c0;\n padding: 3px;\n width: 7px;\n height: 7px;\n float: right;\n position: relative;\n right: -3px;\n top: 2px;\n}\na.evo-hist {\n margin-left: 6px;\n}\n.evo-pointer {\n cursor: pointer;\n}\n.evo-hidden-button {\n display: none;\n}\n#main-preview #preview-toolbar {\n padding: 1px 5px;\n}\n#toolbar {\n padding: 1px 5px;\n}\n#main-edit-area .tool {\n border-radius: 100%;\n padding: 4px;\n padding-bottom: 2px;\n box-shadow: 1px 1px 3px #727272;\n}\n#toolbar .ui-button,\n#preview-toolbar .ui-button {\n padding-top: 7px;\n padding-bottom: 7px;\n line-height: 22px;\n background-color: #900000;\n}\n#toolbar .ui-button:hover,\n#preview-toolbar .ui-button:hover,\n#toolbar .ui-button.pressed,\n#preview-toolbar .ui-button.pressed {\n background-color: #c30000;\n}\n#toolbar .ui-button.selected,\n#preview-toolbar .ui-button.selected,\n#toolbar .ui-button.ui-state-active,\n#preview-toolbar .ui-button.ui-state-active {\n border-bottom: 2px solid #eeeeee;\n border-top: 0;\n}\n#toolbar .ui-button.ui-button-disabled,\n#preview-toolbar .ui-button.ui-button-disabled,\n#toolbar .ui-button.ui-button-disabled .ui-icon,\n#preview-toolbar .ui-button.ui-button-disabled .ui-icon,\n#toolbar .ui-button.ui-button-disabled .ui-button-text,\n#preview-toolbar .ui-button.ui-button-disabled .ui-button-text {\n color: #bf7777;\n}\n#main-toolbox #tooltabs.ui-tabs > .ui-tabs-nav {\n box-shadow: 0 0 10px #727272;\n position: absolute;\n left: 0;\n right: 0;\n z-index: 105;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav {\n font-size: 1em;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li {\n margin: 1px 1px 0 0;\n line-height: 36px;\n}\n.addblockbutton {\n box-shadow: 1px 1px 3px #727272;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n border-radius: 50%;\n box-shadow: 1px 1px 2px #727272;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n border-radius: 30px;\n background-color: #ffa588;\n color: #eeeeee;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n padding-left: 15px;\n margin-left: -15px;\n border-color: transparent;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n padding-right: 15px;\n margin-right: -15px;\n border-color: transparent;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox]:checked + .checkbox-replacer:before {\n margin-left: 20px;\n background-color: #ff5722;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .objEdit .propInput input[type=checkbox] + .checkbox-replacer:before {\n content: \" \";\n display: block;\n transition: margin-left 0.2s, background-color 0.2s;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox] + .checkbox-replacer:before {\n width: 20px;\n height: 20px;\n background-color: white;\n border-radius: 50%;\n font-size: 120%;\n box-shadow: 1px 1px 3px #727272;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox]:checked + .checkbox-replacer:after {\n background-color: #ffa588;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox] + .checkbox-replacer:after {\n width: 34px;\n height: 14px;\n margin: -16px 2px 0 2px;\n border-radius: 7px;\n background-color: #7c7c7c;\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n color: #ff5722;\n}\n.mo .propInput .data-select select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.mo .propInput .data-select:after {\n background-color: transparent;\n color: #7c7c7c;\n}\n.mo .propInput .evo-pointer:before {\n background-color: white;\n color: #7c7c7c;\n}\n.mo .propInput .data-integer .ui-spinner-button .ui-button-text {\n background-color: transparent;\n color: #7c7c7c;\n}\n.mo .propInput .data-select:hover:after,\n.mo .propInput .evo-pointer:hover:before,\n.mo .ui-button.ui-spinner-button.ui-state-hover,\n.mo .propInput .data-integer .ui-button-text,\n.mo .propInput .data-integer .ui-spinner-button:hover .ui-button-text {\n color: #ff5722;\n}\n.mo .propInput .ui-spinner .ui-spinner-input {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.mo .ui-button.ui-spinner-button {\n background-color: transparent;\n}\n.mo .ui-button.ui-spinner-button .ui-button-text .ui-icon {\n color: #7c7c7c;\n}\n#main-toolbox .objLabel.level1 {\n font-weight: bold;\n border-bottom-width: 1px;\n}\n.mo .objPreview {\n border-width: 0;\n box-shadow: 1px 1px 3px #727272;\n}\n.mo .objLabel {\n border-bottom: 0;\n font-weight: bold;\n font-size: 80%;\n}\n.mo .objEdit.level1 {\n border-top: 2px solid #900000;\n}\n#main-toolbox .objLabel.level1 {\n font-size: 1em;\n padding-top: .5em;\n}\n.mo #toolstyles .objLabel.level1,\n.mo #tooltheme .objLabel.level1 {\n padding-left: 70px;\n}\n.mo .objLabel.level0 {\n border-bottom: none;\n}\n.mo a:link,\n.mo a:visited {\n color: white;\n}\n#main-toolbox .noSelectedBlock,\n#main-toolbox .customStyleHelp,\n#main-toolbox .objEmpty,\n#main-toolbox .galleryEmpty {\n font-size: 1em;\n}\n#main-toolbox .noSelectedBlock,\n#main-toolbox .customStyleHelp,\n#main-toolbox .objEmpty {\n margin-left: -15px;\n padding-left: 25px;\n padding-right: 25px;\n width: calc(100% + 40px);\n}\n.mo .objEdit.level1 {\n background-color: white;\n box-shadow: 1px 1px 3px #888;\n border-top: 0;\n padding: 6px;\n padding-top: .5em;\n}\n.mo #toolstyles .objEdit.level1,\n.mo #tooltheme .objEdit.level1 {\n border-top-left-radius: 30px;\n}\n.mo #toolstyles .objEdit.level1 .objLabel.level1,\n.mo #tooltheme .objEdit.level1 .objLabel.level1 {\n padding-bottom: 0;\n padding-top: 1em;\n}\n.mo .objPreview {\n border-width: 0;\n box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.3);\n top: 4px;\n left: 4px;\n}\n.mo #toolstyles .objLabel.level1,\n.mo #tooltheme .objLabel.level1 {\n padding-left: 60px;\n}\n.mo .propInput input[type=text],\n.mo .propInput input[type=number],\n.mo .propInput input[type=url],\n.mo .propInput select,\n.mo .propInput .data-select select,\n.mo .propInput .ui-spinner .ui-spinner-input {\n border-width: 0 0 2px 0;\n background-color: transparent;\n}\n.mo .propInput input[type=text]:hover,\n.mo .propInput input[type=number]:hover,\n.mo .propInput input[type=url]:hover,\n.mo .propInput select:hover,\n.mo .propInput .data-select select:hover,\n.mo .propInput .ui-spinner .ui-spinner-input:hover,\n.mo .propInput input[type=text]:focus,\n.mo .propInput input[type=number]:focus,\n.mo .propInput input[type=url]:focus,\n.mo .propInput select:focus,\n.mo .propInput .data-select select:focus,\n.mo .propInput .ui-spinner .ui-spinner-input:focus {\n border-color: #ff5722;\n}\n.mo .propInput .data-color input[type=text] {\n margin-left: 35px;\n}\n.mo .propInput .data-color input[type=text]:hover,\n.mo .propInput .data-color input[type=text]:focus {\n margin-left: 35px;\n}\n.mo .propInput .evo-pointer {\n border-radius: 50%;\n width: 30px;\n border: 0;\n box-shadow: 1px 1px 3px #727272;\n}\n.mo .propInput .evo-pointer:before {\n content: none;\n display: none;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button {\n border-radius: 50%;\n box-shadow: 1px 1px 3px #727272;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL2xlc3MvcGF0aC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9jb3JlLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9sZXNzL2xhcmdlci5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9maXhlZC13aWR0aC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9saXN0Lmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9sZXNzL2JvcmRlcmVkLXB1bGxlZC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9hbmltYXRlZC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9yb3RhdGVkLWZsaXBwZWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9sZXNzL3N0YWNrZWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL2xlc3MvaWNvbnMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL2xlc3MvdmFyaWFibGVzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9sZXNzL3NjcmVlbi1yZWFkZXIubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfbW9zYWljb190b29scy5sZXNzIiwiLi4vc3JjL2Nzcy9hcHBfc3RhbmRhbG9uZV9tYXRlcmlhbC5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9tb3NhaWNvLmxlc3MiLCIuLi9zcmMvY3NzL3N0eWxlX2VsZW1lbnRzLmxlc3MiLCIuLi9zcmMvY3NzL3N0eWxlX2VsZW1lbnRzX21peGlucy5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50c19qcXVlcnkubGVzcyIsIi4uL3NyYy9jc3Mvc2FmYXJpaGFjay5jc3MiLCIuLi9zcmMvY3NzL3N0eWxlX21vc2FpY29fY29udGVudC5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50c19tb3hpZS5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy90b2FzdHIvdG9hc3RyLmNzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZXZvbC1jb2xvcnBpY2tlci9jc3MvZXZvbC5jb2xvcnBpY2tlci5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0E7RUFDRSxhQUFhLGFBQWI7RUFDQSxTQUFTLDJDQUFUO0VBQ0EsU0FBUyxtREFBa0UsT0FBTywwQkFDNUUsOENBQTZELE9BQU8sY0FDcEUsNkNBQTRELE9BQU8sYUFDbkUsNENBQTJELE9BQU8saUJBQ2xFLCtEQUE4RSxPQUFPLE1BSjNGO0VBTUEsbUJBQUE7RUFDQSxrQkFBQTs7QUNWRixDQUFDO0VBQ0MscUJBQUE7RUFDQSw2Q0FBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBOzs7QUNMRixDQUFDLEVBQWdCO0VBQ2YsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBOztBQUVGLENBQUMsRUFBZ0I7RUFBTSxjQUFBOztBQUN2QixDQUFDLEVBQWdCO0VBQU0sY0FBQTs7QUFDdkIsQ0FBQyxFQUFnQjtFQUFNLGNBQUE7O0FBQ3ZCLENBQUMsRUFBZ0I7RUFBTSxjQUFBOztBQ1Z2QixDQUFDLEVBQWdCO0VBQ2YsbUJBQUE7RUFDQSxrQkFBQTs7QUNERixDQUFDLEVBQWdCO0VBQ2YsZUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBSEYsQ0FBQyxFQUFnQixHQUlmO0VBQU8sa0JBQUE7O0FBRVQsQ0FBQyxFQUFnQjtFQUNmLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7O0FBQ0EsQ0FORCxF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 */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file diff --git a/public/mosaico/dist/mosaico.min.css b/public/mosaico/dist/mosaico.min.css new file mode 100644 index 00000000..1a82a1f9 --- /dev/null +++ b/public/mosaico/dist/mosaico.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fa/fonts/fontawesome-webfont.eot?v=4.6.3);src:url(fa/fonts/fontawesome-webfont.eot?#iefix&v=4.6.3) format('embedded-opentype'),url(fa/fonts/fontawesome-webfont.woff2?v=4.6.3) format('woff2'),url(fa/fonts/fontawesome-webfont.woff?v=4.6.3) format('woff'),url(fa/fonts/fontawesome-webfont.ttf?v=4.6.3) format('truetype'),url(fa/fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular) format('svg')}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.mo{font-family:trebuchet ms,arial,sans-serif;font-size:13.6px;line-height:1.5em}#main-toolbox{line-height:normal}#main-toolbox .propEditor .propInput .checkbox-replacer{padding:4px 2px;font-size:1.2em}#main-toolbox .objLabel.level0,#main-toolbox .pane-title{font-size:1.2em}#main-toolbox .objLabel.level1{font-size:1.2em}#main-toolbox .noSelectedBlock,#main-toolbox .customStyleHelp,#main-toolbox .objEmpty,#main-toolbox .galleryEmpty{font-size:1.2em}#main-toolbox .propInput .data-select:after,#main-toolbox .propInput .evo-pointer:before{width:31px;padding:0 10px}#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only{width:30px;padding:0}#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only .ui-icon{margin:0}#main-toolbox .propInput .ui-spinner-button{width:30px}#main-toolbox .propInput .ui-spinner-button .ui-icon{left:6px;top:8px}#main-toolbox .evo-pop .evo-more{font-size:1em}#toolimages .img-dropzone{position:relative}#toolimages .img-dropzone.ui-state-highlight:before{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(204,0,0,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #c00;z-index:10;pointer-events:none;line-height:45px;height:auto;top:-10px;bottom:-10px}#toolimages .img-dropzone.ui-state-draghover:before{background-color:rgba(204,0,0,.8);animation:none}#toolimages .uploadzone{font-size:1.2em}.mo a,.mo a:link,.mo a:visited,.mo a:active,.mo #site-slogan{color:#9c010f;text-decoration:none}li .mo a,li .mo a:link,li .mo a:visited,li .mo a:active,li .mo #site-slogan{color:#9c010f}.mo a:hover{color:#370005}li .mo a:hover{color:#370005}.mo a.disabled,.mo a.disabled:link,.mo a.disabled:visited{color:#000}.mo b,.mo strong{font-weight:700}.mo i,.mo em{font-style:italic}.mo ul,.mo ol{margin:.5em 0;padding:0 0 0 1.5em}.mo ul li,.mo ol li{margin:.5em 0}.mo ul li a,.mo ol li a,.mo ul li a:active,.mo ol li a:active,.mo ul li a:link,.mo ol li a:link,.mo ul li a:visited,.mo ol li a:visited{white-space:nowrap}.mo p{margin:1em 0}.mo p .grey{color:#999998}.mo small{font-size:smaller}.mo big{font-size:larger}.mo h1{font-size:2em;margin:.5em 0}.mo h2,.mo h3.box_title{font-size:1.5em;margin:.5em 0}.mo h3{font-size:1.3em;margin:.5em 0}.mo dl{margin-bottom:1.5em}.mo dl dt{font-weight:700}.mo dl dd{margin-left:10px;font-style:italic}.mo hr{border:0;border-top:2px solid #f1e4d6;margin:1em 0}.mo blockquote{font-style:italic;border-left:2px solid #f1e4d6;padding:.5em}.mo code{display:inline-block;border-left:2px solid #f1e4d6;padding:.5em}.mo table{width:100%;border-collapse:collapse;border-spacing:0;margin:1.5em 0;border-bottom:2px solid #f1e4d6}.mo table tr.even,.mo table tr.odd{border:none;padding:0;background-color:transparent}.mo table th{padding:.5em .7em;font-weight:700;border-top:0 none;border-bottom:2px solid #f1e4d6;vertical-align:middle;background-color:#d2cbb1}.mo table td{padding:.1em .7em;height:3.3em;background-color:#fefdfc;border-top:0 none;vertical-align:middle}.mo table td.active{background-color:#fefdfc}.mo table tr.even td{background-color:#f1eee6}.mo table tr.even td.active{background-color:#f1eee6}.mo table tr:first-child th:first-child{border-top-left-radius:7px}.mo table tr:first-child th:last-child{border-top-right-radius:7px}.mo table .checkbox_cell{width:3em}.mo table tr.selected td,.mo table tr.selected td.active{background-color:#ffff90!important}.mo table tr.odd.selected td,.mo table tr.odd.selected td.active,.mo table tr:nth-child(odd).selected td,.mo table tr:nth-child(odd).selected td.active{background-color:#fffeb0!important}.mo .table-wrapper-scroll{width:100%;overflow-x:auto}.mo caption{color:#9c010f;font-weight:700;text-align:left;padding:.5em .7em}.mo div.showall{padding:0 .7em .5em;vertical-align:middle;clear:both}.mo ul.links{margin:0;padding:0}.mo ul.links.inline{display:inline}.mo ul.links li{display:inline;list-style-type:none;padding:0 .5em}.mo .small{font-size:80%}.mo .big{font-size:120%}.mo .clear-block{clear:both}.mo .margin-top{margin-top:.5em}.mo .overflow-hidden{overflow:hidden}.mo .quarter-width{width:25%!important}.mo .half-width{width:50%!important}.mo .full-width{width:100%!important}.mo .normal-width{width:auto!important}.mo .clickable{cursor:pointer}.mo .help{background-color:#e4dfcf;margin:1em 0;padding:.8em}.mo .help p:first-child{margin-top:0}.mo .help p:last-child{margin-bottom:0}.mo .dropdown{position:absolute;z-index:1003;margin:0;padding:.5em 1em;border-radius:5px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);box-shadow:0 4px 10px #807e7c;background-color:#fff;max-height:300px;overflow:auto;min-width:100%;max-width:25em;white-space:normal}.mo .dropdown.dropdown-right{right:0}.mo .dropdown.dropdown-bottom{bottom:0}a.button+div.dropdown_spacer+.mo .dropdown,.button_links .mo .dropdown,.links.inline .mo .dropdown{margin:-.4em 0 0}.cell_links .mo .dropdown,.top_links .mo .dropdown,.box_top_links .mo .dropdown,.slide_links .mo .dropdown{margin:.2em 0 0}.mo .dropdown hr{margin:.5em -1em;border-top:1px solid #999998;box-shadow:none}.container-inline .mo .dropdown{display:block}.mo .dropdown .dropdown_footer{padding:.5em 0 0;margin:0}.mo .dropdown-container{position:relative;white-space:nowrap;display:inline-block}.container-inline .mo .dropdown-container{display:inline-block}.form-item .mo .dropdown-container{margin:0 .5em 0 0}.mo [class^=icon-]:before,.mo [class*=" icon-"]:before{margin-right:0;margin-left:0}.mo i.icon{cursor:default}.mo a:link i.icon{cursor:pointer}.mo .icon_red{color:#9c010f}.mo .icon_green{color:#94af4b}.mo img.icon{vertical-align:text-top}.mo a.hint,.mo a.info{color:#666665;font-size:80%;vertical-align:top;margin:0 .2em}.mo a.hint:hover,.mo a.info:hover{color:#9c010f}h1 .mo a.hint,h1 .mo a.info,h2 .mo a.hint,h2 .mo a.info,h3 .mo a.hint,h3 .mo a.info{font-size:60%}li .mo a.hint,li .mo a.info{color:#666665}.mo a.hint{cursor:help}.mo .suffix_icon{font-size:80%}.mo div.info{padding:.5em;background-color:#e4dfcf;margin:.5em 0}.mo .menu_step_circle{display:inline-block;background-color:#f1eee6;color:#333332;padding:.3em .6em;margin:0 .2em 0 0;border-radius:1em}.mo .menu_step_circle.current{background-color:#d2cbb1}.mo .menu_step_circle.disabled{color:#999998}.mo a.button_dropdown_split{border-left:1px solid #333332;padding-left:.5em}.mo .button_links a.button_dropdown_split,.mo .links.inline a.button_dropdown_split,.mo .cell_links a.button_dropdown_split{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700}li .mo .button_links a.button_dropdown_split,li .mo .links.inline a.button_dropdown_split,li .mo .cell_links a.button_dropdown_split{color:#fefdfc}.mo .button_links a.button_dropdown_split img,.mo .links.inline a.button_dropdown_split img,.mo .cell_links a.button_dropdown_split img{vertical-align:middle;margin:0 .2em}.mo .button_links a.button_dropdown_split:hover,.mo .links.inline a.button_dropdown_split:hover,.mo .cell_links a.button_dropdown_split:hover,.mo .button_links a.button_dropdown_split.pressed,.mo .links.inline a.button_dropdown_split.pressed,.mo .cell_links a.button_dropdown_split.pressed,.mo .button_links a.button_dropdown_split.selected,.mo .links.inline a.button_dropdown_split.selected,.mo .cell_links a.button_dropdown_split.selected{text-decoration:none;background-color:#191919}.mo .button_links a.button_dropdown_split.disabled,.mo .links.inline a.button_dropdown_split.disabled,.mo .cell_links a.button_dropdown_split.disabled{color:#666665}.mo .button_links a.button_dropdown_split.disabled a,.mo .links.inline a.button_dropdown_split.disabled a,.mo .cell_links a.button_dropdown_split.disabled a,.mo .button_links a.button_dropdown_split.disabled .link,.mo .links.inline a.button_dropdown_split.disabled .link,.mo .cell_links a.button_dropdown_split.disabled .link{color:#666665}.mo .button_links a.button_dropdown_split.disabled:hover,.mo .links.inline a.button_dropdown_split.disabled:hover,.mo .cell_links a.button_dropdown_split.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .button_links a.button_dropdown_split.inline,.mo .links.inline a.button_dropdown_split.inline,.mo .cell_links a.button_dropdown_split.inline{margin:0 7px 0 0}.mo .button_links a.button_dropdown_split.primary,.mo .links.inline a.button_dropdown_split.primary,.mo .cell_links a.button_dropdown_split.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo .button_links a.button_dropdown_split.primary:hover,.mo .links.inline a.button_dropdown_split.primary:hover,.mo .cell_links a.button_dropdown_split.primary:hover{background-color:#69010a;border-color:#69010a}.mo .button_links a.button_dropdown_split.big,.mo .links.inline a.button_dropdown_split.big,.mo .cell_links a.button_dropdown_split.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo .button_links a.button_dropdown_split.big .suffix_icon,.mo .links.inline a.button_dropdown_split.big .suffix_icon,.mo .cell_links a.button_dropdown_split.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .button_links a.button_dropdown_split.with_button_dropdown_split,.mo .links.inline a.button_dropdown_split.with_button_dropdown_split,.mo .cell_links a.button_dropdown_split.with_button_dropdown_split{padding-right:1.2em}.mo .button_links a.button_dropdown_split.with_button_dropdown_split.big,.mo .links.inline a.button_dropdown_split.with_button_dropdown_split.big,.mo .cell_links a.button_dropdown_split.with_button_dropdown_split.big{padding-right:1.8em}.mo .button_links a.button_dropdown_split.loading,.mo .links.inline a.button_dropdown_split.loading,.mo .cell_links a.button_dropdown_split.loading{opacity:.5;background-image:none}.mo .button_links a.button_dropdown_split,.mo .links.inline a.button_dropdown_split,.mo .cell_links a.button_dropdown_split,.mo .top_links a.button_dropdown_split{margin-left:-1.5em;border-left:1px solid #fefdfc!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;z-index:2}.mo a.button,.mo input.form-submit{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700}li .mo a.button,li .mo input.form-submit{color:#fefdfc}.mo a.button img,.mo input.form-submit img{vertical-align:middle;margin:0 .2em}.mo a.button:hover,.mo input.form-submit:hover,.mo a.button.pressed,.mo input.form-submit.pressed,.mo a.button.selected,.mo input.form-submit.selected{text-decoration:none;background-color:#191919}.mo a.button.disabled,.mo input.form-submit.disabled{color:#666665}.mo a.button.disabled a,.mo input.form-submit.disabled a,.mo a.button.disabled .link,.mo input.form-submit.disabled .link{color:#666665}.mo a.button.disabled:hover,.mo input.form-submit.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo a.button.inline,.mo input.form-submit.inline{margin:0 7px 0 0}.mo a.button.primary,.mo input.form-submit.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo a.button.primary:hover,.mo input.form-submit.primary:hover{background-color:#69010a;border-color:#69010a}.mo a.button.big,.mo input.form-submit.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo a.button.big .suffix_icon,.mo input.form-submit.big .suffix_icon{font-size:55%;vertical-align:middle}.mo a.button.with_button_dropdown_split,.mo input.form-submit.with_button_dropdown_split{padding-right:1.2em}.mo a.button.with_button_dropdown_split.big,.mo input.form-submit.with_button_dropdown_split.big{padding-right:1.8em}.mo a.button.loading,.mo input.form-submit.loading{opacity:.5;background-image:none}.mo ul.links a{font-weight:700}.mo ul.button_links li,.mo ul.inline li{padding:0}.mo ul.button_links li a,.mo ul.inline li a{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700}li .mo ul.button_links li a,li .mo ul.inline li a{color:#fefdfc}.mo ul.button_links li a img,.mo ul.inline li a img{vertical-align:middle;margin:0 .2em}.mo ul.button_links li a:hover,.mo ul.inline li a:hover,.mo ul.button_links li a.pressed,.mo ul.inline li a.pressed,.mo ul.button_links li a.selected,.mo ul.inline li a.selected{text-decoration:none;background-color:#191919}.mo ul.button_links li a.disabled,.mo ul.inline li a.disabled{color:#666665}.mo ul.button_links li a.disabled a,.mo ul.inline li a.disabled a,.mo ul.button_links li a.disabled .link,.mo ul.inline li a.disabled .link{color:#666665}.mo ul.button_links li a.disabled:hover,.mo ul.inline li a.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo ul.button_links li a.inline,.mo ul.inline li a.inline{margin:0 7px 0 0}.mo ul.button_links li a.primary,.mo ul.inline li a.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo ul.button_links li a.primary:hover,.mo ul.inline li a.primary:hover{background-color:#69010a;border-color:#69010a}.mo ul.button_links li a.big,.mo ul.inline li a.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo ul.button_links li a.big .suffix_icon,.mo ul.inline li a.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.button_links li a.with_button_dropdown_split,.mo ul.inline li a.with_button_dropdown_split{padding-right:1.2em}.mo ul.button_links li a.with_button_dropdown_split.big,.mo ul.inline li a.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.button_links li a.loading,.mo ul.inline li a.loading{opacity:.5;background-image:none}.mo ul.button_links li a img,.mo ul.inline li a img{vertical-align:text-top;margin:0 .5em 0 0}.mo ul.buttonbar{white-space:nowrap}.mo ul.buttonbar>li,.mo ul.buttonbar>.dropdown-container>li{margin:0 1px 0 0;float:left}.mo ul.buttonbar>li a,.mo ul.buttonbar>.dropdown-container>li a,.mo ul.buttonbar>li a.big,.mo ul.buttonbar>.dropdown-container>li a.big{margin-left:0;margin-right:0;border-radius:0}.mo ul.buttonbar>li a.with_button_dropdown_split,.mo ul.buttonbar>.dropdown-container>li a.with_button_dropdown_split,.mo ul.buttonbar>li a.big.with_button_dropdown_split,.mo ul.buttonbar>.dropdown-container>li a.big.with_button_dropdown_split{margin-right:7px}.mo ul.buttonbar>li.first a,.mo ul.buttonbar>.dropdown-container>li.first a{border-radius:5px 0 0 5px}.mo ul.buttonbar>li.first a.big,.mo ul.buttonbar>.dropdown-container>li.first a.big{border-radius:7px 0 0 7px}.mo ul.buttonbar>li.last a,.mo ul.buttonbar>.dropdown-container>li.last a{border-radius:0 5px 5px 0}.mo ul.buttonbar>li.last a.big,.mo ul.buttonbar>.dropdown-container>li.last a.big{border-radius:0 7px 7px 0}.mo ul.buttonbar.top_links{margin-left:.5em}.mo ul.buttonbar:after{content:"";display:table;clear:both}.mo ul.cell_links>li,.mo ul.cell_links>.dropdown-container>li{padding:0}.mo ul.cell_links>li>a,.mo ul.cell_links>.dropdown-container>li>a{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;margin:0 .5em 0 0}li .mo ul.cell_links>li>a,li .mo ul.cell_links>.dropdown-container>li>a{color:#fefdfc}.mo ul.cell_links>li>a img,.mo ul.cell_links>.dropdown-container>li>a img{vertical-align:middle;margin:0 .2em}.mo ul.cell_links>li>a:hover,.mo ul.cell_links>.dropdown-container>li>a:hover,.mo ul.cell_links>li>a.pressed,.mo ul.cell_links>.dropdown-container>li>a.pressed,.mo ul.cell_links>li>a.selected,.mo ul.cell_links>.dropdown-container>li>a.selected{text-decoration:none;background-color:#191919}.mo ul.cell_links>li>a.disabled,.mo ul.cell_links>.dropdown-container>li>a.disabled{color:#666665}.mo ul.cell_links>li>a.disabled a,.mo ul.cell_links>.dropdown-container>li>a.disabled a,.mo ul.cell_links>li>a.disabled .link,.mo ul.cell_links>.dropdown-container>li>a.disabled .link{color:#666665}.mo ul.cell_links>li>a.disabled:hover,.mo ul.cell_links>.dropdown-container>li>a.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo ul.cell_links>li>a.inline,.mo ul.cell_links>.dropdown-container>li>a.inline{margin:0 7px 0 0}.mo ul.cell_links>li>a.primary,.mo ul.cell_links>.dropdown-container>li>a.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo ul.cell_links>li>a.primary:hover,.mo ul.cell_links>.dropdown-container>li>a.primary:hover{background-color:#69010a;border-color:#69010a}.mo ul.cell_links>li>a.big,.mo ul.cell_links>.dropdown-container>li>a.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo ul.cell_links>li>a.big .suffix_icon,.mo ul.cell_links>.dropdown-container>li>a.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.cell_links>li>a.with_button_dropdown_split,.mo ul.cell_links>.dropdown-container>li>a.with_button_dropdown_split{padding-right:1.2em}.mo ul.cell_links>li>a.with_button_dropdown_split.big,.mo ul.cell_links>.dropdown-container>li>a.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.cell_links>li>a.loading,.mo ul.cell_links>.dropdown-container>li>a.loading{opacity:.5;background-image:none}.mo ul.cell_links a.button_dropdown_split{margin-top:0;margin-bottom:0}td .mo ul.cell_links{text-align:right}.mo .td_cell_links{text-align:right;white-space:nowrap}.mo ul.top_links,.mo ul.box_top_links{float:right;text-align:right}.mo ul.top_links>*,.mo ul.box_top_links>*{line-height:normal;text-align:left;margin-bottom:.4em}.mo ul.top_links li a,.mo ul.box_top_links li a,.mo ul.top_links a.button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;border-radius:7px;padding:.25em .4em;font-size:1.3em}li .mo ul.top_links li a,li .mo ul.box_top_links li a,li .mo ul.top_links a.button_dropdown_split,li .mo ul.box_top_links a.button_dropdown_split{color:#fefdfc}.mo ul.top_links li a img,.mo ul.box_top_links li a img,.mo ul.top_links a.button_dropdown_split img,.mo ul.box_top_links a.button_dropdown_split img{vertical-align:middle;margin:0 .2em}.mo ul.top_links li a:hover,.mo ul.box_top_links li a:hover,.mo ul.top_links a.button_dropdown_split:hover,.mo ul.box_top_links a.button_dropdown_split:hover,.mo ul.top_links li a.pressed,.mo ul.box_top_links li a.pressed,.mo ul.top_links a.button_dropdown_split.pressed,.mo ul.box_top_links a.button_dropdown_split.pressed,.mo ul.top_links li a.selected,.mo ul.box_top_links li a.selected,.mo ul.top_links a.button_dropdown_split.selected,.mo ul.box_top_links a.button_dropdown_split.selected{text-decoration:none;background-color:#191919}.mo ul.top_links li a.disabled,.mo ul.box_top_links li a.disabled,.mo ul.top_links a.button_dropdown_split.disabled,.mo ul.box_top_links a.button_dropdown_split.disabled{color:#666665}.mo ul.top_links li a.disabled a,.mo ul.box_top_links li a.disabled a,.mo ul.top_links a.button_dropdown_split.disabled a,.mo ul.box_top_links a.button_dropdown_split.disabled a,.mo ul.top_links li a.disabled .link,.mo ul.box_top_links li a.disabled .link,.mo ul.top_links a.button_dropdown_split.disabled .link,.mo ul.box_top_links a.button_dropdown_split.disabled .link{color:#666665}.mo ul.top_links li a.disabled:hover,.mo ul.box_top_links li a.disabled:hover,.mo ul.top_links a.button_dropdown_split.disabled:hover,.mo ul.box_top_links a.button_dropdown_split.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo ul.top_links li a.inline,.mo ul.box_top_links li a.inline,.mo ul.top_links a.button_dropdown_split.inline,.mo ul.box_top_links a.button_dropdown_split.inline{margin:0 7px 0 0}.mo ul.top_links li a.primary,.mo ul.box_top_links li a.primary,.mo ul.top_links a.button_dropdown_split.primary,.mo ul.box_top_links a.button_dropdown_split.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo ul.top_links li a.primary:hover,.mo ul.box_top_links li a.primary:hover,.mo ul.top_links a.button_dropdown_split.primary:hover,.mo ul.box_top_links a.button_dropdown_split.primary:hover{background-color:#69010a;border-color:#69010a}.mo ul.top_links li a.big,.mo ul.box_top_links li a.big,.mo ul.top_links a.button_dropdown_split.big,.mo ul.box_top_links a.button_dropdown_split.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo ul.top_links li a.big .suffix_icon,.mo ul.box_top_links li a.big .suffix_icon,.mo ul.top_links a.button_dropdown_split.big .suffix_icon,.mo ul.box_top_links a.button_dropdown_split.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.top_links li a.with_button_dropdown_split,.mo ul.box_top_links li a.with_button_dropdown_split,.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split{padding-right:1.2em}.mo ul.top_links li a.with_button_dropdown_split.big,.mo ul.box_top_links li a.with_button_dropdown_split.big,.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split.big,.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.top_links li a.loading,.mo ul.box_top_links li a.loading,.mo ul.top_links a.button_dropdown_split.loading,.mo ul.box_top_links a.button_dropdown_split.loading{opacity:.5;background-image:none}.mo ul.top_links li,.mo ul.box_top_links li{padding:0}.mo ul.top_links li a,.mo ul.box_top_links li a{margin:0 0 0 .5em}.mo ul.top_links a.button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split{margin:0 0 0 -1em}.mo ul.top_links .dropdown,.mo ul.box_top_links .dropdown{margin-left:.5em}.mo ul.popup_links>li,.mo ul.popup_links>.dropdown-container>li{display:block;padding:0;margin:0}.mo ul.popup_links>li>a,.mo ul.popup_links>.dropdown-container>li>a{display:block;border:none;padding:.5em;margin:0;border-radius:0;position:relative;overflow:hidden;text-overflow:ellipsis;font-weight:700;background-color:transparent;color:#333332}.mo ul.popup_links>li>a img,.mo ul.popup_links>.dropdown-container>li>a img{vertical-align:text-top;margin:0 .5em 0 0}.mo ul.popup_links>li>a.disabled,.mo ul.popup_links>.dropdown-container>li>a.disabled{color:#999998!important}.mo ul.popup_links>li>a.disabled:hover,.mo ul.popup_links>.dropdown-container>li>a.disabled:hover{border:none}.mo ul.popup_links>li>a .badge,.mo ul.popup_links>.dropdown-container>li>a .badge{position:absolute;right:0;margin-left:1em;top:.6em}.mo ul.popup_links>li:hover,.mo ul.popup_links>.dropdown-container>li:hover{background-color:#333332;color:#fefdfc}.mo ul.popup_links>li:hover a,.mo ul.popup_links>.dropdown-container>li:hover a{color:#fefdfc}.mo ul.popup_links>li .cell_links>li>a,.mo ul.popup_links>.dropdown-container>li .cell_links>li>a{border-color:#999}.mo ul.popup_links>li.separator,.mo ul.popup_links>.dropdown-container>li.separator{border-top:1px solid #333332;margin:.5em 0}.mo ul.popup_links.table_columns>li>a,.mo ul.popup_links.table_columns>.dropdown-container>li>a{display:table-cell;vertical-align:middle;width:100%}.mo ul.popup_links.table_columns>li>.table_column,.mo ul.popup_links.table_columns>.dropdown-container>li>.table_column{display:table-cell;vertical-align:middle;width:auto}.mo .dropdown ul.popup_links{margin:-.5em -1em}.mo .dropdown ul.popup_links>li>a,.mo .dropdown ul.popup_links>.dropdown-container>li>a{text-align:left;width:100%}.mo select,.mo textarea{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s}.mo select:focus,.mo textarea:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo select.inline,.mo textarea.inline{margin-right:.5em;width:auto}.mo input:disabled,.mo select:disabled,.mo textarea:disabled{opacity:.5!important}.mo ::-webkit-input-placeholder{color:#807f7f;opacity:1}.mo ::-moz-placeholder{color:#807f7f;opacity:1}.mo :-ms-input-placeholder{color:#807f7f;opacity:1}.mo ::placeholder{color:#807f7f;opacity:1}.mo .async_loading{color:transparent;text-align:center;background:url(../../../../misc/others/loading.gif) no-repeat 50% 50% white;opacity:.5}.mo .async_loading_iframe{background:url(../../../../misc/others/loadingbig.gif) no-repeat 50% 50% transparent}.mo .ui-helper-hidden{display:none}.mo .ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}.mo .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.mo .ui-helper-clearfix:before,.mo .ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.mo .ui-helper-clearfix:after{clear:both}.mo .ui-helper-clearfix{min-height:0}.mo .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0)}.mo .ui-front{z-index:1004}.mo .ui-state-disabled{cursor:default!important}.mo .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.mo .ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.mo .ui-widget-overlay{background:#aaa none;opacity:.6;filter:alpha(opacity=60)}.mo .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa none;opacity:.3;filter:alpha(opacity=30);border-radius:8px}.mo .ui-corner-all{border-radius:5px}.mo .ui-button{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700}li .mo .ui-button{color:#fefdfc}.mo .ui-button img{vertical-align:middle;margin:0 .2em}.mo .ui-button:hover,.mo .ui-button.pressed,.mo .ui-button.selected{text-decoration:none;background-color:#191919}.mo .ui-button.disabled{color:#666665}.mo .ui-button.disabled a,.mo .ui-button.disabled .link{color:#666665}.mo .ui-button.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .ui-button.inline{margin:0 7px 0 0}.mo .ui-button.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo .ui-button.primary:hover{background-color:#69010a;border-color:#69010a}.mo .ui-button.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo .ui-button.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .ui-button.with_button_dropdown_split{padding-right:1.2em}.mo .ui-button.with_button_dropdown_split.big{padding-right:1.8em}.mo .ui-button.loading{opacity:.5;background-image:none}.mo .ui-button .ui-button-text,.mo .ui-button .ui-icon{color:#fefdfc}.mo .ui-button.ui-button-icon-only .ui-icon{margin:0 .1em}.mo .ui-button.ui-button-icon-only .ui-button-text{display:none}.mo .ui-button.ui-button-disabled{color:#666665}.mo .ui-button.ui-button-disabled a,.mo .ui-button.ui-button-disabled .link{color:#666665}.mo .ui-button.ui-button-disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .ui-button.ui-button-disabled .ui-button-text,.mo .ui-button.ui-button-disabled .ui-icon{color:#666665}.mo .ui-button.ui-state-active{text-decoration:none;background-color:#191919}.mo .ui-buttonset{margin-right:7px;vertical-align:middle;font-size:0}.mo .ui-buttonset>.ui-button{font-size:13.6px;margin-right:1px;border-radius:0}.mo .ui-buttonset>.ui-button.ui-corner-left{border-radius:5px 0 0 5px}.mo .ui-buttonset>.ui-button.ui-corner-right{border-radius:0 5px 5px 0}.mo .ui-dialog{border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;position:absolute;overflow:hidden;width:300px;padding:0;font-size:1em;z-index:1005}.mo .ui-dialog .ui-dialog-titlebar{position:relative;padding:.5em 1em .3em;color:#333332;background:none #d2cbb1;border:none;font-weight:700;border-radius:0;font-size:1.1em}.mo .ui-dialog .ui-dialog-titlebar .ui-icon{color:#333332}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-title{float:left;margin:.1em 16px .2em 0}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close{position:absolute;right:.3em;top:35%;width:21px;margin:-10px 0 0;padding:1px;height:20px;cursor:pointer;border:0 none;background:none transparent;box-shadow:none}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close::-moz-focus-inner{border:none}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon{position:absolute;top:50%;margin-top:-8px;left:50%;margin-left:-8px}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close.ui-button-icon-only .ui-button-text{display:block;line-height:normal;padding:.4em;text-indent:-9999999px}.mo .ui-dialog .ui-dialog-content{border:0;padding:.5em 1em;background:none;zoom:1;max-height:600px;position:relative}.mo .ui-dialog .ui-dialog-content .async_loading_iframe{margin:-.5em 0 0}.mo .ui-dialog .async_loading_iframe{width:100%;height:100%;min-height:100px;position:absolute;left:0}.mo .ui-dialog .ui-dialog-buttonpane{text-align:center;background-image:none;margin:.5em 0 0;border:none;padding:.3em 0}.mo .ui-dialog.dialog_info .ui-dialog-titlebar{background:none #8fb7b0}.mo .ui-dialog.dialog_warn .ui-dialog-titlebar{background:none #b76660}.mo .ui-dialog.dialog_ok .ui-dialog-titlebar{background:none #b3bd7e}.mo .ui-dialog.dialog_standard_href .ui-dialog-content{padding:0;min-height:600px}.mo .ui-dialog.dialog_ajax_href .ui-dialog-content,.mo .ui-dialog.dialog_standard_content .ui-dialog-content,.mo .ui-dialog.dialog_standard_rel .ui-dialog-content{overflow:auto}.mo .ui-dialog.no-close .ui-dialog-titlebar-close{display:none}.mo .ui-dialog:focus,.mo .ui-dialog:-moz-focusring{outline:0 none!important}.mo .ui-menu{list-style:outside none none;padding:0;margin:0;display:block;outline:medium none}.mo .ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0}.mo .ui-autocomplete{top:0;left:0;cursor:default;position:absolute;z-index:1003;padding:.5em 1em;border-radius:5px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);box-shadow:0 4px 10px #807e7c;background-color:#fff;max-height:300px;overflow:auto;min-width:100%;max-width:25em;white-space:normal;min-width:auto;max-width:none;margin:0;padding:0}.mo .ui-autocomplete.dropdown-right{right:0}.mo .ui-autocomplete.dropdown-bottom{bottom:0}a.button+div.dropdown_spacer+.mo .ui-autocomplete,.button_links .mo .ui-autocomplete,.links.inline .mo .ui-autocomplete{margin:-.4em 0 0}.cell_links .mo .ui-autocomplete,.top_links .mo .ui-autocomplete,.box_top_links .mo .ui-autocomplete,.slide_links .mo .ui-autocomplete{margin:.2em 0 0}.mo .ui-autocomplete hr{margin:.5em -1em;border-top:1px solid #999998;box-shadow:none}.container-inline .mo .ui-autocomplete{display:block}.mo .ui-autocomplete .dropdown_footer{padding:.5em 0 0;margin:0}.mo .ui-autocomplete .ui-menu-item{display:block;padding:.5em;margin:0;font-weight:700}.mo .ui-autocomplete .ui-menu-item.ui-state-focus,.mo .ui-autocomplete .ui-menu-item.ui-state-active{background-color:#333332;color:#fefdfc}.mo .ui-autocomplete .ui-menu-item.ui-state-focus a,.mo .ui-autocomplete .ui-menu-item.ui-state-active a{color:#fefdfc}.mo .ui-tabs .ui-tabs-nav{border-radius:0}.mo .ui-tabs.tabs_horizontal>ul{margin:0;border-bottom:1px solid #d2cbb1;padding:0 0 0 .5em}.mo .ui-tabs.tabs_horizontal>ul:after{content:"";display:table;clear:both}.mo .ui-tabs.tabs_horizontal>ul li{float:left;list-style-type:none;margin:.4em 0 -1px;display:block;text-align:center}.mo .ui-tabs.tabs_horizontal>ul li>a{display:block;padding:.5em 1em;margin:0 .5em 0 0;border-radius:5px 5px 0 0;background-color:#d2cbb1;border:1px solid #d2cbb1}.mo .ui-tabs.tabs_horizontal>ul li a:focus{outline:0 none!important}.mo .ui-tabs.tabs_horizontal>ul li.ui-state-active a{border-bottom:1px solid #fefdfc;background:transparent;font-weight:700;background-color:transparent;color:#333332}.mo .ui-tabs.tabs_horizontal .ui-tabs-panel{margin-top:.5em}.mo .ui-tabs.tabs_horizontal .ui-tabs-panel.ui-tabs-noscroll{padding:0}.mo .ui-tabs.tabs_horizontal.button_color>ul{background-color:#d2cbb1;margin:0;border-bottom:1px solid #d2cbb1}.mo .ui-tabs.tabs_horizontal.button_color>ul:after{content:"";display:table;clear:both}.mo .ui-tabs.tabs_horizontal.button_color>ul li{float:left;list-style-type:none;margin:.4em 0 -1px;display:block;text-align:center}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a{display:block;padding:.5em 1em;margin:0 .5em 0 0;border-radius:5px 5px 0 0;background-color:#333332;color:#fefdfc;border:none;font-weight:700}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a:hover{background-color:#191919}.mo .ui-tabs.tabs_horizontal.button_color>ul li a:focus{outline:0 none!important}.mo .ui-tabs.tabs_horizontal.button_color>ul li.ui-state-active a{border-bottom:1px solid #fefdfc;background:transparent;font-weight:700;background-color:#fefdfc;color:#333332}.mo .ui-tabs.tabs_vertical{position:relative;margin:1em 0}.mo .ui-tabs.tabs_vertical>ul{margin:0;padding:0;text-align:left;float:left}.mo .ui-tabs.tabs_vertical>ul li{width:11em;list-style-type:none;padding:.5em 1em;margin:0;text-align:right}.mo .ui-tabs.tabs_vertical>ul li.ui-state-active{background-color:#d2cbb1;font-weight:700;border-radius:5px 0 0 5px}.mo .ui-tabs.tabs_vertical>ul li.ui-state-active a{color:#333332}.mo .ui-tabs.tabs_vertical .ui-tabs-panel{background:#fefdfc;border:1px solid #d2cbb1;padding:.5em 1em;margin:.5em 0;overflow:auto}.mo .ui-tabs.tabs_vertical .ui-tabs-panel.ui-tabs-noscroll{padding:0}.mo .ui-tooltip{border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;padding:0;overflow:hidden;max-width:300px;padding:.5em;z-index:1004}.mo .ui-spinner{display:block;margin:10px 0;padding:0;position:relative}.mo .ui-spinner input[type=number]{-moz-appearance:textfield}.mo .ui-spinner input[type=number]::-webkit-outer-spin-button,.mo .ui-spinner input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mo .ui-spinner input[type=number]::-ms-clear{width:0;height:0}.mo .ui-spinner .ui-spinner-input{margin:0;margin-right:2em;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .ui-spinner .ui-spinner-button{width:2.5em;height:50%;min-height:inherit;padding:0;margin:0;position:absolute;right:0;line-height:1em;cursor:pointer}.mo .ui-spinner .ui-spinner-button .ui-icon{display:none}.mo .ui-spinner .ui-spinner-up{top:0;border-bottom:none;border-radius:0 5px 0 0}.mo .ui-spinner .ui-spinner-up .ui-button-text:after{font-family:FontAwesome;font-weight:400;content:"\f0d8"}.mo .ui-spinner .ui-spinner-down{bottom:0;border-top:none;border-radius:0 0 5px}.mo .ui-spinner .ui-spinner-down .ui-button-text:after{font-family:FontAwesome;font-weight:400;content:"\f0d7"}.mo .ui-icon{font-family:FontAwesome;background:none repeat scroll 0 0 transparent;text-indent:0;width:auto;height:auto;min-width:16px;vertical-align:middle;margin-top:0;margin-right:.5em}.mo .ui-icon-closethick:before{content:"\f00d"}.mo .ui-draggable .ui-dialog-titlebar{cursor:move}.mo .ui-draggable-handle,.mo .ui-sortable-handle{-ms-touch-action:none;touch-action:none}.mo *,.mo :before,.mo :after{margin:0;padding:0;box-sizing:border-box}.mo .ui-icon{overflow:visible}.mo .fa{display:inline-block;font-style:normal}.mo .buttons{text-align:center;padding-top:3px}.mo .propInput input[type=text],.mo .propInput input[type=number],.mo .propInput input[type=url],.mo .propInput select{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;margin:0}.mo .propInput input[type=text]:focus,.mo .propInput input[type=number]:focus,.mo .propInput input[type=url]:focus,.mo .propInput select:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput input[type=text].inline,.mo .propInput input[type=number].inline,.mo .propInput input[type=url].inline,.mo .propInput select.inline{margin-right:.5em;width:auto}.mo .propInput input[type=text].invalid,.mo .propInput input[type=number].invalid,.mo .propInput input[type=url].invalid,.mo .propInput select.invalid,.mo .propInput input[type=text].error,.mo .propInput input[type=number].error,.mo .propInput input[type=url].error,.mo .propInput select.error{border:2px solid #9c010f}.mo .propInput .data-select{display:block}@media(-ms-high-contrast:active),(-ms-high-contrast:none),not screen\0{.mo .propInput .data-select{position:relative}.mo .propInput .data-select select{-webkit-appearance:none;-moz-appearance:none;padding-right:30px;font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .data-select select::-ms-expand{display:none}.mo .propInput .data-select:after{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;margin:0;position:absolute;top:0;right:0;bottom:0;line-height:30px;width:28px;margin-right:0;border-top-left-radius:0;border-bottom-left-radius:0;font-family:FontAwesome;content:"\f0d7";font-weight:400;pointer-events:none}li .mo .propInput .data-select:after{color:#fefdfc}.mo .propInput .data-select:after img{vertical-align:middle;margin:0 .2em}.mo .propInput .data-select:after:hover,.mo .propInput .data-select:after.pressed,.mo .propInput .data-select:after.selected{text-decoration:none;background-color:#191919}.mo .propInput .data-select:after.disabled{color:#666665}.mo .propInput .data-select:after.disabled a,.mo .propInput .data-select:after.disabled .link{color:#666665}.mo .propInput .data-select:after.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .propInput .data-select:after.inline{margin:0 7px 0 0}.mo .propInput .data-select:after.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo .propInput .data-select:after.primary:hover{background-color:#69010a;border-color:#69010a}.mo .propInput .data-select:after.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo .propInput .data-select:after.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .propInput .data-select:after.with_button_dropdown_split{padding-right:1.2em}.mo .propInput .data-select:after.with_button_dropdown_split.big{padding-right:1.8em}.mo .propInput .data-select:after.loading{opacity:.5;background-image:none}}.mo .propInput .ui-textbutton{width:100%;display:inline-table;table-layout:fixed;margin-right:0;vertical-align:middle}.mo .propInput .ui-textbutton .ui-textbutton-input.withButton{display:table-cell;margin:0;margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.mo .propInput .ui-textbutton .ui-textbutton-button{display:table-cell;margin-right:0;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.mo .propInput .ui-textbutton .ui-textbutton-button .ui-button-text{line-height:0}.mo .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;width:1.6em}.mo .propEditor{display:table;width:100%}.mo .propLabel{padding:8px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:45%;float:left;text-align:right}.mo .propLabel[title]:before{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block;float:right;position:initial;color:#666665;content:"\f059";font-size:80%;line-height:1.5em;margin-left:.5em}.mo .propInput{width:55%;float:left}.mo .propInput input,.mo .propInput select{width:100%}.mo .notnull.propEditor.checkboxes .propInput{width:50%}.mo .propCheck{width:5%;float:left;padding:5px;display:none}.mo .notnull .propCheck{display:block}.mo .propLabel:after,.mo .propInput:after,.mo .objEdit:after{content:"";display:table}.mo .objEdit{display:block;width:100%}.mo .objEdit.level1{background-color:#fefdfc;padding:2px}.mo .label.notused{display:none;font-size:50%;color:gray}.mo .label.notused:before{content:"[[["}.mo .label.notused:after{content:"]]]"}.mo .objLabel.level2{color:rgba(255,255,255,.7);float:left;position:absolute;display:none}.mo .objLabel.level3{color:rgba(255,255,255,.4);float:left;position:absolute;top:1em;display:none}.mo .objEdit.level1{padding-top:4px;padding-bottom:2px;margin-bottom:3px}.mo .objLabel.level1{color:black;display:block}.mo #toolstyles .objLabel.level1,.mo #tooltheme .objLabel.level1{padding-left:60px}.mo .objLabel{text-transform:uppercase;border-bottom:3px solid #d2cbb1;color:#333332;display:block;margin:-4px -2px 6px;padding:5px;border-radius:6px 6px 0 0}.mo .objEdit.level0{padding:0 1px;margin-top:12px}.mo .objLabel.level0{display:block;color:#333332;background-color:#fefdfc;font-weight:700;font-size:90%;border-bottom:3px solid #333332;border-radius:0;padding:3px 10px;margin:0 -7px 8px}.mo .supportsCustomStyles .objLabel.level0{margin-right:70px}.mo .objEdit.level-1{padding:0 15px;overflow:auto;height:95%;background-color:#fefdfc;border-radius:6px}.mo .objEdit{position:relative}.mo .objEdit.level1{margin-top:15px}.mo .objPreview{width:50px;height:50px;border-radius:100%;position:absolute;overflow:hidden;border:2px solid #d2cbb1;top:-11px;left:5px}.mo .objPreview>div{position:absolute;bottom:20%;left:20%}.mo .propEditor{padding:2px}.mo .objEdit .propEditor{padding:2px 0;border:0}.mo .propEditor.notnull{font-weight:700}.mo .propEditor.notnull input,.mo .propEditor.notnull select{font-weight:700}.mo .propEditor.notnull input[type=checkbox]{font-weight:400}.mo .propInput{position:relative}.mo .propInput .colorPicker{padding-right:30px}.mo .propInput .data-color input[type=text]{font-size:90%;font-family:monospace;width:5.5em;margin:0;margin-left:85px;background-color:transparent;border-color:rgba(51,51,50,.2);box-shadow:none;border-style:dashed}.mo .propInput .data-color input[type=text]:hover,.mo .propInput .data-color input[type=text]:focus{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;font-size:90%;font-family:monospace;width:5.5em;margin:0;margin-left:85px}.mo .propInput .data-color input[type=text]:hover:focus,.mo .propInput .data-color input[type=text]:focus:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput .data-color input[type=text]:hover.inline,.mo .propInput .data-color input[type=text]:focus.inline{margin-right:.5em;width:auto}.mo .propInput .evo-pointer{position:absolute;font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;margin:0;z-index:5;left:0;top:0;width:80px;height:30px;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .evo-pointer:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput .evo-pointer.inline{margin-right:.5em;width:auto}.mo .propInput .evo-pointer:before{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;font-family:FontAwesome;content:"\f0d7";font-weight:400;border-left:1px solid rgba(254,253,252,.5)!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;position:absolute;top:-1px;right:-1px;bottom:-1px;line-height:30px;width:28px;padding:0 8px;margin:0}li .mo .propInput .evo-pointer:before{color:#fefdfc}.mo .propInput .evo-pointer:before img{vertical-align:middle;margin:0 .2em}.mo .propInput .evo-pointer:before:hover,.mo .propInput .evo-pointer:before.pressed,.mo .propInput .evo-pointer:before.selected{text-decoration:none;background-color:#191919}.mo .propInput .evo-pointer:before.disabled{color:#666665}.mo .propInput .evo-pointer:before.disabled a,.mo .propInput .evo-pointer:before.disabled .link{color:#666665}.mo .propInput .evo-pointer:before.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .propInput .evo-pointer:before.inline{margin:0 7px 0 0}.mo .propInput .evo-pointer:before.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo .propInput .evo-pointer:before.primary:hover{background-color:#69010a;border-color:#69010a}.mo .propInput .evo-pointer:before.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo .propInput .evo-pointer:before.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .propInput .evo-pointer:before.with_button_dropdown_split{padding-right:1.2em}.mo .propInput .evo-pointer:before.with_button_dropdown_split.big{padding-right:1.8em}.mo .propInput .evo-pointer:before.loading{opacity:.5;background-image:none}.mo .objEdit input[type=checkbox]{display:none}.mo .objEdit input[type=checkbox]+.checkbox-replacer{width:1.28571429em;display:block;text-align:center}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block}.mo .objEdit input[type=checkbox]:checked+.checkbox-replacer:before{content:'\f205'}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{font-size:150%;text-align:center;content:'\f204'}.mo .propCheck input[type=checkbox]:checked+.checkbox-replacer:before{content:"\f041";content:"\f1b2";font-size:14px;opacity:1}.mo .propCheck input[type=checkbox]+.checkbox-replacer:before{content:'\f0ac';content:"\f1b3";font-size:14px;opacity:.8}.mo .propInput .ui-spinner{width:100%;margin:0}.mo .propInput .ui-spinner .ui-spinner-input{border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .ui-spinner .ui-state-default .ui-icon.fa,.mo .propInput .ui-spinner .ui-widget-content .ui-icon.fa{background-image:none;font-size:10px;top:9px}.mo .propLabel[title]{text-decoration:underline;cursor:help}.mo .noSelectedBlock,.mo .customStyleHelp,.mo .objEmpty,.mo .galleryEmpty,.mo .blockDescription{padding:1em;margin-bottom:.5em;background-color:#f1eee6;border-radius:7px;box-shadow:none;color:#4f4f4f}.mo .customStyleHelp,.mo .objEmpty{margin-bottom:1em}.mo .evo-pop{right:0;width:auto;border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;padding:0;overflow:hidden;border-width:0;padding:3px}.mo .evo-pop .evo-palette td{padding:12px;border:none}.mo .evo-pop .evo-palette th,.mo .evo-pop .evo-palette-ie th,.mo .evo-pop .evo-palette2 th{border:none}.mo .evo-pop .evo-palette,.mo .evo-pop .evo-palette-ie,.mo .evo-pop .evo-palette2{border-spacing:0;margin:0 auto;width:auto;border:none}.mo .evo-pop .evo-palette2 td{padding:8px 9px}.mo .evo-pop .evo-cHist div{padding:12px;margin:2px}.mo .evo-pop .evo-color div{padding:12px;margin:2px;border-color:silver}.mo .evo-pop .evo-color{width:120px;padding:1px 3px 2px 4px}.mo .evo-pop .evo-color span{font-size:17px;margin:5px 0 4px 4px}.mo .evo-pop .evo-more{padding:4px 5px}.mo .evo-pop .evo-more a{margin-right:1em}#toolbar{padding:5px 10px}#toolbar .button,#toolbar .ui-button,#toolbar .button_dropdown_split{margin-top:0;margin-bottom:0}#toolbar ul.top_right_links{float:right}#toolbar ul.top_right_links .dropdown{margin:.2em 0 0}@media(max-width:1460px){#toolbar label[for=previewFrameToggle]{display:none}#toolbar .ui-button[for=showGallery] .ui-icon{margin-right:0}#toolbar .ui-button[for=showGallery] .ui-button-text{display:none}}#toolbar .leftButtons{float:left}#toolbar .rightButtons{float:right}#toolbar #downloadForm{display:inline-block}#main-toolbox>div,#main-toolbox>div>div{height:100%;overflow:hidden}#main-toolbox #tooltabs.ui-tabs{overflow:hidden}#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel{top:40px;overflow-y:auto;overflow-x:hidden;z-index:100}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav{font-size:1.2em;padding:0 0 0 4px}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li{margin:4px 4px 0 0;line-height:37px}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li a{width:100%;padding:0 .5em}#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel{margin:0;padding:.7em;position:absolute;bottom:4px;left:4px;right:4px;z-index:100;background-color:#fefdfc}#main-toolbox .draggable-item{display:inline-block}#main-toolbox .draggable{width:100px;height:100px;overflow:hidden;border:2px solid black;z-index:100;display:inline-block}#main-toolbox .draggable-item .block .handle{cursor:move;z-index:120;position:absolute;top:0;bottom:0;left:20px;right:20px}#main-toolbox .draggable-item{position:relative}#main-toolbox .draggable-item .addblockbutton{z-index:1000;position:absolute;bottom:10px;right:5px;display:none}#main-toolbox .draggable-item .image,#main-toolbox .draggable-item .block img{box-shadow:0 0 1px gray;margin:3px 0}#main-toolbox .draggable-item:hover{transform:scale(1.05,1.05);z-index:10;position:relative}#main-toolbox .draggable-item:hover .addblockbutton{display:block}#main-toolbox .draggable-item:hover .image{box-shadow:0 0 15px gray}#main-toolbox .draggable-item:hover .block img{box-shadow:0 0 15px gray}#main-toolbox .blockType{display:none}#main-toolbox .block-list{max-width:346px}#main-toolbox .block-list .draggable-item,#main-toolbox .block-list .draggable-item img{width:100%}#main-toolbox .objEdit.level1.selectable{position:relative}#main-toolbox .objEdit.level1.selectable:after{content:"";visibility:hidden;position:absolute;z-index:-1;top:-3px;bottom:-3px;left:-7px;right:-7px;border-width:0;border-style:solid;border-color:currentcolor;outline-color:currentcolor}#main-toolbox .objEdit.level1.selectable.selecteditem:after{display:block;visibility:visible;border:0 dashed #c00;border-left-width:5px;border-right-width:5px;border-style:dashed solid;animation:border-color-selection-pulsate 4s infinite}#main-toolbox .objEdit.level1.selectable:hover:after{display:block;visibility:visible;outline-width:1px;outline-style:solid;border-top-width:0;border-bottom-width:0}#main-toolbox .objEdit.level1.selectable:hover,#main-toolbox .objEdit.level1.selectable.selecteditem{position:relative}#main-toolbox .objEdit.level1.selectable.selecteditem{z-index:10}#main-toolbox .objEdit.level1.selectable:hover{z-index:11}#main-toolbox .blockCheck{float:right;margin-top:-34px}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer{width:56px}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after{padding:1px;display:block;float:left;font-size:14px;line-height:18px;width:22px;opacity:1;height:18px;top:0;left:0;box-sizing:content-box}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after{content:"\f1b2"}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{content:"\f1b3"}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;width:22px;font-weight:400;min-height:18px;line-height:18px;color:rgba(51,51,50,.5);padding:2px;margin:-1px -2px;z-index:0}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after:focus,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before:focus{border-color:#66afe9;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after.inline,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before.inline{margin-right:.5em;width:auto}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{padding-left:4px;padding-right:2px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{padding-left:2px;padding-right:4px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;font-weight:400;min-height:18px;line-height:18px;padding:4px;margin:-3px -2px;opacity:1;z-index:1}li #main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,li #main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{color:#fefdfc}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after img,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before img{vertical-align:middle;margin:0 .2em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before:hover,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.pressed,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.pressed,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.selected,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.selected{text-decoration:none;background-color:#191919}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled{color:#666665}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled a,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled a,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled .link,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled .link{color:#666665}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.inline,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.inline{margin:0 7px 0 0}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary:hover{background-color:#69010a;border-color:#69010a}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.big,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.big .suffix_icon,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.big .suffix_icon{font-size:55%;vertical-align:middle}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.with_button_dropdown_split,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.with_button_dropdown_split{padding-right:1.2em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.with_button_dropdown_split.big,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.with_button_dropdown_split.big{padding-right:1.8em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.loading,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.loading{opacity:.5;background-image:none}#main-toolbox .workLocal .propInput.global,#main-toolbox .workLocal .propInput.global *{display:none}#main-toolbox .workGlobal .propInput.local.default,#main-toolbox .workGlobal .propInput.local.default *{display:none}#main-toolbox .workGlobal .propInput.global.overridden,#main-toolbox .workGlobal .propInput.global.overridden *{display:none}#main-toolbox .workGlobalContent .propInput.local,#main-toolbox .workGlobalContent .propInput.local *{display:none}#main-toolbox .workGlobalContent .blockCheck{display:none}#main-toolbox .workGlobalContent .objLabel.level0{margin-right:0}#main-toolbox .customStyled span{display:none}#main-toolbox .customStyled:before{content:" "}#main-toolbox .customStyled:after{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block;content:"\f1b2";font-size:14px;opacity:1}#main-toolbox #tooldebug{overflow:auto}.mo-standalone #main-toolbox #tooltabs.ui-tabs>.ui-tabs-nav{padding-left:40px}#toolimagesgallery{padding:10px}@keyframes slideright{0%{left:-450px}100%{left:0}}@keyframes slideleft{0%{left:0}100%{left:-450px}}#toolimages .pane{text-align:center}#toolimages .loadbutton,#toolimages .galleryPager{margin:.5em}.slidebar{z-index:200;position:absolute;top:0;width:397px;left:0;animation:slideright .2s ease-out 0s 1;border-radius:0;background-color:#fefdfc;box-shadow:1px 0 3px gray}.slidebar .close{float:right;visibility:hidden;cursor:pointer;width:24px;display:block}.slidebar .close:before{visibility:visible;font-size:24px;font-family:FontAwesome;content:'\f00d';position:relative;top:0;right:0;width:24px;height:24px}.slidebar .pane{background-color:#fefdfc;border-radius:5px;margin:5px;padding:5px}.slidebar .pane-title{padding:5px;display:block}.slidebar.hidden{left:-450px;animation:slideleft .2s ease-out 0s 1}#toolimagestab{padding:.2em}#toolimagestab ul.ui-tabs-nav{padding:0}#toolimagestab li.ui-state-active a{background:none repeat scroll 0 0 #FFF}#toolimagestab .ui-tabs-panel{display:block;margin-top:0;padding:15px 18px;background:none repeat scroll 0 0 #FFF;border:1px solid #d2cbb1;border-width:0 1px 1px}#main-preview .button,#main-preview .ui-button,#main-preview .button_dropdown_split{margin-top:0;margin-bottom:0}#main-preview #preview-toolbar{padding:3px 10px;text-align:center;position:absolute;bottom:0;right:0;left:0;z-index:200}#main-preview #frame-container{position:absolute;top:40px;bottom:40px;left:0;right:0;background-color:#fefdfc;box-shadow:inset 0 0 10px gray}#frame-container>iframe{border:0;box-sizing:border-box;padding:0 6px;width:100%;height:100%;overflow:auto;transform-origin:0 0;transform:scale(1)}#frame-container.desktop>iframe{padding:12px;width:200%;height:200%;transform:scale(.5)}#frame-container.large>iframe{padding:15px;width:250%;height:250%;transform:scale(.4)}@media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0){@media{#main-wysiwyg-area table:not(.img-wysiwyg),#main-wysiwyg-area .selected table:not(.img-wysiwyg):hover{position:relative}#main-wysiwyg-area table:not(.img-wysiwyg):hover,#main-wysiwyg-area .selected table:not(.img-wysiwyg){position:static}}}#main-edit-area .editable{position:relative}#main-edit-area .sortable-blocks-edit.empty{min-height:200px;height:200px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;margin:20px 30px;border:2px dashed currentcolor;border-radius:20px;animation:border-color-selection-pulsate 4s infinite;position:relative}#main-edit-area .sortable-blocks-edit.empty:after{content:attr(data-empty-content);font-size:21.76px;font-weight:400;text-decoration:none;font-family:trebuchet ms,arial,sans-serif}#main-edit-area .isdragging .sortable-blocks-edit.empty:after{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(204,0,0,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #c00;z-index:10;pointer-events:none;height:auto;bottom:-14px}@keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@keyframes slidein{0%{transform:scale(1.5,1.5);opacity:0}100%{transform:scale(1,1);opacity:1}}@keyframes slidein2{0%{margin-left:-30%;margin-right:30%;opacity:0}100%{margin-left:0;margin-right:0;opacity:1}}#main-edit-area .sortable-placeholder{animation:slidein .2s linear 0s 1}#main-edit-area .sortable-placeholder:after{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border:10px solid red;border-color:rgba(255,0,0,.1) red;z-index:50;opacity:.8}#main-edit-area .img-wysiwyg{position:relative;display:block;width:auto}#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg:before{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(204,0,0,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #c00;z-index:10;pointer-events:none;line-height:45px;height:auto;top:-10px;bottom:-10px}#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg.ui-state-draghover:before{background-color:rgba(204,0,0,.8);animation:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mo-blockselectionhelper{content:"";visibility:hidden;position:absolute;z-index:-1;top:-3px;bottom:-3px;left:-12px;right:-12px;border-width:0;border-style:solid;border-color:currentcolor;outline-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper{display:block;visibility:visible;border:0 dashed #c00;border-left-width:10px;border-right-width:10px;border-style:dashed solid;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper{display:block;visibility:visible;outline-width:1px;outline-style:solid;border-top-width:0;border-bottom-width:0}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover{z-index:11}#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder)+div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):before,#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):first-child:before,#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(204,0,0,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #c00;z-index:10;pointer-events:none}#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after{bottom:-20px;top:auto}#main-edit-area .editable.sortable-placeholder:hover .tools{visibility:hidden}#main-edit-area .editable:hover .tools{visibility:visible}#main-edit-area .ui-sortable-helper>*,#main-edit-area .ui-sortable-helper .tools>*{opacity:.3}#main-edit-area .ui-sortable-helper .tools,#main-edit-area .ui-sortable-helper .tools .handle{opacity:1}#main-edit-area .tool{font-size:1.0em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;font-weight:700;display:inline-block;text-align:center;width:25px;height:25px;font-size:20px;padding:3px;padding-bottom:2px;margin:0;min-height:auto;box-shadow:0 0 5px #fff;cursor:pointer}li #main-edit-area .tool{color:#fefdfc}#main-edit-area .tool img{vertical-align:middle;margin:0 .2em}#main-edit-area .tool:hover,#main-edit-area .tool.pressed,#main-edit-area .tool.selected{text-decoration:none;background-color:#191919}#main-edit-area .tool.disabled{color:#666665}#main-edit-area .tool.disabled a,#main-edit-area .tool.disabled .link{color:#666665}#main-edit-area .tool.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}#main-edit-area .tool.inline{margin:0 7px 0 0}#main-edit-area .tool.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}#main-edit-area .tool.primary:hover{background-color:#69010a;border-color:#69010a}#main-edit-area .tool.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}#main-edit-area .tool.big .suffix_icon{font-size:55%;vertical-align:middle}#main-edit-area .tool.with_button_dropdown_split{padding-right:1.2em}#main-edit-area .tool.with_button_dropdown_split.big{padding-right:1.8em}#main-edit-area .tool.loading{opacity:.5;background-image:none}#main-edit-area .tool input.fileupload{padding-top:50px}#main-edit-area .tool:hover{background-color:#191919}#main-edit-area .tools .tool.handle{float:left;margin-left:16px;cursor:move}#main-edit-area .tools .tool.moveup,#main-edit-area .tools .tool.movedown{float:left;margin-left:3px}#main-edit-area .tools .tool.delete,#main-edit-area .tools .tool.clone{float:right;margin-left:3px}#main-edit-area .tools .tool.delete{margin-right:16px}#main-edit-area .midtools{visibility:hidden;z-index:30;position:absolute;bottom:16px;width:100%;text-align:left}#main-edit-area .img-wysiwyg:hover .midtools{visibility:visible}#main-edit-area .uploading .midtools{visibility:hidden!important}#main-edit-area .uploading .fileuploadtext{visibility:hidden!important}#main-edit-area .uploading .fileupload.withfile{visibility:hidden}#main-edit-area .img-wysiwyg .img-size{visibility:hidden;position:absolute;top:0;right:0;padding:2px;font-family:trebuchet ms,arial,sans-serif;font-size:12px;background-color:rgba(128,128,128,.5);color:white}#main-edit-area .img-wysiwyg:hover .img-size{visibility:visible}#main-edit-area .midtools .tool{z-index:20;margin-left:8px}#main-edit-area .tools{position:absolute;visibility:hidden;margin:0;top:-16px;left:0;right:0;height:1px;z-index:20;text-align:center}#main-wysiwyg-area{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:white}#main-edit-area,#main-toolbox,#main-preview{position:absolute;top:0;bottom:0}#main-wysiwyg-area a[href]{cursor:default!important}#main-wysiwyg-area a[contenteditable]{cursor:text!important}#main-wysiwyg-area span[contenteditable]:empty,#main-wysiwyg-area a[contenteditable]:empty{display:inline-block;min-width:50px}#main-wysiwyg-area div[contenteditable],#main-wysiwyg-area p[contenteditable],#main-wysiwyg-area td[contenteditable]{min-width:50px}#main-edit-area .mce-edit-focus{outline:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after{content:"";visibility:hidden;position:absolute;z-index:-1;top:-3px;bottom:-3px;left:-7px;right:-7px;border-width:0;border-style:solid;border-color:currentcolor;outline-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after{display:block;visibility:visible;border:1px dashed #c00;border-left-width:5px;border-right-width:5px;border-style:dashed solid;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after{display:block;visibility:visible;outline-width:1px;outline-style:solid;border-top-width:0;border-bottom-width:0}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover{z-index:11}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img .mo-imgselectionhelper{content:"";visibility:hidden;position:absolute;z-index:-1;top:-3px;bottom:-3px;left:-7px;right:-7px;border-width:0;border-style:solid;border-color:currentcolor;outline-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper{display:block;visibility:visible;border:1px dashed #c00;border-left-width:5px;border-right-width:5px;border-style:dashed solid;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper{display:block;visibility:visible;outline-width:1px;outline-style:solid;border-top-width:0;border-bottom-width:0}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover{z-index:11}#main-edit-area .textMiddle{text-shadow:none!important;font-weight:700;background-color:rgba(255,255,255,.2);padding:3px;position:absolute;top:2px;left:2px;right:2px}#main-wysiwyg-area replacedbody{position:relative;display:block;min-height:100%;max-width:700px;margin:0 auto!important;padding:16px 20px!important}@media(min-width:1400px){#main-wysiwyg-area replacedbody{max-width:800px}}@media(min-width:1600px){#main-wysiwyg-area replacedbody{max-width:900px}}@media(max-width:1700px){.withPreviewFrame #main-wysiwyg-area replacedbody{max-width:700px}}@media(min-width:1700px){.withPreviewFrame #main-wysiwyg-area replacedbody{max-width:800px}}@media(max-width:1400px){.withPreviewFrame #main-wysiwyg-area replacedbody:before,.withPreviewFrame #main-wysiwyg-area replacedbody:after{display:none}}@media(min-width:1100px){#main-wysiwyg-area replacedbody:before,#main-wysiwyg-area replacedbody:after{content:"";display:block;position:absolute;top:0;left:0;width:40px;bottom:0;background:linear-gradient(90deg,rgba(255,255,255,0) 19%,white 21%,white 79%,rgba(255,255,255,0) 81%),linear-gradient(135deg,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 28%,white 28%,white 72%,rgba(255,255,255,0) 72%,rgba(255,255,255,0) 75%),linear-gradient(-135deg,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 28%,white 28%,white 72%,rgba(255,255,255,0) 72%,rgba(255,255,255,0) 75%),linear-gradient(135deg,rgba(255,255,255,0) 25%,#CCC 25%,white 28%,white 72%,#CCC 75%,rgba(255,255,255,0) 75%),linear-gradient(-135deg,rgba(255,255,255,0) 25%,#CCC 25%,white 28%,white 72%,#CCC 75%,rgba(255,255,255,0) 75%);background-size:80px 20px;background-position:left -40px top 0;z-index:1}#main-wysiwyg-area replacedbody:after{left:auto;right:0;background-position:left 0 top 0}}.mce-toolbar-grp.mce-panel .mce-btn-group{box-shadow:0 0 5px #fff}.moxman-window,.mce-window{border:none;border-top-left-radius:7px;border-top-right-radius:7px;border-color:rgba(128,126,124,0);box-shadow:0 2px 20px #807e7c;overflow:hidden}.moxman-window .moxman-window-head,.mce-window .moxman-window-head,.moxman-window .mce-window-head,.mce-window .mce-window-head{background:none #d2cbb1;font-size:1.1em}.moxman-window .moxman-window-head .moxman-title,.mce-window .moxman-window-head .moxman-title,.moxman-window .mce-window-head .moxman-title,.mce-window .mce-window-head .moxman-title,.moxman-window .moxman-window-head .mce-title,.mce-window .moxman-window-head .mce-title,.moxman-window .mce-window-head .mce-title,.mce-window .mce-window-head .mce-title{color:#333332}.moxman-window .moxman-window-head button.moxman-close,.mce-window .moxman-window-head button.moxman-close,.moxman-window .mce-window-head button.moxman-close,.mce-window .mce-window-head button.moxman-close,.moxman-window .moxman-window-head button.mce-close,.mce-window .moxman-window-head button.mce-close,.moxman-window .mce-window-head button.mce-close,.mce-window .mce-window-head button.mce-close{color:#fefdfc;font-size:1.6em;top:6px}.moxman-window .moxman-window-head button.moxman-close:hover,.mce-window .moxman-window-head button.moxman-close:hover,.moxman-window .mce-window-head button.moxman-close:hover,.mce-window .mce-window-head button.moxman-close:hover,.moxman-window .moxman-window-head button.mce-close:hover,.mce-window .moxman-window-head button.mce-close:hover,.moxman-window .mce-window-head button.mce-close:hover,.mce-window .mce-window-head button.mce-close:hover{color:#333332}.moxman-window .moxman-panel,.mce-window .moxman-panel,.moxman-window .mce-panel,.mce-window .mce-panel{background-color:#fefdfc}.moxman-window .moxman-container-body .moxman-panel.moxman-first,.mce-window .moxman-container-body .moxman-panel.moxman-first,.moxman-window .mce-container-body .moxman-panel.moxman-first,.mce-window .mce-container-body .moxman-panel.moxman-first,.moxman-window .moxman-container-body .mce-panel.mce-first,.mce-window .moxman-container-body .mce-panel.mce-first,.moxman-window .mce-container-body .mce-panel.mce-first,.mce-window .mce-container-body .mce-panel.mce-first{border-bottom:none}.moxman-window div.moxman-filelist-head,.mce-window div.moxman-filelist-head{background-color:#fefdfc;border-bottom:none}.moxman-window .moxman-filelist,.mce-window .moxman-filelist{border-top:2px solid #f1e4d6}.moxman-window .moxman-filelist .moxman-filelist-row td,.mce-window .moxman-filelist .moxman-filelist-row td{background-color:#f1eee6;border-bottom:none}.moxman-window .moxman-filelist .moxman-filelist-odd td,.mce-window .moxman-filelist .moxman-filelist-odd td{background-color:#fefdfc}.moxman-window .moxman-filelist tr.moxman-checked,.mce-window .moxman-filelist tr.moxman-checked,.moxman-window .moxman-filelist tr.moxman-checked td,.mce-window .moxman-filelist tr.moxman-checked td{background-color:#ffff90;color:#333332}.moxman-window .moxman-filelist tr.moxman-checked div .moxman-txt,.mce-window .moxman-filelist tr.moxman-checked div .moxman-txt,.moxman-window .moxman-filelist tr.moxman-checked td div .moxman-txt,.mce-window .moxman-filelist tr.moxman-checked td div .moxman-txt,.moxman-window .moxman-filelist tr.moxman-checked i.moxman-ico,.mce-window .moxman-filelist tr.moxman-checked i.moxman-ico,.moxman-window .moxman-filelist tr.moxman-checked td i.moxman-ico,.mce-window .moxman-filelist tr.moxman-checked td i.moxman-ico{color:#333332}.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-down,.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-down{border-top-color:#333332}.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-up,.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-up{border-bottom-color:#333332}.moxman-window .moxman-thumbnailview,.mce-window .moxman-thumbnailview{border-top:2px solid #f1e4d6}.moxman-window .moxman-thumbnailview .moxman-thumb,.mce-window .moxman-thumbnailview .moxman-thumb{border:1px solid #f1eee6}.moxman-window .moxman-thumbnailview .moxman-thumb:hover,.mce-window .moxman-thumbnailview .moxman-thumb:hover,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked{outline:2px solid #ffff90}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info{background-color:#f1eee6;color:#333332}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox{background-color:#fefdfc;color:#333332;border:1px solid #333332}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before{color:#333332}.moxman-window i.moxman-i-checkbox,.mce-window i.moxman-i-checkbox,.moxman-window i.mce-i-checkbox,.mce-window i.mce-i-checkbox{background-color:transparent}.moxman-window .mce-listbox,.mce-window .mce-listbox,.moxman-window .mce-listbox:hover,.mce-window .mce-listbox:hover,.moxman-window .mce-listbox.mce-active,.mce-window .mce-listbox.mce-active,.moxman-window .mce-listbox.mce-active:hover,.mce-window .mce-listbox.mce-active:hover,.moxman-window .mce-listbox:focus,.mce-window .mce-listbox:focus{background-color:transparent;text-shadow:none;border:1px solid #c5c5c5}.moxman-window .mce-listbox span,.mce-window .mce-listbox span,.moxman-window .mce-listbox:hover span,.mce-window .mce-listbox:hover span,.moxman-window .mce-listbox.mce-active span,.mce-window .mce-listbox.mce-active span,.moxman-window .mce-listbox.mce-active:hover span,.mce-window .mce-listbox.mce-active:hover span,.moxman-window .mce-listbox:focus span,.mce-window .mce-listbox:focus span,.moxman-window .mce-listbox .mce-ico,.mce-window .mce-listbox .mce-ico,.moxman-window .mce-listbox:hover .mce-ico,.mce-window .mce-listbox:hover .mce-ico,.moxman-window .mce-listbox.mce-active .mce-ico,.mce-window .mce-listbox.mce-active .mce-ico,.moxman-window .mce-listbox.mce-active:hover .mce-ico,.mce-window .mce-listbox.mce-active:hover .mce-ico,.moxman-window .mce-listbox:focus .mce-ico,.mce-window .mce-listbox:focus .mce-ico{color:#333332}.moxman-window .mce-listbox i.mce-caret,.mce-window .mce-listbox i.mce-caret,.moxman-window .mce-listbox:hover i.mce-caret,.mce-window .mce-listbox:hover i.mce-caret,.moxman-window .mce-listbox.mce-active i.mce-caret,.mce-window .mce-listbox.mce-active i.mce-caret,.moxman-window .mce-listbox.mce-active:hover i.mce-caret,.mce-window .mce-listbox.mce-active:hover i.mce-caret,.moxman-window .mce-listbox:focus i.mce-caret,.mce-window .mce-listbox:focus i.mce-caret{border-top-color:#333332}.moxman-window .moxman-btn i,.mce-window .moxman-btn i,.moxman-window .mce-btn i,.mce-window .mce-btn i{text-shadow:none}.moxman-window input,.mce-window input,.moxman-window select,.mce-window select,.moxman-window textarea,.mce-window textarea,.moxman-window button,.mce-window button{max-width:none}.moxman-tooltip,.mce-tooltip{z-index:500000!important}.mce-toolbar-grp.mce-panel,.mce-tinymce-inline{background-color:transparent!important;border-color:transparent!important}.mce-menu,.moxman-menu{border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;padding:0;overflow:hidden}@keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#c00}60%{border-color:#c00}100%{border-color:currentcolor}}@keyframes droppable-pulsate{0%{opacity:1}100%{opacity:.1}}body{background-color:#d2cbb1;margin:0;overflow:hidden}input,select,textarea,button{font-family:inherit;font-size:inherit;max-width:100%}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable],[contenteditable] *,.evo-color span{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}a[disabledhref]{color:#06C;color:-webkit-link;text-decoration:underline;cursor:auto}a[disabledhref]:-moz-read-write{text-decoration:underline -moz-anchor-decoration;color:-moz-hyperlinktext}#page{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}#main-edit-area{left:0;right:0;overflow:hidden}#main-edit-area,#toolbar{min-width:600px}#toolbar{z-index:110!important;background-color:#d2cbb1;box-sizing:border-box;position:absolute;top:0;left:0;right:0;height:40px}#main-toolbox{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;left:0;width:400px;box-shadow:0 0 10px gray,0 0 5px gray}.withToolbox #main-toolbox{display:block}.withToolbox #main-edit-area,.withToolbox #toolbar{left:400px}#main-preview{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;right:0;width:340px;overflow:hidden}.withPreviewFrame #main-preview{display:block}.withPreviewFrame #main-edit-area{right:345px}#main-edit-area:before,#main-edit-area:after,#frame-container:before,#frame-container:after{content:"";display:block;position:absolute;border:0;height:40px;box-shadow:0 1px 10px gray,0 0 5px gray;left:0;right:0;top:0;z-index:100}#main-edit-area:after{top:auto;bottom:-40px}#frame-container:before{top:-40px}#frame-container:after{top:auto;bottom:-40px}#main-wysiwyg-area{position:absolute;top:40px;left:0;right:0;bottom:0;overflow-y:auto;-webkit-transform:translate3d(0,0,0)}#main-toolbox .draggable.image{width:85px;height:85px;text-align:center;vertical-align:middle;padding:5px;border:0;background-size:contain;background-repeat:no-repeat;background-position:center;background-origin:content-box}#main-toolbox .draggable.image img{opacity:0}.ui-draggable-dragging{z-index:10000}.ui-draggable-dragging.sortable-placeholder{top:0!important;left:0!important}.uploading .fileuploadtext{display:none}.fileuploadtext{top:0!important;left:0!important;right:0!important;bottom:0!important;color:#000}.uploadzone .fileuploadtext{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700}.isdragging .uploadzone .fileuploadtext,.isdraggingimg .uploadzone .fileuploadtext{display:none!important}.uploadzone .progress{display:none}.uploadzone.uploading .progress{display:block}.mo-uploadzone{position:absolute;z-index:15;top:0;left:0;bottom:0;right:0;display:block}.toast-bottom-full-width{margin-left:25%;margin-right:25%;width:50%!important}body>.ui-tooltip{border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;padding:0;overflow:hidden;font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-size:14px;border-width:0;padding:8px;position:absolute;z-index:9999;max-width:300px;box-shadow:0 0 5px #AAA}.ui-helper-hidden-accessible{border:0 none;clip:rect(1px,1px,1px,1px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}i.mce-i-newsletter-profile:before{content:'\e826';font-family:fontello}@keyframes loading{0%{transform:scale(1,1) rotate(0deg)}50%{transform:scale(1.5,1.5) rotate(360deg)}100%{transform:scale(1,1) rotate(720deg)}}.mo-standalone #loading.loading img{animation:loading 4s linear infinite}@keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}#loading.loading div{animation:broken 10s linear forwards;padding:1em;opacity:1}#carousel-dialog .carousel-buttons{position:absolute;right:5px;bottom:10px}#carousel-dialog .carousel-buttons .button{font-size:1.2em}#carousel-dialog .carousel-remember{font-size:1.2em;position:absolute;left:10px;bottom:17px}#carousel-dialog .carousel-remember input{vertical-align:middle;margin-right:.2em}#carousel-dialog .owl-carousel{height:550px}#carousel-dialog .owl-controls{position:absolute;left:0;right:0;bottom:7px}#carousel-dialog .owl-controls .owl-page.active span{background-color:#333332}#carousel-dialog .owl-controls .owl-page span{background-color:#d2cbb1}#carousel-dialog .carousel-help{margin-top:5px;font-size:1.2em}#carousel-dialog .carousel-help-text{line-height:1.5em}#carousel-dialog .carousel-help-text.large-width{width:80%;margin:0 auto}#carousel-dialog .carousel-help-text p{padding:.5em}#carousel-dialog .carousel-help .left{margin-right:20px}#carousel-dialog .carousel-help .top{margin-bottom:10px}#carousel-dialog .carousel-help-balloon{display:flex;display:-ms-flexbox;-ms-flex-align:center;align-items:center;-webkit-align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;overflow:auto;padding:0 .5em}#carousel-dialog .carousel-help-balloon>div{width:100%}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}.evo-pop{z-index:10000;width:204px;padding:3px 3px 0}.evo-pop-ie{z-index:10000;width:212px;padding:3px}.evo-palette td{font-size:1px;border:solid 1px silver;padding:7px;cursor:pointer}.evo-palette tr.top>td{border-bottom:0}.evo-palette tr.in>td{border-top:0;border-bottom:0}.evo-palette tr.bottom>td{border-top:0}.evo-palette div.sep{height:3px}.evo-palette,.evo-palette-ie{border-collapse:separate;border-spacing:4px 0}.evo-palette th,.evo-palette-ie th{border:0;padding:5px 3px;text-align:left;font-weight:400;background:transparent!important}.evo-palette-ie td{font-size:1px;border:solid 1px silver;padding:7px;cursor:pointer}.evo-palette2,.evo-palette2-ie{margin:auto;border-collapse:collapse}.evo-palette2 td,.evo-palette2-ie td{font-size:1px;cursor:pointer}.evo-palette2 td{padding:6px 7px}.evo-palette2-ie td{padding:5px}.evo-palcenter{padding:5px;text-align:center}.evo-colorind,.evo-colorind-ie,.evo-colorind-ff{border:solid 1px #c3c3c3;width:18px;height:18px;float:right}.evo-colorind-ie{position:relative;top:-23px}.evo-colorbox-ie{font-size:8px;padding:3px 9px!important}.evo-pop:after,.evo-pop-ie:after,.evo-colorind:after,.evo-colorind-ie:after,.evo-colorind-ff:after,.evo-color span:after,.evo-cHist:after{content:".";display:block;height:0;clear:both;visibility:hidden;font-size:0}.evo-color{width:94px;padding:1px 3px 0 4px}.evo-color div{border:solid 1px gray;border-right:solid 1px silver;border-bottom:solid 1px silver;padding:3px;margin-bottom:5px;width:10px;height:10px;float:left}.evo-color span{font-size:15px;margin:1px 0 4px 3px;float:left}.evo-sep{height:10px;font-size:0}.evo-more{padding:4px 5px;font-size:smaller}.evo-cHist{padding:3px}.evo-cHist div{cursor:pointer;border:solid 1px silver;padding:3px;margin:5px;width:10px;height:10px;float:left}.evo-transparent{background-image:repeating-linear-gradient(135deg,#000,#000 1px,#fff 1px,#fff 3px)}.evo-tr-box{cursor:pointer;border:solid 1px silver;padding:3px;width:7px;height:7px;float:right;position:relative;right:-3px;top:2px}a.evo-hist{margin-left:6px}.evo-pointer{cursor:pointer}.evo-hidden-button{display:none} +/*# sourceMappingURL=mosaico.min.css.map */ \ No newline at end of file diff --git a/public/mosaico/dist/mosaico.min.css.map b/public/mosaico/dist/mosaico.min.css.map new file mode 100644 index 00000000..10ba1388 --- /dev/null +++ b/public/mosaico/dist/mosaico.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../build/mosaico.css","../bower_components/font-awesome/less/path.less","../bower_components/font-awesome/less/core.less","../bower_components/font-awesome/less/larger.less","../bower_components/font-awesome/less/fixed-width.less","../bower_components/font-awesome/less/list.less","../bower_components/font-awesome/less/bordered-pulled.less","../bower_components/font-awesome/less/animated.less","../bower_components/font-awesome/less/rotated-flipped.less","../bower_components/font-awesome/less/mixins.less","../bower_components/font-awesome/less/stacked.less","../bower_components/font-awesome/less/icons.less","../bower_components/font-awesome/less/screen-reader.less","../src/css/style_mosaico_tools.less","../src/css/style_mosaico.less","../src/css/style_elements.less","../src/css/style_elements_mixins.less","../src/css/style_elements_jquery.less","../src/css/safarihack.css","../src/css/style_mosaico_content.less","../src/css/style_elements_moxie.less","../bower_components/toastr/toastr.css","../bower_components/evol-colorpicker/css/evol.colorpicker.css"],"names":[],"mappings":"AAAA;;;GAGG,ACAH,WACE,wBAAA,AACA,kDAAA,AACA,kWAAA,CDMD,AETD,IACE,qBAAA,AACA,6CAAA,AACA,kBAAA,AACA,oBAAA,AACA,mCAAA,AACA,iCAAA,CFWD,AGhBD,OACE,uBAAA,AACA,kBAAA,AACA,mBAAA,CHmBD,AGjBD,OAAuB,aAAA,CHoBtB,AGnBD,OAAuB,aAAA,CHsBtB,AGrBD,OAAuB,aAAA,CHwBtB,AGvBD,OAAuB,aAAA,CH0BtB,AIpCD,OACE,mBAAA,AACA,iBAAA,CJsCD,AKvCD,OACE,eAAA,AACA,yBAAA,AACA,oBAAA,CLyCD,AK5CD,UAIS,iBAAA,CL2CR,AKzCD,OACE,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,gBAAA,AACA,iBAAA,CL2CD,AK1CC,aACE,kBAAA,CL4CH,AMzDD,WACE,yBAAA,AACA,wBAAA,AACA,kBAAA,CN2DD,AMxDD,cAA8B,UAAA,CN2D7B,AM1DD,eAA+B,WAAA,CN6D9B,AM1DC,iBAA+B,iBAAA,CN6DhC,AM5DC,kBAAgC,gBAAA,CN+DjC,AM3DD,YAAc,WAAA,CN+Db,AM9DD,WAAa,UAAA,CNiEZ,AM9DC,cAAc,iBAAA,CNiEf,AMhEC,eAAe,gBAAA,CNmEhB,AOvFD,SAEU,oCAAA,CPyFT,AOtFD,UAEU,sCAAA,CPwFT,AO1ED,mBACE,GAEU,sBAAA,CPsFT,AOpFD,KAEU,wBAAA,CPsFT,CACF,AQnHD,cCWE,sEAAA,AAGQ,uBAAA,CT2GT,AQxHD,eCUE,sEAAA,AAGQ,wBAAA,CTiHT,AQ7HD,eCSE,sEAAA,AAGQ,wBAAA,CTuHT,AQjID,oBCcE,+EAAA,AAGQ,qBAAA,CTsHT,AQtID,kBCaE,+EAAA,AAGQ,qBAAA,CT4HT,AQvID,gHAKE,WAAA,CRyID,AUxJD,UACE,kBAAA,AACA,qBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,qBAAA,CV0JD,AUxJD,0BACE,kBAAA,AACA,OAAA,AACA,WAAA,AACA,iBAAA,CV2JD,AUzJD,aAA6B,mBAAA,CV4J5B,AU3JD,aAA6B,aAAA,CV8J5B,AU7JD,YAA4B,UAAA,CVgK3B,AWhLD,iBAAiC,eAAA,CXqLhC,AWpLD,iBAAiC,eAAA,CXuLhC,AWtLD,kBAAkC,eAAA,CXyLjC,AWxLD,sBAAsC,eAAA,CX2LrC,AW1LD,iBAAiC,eAAA,CX6LhC,AW5LD,gBAAgC,eAAA,CX+L/B,AW9LD,kBAAkC,eAAA,CXiMjC,AWhMD,gBAAgC,eAAA,CXmM/B,AWlMD,gBAAgC,eAAA,CXqM/B,AWpMD,oBAAoC,eAAA,CXuMnC,AWtMD,cAA8B,eAAA,CXyM7B,AWxMD,mBAAmC,eAAA,CX2MlC,AW1MD,iBAAiC,eAAA,CX6MhC,AW5MD,oDAEiC,eAAA,CX+MhC,AW9MD,uBAAuC,eAAA,CXiNtC,AWhND,wBAAwC,eAAA,CXmNvC,AWlND,qBAAqC,eAAA,CXqNpC,AWpND,kBAAkC,eAAA,CXuNjC,AWtND,+BAC+B,eAAA,CXyN9B,AWxND,mBAAmC,eAAA,CX2NlC,AW1ND,gBAAgC,eAAA,CX6N/B,AW5ND,kBAAkC,eAAA,CX+NjC,AW9ND,mBAAmC,eAAA,CXiOlC,AWhOD,gBAAgC,eAAA,CXmO/B,AWlOD,oBAAoC,eAAA,CXqOnC,AWpOD,+BAA+C,eAAA,CXuO9C,AWtOD,6BAA6C,eAAA,CXyO5C,AWxOD,iBAAiC,eAAA,CX2OhC,AW1OD,yBAAyC,eAAA,CX6OxC,AW5OD,0CACkC,eAAA,CX+OjC,AW9OD,mBAAmC,eAAA,CXiPlC,AWhPD,oBAAoC,eAAA,CXmPnC,AWlPD,gBAAgC,eAAA,CXqP/B,AWpPD,gBAAgC,eAAA,CXuP/B,AWtPD,sBAAsC,eAAA,CXyPrC,AWxPD,sBAAsC,eAAA,CX2PrC,AW1PD,uBAAuC,eAAA,CX6PtC,AW5PD,qBAAqC,eAAA,CX+PpC,AW9PD,kBAAkC,eAAA,CXiQjC,AWhQD,mBAAmC,eAAA,CXmQlC,AWlQD,eAA+B,eAAA,CXqQ9B,AWpQD,gBAAgC,eAAA,CXuQ/B,AWtQD,gBAAgC,eAAA,CXyQ/B,AWxQD,oBAAoC,eAAA,CX2QnC,AW1QD,iBAAiC,eAAA,CX6QhC,AW5QD,kBAAkC,eAAA,CX+QjC,AW9QD,gBAAgC,eAAA,CXiR/B,AWhRD,gBAAgC,eAAA,CXmR/B,AWlRD,kBAAkC,eAAA,CXqRjC,AWpRD,uBAAuC,eAAA,CXuRtC,AWtRD,sBAAsC,eAAA,CXyRrC,AWxRD,sBAAsC,eAAA,CX2RrC,AW1RD,wBAAwC,eAAA,CX6RvC,AW5RD,uBAAuC,eAAA,CX+RtC,AW9RD,yBAAyC,eAAA,CXiSxC,AWhSD,gBAAgC,eAAA,CXmS/B,AWlSD,qCACmC,eAAA,CXqSlC,AWpSD,kBAAkC,eAAA,CXuSjC,AWtSD,wBAAwC,eAAA,CXySvC,AWxSD,uDAEqC,eAAA,CX2SpC,AW1SD,kBAAkC,eAAA,CX6SjC,AW5SD,sBAAsC,eAAA,CX+SrC,AW9SD,kBAAkC,eAAA,CXiTjC,AWhTD,gBAAgC,eAAA,CXmT/B,AWlTD,2CAC2C,eAAA,CXqT1C,AWpTD,0BAA0C,eAAA,CXuTzC,AWtTD,0BAA0C,eAAA,CXyTzC,AWxTD,kBAAkC,eAAA,CX2TjC,AW1TD,yBAAyC,eAAA,CX6TxC,AW5TD,yBAAyC,eAAA,CX+TxC,AW9TD,oBAAoC,eAAA,CXiUnC,AWhUD,gBAAgC,eAAA,CXmU/B,AWlUD,iBAAiC,eAAA,CXqUhC,AWpUD,gBAAgC,eAAA,CXuU/B,AWtUD,mBAAmC,eAAA,CXyUlC,AWxUD,wBAAwC,eAAA,CX2UvC,AW1UD,wBAAwC,eAAA,CX6UvC,AW5UD,iBAAiC,eAAA,CX+UhC,AW9UD,wBAAwC,eAAA,CXiVvC,AWhVD,yBAAyC,eAAA,CXmVxC,AWlVD,uBAAuC,eAAA,CXqVtC,AWpVD,wBAAwC,eAAA,CXuVvC,AWtVD,wBAAwC,eAAA,CXyVvC,AWxVD,wBAAwC,eAAA,CX2VvC,AW1VD,2BAA2C,eAAA,CX6V1C,AW5VD,uBAAuC,eAAA,CX+VtC,AW9VD,sBAAsC,eAAA,CXiWrC,AWhWD,0BAA0C,eAAA,CXmWzC,AWlWD,0BAA0C,eAAA,CXqWzC,AWpWD,eAA+B,eAAA,CXuW9B,AWtWD,sBAAsC,eAAA,CXyWrC,AWxWD,uBAAuC,eAAA,CX2WtC,AW1WD,oBAAoC,eAAA,CX6WnC,AW5WD,sBAAsC,eAAA,CX+WrC,AW9WD,yCACiC,eAAA,CXiXhC,AWhXD,kBAAkC,eAAA,CXmXjC,AWlXD,oBAAoC,eAAA,CXqXnC,AWpXD,gBAAgC,eAAA,CXuX/B,AWtXD,iBAAiC,eAAA,CXyXhC,AWxXD,oBAAoC,eAAA,CX2XnC,AW1XD,8BAA8C,eAAA,CX6X7C,AW5XD,gBAAgC,eAAA,CX+X/B,AW9XD,gBAAgC,eAAA,CXiY/B,AWhYD,gBAAgC,eAAA,CXmY/B,AWlYD,eAA+B,eAAA,CXqY9B,AWpYD,qBAAqC,eAAA,CXuYpC,AWtYD,mDACgD,eAAA,CXyY/C,AWxYD,iBAAiC,eAAA,CX2YhC,AW1YD,oBAAoC,eAAA,CX6YnC,AW5YD,kBAAkC,eAAA,CX+YjC,AW9YD,mBAAmC,eAAA,CXiZlC,AWhZD,kBAAkC,eAAA,CXmZjC,AWlZD,sBAAsC,eAAA,CXqZrC,AWpZD,wBAAwC,eAAA,CXuZvC,AWtZD,mBAAmC,eAAA,CXyZlC,AWxZD,yBAAyC,eAAA,CX2ZxC,AW1ZD,kBAAkC,eAAA,CX6ZjC,AW5ZD,uBAAuC,eAAA,CX+ZtC,AW9ZD,oBAAoC,eAAA,CXianC,AWhaD,oBAAoC,eAAA,CXmanC,AWlaD,4CACqC,eAAA,CXqapC,AWpaD,0BAA0C,eAAA,CXuazC,AWtaD,2BAA2C,eAAA,CXya1C,AWxaD,wBAAwC,eAAA,CX2avC,AW1aD,eAA+B,eAAA,CX6a9B,AW5aD,iCACgC,eAAA,CX+a/B,AW9aD,oBAAoC,eAAA,CXibnC,AWhbD,uBAAuC,eAAA,CXmbtC,AWlbD,yBAAyC,eAAA,CXqbxC,AWpbD,qBAAqC,eAAA,CXubpC,AWtbD,mBAAmC,eAAA,CXyblC,AWxbD,oBAAoC,eAAA,CX2bnC,AW1bD,2BAA2C,eAAA,CX6b1C,AW5bD,sBAAsC,eAAA,CX+brC,AW9bD,yBAAyC,eAAA,CXicxC,AWhcD,mBAAmC,eAAA,CXmclC,AWlcD,kBAAkC,eAAA,CXqcjC,AWpcD,yBAAyC,eAAA,CXucxC,AWtcD,kBAAkC,eAAA,CXycjC,AWxcD,mBAAmC,eAAA,CX2clC,AW1cD,iBAAiC,eAAA,CX6chC,AW5cD,oBAAoC,eAAA,CX+cnC,AW9cD,sBAAsC,eAAA,CXidrC,AWhdD,wBAAwC,eAAA,CXmdvC,AWldD,mBAAmC,eAAA,CXqdlC,AWpdD,0CACoC,eAAA,CXudnC,AWtdD,kBAAkC,eAAA,CXydjC,AWxdD,kBAAkC,eAAA,CX2djC,AW1dD,uBAAuC,eAAA,CX6dtC,AW5dD,+BAC+B,eAAA,CX+d9B,AW9dD,iBAAiC,eAAA,CXiehC,AWheD,oBAAoC,eAAA,CXmenC,AWleD,gBAAgC,eAAA,CXqe/B,AWpeD,uBAAuC,eAAA,CXuetC,AWteD,wBAAwC,eAAA,CXyevC,AWxeD,uBAAuC,eAAA,CX2etC,AW1eD,qBAAqC,eAAA,CX6epC,AW5eD,uBAAuC,eAAA,CX+etC,AW9eD,6BAA6C,eAAA,CXif5C,AWhfD,8BAA8C,eAAA,CXmf7C,AWlfD,2BAA2C,eAAA,CXqf1C,AWpfD,6BAA6C,eAAA,CXuf5C,AWtfD,iBAAiC,eAAA,CXyfhC,AWxfD,kBAAkC,eAAA,CX2fjC,AW1fD,iBAAiC,eAAA,CX6fhC,AW5fD,kBAAkC,eAAA,CX+fjC,AW9fD,qBAAqC,eAAA,CXigBpC,AWhgBD,sBAAsC,eAAA,CXmgBrC,AWlgBD,kCACiC,eAAA,CXqgBhC,AWpgBD,iCACgC,eAAA,CXugB/B,AWtgBD,iBAAiC,eAAA,CXygBhC,AWxgBD,iBAAiC,eAAA,CX2gBhC,AW1gBD,mCACoC,eAAA,CX6gBnC,AW5gBD,mCACmC,eAAA,CX+gBlC,AW9gBD,qBAAqC,eAAA,CXihBpC,AWhhBD,oCACoC,eAAA,CXmhBnC,AWlhBD,kBAAkC,eAAA,CXqhBjC,AWphBD,sDAEgC,eAAA,CXuhB/B,AWthBD,mBAAmC,eAAA,CXyhBlC,AWxhBD,mBAAmC,eAAA,CX2hBlC,AW1hBD,yBAAyC,eAAA,CX6hBxC,AW5hBD,qBAAqC,eAAA,CX+hBpC,AW9hBD,iBAAiC,eAAA,CXiiBhC,AWhiBD,iBAAiC,eAAA,CXmiBhC,AWliBD,iBAAiC,eAAA,CXqiBhC,AWpiBD,qBAAqC,eAAA,CXuiBpC,AWtiBD,4BAA4C,eAAA,CXyiB3C,AWxiBD,8BAA8C,eAAA,CX2iB7C,AW1iBD,uBAAuC,eAAA,CX6iBtC,AW5iBD,iBAAiC,eAAA,CX+iBhC,AW9iBD,sBAAsC,eAAA,CXijBrC,AWhjBD,oBAAoC,eAAA,CXmjBnC,AWljBD,sBAAsC,eAAA,CXqjBrC,AWpjBD,uBAAuC,eAAA,CXujBtC,AWtjBD,mBAAmC,eAAA,CXyjBlC,AWxjBD,oCACgC,eAAA,CX2jB/B,AW1jBD,0CACqC,eAAA,CX6jBpC,AW5jBD,uCACoC,eAAA,CX+jBnC,AW9jBD,oBAAoC,eAAA,CXikBnC,AWhkBD,oBAAoC,eAAA,CXmkBnC,AWlkBD,uCACgC,eAAA,CXqkB/B,AWpkBD,kCACiC,eAAA,CXukBhC,AWtkBD,2CACsC,eAAA,CXykBrC,AWxkBD,qBAAqC,eAAA,CX2kBpC,AW1kBD,sBAAsC,eAAA,CX6kBrC,AW5kBD,iCACgC,eAAA,CX+kB/B,AW9kBD,mBAAmC,eAAA,CXilBlC,AWhlBD,oBAAoC,eAAA,CXmlBnC,AWllBD,sCACqC,eAAA,CXqlBpC,AWplBD,uBAAuC,eAAA,CXulBtC,AWtlBD,oBAAoC,eAAA,CXylBnC,AWxlBD,0BAA0C,eAAA,CX2lBzC,AW1lBD,wBAAwC,eAAA,CX6lBvC,AW5lBD,mBAAmC,eAAA,CX+lBlC,AW9lBD,uBAAuC,eAAA,CXimBtC,AWhmBD,oBAAoC,eAAA,CXmmBnC,AWlmBD,kBAAkC,eAAA,CXqmBjC,AWpmBD,kBAAkC,eAAA,CXumBjC,AWtmBD,mBAAmC,eAAA,CXymBlC,AWxmBD,uBAAuC,eAAA,CX2mBtC,AW1mBD,sBAAsC,eAAA,CX6mBrC,AW5mBD,sBAAsC,eAAA,CX+mBrC,AW9mBD,qBAAqC,eAAA,CXinBpC,AWhnBD,kBAAkC,eAAA,CXmnBjC,AWlnBD,uBAAuC,eAAA,CXqnBtC,AWpnBD,gBAAgC,eAAA,CXunB/B,AWtnBD,oBAAoC,eAAA,CXynBnC,AWxnBD,uBAAuC,eAAA,CX2nBtC,AW1nBD,6BAA6C,eAAA,CX6nB5C,AW5nBD,8BAA8C,eAAA,CX+nB7C,AW9nBD,2BAA2C,eAAA,CXioB1C,AWhoBD,6BAA6C,eAAA,CXmoB5C,AWloBD,sBAAsC,eAAA,CXqoBrC,AWpoBD,uBAAuC,eAAA,CXuoBtC,AWtoBD,oBAAoC,eAAA,CXyoBnC,AWxoBD,sBAAsC,eAAA,CX2oBrC,AW1oBD,mBAAmC,eAAA,CX6oBlC,AW5oBD,kBAAkC,eAAA,CX+oBjC,AW9oBD,kBAAkC,eAAA,CXipBjC,AWhpBD,0CACkC,eAAA,CXmpBjC,AWlpBD,oBAAoC,eAAA,CXqpBnC,AWppBD,sBAAsC,eAAA,CXupBrC,AWtpBD,uBAAuC,eAAA,CXypBtC,AWxpBD,mBAAmC,eAAA,CX2pBlC,AW1pBD,kBAAkC,eAAA,CX6pBjC,AW5pBD,uCACiC,eAAA,CX+pBhC,AW9pBD,sBAAsC,eAAA,CXiqBrC,AWhqBD,oBAAoC,eAAA,CXmqBnC,AWlqBD,yBAAyC,eAAA,CXqqBxC,AWpqBD,mBAAmC,eAAA,CXuqBlC,AWtqBD,mBAAmC,eAAA,CXyqBlC,AWxqBD,iBAAiC,eAAA,CX2qBhC,AW1qBD,mBAAmC,eAAA,CX6qBlC,AW5qBD,sBAAsC,eAAA,CX+qBrC,AW9qBD,kBAAkC,eAAA,CXirBjC,AWhrBD,0BAA0C,eAAA,CXmrBzC,AWlrBD,oBAAoC,eAAA,CXqrBnC,AWprBD,gBAAgC,eAAA,CXurB/B,AWtrBD,+CACqC,eAAA,CXyrBpC,AWxrBD,4EAEuC,eAAA,CX2rBtC,AW1rBD,0BAA0C,eAAA,CX6rBzC,AW5rBD,gBAAgC,eAAA,CX+rB/B,AW9rBD,qBAAqC,eAAA,CXisBpC,AWhsBD,0CACwC,eAAA,CXmsBvC,AWlsBD,oBAAoC,eAAA,CXqsBnC,AWpsBD,gBAAgC,eAAA,CXusB/B,AWtsBD,uBAAuC,eAAA,CXysBtC,AWxsBD,uBAAuC,eAAA,CX2sBtC,AW1sBD,qBAAqC,eAAA,CX6sBpC,AW5sBD,kBAAkC,eAAA,CX+sBjC,AW9sBD,wBAAwC,eAAA,CXitBvC,AWhtBD,sBAAsC,eAAA,CXmtBrC,AWltBD,4BAA4C,eAAA,CXqtB3C,AWptBD,kBAAkC,eAAA,CXutBjC,AWttBD,sBAAsC,eAAA,CXytBrC,AWxtBD,6BAA6C,eAAA,CX2tB5C,AW1tBD,kBAAkC,eAAA,CX6tBjC,AW5tBD,kBAAkC,eAAA,CX+tBjC,AW9tBD,+BAA+C,eAAA,CXiuB9C,AWhuBD,gCAAgD,eAAA,CXmuB/C,AWluBD,6BAA6C,eAAA,CXquB5C,AWpuBD,+BAA+C,eAAA,CXuuB9C,AWtuBD,iBAAiC,eAAA,CXyuBhC,AWxuBD,gBAAgC,eAAA,CX2uB/B,AW1uBD,kBAAkC,eAAA,CX6uBjC,AW5uBD,sBAAsC,eAAA,CX+uBrC,AW9uBD,oBAAoC,eAAA,CXivBnC,AWhvBD,sBAAsC,eAAA,CXmvBrC,AWlvBD,sBAAsC,eAAA,CXqvBrC,AWpvBD,sBAAsC,eAAA,CXuvBrC,AWtvBD,uBAAuC,eAAA,CXyvBtC,AWxvBD,kBAAkC,eAAA,CX2vBjC,AW1vBD,wBAAwC,eAAA,CX6vBvC,AW5vBD,0BAA0C,eAAA,CX+vBzC,AW9vBD,oBAAoC,eAAA,CXiwBnC,AWhwBD,sBAAsC,eAAA,CXmwBrC,AWlwBD,wBAAwC,eAAA,CXqwBvC,AWpwBD,yBAAyC,eAAA,CXuwBxC,AWtwBD,gCAAgD,eAAA,CXywB/C,AWxwBD,wBAAwC,eAAA,CX2wBvC,AW1wBD,mBAAmC,eAAA,CX6wBlC,AW5wBD,sDAC+C,eAAA,CX+wB9C,AW9wBD,kDAC6C,eAAA,CXixB5C,AWhxBD,wDACgD,eAAA,CXmxB/C,AWlxBD,+BAC+B,eAAA,CXqxB9B,AWpxBD,eAA+B,eAAA,CXuxB9B,AWtxBD,iCAC+B,eAAA,CXyxB9B,AWxxBD,gCAC+B,eAAA,CX2xB9B,AW1xBD,4DAG+B,eAAA,CX6xB9B,AW5xBD,kDAE+B,eAAA,CX+xB9B,AW9xBD,8BAC+B,eAAA,CXiyB9B,AWhyBD,kCAC+B,eAAA,CXmyB9B,AWlyBD,gBAAgC,eAAA,CXqyB/B,AWpyBD,qBAAqC,eAAA,CXuyBpC,AWtyBD,0BAA0C,eAAA,CXyyBzC,AWxyBD,2BAA2C,eAAA,CX2yB1C,AW1yBD,2BAA2C,eAAA,CX6yB1C,AW5yBD,4BAA4C,eAAA,CX+yB3C,AW9yBD,4BAA4C,eAAA,CXizB3C,AWhzBD,6BAA6C,eAAA,CXmzB5C,AWlzBD,qBAAqC,eAAA,CXqzBpC,AWpzBD,uBAAuC,eAAA,CXuzBtC,AWtzBD,0BAA0C,eAAA,CXyzBzC,AWxzBD,mBAAmC,eAAA,CX2zBlC,AW1zBD,gBAAgC,eAAA,CX6zB/B,AW5zBD,uBAAuC,eAAA,CX+zBtC,AW9zBD,wBAAwC,eAAA,CXi0BvC,AWh0BD,mBAAmC,eAAA,CXm0BlC,AWl0BD,0BAA0C,eAAA,CXq0BzC,AWp0BD,qBAAqC,eAAA,CXu0BpC,AWt0BD,kBAAkC,eAAA,CXy0BjC,AWx0BD,eAA+B,eAAA,CX20B9B,AW10BD,qBAAqC,eAAA,CX60BpC,AW50BD,4BAA4C,eAAA,CX+0B3C,AW90BD,kBAAkC,eAAA,CXi1BjC,AWh1BD,yBAAyC,eAAA,CXm1BxC,AWl1BD,2BAA2C,eAAA,CXq1B1C,AWp1BD,yBAAyC,eAAA,CXu1BxC,AWt1BD,2BAA2C,eAAA,CXy1B1C,AWx1BD,4BAA4C,eAAA,CX21B3C,AW11BD,iBAAiC,eAAA,CX61BhC,AW51BD,mBAAmC,eAAA,CX+1BlC,AW91BD,mBAAmC,eAAA,CXi2BlC,AWh2BD,iBAAiC,eAAA,CXm2BhC,AWl2BD,oBAAoC,eAAA,CXq2BnC,AWp2BD,iBAAiC,eAAA,CXu2BhC,AWt2BD,sBAAsC,eAAA,CXy2BrC,AWx2BD,kBAAkC,eAAA,CX22BjC,AW12BD,kBAAkC,eAAA,CX62BjC,AW52BD,gBAAgC,eAAA,CX+2B/B,AW92BD,sCACoC,eAAA,CXi3BnC,AWh3BD,iBAAiC,eAAA,CXm3BhC,AWl3BD,kBAAkC,eAAA,CXq3BjC,AWp3BD,mBAAmC,eAAA,CXu3BlC,AWt3BD,eAA+B,eAAA,CXy3B9B,AWx3BD,cAA8B,eAAA,CX23B7B,AW13BD,iBAAiC,eAAA,CX63BhC,AW53BD,kBAAkC,eAAA,CX+3BjC,AW93BD,qBAAqC,eAAA,CXi4BpC,AWh4BD,0BAA0C,eAAA,CXm4BzC,AWl4BD,gCAAgD,eAAA,CXq4B/C,AWp4BD,+BAA+C,eAAA,CXu4B9C,AWt4BD,sDAC+C,eAAA,CXy4B9C,AWx4BD,wBAAwC,eAAA,CX24BvC,AW14BD,sBAAsC,eAAA,CX64BrC,AW54BD,wBAAwC,eAAA,CX+4BvC,AW94BD,uCAC+B,eAAA,CXi5B9B,AWh5BD,yBAAyC,eAAA,CXm5BxC,AWl5BD,yBAAyC,eAAA,CXq5BxC,AWp5BD,iBAAiC,eAAA,CXu5BhC,AWt5BD,2BAA2C,eAAA,CXy5B1C,AWx5BD,qBAAqC,eAAA,CX25BpC,AW15BD,kBAAkC,eAAA,CX65BjC,AW55BD,6DAEsC,eAAA,CX+5BrC,AW95BD,kDAC0C,eAAA,CXi6BzC,AWh6BD,iBAAiC,eAAA,CXm6BhC,AWl6BD,kBAAkC,eAAA,CXq6BjC,AWp6BD,kBAAkC,eAAA,CXu6BjC,AWt6BD,yBAAyC,eAAA,CXy6BxC,AWx6BD,8BAA8C,eAAA,CX26B7C,AW16BD,uBAAuC,eAAA,CX66BtC,AW56BD,qBAAqC,eAAA,CX+6BpC,AW96BD,gBAAgC,eAAA,CXi7B/B,AWh7BD,yBAAyC,eAAA,CXm7BxC,AWl7BD,0BAA0C,eAAA,CXq7BzC,AWp7BD,kBAAkC,eAAA,CXu7BjC,AWt7BD,kBAAkC,eAAA,CXy7BjC,AWx7BD,oBAAoC,eAAA,CX27BnC,AW17BD,eAA+B,eAAA,CX67B9B,AW57BD,oBAAoC,eAAA,CX+7BnC,AW97BD,iBAAiC,eAAA,CXi8BhC,AWh8BD,eAA+B,eAAA,CXm8B9B,AWl8BD,iBAAiC,eAAA,CXq8BhC,AWp8BD,gBAAgC,eAAA,CXu8B/B,AWt8BD,iBAAiC,eAAA,CXy8BhC,AWx8BD,mBAAmC,eAAA,CX28BlC,AW18BD,0BAA0C,eAAA,CX68BzC,AW58BD,iBAAiC,eAAA,CX+8BhC,AW98BD,wBAAwC,eAAA,CXi9BvC,AWh9BD,mBAAmC,eAAA,CXm9BlC,AWl9BD,qCAC+B,eAAA,CXq9B9B,AWp9BD,+BACgC,eAAA,CXu9B/B,AWt9BD,gBAAgC,eAAA,CXy9B/B,AWx9BD,mBAAmC,eAAA,CX29BlC,AW19BD,sBAAsC,eAAA,CX69BrC,AW59BD,sBAAsC,eAAA,CX+9BrC,AW99BD,oBAAoC,eAAA,CXi+BnC,AWh+BD,sBAAsC,eAAA,CXm+BrC,AWl+BD,uBAAuC,eAAA,CXq+BtC,AWp+BD,wBAAwC,eAAA,CXu+BvC,AWt+BD,6BAA6C,eAAA,CXy+B5C,AWx+BD,0EAEwC,eAAA,CX2+BvC,AW1+BD,gDAC0C,eAAA,CX6+BzC,AW5+BD,gDACwC,eAAA,CX++BvC,AW9+BD,gDACwC,eAAA,CXi/BvC,AWh/BD,uBAAuC,eAAA,CXm/BtC,AWl/BD,gBAAgC,eAAA,CXq/B/B,AWp/BD,mBAAmC,eAAA,CXu/BlC,AWt/BD,oBAAoC,eAAA,CXy/BnC,AWx/BD,wGAIqC,eAAA,CX2/BpC,AW1/BD,0BAA0C,eAAA,CX6/BzC,AW5/BD,qDAEiC,eAAA,CX+/BhC,AW9/BD,gCACkC,eAAA,CXigCjC,AWhgCD,sBAAsC,eAAA,CXmgCrC,AWlgCD,eAA+B,eAAA,CXqgC9B,AWpgCD,2EAEuC,eAAA,CXugCtC,AWtgCD,yBAAyC,eAAA,CXygCxC,AWxgCD,cAA8B,eAAA,CX2gC7B,AW1gCD,oCACkC,eAAA,CX6gCjC,AW5gCD,uCACuC,eAAA,CX+gCtC,AW9gCD,2CACyC,eAAA,CXihCxC,AWhhCD,mBAAmC,eAAA,CXmhClC,AWlhCD,uBAAuC,eAAA,CXqhCtC,AWphCD,kBAAkC,eAAA,CXuhCjC,AWthCD,qBAAqC,eAAA,CXyhCpC,AWxhCD,mBAAmC,eAAA,CX2hClC,AW1hCD,qBAAqC,eAAA,CX6hCpC,AW5hCD,4BAA4C,eAAA,CX+hC3C,AW9hCD,gBAAgC,eAAA,CXiiC/B,AWhiCD,6CACoC,eAAA,CXmiCnC,AWliCD,eAA+B,eAAA,CXqiC9B,AWpiCD,sBAAsC,eAAA,CXuiCrC,AWtiCD,gBAAgC,eAAA,CXyiC/B,AWxiCD,sBAAsC,eAAA,CX2iCrC,AW1iCD,kBAAkC,eAAA,CX6iCjC,AW5iCD,gBAAgC,eAAA,CX+iC/B,AW9iCD,uBAAuC,eAAA,CXijCtC,AWhjCD,gBAAgC,eAAA,CXmjC/B,AWljCD,sBAAsC,eAAA,CXqjCrC,AWpjCD,kBAAkC,eAAA,CXujCjC,AWtjCD,yBAAyC,eAAA,CXyjCxC,AWxjCD,mBAAmC,eAAA,CX2jClC,AW1jCD,yBAAyC,eAAA,CX6jCxC,AW5jCD,uBAAuC,eAAA,CX+jCtC,AW9jCD,mBAAmC,eAAA,CXikClC,AWhkCD,qBAAqC,eAAA,CXmkCpC,AWlkCD,qBAAqC,eAAA,CXqkCpC,AWpkCD,sBAAsC,eAAA,CXukCrC,AWtkCD,wBAAwC,eAAA,CXykCvC,AWxkCD,iBAAiC,eAAA,CX2kChC,AW1kCD,qBAAqC,eAAA,CX6kCpC,AW5kCD,cAA8B,eAAA,CX+kC7B,AW9kCD,sBAAsC,eAAA,CXilCrC,AWhlCD,uBAAuC,eAAA,CXmlCtC,AWllCD,yBAAyC,eAAA,CXqlCxC,AWplCD,sBAAsC,eAAA,CXulCrC,AWtlCD,qBAAqC,eAAA,CXylCpC,AWxlCD,sBAAsC,eAAA,CX2lCrC,AW1lCD,kBAAkC,eAAA,CX6lCjC,AW5lCD,yBAAyC,eAAA,CX+lCxC,AW9lCD,sBAAsC,eAAA,CXimCrC,AWhmCD,qBAAqC,eAAA,CXmmCpC,AWlmCD,mBAAmC,eAAA,CXqmClC,AWpmCD,eAA+B,eAAA,CXumC9B,AWtmCD,mBAAmC,eAAA,CXymClC,AWxmCD,qBAAqC,eAAA,CX2mCpC,AW1mCD,cAA8B,eAAA,CX6mC7B,AW5mCD,mDAE+B,eAAA,CX+mC9B,AW9mCD,oBAAoC,eAAA,CXinCnC,AWhnCD,sBAAsC,eAAA,CXmnCrC,AWlnCD,0BAA0C,eAAA,CXqnCzC,AWpnCD,oBAAoC,eAAA,CXunCnC,AWtnCD,oBAAoC,eAAA,CXynCnC,AWxnCD,mBAAmC,eAAA,CX2nClC,AW1nCD,kBAAkC,eAAA,CX6nCjC,AW5nCD,wBAAwC,eAAA,CX+nCvC,AW9nCD,uBAAuC,eAAA,CXioCtC,AWhoCD,oBAAoC,eAAA,CXmoCnC,AWloCD,qBAAqC,eAAA,CXqoCpC,AWpoCD,2BAA2C,eAAA,CXuoC1C,AWtoCD,mBAAmC,eAAA,CXyoClC,AWxoCD,gBAAgC,eAAA,CX2oC/B,AW1oCD,uBAAuC,eAAA,CX6oCtC,AW5oCD,sBAAsC,eAAA,CX+oCrC,AW9oCD,uBAAuC,eAAA,CXipCtC,AWhpCD,qBAAqC,eAAA,CXmpCpC,AWlpCD,iBAAiC,eAAA,CXqpChC,AWppCD,gBAAgC,eAAA,CXupC/B,AWtpCD,mBAAmC,eAAA,CXypClC,AWxpCD,2CACuC,eAAA,CX2pCtC,AW1pCD,2BAA2C,eAAA,CX6pC1C,AW5pCD,wBAAwC,eAAA,CX+pCvC,AW9pCD,uBAAuC,eAAA,CXiqCtC,AWhqCD,sBAAsC,eAAA,CXmqCrC,AWlqCD,uBAAuC,eAAA,CXqqCtC,AWpqCD,yBAAyC,eAAA,CXuqCxC,AWtqCD,yBAAyC,eAAA,CXyqCxC,AWxqCD,kBAAkC,eAAA,CX2qCjC,AW1qCD,sBAAsC,eAAA,CX6qCrC,AW5qCD,6BAA6C,eAAA,CX+qC5C,AW9qCD,uBAAuC,eAAA,CXirCtC,AWhrCD,oBAAoC,eAAA,CXmrCnC,AWlrCD,kBAAkC,eAAA,CXqrCjC,AWprCD,qBAAqC,eAAA,CXurCpC,AWtrCD,sBAAsC,eAAA,CXyrCrC,AWxrCD,gCAC+B,eAAA,CX2rC9B,AW1rCD,mBAAmC,eAAA,CX6rClC,AW5rCD,iBAAiC,eAAA,CX+rChC,AW9rCD,kBAAkC,eAAA,CXisCjC,AWhsCD,kBAAkC,eAAA,CXmsCjC,AWlsCD,sCACwC,eAAA,CXqsCvC,AWpsCD,yBAAyC,eAAA,CXusCxC,AWtsCD,oBAAoC,eAAA,CXysCnC,AWxsCD,wBAAwC,eAAA,CX2sCvC,AW1sCD,6CACwC,eAAA,CX6sCvC,AW5sCD,uDACkD,eAAA,CX+sCjD,AW9sCD,6CACwC,eAAA,CXitCvC,AWhtCD,gDAC2C,eAAA,CXmtC1C,AWltCD,8CACyC,eAAA,CXqtCxC,AWptCD,yBAAyC,eAAA,CXutCxC,AWttCD,oBAAoC,eAAA,CXytCnC,AWxtCD,wBAAwC,eAAA,CX2tCvC,AW1tCD,0BAA0C,eAAA,CX6tCzC,AW5tCD,uBAAuC,eAAA,CX+tCtC,AW9tCD,yBAAyC,eAAA,CXiuCxC,AWhuCD,kBAAkC,eAAA,CXmuCjC,AWluCD,0BAA0C,eAAA,CXquCzC,AWpuCD,iBAAiC,eAAA,CXuuChC,AWtuCD,yBAAyC,eAAA,CXyuCxC,AWxuCD,uBAAuC,eAAA,CX2uCtC,AW1uCD,kDAC2C,eAAA,CX6uC1C,AW5uCD,iDAC0C,eAAA,CX+uCzC,AW9uCD,gDACyC,eAAA,CXivCxC,AWhvCD,qBAAqC,eAAA,CXmvCpC,AWlvCD,8CACuC,eAAA,CXqvCtC,AWpvCD,+CACwC,eAAA,CXuvCvC,AWtvCD,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8kND,AqB5kND,qBACE,SAAA,AACA,QAAA,AACA,UAAA,CrB8kND,AqB5kND,sBACE,MAAA,AACA,QAAA,AACA,UAAA,CrB8kND,AqB5kND,yBACE,SAAA,AACA,QAAA,AACA,UAAA,CrB8kND,AqB5kND,gBACE,SAAA,AACA,SAAA,CrB8kND,AqB5kND,iBACE,SAAA,AACA,UAAA,CrB8kND,AqB5kND,oBACE,WAAA,AACA,WAAA,CrB8kND,AqB5kND,mBACE,YAAA,AACA,SAAA,CrB8kND,AqB5kND,iBACE,eAAA,AACA,eAAA,AACA,mBAAA,CrB+kND,AqB5kND,mBAGE,qBAAA,CrB8kND,AqB5kND,qBACE,kBAAA,AACA,oBAAA,AACA,gBAAA,AACA,eAAA,AACA,4BAAA,AACA,YAAA,AAGA,kBAAA,AACA,gCAAA,AACA,4BAAA,AAGA,yBAAA,AACA,WAAA,AACA,WAAA,AACA,+DAAA,AACA,wBAAA,CrB8kND,AqB5kND,yBACE,cAAA,AACA,4BAAA,AACA,qCAAA,CrB8kND,AqB5kND,2BAGE,yBAAA,AACA,UAAA,AACA,gEAAA,AACA,0BAAA,AACA,cAAA,CrB8kND,AqB5kND,6BACE,swBAAA,CrB8kND,AqB5kND,8BACE,8yBAAA,CrB8kND,AqB5kND,gCACE,kgBAAA,CrB8kND,AqB5kND,gCACE,suBAAA,CrB8kND,AqB5kND,+EAEE,YAAA,AACA,iBAAA,AACA,iBAAA,CrB8kND,AqB5kND,uFAEE,UAAA,AACA,iBAAA,AACA,iBAAA,CrB8kND,AqB5kND,OACE,wBAAA,CrB8kND,AqB5kND,eACE,wBAAA,CrB8kND,AqB5kND,aACE,wBAAA,CrB8kND,AqB5kND,YACE,wBAAA,CrB8kND,AqB5kND,eACE,wBAAA,CrB8kND,AqB5kND,gBACE,kBAAA,AACA,OAAA,AACA,SAAA,AACA,WAAA,AACA,sBAAA,AACA,WAAA,AACA,+DAAA,AACA,wBAAA,CrB8kND,AqB3kND,iCACE,qBACE,yBAAA,AACA,UAAA,CrB8kND,AqB5kND,yBACE,wBAAA,CrB8kND,AqB5kND,qCACE,YAAA,AACA,SAAA,CrB8kND,AqB5kND,0CACE,WAAA,AACA,UAAA,CrB8kND,CACF,AqB5kND,uDACE,qBACE,yBAAA,AACA,UAAA,CrB8kND,AqB5kND,yBACE,wBAAA,CrB8kND,AqB5kND,qCACE,YAAA,AACA,SAAA,CrB8kND,AqB5kND,0CACE,WAAA,AACA,UAAA,CrB8kND,CACF,AqB5kND,uDACE,qBACE,4BAAA,AACA,UAAA,CrB8kND,AqB5kND,yBACE,2BAAA,CrB8kND,CACF,AsB3yND,SACE,cAAA,AACA,YAAA,AACA,iBAAA,CtBkzND,AsBhzND,YACE,cAAA,AACA,YAAA,AACA,WAAA,CtBkzND,AsBhzND,gBACE,cAAA,AACA,wBAAA,AACA,YAAA,AACA,cAAA,CtBkzND,AsBhzND,uBACE,eAAA,CtBkzND,AsBhzND,sBACE,aAAA,AACA,eAAA,CtBkzND,AsBhzND,0BACE,YAAA,CtBkzND,AsBhzND,qBACE,UAAA,CtBkzND,AsBhzND,6BAEE,yBAAA,AACA,oBAAA,CtBmzND,AsBhzND,mCAEE,SAAA,AACA,gBAAA,AACA,gBAAA,AACA,gBAAA,AACA,gCAAA,CtBkzND,AsBhzND,mBACE,cAAA,AACA,wBAAA,AACA,YAAA,AACA,cAAA,CtBkzND,AsBhzND,+BAEE,YAAA,AACA,wBAAA,CtBkzND,AsBhzND,qCAEE,cAAA,AACA,cAAA,CtBkzND,AsBhzND,iBACE,eAAA,CtBkzND,AsBhzND,oBACE,WAAA,CtBkzND,AsBhzND,eACE,YAAA,AACA,iBAAA,CtBkzND,AsBhzND,gDAGE,yBAAA,AACA,WAAA,AACA,YAAA,AACA,WAAA,CtBkzND,AsBhzND,iBACE,kBAAA,AACA,SAAA,CtBkzND,AsBhzND,iBACE,cAAA,AACA,yBAAA,CtBkzND,AsB3yND,0IAOE,YAAA,AACA,cAAA,AACA,SAAA,AACA,WAAA,AACA,kBAAA,AACA,WAAA,CtBkzND,AsBhzND,WACE,WAAA,AACA,qBAAA,CtBkzND,AsBhzND,eACE,sBAAA,AACA,8BAAA,AACA,+BAAA,AACA,YAAA,AACA,kBAAA,AACA,WAAA,AACA,YAAA,AACA,UAAA,CtBkzND,AsBhzND,gBACE,eAAA,AACA,qBAAA,AACA,UAAA,CtBkzND,AsBhzND,SACE,YAAA,AACA,WAAA,CtBkzND,AsBhzND,UACE,gBAAA,AACA,iBAAA,CtBkzND,AsBhzND,WACE,WAAA,CtBkzND,AsBhzND,eACE,eAAA,AACA,wBAAA,AACA,YAAA,AACA,WAAA,AACA,WAAA,AACA,YAAA,AACA,UAAA,CtBkzND,AsBhzND,iBACE,kFAAA,CtBkzND,AsBhzND,YACE,eAAA,AACA,wBAAA,AACA,YAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,kBAAA,AACA,WAAA,AACA,OAAA,CtBkzND,AsBhzND,WACE,eAAA,CtBkzND,AsBhzND,aACE,cAAA,CtBkzND,AsBhzND,mBACE,YAAA,CtBkzND","file":"mosaico.min.css","sourcesContent":["/*!\n * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url('fa/fonts/fontawesome-webfont.eot?v=4.6.3');\n src: url('fa/fonts/fontawesome-webfont.eot?#iefix&v=4.6.3') format('embedded-opentype'), url('fa/fonts/fontawesome-webfont.woff2?v=4.6.3') format('woff2'), url('fa/fonts/fontawesome-webfont.woff?v=4.6.3') format('woff'), url('fa/fonts/fontawesome-webfont.ttf?v=4.6.3') format('truetype'), url('fa/fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: .3em;\n}\n.fa.fa-pull-right {\n margin-left: .3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: .3em;\n}\n.fa.pull-right {\n margin-left: .3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\f000\";\n}\n.fa-music:before {\n content: \"\\f001\";\n}\n.fa-search:before {\n content: \"\\f002\";\n}\n.fa-envelope-o:before {\n content: \"\\f003\";\n}\n.fa-heart:before {\n content: \"\\f004\";\n}\n.fa-star:before {\n content: \"\\f005\";\n}\n.fa-star-o:before {\n content: \"\\f006\";\n}\n.fa-user:before {\n content: \"\\f007\";\n}\n.fa-film:before {\n content: \"\\f008\";\n}\n.fa-th-large:before {\n content: \"\\f009\";\n}\n.fa-th:before {\n content: \"\\f00a\";\n}\n.fa-th-list:before {\n content: \"\\f00b\";\n}\n.fa-check:before {\n content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\f00d\";\n}\n.fa-search-plus:before {\n content: \"\\f00e\";\n}\n.fa-search-minus:before {\n content: \"\\f010\";\n}\n.fa-power-off:before {\n content: \"\\f011\";\n}\n.fa-signal:before {\n content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\f013\";\n}\n.fa-trash-o:before {\n content: \"\\f014\";\n}\n.fa-home:before {\n content: \"\\f015\";\n}\n.fa-file-o:before {\n content: \"\\f016\";\n}\n.fa-clock-o:before {\n content: \"\\f017\";\n}\n.fa-road:before {\n content: \"\\f018\";\n}\n.fa-download:before {\n content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n content: \"\\f01b\";\n}\n.fa-inbox:before {\n content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\f01e\";\n}\n.fa-refresh:before {\n content: \"\\f021\";\n}\n.fa-list-alt:before {\n content: \"\\f022\";\n}\n.fa-lock:before {\n content: \"\\f023\";\n}\n.fa-flag:before {\n content: \"\\f024\";\n}\n.fa-headphones:before {\n content: \"\\f025\";\n}\n.fa-volume-off:before {\n content: \"\\f026\";\n}\n.fa-volume-down:before {\n content: \"\\f027\";\n}\n.fa-volume-up:before {\n content: \"\\f028\";\n}\n.fa-qrcode:before {\n content: \"\\f029\";\n}\n.fa-barcode:before {\n content: \"\\f02a\";\n}\n.fa-tag:before {\n content: \"\\f02b\";\n}\n.fa-tags:before {\n content: \"\\f02c\";\n}\n.fa-book:before {\n content: \"\\f02d\";\n}\n.fa-bookmark:before {\n content: \"\\f02e\";\n}\n.fa-print:before {\n content: \"\\f02f\";\n}\n.fa-camera:before {\n content: \"\\f030\";\n}\n.fa-font:before {\n content: \"\\f031\";\n}\n.fa-bold:before {\n content: \"\\f032\";\n}\n.fa-italic:before {\n content: \"\\f033\";\n}\n.fa-text-height:before {\n content: \"\\f034\";\n}\n.fa-text-width:before {\n content: \"\\f035\";\n}\n.fa-align-left:before {\n content: \"\\f036\";\n}\n.fa-align-center:before {\n content: \"\\f037\";\n}\n.fa-align-right:before {\n content: \"\\f038\";\n}\n.fa-align-justify:before {\n content: \"\\f039\";\n}\n.fa-list:before {\n content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\f03b\";\n}\n.fa-indent:before {\n content: \"\\f03c\";\n}\n.fa-video-camera:before {\n content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\f03e\";\n}\n.fa-pencil:before {\n content: \"\\f040\";\n}\n.fa-map-marker:before {\n content: \"\\f041\";\n}\n.fa-adjust:before {\n content: \"\\f042\";\n}\n.fa-tint:before {\n content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\f044\";\n}\n.fa-share-square-o:before {\n content: \"\\f045\";\n}\n.fa-check-square-o:before {\n content: \"\\f046\";\n}\n.fa-arrows:before {\n content: \"\\f047\";\n}\n.fa-step-backward:before {\n content: \"\\f048\";\n}\n.fa-fast-backward:before {\n content: \"\\f049\";\n}\n.fa-backward:before {\n content: \"\\f04a\";\n}\n.fa-play:before {\n content: \"\\f04b\";\n}\n.fa-pause:before {\n content: \"\\f04c\";\n}\n.fa-stop:before {\n content: \"\\f04d\";\n}\n.fa-forward:before {\n content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n content: \"\\f050\";\n}\n.fa-step-forward:before {\n content: \"\\f051\";\n}\n.fa-eject:before {\n content: \"\\f052\";\n}\n.fa-chevron-left:before {\n content: \"\\f053\";\n}\n.fa-chevron-right:before {\n content: \"\\f054\";\n}\n.fa-plus-circle:before {\n content: \"\\f055\";\n}\n.fa-minus-circle:before {\n content: \"\\f056\";\n}\n.fa-times-circle:before {\n content: \"\\f057\";\n}\n.fa-check-circle:before {\n content: \"\\f058\";\n}\n.fa-question-circle:before {\n content: \"\\f059\";\n}\n.fa-info-circle:before {\n content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n content: \"\\f05d\";\n}\n.fa-ban:before {\n content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n content: \"\\f060\";\n}\n.fa-arrow-right:before {\n content: \"\\f061\";\n}\n.fa-arrow-up:before {\n content: \"\\f062\";\n}\n.fa-arrow-down:before {\n content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\f064\";\n}\n.fa-expand:before {\n content: \"\\f065\";\n}\n.fa-compress:before {\n content: \"\\f066\";\n}\n.fa-plus:before {\n content: \"\\f067\";\n}\n.fa-minus:before {\n content: \"\\f068\";\n}\n.fa-asterisk:before {\n content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n content: \"\\f06a\";\n}\n.fa-gift:before {\n content: \"\\f06b\";\n}\n.fa-leaf:before {\n content: \"\\f06c\";\n}\n.fa-fire:before {\n content: \"\\f06d\";\n}\n.fa-eye:before {\n content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\f071\";\n}\n.fa-plane:before {\n content: \"\\f072\";\n}\n.fa-calendar:before {\n content: \"\\f073\";\n}\n.fa-random:before {\n content: \"\\f074\";\n}\n.fa-comment:before {\n content: \"\\f075\";\n}\n.fa-magnet:before {\n content: \"\\f076\";\n}\n.fa-chevron-up:before {\n content: \"\\f077\";\n}\n.fa-chevron-down:before {\n content: \"\\f078\";\n}\n.fa-retweet:before {\n content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n content: \"\\f07a\";\n}\n.fa-folder:before {\n content: \"\\f07b\";\n}\n.fa-folder-open:before {\n content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\f080\";\n}\n.fa-twitter-square:before {\n content: \"\\f081\";\n}\n.fa-facebook-square:before {\n content: \"\\f082\";\n}\n.fa-camera-retro:before {\n content: \"\\f083\";\n}\n.fa-key:before {\n content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\f085\";\n}\n.fa-comments:before {\n content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n content: \"\\f088\";\n}\n.fa-star-half:before {\n content: \"\\f089\";\n}\n.fa-heart-o:before {\n content: \"\\f08a\";\n}\n.fa-sign-out:before {\n content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n content: \"\\f08d\";\n}\n.fa-external-link:before {\n content: \"\\f08e\";\n}\n.fa-sign-in:before {\n content: \"\\f090\";\n}\n.fa-trophy:before {\n content: \"\\f091\";\n}\n.fa-github-square:before {\n content: \"\\f092\";\n}\n.fa-upload:before {\n content: \"\\f093\";\n}\n.fa-lemon-o:before {\n content: \"\\f094\";\n}\n.fa-phone:before {\n content: \"\\f095\";\n}\n.fa-square-o:before {\n content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n content: \"\\f097\";\n}\n.fa-phone-square:before {\n content: \"\\f098\";\n}\n.fa-twitter:before {\n content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\f09a\";\n}\n.fa-github:before {\n content: \"\\f09b\";\n}\n.fa-unlock:before {\n content: \"\\f09c\";\n}\n.fa-credit-card:before {\n content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n content: \"\\f0a1\";\n}\n.fa-bell:before {\n content: \"\\f0f3\";\n}\n.fa-certificate:before {\n content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\";\n}\n.fa-globe:before {\n content: \"\\f0ac\";\n}\n.fa-wrench:before {\n content: \"\\f0ad\";\n}\n.fa-tasks:before {\n content: \"\\f0ae\";\n}\n.fa-filter:before {\n content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n content: \"\\f0c1\";\n}\n.fa-cloud:before {\n content: \"\\f0c2\";\n}\n.fa-flask:before {\n content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\f0c7\";\n}\n.fa-square:before {\n content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n content: \"\\f0cc\";\n}\n.fa-underline:before {\n content: \"\\f0cd\";\n}\n.fa-table:before {\n content: \"\\f0ce\";\n}\n.fa-magic:before {\n content: \"\\f0d0\";\n}\n.fa-truck:before {\n content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n content: \"\\f0d5\";\n}\n.fa-money:before {\n content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n content: \"\\f0da\";\n}\n.fa-columns:before {\n content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\f0de\";\n}\n.fa-envelope:before {\n content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n content: \"\\f0eb\";\n}\n.fa-exchange:before {\n content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n content: \"\\f0ee\";\n}\n.fa-user-md:before {\n content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n content: \"\\f0a2\";\n}\n.fa-coffee:before {\n content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n content: \"\\f0f6\";\n}\n.fa-building-o:before {\n content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n content: \"\\f0f9\";\n}\n.fa-medkit:before {\n content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n content: \"\\f0fb\";\n}\n.fa-beer:before {\n content: \"\\f0fc\";\n}\n.fa-h-square:before {\n content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n content: \"\\f103\";\n}\n.fa-angle-left:before {\n content: \"\\f104\";\n}\n.fa-angle-right:before {\n content: \"\\f105\";\n}\n.fa-angle-up:before {\n content: \"\\f106\";\n}\n.fa-angle-down:before {\n content: \"\\f107\";\n}\n.fa-desktop:before {\n content: \"\\f108\";\n}\n.fa-laptop:before {\n content: \"\\f109\";\n}\n.fa-tablet:before {\n content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\f10b\";\n}\n.fa-circle-o:before {\n content: \"\\f10c\";\n}\n.fa-quote-left:before {\n content: \"\\f10d\";\n}\n.fa-quote-right:before {\n content: \"\\f10e\";\n}\n.fa-spinner:before {\n content: \"\\f110\";\n}\n.fa-circle:before {\n content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\f112\";\n}\n.fa-github-alt:before {\n content: \"\\f113\";\n}\n.fa-folder-o:before {\n content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n content: \"\\f115\";\n}\n.fa-smile-o:before {\n content: \"\\f118\";\n}\n.fa-frown-o:before {\n content: \"\\f119\";\n}\n.fa-meh-o:before {\n content: \"\\f11a\";\n}\n.fa-gamepad:before {\n content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n content: \"\\f11c\";\n}\n.fa-flag-o:before {\n content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n content: \"\\f11e\";\n}\n.fa-terminal:before {\n content: \"\\f120\";\n}\n.fa-code:before {\n content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\f123\";\n}\n.fa-location-arrow:before {\n content: \"\\f124\";\n}\n.fa-crop:before {\n content: \"\\f125\";\n}\n.fa-code-fork:before {\n content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\f127\";\n}\n.fa-question:before {\n content: \"\\f128\";\n}\n.fa-info:before {\n content: \"\\f129\";\n}\n.fa-exclamation:before {\n content: \"\\f12a\";\n}\n.fa-superscript:before {\n content: \"\\f12b\";\n}\n.fa-subscript:before {\n content: \"\\f12c\";\n}\n.fa-eraser:before {\n content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n content: \"\\f12e\";\n}\n.fa-microphone:before {\n content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n content: \"\\f131\";\n}\n.fa-shield:before {\n content: \"\\f132\";\n}\n.fa-calendar-o:before {\n content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n content: \"\\f134\";\n}\n.fa-rocket:before {\n content: \"\\f135\";\n}\n.fa-maxcdn:before {\n content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n content: \"\\f13a\";\n}\n.fa-html5:before {\n content: \"\\f13b\";\n}\n.fa-css3:before {\n content: \"\\f13c\";\n}\n.fa-anchor:before {\n content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n content: \"\\f13e\";\n}\n.fa-bullseye:before {\n content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n content: \"\\f142\";\n}\n.fa-rss-square:before {\n content: \"\\f143\";\n}\n.fa-play-circle:before {\n content: \"\\f144\";\n}\n.fa-ticket:before {\n content: \"\\f145\";\n}\n.fa-minus-square:before {\n content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n content: \"\\f147\";\n}\n.fa-level-up:before {\n content: \"\\f148\";\n}\n.fa-level-down:before {\n content: \"\\f149\";\n}\n.fa-check-square:before {\n content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n content: \"\\f14c\";\n}\n.fa-share-square:before {\n content: \"\\f14d\";\n}\n.fa-compass:before {\n content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\f153\";\n}\n.fa-gbp:before {\n content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\f15a\";\n}\n.fa-file:before {\n content: \"\\f15b\";\n}\n.fa-file-text:before {\n content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n content: \"\\f165\";\n}\n.fa-youtube-square:before {\n content: \"\\f166\";\n}\n.fa-youtube:before {\n content: \"\\f167\";\n}\n.fa-xing:before {\n content: \"\\f168\";\n}\n.fa-xing-square:before {\n content: \"\\f169\";\n}\n.fa-youtube-play:before {\n content: \"\\f16a\";\n}\n.fa-dropbox:before {\n content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n content: \"\\f16c\";\n}\n.fa-instagram:before {\n content: \"\\f16d\";\n}\n.fa-flickr:before {\n content: \"\\f16e\";\n}\n.fa-adn:before {\n content: \"\\f170\";\n}\n.fa-bitbucket:before {\n content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n content: \"\\f172\";\n}\n.fa-tumblr:before {\n content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n content: \"\\f178\";\n}\n.fa-apple:before {\n content: \"\\f179\";\n}\n.fa-windows:before {\n content: \"\\f17a\";\n}\n.fa-android:before {\n content: \"\\f17b\";\n}\n.fa-linux:before {\n content: \"\\f17c\";\n}\n.fa-dribbble:before {\n content: \"\\f17d\";\n}\n.fa-skype:before {\n content: \"\\f17e\";\n}\n.fa-foursquare:before {\n content: \"\\f180\";\n}\n.fa-trello:before {\n content: \"\\f181\";\n}\n.fa-female:before {\n content: \"\\f182\";\n}\n.fa-male:before {\n content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\f184\";\n}\n.fa-sun-o:before {\n content: \"\\f185\";\n}\n.fa-moon-o:before {\n content: \"\\f186\";\n}\n.fa-archive:before {\n content: \"\\f187\";\n}\n.fa-bug:before {\n content: \"\\f188\";\n}\n.fa-vk:before {\n content: \"\\f189\";\n}\n.fa-weibo:before {\n content: \"\\f18a\";\n}\n.fa-renren:before {\n content: \"\\f18b\";\n}\n.fa-pagelines:before {\n content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n content: \"\\f192\";\n}\n.fa-wheelchair:before {\n content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n content: \"\\f197\";\n}\n.fa-slack:before {\n content: \"\\f198\";\n}\n.fa-envelope-square:before {\n content: \"\\f199\";\n}\n.fa-wordpress:before {\n content: \"\\f19a\";\n}\n.fa-openid:before {\n content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\f19d\";\n}\n.fa-yahoo:before {\n content: \"\\f19e\";\n}\n.fa-google:before {\n content: \"\\f1a0\";\n}\n.fa-reddit:before {\n content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n content: \"\\f1a4\";\n}\n.fa-delicious:before {\n content: \"\\f1a5\";\n}\n.fa-digg:before {\n content: \"\\f1a6\";\n}\n.fa-pied-piper-pp:before {\n content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\";\n}\n.fa-drupal:before {\n content: \"\\f1a9\";\n}\n.fa-joomla:before {\n content: \"\\f1aa\";\n}\n.fa-language:before {\n content: \"\\f1ab\";\n}\n.fa-fax:before {\n content: \"\\f1ac\";\n}\n.fa-building:before {\n content: \"\\f1ad\";\n}\n.fa-child:before {\n content: \"\\f1ae\";\n}\n.fa-paw:before {\n content: \"\\f1b0\";\n}\n.fa-spoon:before {\n content: \"\\f1b1\";\n}\n.fa-cube:before {\n content: \"\\f1b2\";\n}\n.fa-cubes:before {\n content: \"\\f1b3\";\n}\n.fa-behance:before {\n content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n content: \"\\f1b5\";\n}\n.fa-steam:before {\n content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n content: \"\\f1b7\";\n}\n.fa-recycle:before {\n content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\f1ba\";\n}\n.fa-tree:before {\n content: \"\\f1bb\";\n}\n.fa-spotify:before {\n content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n content: \"\\f1be\";\n}\n.fa-database:before {\n content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n content: \"\\f1c9\";\n}\n.fa-vine:before {\n content: \"\\f1ca\";\n}\n.fa-codepen:before {\n content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\f1d1\";\n}\n.fa-git-square:before {\n content: \"\\f1d2\";\n}\n.fa-git:before {\n content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n content: \"\\f1d5\";\n}\n.fa-qq:before {\n content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\f1d9\";\n}\n.fa-history:before {\n content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n content: \"\\f1db\";\n}\n.fa-header:before {\n content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n content: \"\\f1dd\";\n}\n.fa-sliders:before {\n content: \"\\f1de\";\n}\n.fa-share-alt:before {\n content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n content: \"\\f1e1\";\n}\n.fa-bomb:before {\n content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\f1e3\";\n}\n.fa-tty:before {\n content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n content: \"\\f1e5\";\n}\n.fa-plug:before {\n content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n content: \"\\f1e7\";\n}\n.fa-twitch:before {\n content: \"\\f1e8\";\n}\n.fa-yelp:before {\n content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n content: \"\\f1ea\";\n}\n.fa-wifi:before {\n content: \"\\f1eb\";\n}\n.fa-calculator:before {\n content: \"\\f1ec\";\n}\n.fa-paypal:before {\n content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n content: \"\\f1f7\";\n}\n.fa-trash:before {\n content: \"\\f1f8\";\n}\n.fa-copyright:before {\n content: \"\\f1f9\";\n}\n.fa-at:before {\n content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n content: \"\\f200\";\n}\n.fa-line-chart:before {\n content: \"\\f201\";\n}\n.fa-lastfm:before {\n content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n content: \"\\f203\";\n}\n.fa-toggle-off:before {\n content: \"\\f204\";\n}\n.fa-toggle-on:before {\n content: \"\\f205\";\n}\n.fa-bicycle:before {\n content: \"\\f206\";\n}\n.fa-bus:before {\n content: \"\\f207\";\n}\n.fa-ioxhost:before {\n content: \"\\f208\";\n}\n.fa-angellist:before {\n content: \"\\f209\";\n}\n.fa-cc:before {\n content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\f20b\";\n}\n.fa-meanpath:before {\n content: \"\\f20c\";\n}\n.fa-buysellads:before {\n content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n content: \"\\f20e\";\n}\n.fa-dashcube:before {\n content: \"\\f210\";\n}\n.fa-forumbee:before {\n content: \"\\f211\";\n}\n.fa-leanpub:before {\n content: \"\\f212\";\n}\n.fa-sellsy:before {\n content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n content: \"\\f215\";\n}\n.fa-skyatlas:before {\n content: \"\\f216\";\n}\n.fa-cart-plus:before {\n content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n content: \"\\f218\";\n}\n.fa-diamond:before {\n content: \"\\f219\";\n}\n.fa-ship:before {\n content: \"\\f21a\";\n}\n.fa-user-secret:before {\n content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n content: \"\\f21c\";\n}\n.fa-street-view:before {\n content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n content: \"\\f21e\";\n}\n.fa-venus:before {\n content: \"\\f221\";\n}\n.fa-mars:before {\n content: \"\\f222\";\n}\n.fa-mercury:before {\n content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n content: \"\\f225\";\n}\n.fa-venus-double:before {\n content: \"\\f226\";\n}\n.fa-mars-double:before {\n content: \"\\f227\";\n}\n.fa-venus-mars:before {\n content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n content: \"\\f22b\";\n}\n.fa-neuter:before {\n content: \"\\f22c\";\n}\n.fa-genderless:before {\n content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n content: \"\\f231\";\n}\n.fa-whatsapp:before {\n content: \"\\f232\";\n}\n.fa-server:before {\n content: \"\\f233\";\n}\n.fa-user-plus:before {\n content: \"\\f234\";\n}\n.fa-user-times:before {\n content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\f236\";\n}\n.fa-viacoin:before {\n content: \"\\f237\";\n}\n.fa-train:before {\n content: \"\\f238\";\n}\n.fa-subway:before {\n content: \"\\f239\";\n}\n.fa-medium:before {\n content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n content: \"\\f23c\";\n}\n.fa-opencart:before {\n content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery-full:before {\n content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n content: \"\\f245\";\n}\n.fa-i-cursor:before {\n content: \"\\f246\";\n}\n.fa-object-group:before {\n content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n content: \"\\f248\";\n}\n.fa-sticky-note:before {\n content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n content: \"\\f24c\";\n}\n.fa-clone:before {\n content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\f253\";\n}\n.fa-hourglass:before {\n content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n content: \"\\f25b\";\n}\n.fa-trademark:before {\n content: \"\\f25c\";\n}\n.fa-registered:before {\n content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n content: \"\\f25e\";\n}\n.fa-gg:before {\n content: \"\\f260\";\n}\n.fa-gg-circle:before {\n content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n content: \"\\f264\";\n}\n.fa-get-pocket:before {\n content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n content: \"\\f266\";\n}\n.fa-safari:before {\n content: \"\\f267\";\n}\n.fa-chrome:before {\n content: \"\\f268\";\n}\n.fa-firefox:before {\n content: \"\\f269\";\n}\n.fa-opera:before {\n content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n content: \"\\f26c\";\n}\n.fa-contao:before {\n content: \"\\f26d\";\n}\n.fa-500px:before {\n content: \"\\f26e\";\n}\n.fa-amazon:before {\n content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n content: \"\\f274\";\n}\n.fa-industry:before {\n content: \"\\f275\";\n}\n.fa-map-pin:before {\n content: \"\\f276\";\n}\n.fa-map-signs:before {\n content: \"\\f277\";\n}\n.fa-map-o:before {\n content: \"\\f278\";\n}\n.fa-map:before {\n content: \"\\f279\";\n}\n.fa-commenting:before {\n content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n content: \"\\f27b\";\n}\n.fa-houzz:before {\n content: \"\\f27c\";\n}\n.fa-vimeo:before {\n content: \"\\f27d\";\n}\n.fa-black-tie:before {\n content: \"\\f27e\";\n}\n.fa-fonticons:before {\n content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n content: \"\\f281\";\n}\n.fa-edge:before {\n content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n content: \"\\f283\";\n}\n.fa-codiepie:before {\n content: \"\\f284\";\n}\n.fa-modx:before {\n content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n content: \"\\f286\";\n}\n.fa-usb:before {\n content: \"\\f287\";\n}\n.fa-product-hunt:before {\n content: \"\\f288\";\n}\n.fa-mixcloud:before {\n content: \"\\f289\";\n}\n.fa-scribd:before {\n content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n content: \"\\f291\";\n}\n.fa-hashtag:before {\n content: \"\\f292\";\n}\n.fa-bluetooth:before {\n content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n content: \"\\f294\";\n}\n.fa-percent:before {\n content: \"\\f295\";\n}\n.fa-gitlab:before {\n content: \"\\f296\";\n}\n.fa-wpbeginner:before {\n content: \"\\f297\";\n}\n.fa-wpforms:before {\n content: \"\\f298\";\n}\n.fa-envira:before {\n content: \"\\f299\";\n}\n.fa-universal-access:before {\n content: \"\\f29a\";\n}\n.fa-wheelchair-alt:before {\n content: \"\\f29b\";\n}\n.fa-question-circle-o:before {\n content: \"\\f29c\";\n}\n.fa-blind:before {\n content: \"\\f29d\";\n}\n.fa-audio-description:before {\n content: \"\\f29e\";\n}\n.fa-volume-control-phone:before {\n content: \"\\f2a0\";\n}\n.fa-braille:before {\n content: \"\\f2a1\";\n}\n.fa-assistive-listening-systems:before {\n content: \"\\f2a2\";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\f2a3\";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\f2a4\";\n}\n.fa-glide:before {\n content: \"\\f2a5\";\n}\n.fa-glide-g:before {\n content: \"\\f2a6\";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\f2a7\";\n}\n.fa-low-vision:before {\n content: \"\\f2a8\";\n}\n.fa-viadeo:before {\n content: \"\\f2a9\";\n}\n.fa-viadeo-square:before {\n content: \"\\f2aa\";\n}\n.fa-snapchat:before {\n content: \"\\f2ab\";\n}\n.fa-snapchat-ghost:before {\n content: \"\\f2ac\";\n}\n.fa-snapchat-square:before {\n content: \"\\f2ad\";\n}\n.fa-pied-piper:before {\n content: \"\\f2ae\";\n}\n.fa-first-order:before {\n content: \"\\f2b0\";\n}\n.fa-yoast:before {\n content: \"\\f2b1\";\n}\n.fa-themeisle:before {\n content: \"\\f2b2\";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\f2b3\";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\f2b4\";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/****************************************************************************************************************************\n * MOSAICO\n ***************************************************************************************************************************/\n/**\n * Page html structure:\n * \n * #page\n * #main-edit-area\n * #main-wysiwyg-area\n * #toolbar .mo\n * #main-toolbox .mo\n * #tooltabs\n * #toolimages\n * #tooldebug\n * #tooltheme\n * #main-preview .mo\n * #preview-toolbar\n * #frame-container\n * #incompatible-browser\n * #fake-image-editor\n * #loading (usato solo da standalone)\n * #moxman-loading\n * #toast-container\n * #contextmenu-help.mo\n * #carousel-container.mo\n * \n * CSS selector used, beyond the #ids before:\n * - .mo e .mo-*\n * - .ui-* (ui-helper-hidden-accessible, ui-tooltip)\n * - .moxman-* e .mce-*\n * - .fa-* (font-awesome, configurable via @fa-css-prefix)\n * - .icon-* (fontello: TODO remove me, we currently refer 2 icons from fontello)\n * - .evo-* (evo.colorpicker)\n * - .toast-* #toast-* (toastr)\n */\n/**************************************************************************************************************************\n * BASIC CONFIGURATION\n *************************************************************************************************************************/\n/* 20140929: Previously 0.85em, but we don't want user selected sizes because it breaks around */\n/**************************************************************************************************************************\n * COMPUTED CONFIUGRATION\n *************************************************************************************************************************/\n/**************************************************************************************************************************\n * SERVICE COLORS\n *************************************************************************************************************************/\n/**************************************************************************************************************************\n * COMPUTED VARIABLES\n *************************************************************************************************************************/\n/****************************************************************************************************************************\n * GENERIC TOOLS STYLES\n ***************************************************************************************************************************/\n.mo {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 13.6px;\n line-height: 1.5em;\n}\n#main-toolbox {\n line-height: normal;\n}\n#main-toolbox .propEditor .propInput .checkbox-replacer {\n padding: 4px 2px;\n font-size: 1.2em;\n}\n#main-toolbox .objLabel.level0,\n#main-toolbox .pane-title {\n font-size: 1.2em;\n}\n#main-toolbox .objLabel.level1 {\n font-size: 1.2em;\n}\n#main-toolbox .noSelectedBlock,\n#main-toolbox .customStyleHelp,\n#main-toolbox .objEmpty,\n#main-toolbox .galleryEmpty {\n font-size: 1.2em;\n}\n#main-toolbox .propInput .data-select::after,\n#main-toolbox .propInput .evo-pointer::before {\n width: 31px;\n padding: 0 10px;\n}\n#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only {\n width: 30px;\n padding: 0;\n}\n#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only .ui-icon {\n margin: 0;\n}\n#main-toolbox .propInput .ui-spinner-button {\n width: 30px;\n}\n#main-toolbox .propInput .ui-spinner-button .ui-icon {\n left: 6px;\n top: 8px;\n}\n#main-toolbox .evo-pop .evo-more {\n font-size: 1em;\n}\n#toolimages .img-dropzone {\n position: relative;\n}\n#toolimages .img-dropzone.ui-state-highlight:before {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(204, 0, 0, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #CC0000;\n z-index: 10;\n pointer-events: none;\n line-height: 45px;\n height: auto;\n top: -10px;\n bottom: -10px;\n}\n#toolimages .img-dropzone.ui-state-draghover:before {\n background-color: rgba(204, 0, 0, 0.8);\n animation: none;\n}\n#toolimages .uploadzone {\n font-size: 1.2em;\n}\n.mo {\n /**************************************************************************************************************************\n * COMMON USE, BASIC ELEMENTS\n * Primitive html tags, common base classes, buttons, base forms, dropdown...\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * BASIC HTML ELEMENTS\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * HTML HELPERS\n * Additional generic elements\n *************************************************************************************************************************/\n /**\n * ICONS FIX\n */\n /**************************************************************************************************************************\n * BUTTONS\n *************************************************************************************************************************/\n /*\nbutton::-moz-focus-inner,\ninput[type=\"reset\"]::-moz-focus-inner,\ninput[type=\"button\"]::-moz-focus-inner,\ninput[type=\"submit\"]::-moz-focus-inner,\ninput[type=\"file\"] > input[type=\"button\"]::-moz-focus-inner {\n border: none;\n}\n*/\n /*#main */\n /**************************************************************************************************************************\n * FORM\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * TOOLTIPS, WINDOWS...\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * JQUERY UI\n * \n * Needs style_elements.less. Uses .button() .win()\n *************************************************************************************************************************/\n /**\n * JQUERY HORIZONTAL UI TABS\n */\n /**\n * JQUERY VERTICAL UI TABS\n */\n /* questo renderebbe grigini i dati default\n .propInput.default input,\n .propInput.default select {\n color: #CCC;\n }\n */\n /*\n .propInput.local.default, .propInput.local.default * { display: none; }\n .propInput.global.overridden, .propInput.global.overridden * { display: none; }\n */\n /***************\n * COLOR PICKER\n ***************/\n}\n.mo a,\n.mo a:link,\n.mo a:visited,\n.mo a:active,\n.mo #site-slogan {\n color: #9C010F;\n text-decoration: none;\n}\nli .mo a,\nli .mo a:link,\nli .mo a:visited,\nli .mo a:active,\nli .mo #site-slogan {\n color: #9C010F;\n}\n.mo a:hover {\n color: #370005;\n}\nli .mo a:hover {\n color: #370005;\n}\n.mo a.disabled,\n.mo a.disabled:link,\n.mo a.disabled:visited {\n color: #000000;\n}\n.mo b,\n.mo strong {\n font-weight: bold;\n}\n.mo i,\n.mo em {\n font-style: italic;\n}\n.mo ul,\n.mo ol {\n margin: .5em 0;\n padding: 0 0 0 1.5em;\n}\n.mo ul li,\n.mo ol li {\n margin: .5em 0;\n}\n.mo ul li a,\n.mo ol li a,\n.mo ul li a:active,\n.mo ol li a:active,\n.mo ul li a:link,\n.mo ol li a:link,\n.mo ul li a:visited,\n.mo ol li a:visited {\n white-space: nowrap;\n}\n.mo p {\n margin: 1em 0;\n}\n.mo p .grey {\n color: #999998;\n}\n.mo small {\n font-size: smaller;\n}\n.mo big {\n font-size: larger;\n}\n.mo h1 {\n font-size: 2em;\n margin: .5em 0;\n}\n.mo h2,\n.mo h3.box_title {\n font-size: 1.5em;\n margin: .5em 0;\n}\n.mo h3 {\n font-size: 1.3em;\n margin: .5em 0;\n}\n.mo dl {\n margin-bottom: 1.5em;\n}\n.mo dl dt {\n font-weight: bold;\n}\n.mo dl dd {\n margin-left: 10px;\n font-style: italic;\n}\n.mo hr {\n border: 0;\n border-top: 2px solid #f1e4d6;\n margin: 1em 0;\n}\n.mo blockquote {\n font-style: italic;\n border-left: 2px solid #f1e4d6;\n padding: 0.5em;\n}\n.mo code {\n display: inline-block;\n border-left: 2px solid #f1e4d6;\n padding: 0.5em;\n}\n.mo table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n margin: 1.5em 0 1.5em 0;\n border-bottom: 2px solid #f1e4d6;\n /*&.thead-fixed {\n //margin: -@body-padding-top 0;\n margin: 0;\n }*/\n}\n.mo table tr.even,\n.mo table tr.odd {\n border: none;\n padding: 0;\n background-color: transparent;\n}\n.mo table th {\n padding: .5em .7em;\n font-weight: bold;\n border-top: 0 none;\n border-bottom: 2px solid #f1e4d6;\n vertical-align: middle;\n background-color: #D2CBB1;\n}\n.mo table td {\n padding: .1em .7em;\n height: 3.3em;\n background-color: #FEFDFC;\n border-top: 0 none;\n vertical-align: middle;\n}\n.mo table td.active {\n background-color: #FEFDFC;\n}\n.mo table tr.even td {\n background-color: #f1eee6;\n}\n.mo table tr.even td.active {\n background-color: #f1eee6;\n}\n.mo table tr:first-child th:first-child {\n border-top-left-radius: 7px;\n}\n.mo table tr:first-child th:last-child {\n border-top-right-radius: 7px;\n}\n.mo table .checkbox_cell {\n width: 3em;\n}\n.mo table tr.selected td,\n.mo table tr.selected td.active {\n background-color: #FFFF90 !important;\n}\n.mo table tr.odd.selected td,\n.mo table tr.odd.selected td.active,\n.mo table tr:nth-child(odd).selected td,\n.mo table tr:nth-child(odd).selected td.active {\n background-color: #fffeb0 !important;\n}\n.mo .table-wrapper-scroll {\n width: 100%;\n overflow-x: auto;\n}\n.mo caption {\n color: #9C010F;\n font-weight: bold;\n text-align: left;\n padding: .5em .7em;\n}\n.mo div.showall {\n padding: 0 .7em .5em .7em;\n vertical-align: middle;\n clear: both;\n}\n.mo ul.links {\n margin: 0;\n padding: 0;\n}\n.mo ul.links.inline {\n display: inline;\n}\n.mo ul.links li {\n display: inline;\n list-style-type: none;\n padding: 0 0.5em;\n}\n.mo .small {\n font-size: 80%;\n}\n.mo .big {\n font-size: 120%;\n}\n.mo .clear-block {\n clear: both;\n}\n.mo .margin-top {\n margin-top: .5em;\n}\n.mo .overflow-hidden {\n overflow: hidden;\n}\n.mo .quarter-width {\n width: 25% !important;\n}\n.mo .half-width {\n width: 50% !important;\n}\n.mo .full-width {\n width: 100% !important;\n}\n.mo .normal-width {\n width: auto !important;\n}\n.mo .clickable {\n cursor: pointer;\n}\n.mo .help {\n background-color: #e4dfcf;\n margin: 1em 0;\n padding: .8em;\n}\n.mo .help p:first-child {\n margin-top: 0;\n}\n.mo .help p:last-child {\n margin-bottom: 0;\n}\n.mo .dropdown {\n position: absolute;\n z-index: 1003;\n margin: 0;\n padding: 0.5em 1em;\n border-radius: 5px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 4px 10px #807e7c;\n background-color: #ffffff;\n max-height: 300px;\n overflow: auto;\n min-width: 100%;\n max-width: 25em;\n white-space: normal;\n}\n.mo .dropdown.dropdown-right {\n right: 0;\n}\n.mo .dropdown.dropdown-bottom {\n bottom: 0;\n}\na.button + div.dropdown_spacer + .mo .dropdown,\n.button_links .mo .dropdown,\n.links.inline .mo .dropdown {\n margin: -0.4em 0 0 0;\n}\n.cell_links .mo .dropdown,\n.top_links .mo .dropdown,\n.box_top_links .mo .dropdown,\n.slide_links .mo .dropdown {\n margin: .2em 0 0 0;\n}\n.mo .dropdown hr {\n margin: 0.5em -1em;\n border-top: 1px solid #999998;\n box-shadow: none;\n}\n.container-inline .mo .dropdown {\n display: block;\n}\n.mo .dropdown .dropdown_footer {\n padding: 0.5em 0 0 0;\n margin: 0;\n}\n.mo .dropdown-container {\n position: relative;\n white-space: nowrap;\n display: inline-block;\n}\n.container-inline .mo .dropdown-container {\n display: inline-block;\n}\n.form-item .mo .dropdown-container {\n margin: 0 .5em 0 0;\n}\n.mo [class^=\"icon-\"]:before,\n.mo [class*=\" icon-\"]:before {\n margin-right: 0;\n margin-left: 0;\n}\n.mo i.icon {\n cursor: default;\n}\n.mo a:link i.icon {\n cursor: pointer;\n}\n.mo .icon_red {\n color: #9C010F;\n}\n.mo .icon_green {\n color: #94AF4B;\n}\n.mo img.icon {\n vertical-align: text-top;\n}\n.mo a.hint,\n.mo a.info {\n color: #666665;\n font-size: 80%;\n vertical-align: top;\n margin: 0 .2em;\n}\n.mo a.hint:hover,\n.mo a.info:hover {\n color: #9C010F;\n}\nh1 .mo a.hint,\nh1 .mo a.info,\nh2 .mo a.hint,\nh2 .mo a.info,\nh3 .mo a.hint,\nh3 .mo a.info {\n font-size: 60%;\n}\nli .mo a.hint,\nli .mo a.info {\n color: #666665;\n}\n.mo a.hint {\n cursor: help;\n}\n.mo .suffix_icon {\n font-size: 80%;\n}\n.mo div.info {\n padding: .5em;\n background-color: #e4dfcf;\n margin: .5em 0;\n}\n.mo .menu_step_circle {\n display: inline-block;\n background-color: #f1eee6;\n color: #333332;\n padding: 0.3em 0.6em;\n margin: 0px 0.2em 0 0;\n border-radius: 1em;\n}\n.mo .menu_step_circle.current {\n background-color: #D2CBB1;\n}\n.mo .menu_step_circle.disabled {\n color: #999998;\n}\n.mo a.button_dropdown_split {\n border-left: 1px solid #333332;\n padding-left: .5em;\n}\n.mo .button_links a.button_dropdown_split,\n.mo .links.inline a.button_dropdown_split,\n.mo .cell_links a.button_dropdown_split {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n}\nli .mo .button_links a.button_dropdown_split,\nli .mo .links.inline a.button_dropdown_split,\nli .mo .cell_links a.button_dropdown_split {\n color: #FEFDFC;\n}\n.mo .button_links a.button_dropdown_split img,\n.mo .links.inline a.button_dropdown_split img,\n.mo .cell_links a.button_dropdown_split img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo .button_links a.button_dropdown_split:hover,\n.mo .links.inline a.button_dropdown_split:hover,\n.mo .cell_links a.button_dropdown_split:hover,\n.mo .button_links a.button_dropdown_split.pressed,\n.mo .links.inline a.button_dropdown_split.pressed,\n.mo .cell_links a.button_dropdown_split.pressed,\n.mo .button_links a.button_dropdown_split.selected,\n.mo .links.inline a.button_dropdown_split.selected,\n.mo .cell_links a.button_dropdown_split.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo .button_links a.button_dropdown_split.disabled,\n.mo .links.inline a.button_dropdown_split.disabled,\n.mo .cell_links a.button_dropdown_split.disabled {\n color: #666665;\n}\n.mo .button_links a.button_dropdown_split.disabled a,\n.mo .links.inline a.button_dropdown_split.disabled a,\n.mo .cell_links a.button_dropdown_split.disabled a,\n.mo .button_links a.button_dropdown_split.disabled .link,\n.mo .links.inline a.button_dropdown_split.disabled .link,\n.mo .cell_links a.button_dropdown_split.disabled .link {\n color: #666665;\n}\n.mo .button_links a.button_dropdown_split.disabled:hover,\n.mo .links.inline a.button_dropdown_split.disabled:hover,\n.mo .cell_links a.button_dropdown_split.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo .button_links a.button_dropdown_split.inline,\n.mo .links.inline a.button_dropdown_split.inline,\n.mo .cell_links a.button_dropdown_split.inline {\n margin: 0 7px 0 0;\n}\n.mo .button_links a.button_dropdown_split.primary,\n.mo .links.inline a.button_dropdown_split.primary,\n.mo .cell_links a.button_dropdown_split.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo .button_links a.button_dropdown_split.primary:hover,\n.mo .links.inline a.button_dropdown_split.primary:hover,\n.mo .cell_links a.button_dropdown_split.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n}\n.mo .button_links a.button_dropdown_split.big,\n.mo .links.inline a.button_dropdown_split.big,\n.mo .cell_links a.button_dropdown_split.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo .button_links a.button_dropdown_split.big .suffix_icon,\n.mo .links.inline a.button_dropdown_split.big .suffix_icon,\n.mo .cell_links a.button_dropdown_split.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .button_links a.button_dropdown_split.with_button_dropdown_split,\n.mo .links.inline a.button_dropdown_split.with_button_dropdown_split,\n.mo .cell_links a.button_dropdown_split.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .button_links a.button_dropdown_split.with_button_dropdown_split.big,\n.mo .links.inline a.button_dropdown_split.with_button_dropdown_split.big,\n.mo .cell_links a.button_dropdown_split.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .button_links a.button_dropdown_split.loading,\n.mo .links.inline a.button_dropdown_split.loading,\n.mo .cell_links a.button_dropdown_split.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .button_links a.button_dropdown_split,\n.mo .links.inline a.button_dropdown_split,\n.mo .cell_links a.button_dropdown_split,\n.mo .top_links a.button_dropdown_split {\n margin-left: -1.5em;\n border-left: 1px solid #FEFDFC !important;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n z-index: 2;\n}\n.mo a.button,\n.mo input.form-submit {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n}\nli .mo a.button,\nli .mo input.form-submit {\n color: #FEFDFC;\n}\n.mo a.button img,\n.mo input.form-submit img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo a.button:hover,\n.mo input.form-submit:hover,\n.mo a.button.pressed,\n.mo input.form-submit.pressed,\n.mo a.button.selected,\n.mo input.form-submit.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo a.button.disabled,\n.mo input.form-submit.disabled {\n color: #666665;\n}\n.mo a.button.disabled a,\n.mo input.form-submit.disabled a,\n.mo a.button.disabled .link,\n.mo input.form-submit.disabled .link {\n color: #666665;\n}\n.mo a.button.disabled:hover,\n.mo input.form-submit.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo a.button.inline,\n.mo input.form-submit.inline {\n margin: 0 7px 0 0;\n}\n.mo a.button.primary,\n.mo input.form-submit.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo a.button.primary:hover,\n.mo input.form-submit.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n}\n.mo a.button.big,\n.mo input.form-submit.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo a.button.big .suffix_icon,\n.mo input.form-submit.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo a.button.with_button_dropdown_split,\n.mo input.form-submit.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo a.button.with_button_dropdown_split.big,\n.mo input.form-submit.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo a.button.loading,\n.mo input.form-submit.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.links a {\n font-weight: bold;\n}\n.mo ul.button_links li,\n.mo ul.inline li {\n padding: 0;\n}\n.mo ul.button_links li a,\n.mo ul.inline li a {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n}\nli .mo ul.button_links li a,\nli .mo ul.inline li a {\n color: #FEFDFC;\n}\n.mo ul.button_links li a img,\n.mo ul.inline li a img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo ul.button_links li a:hover,\n.mo ul.inline li a:hover,\n.mo ul.button_links li a.pressed,\n.mo ul.inline li a.pressed,\n.mo ul.button_links li a.selected,\n.mo ul.inline li a.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo ul.button_links li a.disabled,\n.mo ul.inline li a.disabled {\n color: #666665;\n}\n.mo ul.button_links li a.disabled a,\n.mo ul.inline li a.disabled a,\n.mo ul.button_links li a.disabled .link,\n.mo ul.inline li a.disabled .link {\n color: #666665;\n}\n.mo ul.button_links li a.disabled:hover,\n.mo ul.inline li a.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo ul.button_links li a.inline,\n.mo ul.inline li a.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.button_links li a.primary,\n.mo ul.inline li a.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo ul.button_links li a.primary:hover,\n.mo ul.inline li a.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n}\n.mo ul.button_links li a.big,\n.mo ul.inline li a.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo ul.button_links li a.big .suffix_icon,\n.mo ul.inline li a.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.button_links li a.with_button_dropdown_split,\n.mo ul.inline li a.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.button_links li a.with_button_dropdown_split.big,\n.mo ul.inline li a.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.button_links li a.loading,\n.mo ul.inline li a.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.button_links li a img,\n.mo ul.inline li a img {\n vertical-align: text-top;\n margin: 0 .5em 0 0;\n}\n.mo ul.buttonbar {\n white-space: nowrap;\n}\n.mo ul.buttonbar > li,\n.mo ul.buttonbar > .dropdown-container > li {\n margin: 0 1px 0 0;\n float: left;\n}\n.mo ul.buttonbar > li a,\n.mo ul.buttonbar > .dropdown-container > li a,\n.mo ul.buttonbar > li a.big,\n.mo ul.buttonbar > .dropdown-container > li a.big {\n margin-left: 0;\n margin-right: 0;\n border-radius: 0;\n}\n.mo ul.buttonbar > li a.with_button_dropdown_split,\n.mo ul.buttonbar > .dropdown-container > li a.with_button_dropdown_split,\n.mo ul.buttonbar > li a.big.with_button_dropdown_split,\n.mo ul.buttonbar > .dropdown-container > li a.big.with_button_dropdown_split {\n margin-right: 7px;\n}\n.mo ul.buttonbar > li.first a,\n.mo ul.buttonbar > .dropdown-container > li.first a {\n border-radius: 5px 0 0 5px;\n}\n.mo ul.buttonbar > li.first a.big,\n.mo ul.buttonbar > .dropdown-container > li.first a.big {\n border-radius: 7px 0 0 7px;\n}\n.mo ul.buttonbar > li.last a,\n.mo ul.buttonbar > .dropdown-container > li.last a {\n border-radius: 0 5px 5px 0;\n}\n.mo ul.buttonbar > li.last a.big,\n.mo ul.buttonbar > .dropdown-container > li.last a.big {\n border-radius: 0 7px 7px 0;\n}\n.mo ul.buttonbar.top_links {\n margin-left: .5em;\n}\n.mo ul.buttonbar:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo ul.cell_links > li,\n.mo ul.cell_links > .dropdown-container > li {\n padding: 0;\n}\n.mo ul.cell_links > li > a,\n.mo ul.cell_links > .dropdown-container > li > a {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n margin: 0 .5em 0 0;\n}\nli .mo ul.cell_links > li > a,\nli .mo ul.cell_links > .dropdown-container > li > a {\n color: #FEFDFC;\n}\n.mo ul.cell_links > li > a img,\n.mo ul.cell_links > .dropdown-container > li > a img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo ul.cell_links > li > a:hover,\n.mo ul.cell_links > .dropdown-container > li > a:hover,\n.mo ul.cell_links > li > a.pressed,\n.mo ul.cell_links > .dropdown-container > li > a.pressed,\n.mo ul.cell_links > li > a.selected,\n.mo ul.cell_links > .dropdown-container > li > a.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo ul.cell_links > li > a.disabled,\n.mo ul.cell_links > .dropdown-container > li > a.disabled {\n color: #666665;\n}\n.mo ul.cell_links > li > a.disabled a,\n.mo ul.cell_links > .dropdown-container > li > a.disabled a,\n.mo ul.cell_links > li > a.disabled .link,\n.mo ul.cell_links > .dropdown-container > li > a.disabled .link {\n color: #666665;\n}\n.mo ul.cell_links > li > a.disabled:hover,\n.mo ul.cell_links > .dropdown-container > li > a.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo ul.cell_links > li > a.inline,\n.mo ul.cell_links > .dropdown-container > li > a.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.cell_links > li > a.primary,\n.mo ul.cell_links > .dropdown-container > li > a.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo ul.cell_links > li > a.primary:hover,\n.mo ul.cell_links > .dropdown-container > li > a.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n}\n.mo ul.cell_links > li > a.big,\n.mo ul.cell_links > .dropdown-container > li > a.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo ul.cell_links > li > a.big .suffix_icon,\n.mo ul.cell_links > .dropdown-container > li > a.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.cell_links > li > a.with_button_dropdown_split,\n.mo ul.cell_links > .dropdown-container > li > a.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.cell_links > li > a.with_button_dropdown_split.big,\n.mo ul.cell_links > .dropdown-container > li > a.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.cell_links > li > a.loading,\n.mo ul.cell_links > .dropdown-container > li > a.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.cell_links a.button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\ntd .mo ul.cell_links {\n text-align: right;\n}\n.mo .td_cell_links {\n text-align: right;\n white-space: nowrap;\n}\n.mo ul.top_links,\n.mo ul.box_top_links {\n float: right;\n text-align: right;\n}\n.mo ul.top_links > *,\n.mo ul.box_top_links > * {\n line-height: normal;\n text-align: left;\n margin-bottom: .4em;\n}\n.mo ul.top_links li a,\n.mo ul.box_top_links li a,\n.mo ul.top_links a.button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n border-radius: 7px;\n padding: .25em .4em;\n font-size: 1.3em;\n}\nli .mo ul.top_links li a,\nli .mo ul.box_top_links li a,\nli .mo ul.top_links a.button_dropdown_split,\nli .mo ul.box_top_links a.button_dropdown_split {\n color: #FEFDFC;\n}\n.mo ul.top_links li a img,\n.mo ul.box_top_links li a img,\n.mo ul.top_links a.button_dropdown_split img,\n.mo ul.box_top_links a.button_dropdown_split img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo ul.top_links li a:hover,\n.mo ul.box_top_links li a:hover,\n.mo ul.top_links a.button_dropdown_split:hover,\n.mo ul.box_top_links a.button_dropdown_split:hover,\n.mo ul.top_links li a.pressed,\n.mo ul.box_top_links li a.pressed,\n.mo ul.top_links a.button_dropdown_split.pressed,\n.mo ul.box_top_links a.button_dropdown_split.pressed,\n.mo ul.top_links li a.selected,\n.mo ul.box_top_links li a.selected,\n.mo ul.top_links a.button_dropdown_split.selected,\n.mo ul.box_top_links a.button_dropdown_split.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo ul.top_links li a.disabled,\n.mo ul.box_top_links li a.disabled,\n.mo ul.top_links a.button_dropdown_split.disabled,\n.mo ul.box_top_links a.button_dropdown_split.disabled {\n color: #666665;\n}\n.mo ul.top_links li a.disabled a,\n.mo ul.box_top_links li a.disabled a,\n.mo ul.top_links a.button_dropdown_split.disabled a,\n.mo ul.box_top_links a.button_dropdown_split.disabled a,\n.mo ul.top_links li a.disabled .link,\n.mo ul.box_top_links li a.disabled .link,\n.mo ul.top_links a.button_dropdown_split.disabled .link,\n.mo ul.box_top_links a.button_dropdown_split.disabled .link {\n color: #666665;\n}\n.mo ul.top_links li a.disabled:hover,\n.mo ul.box_top_links li a.disabled:hover,\n.mo ul.top_links a.button_dropdown_split.disabled:hover,\n.mo ul.box_top_links a.button_dropdown_split.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo ul.top_links li a.inline,\n.mo ul.box_top_links li a.inline,\n.mo ul.top_links a.button_dropdown_split.inline,\n.mo ul.box_top_links a.button_dropdown_split.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.top_links li a.primary,\n.mo ul.box_top_links li a.primary,\n.mo ul.top_links a.button_dropdown_split.primary,\n.mo ul.box_top_links a.button_dropdown_split.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo ul.top_links li a.primary:hover,\n.mo ul.box_top_links li a.primary:hover,\n.mo ul.top_links a.button_dropdown_split.primary:hover,\n.mo ul.box_top_links a.button_dropdown_split.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n}\n.mo ul.top_links li a.big,\n.mo ul.box_top_links li a.big,\n.mo ul.top_links a.button_dropdown_split.big,\n.mo ul.box_top_links a.button_dropdown_split.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo ul.top_links li a.big .suffix_icon,\n.mo ul.box_top_links li a.big .suffix_icon,\n.mo ul.top_links a.button_dropdown_split.big .suffix_icon,\n.mo ul.box_top_links a.button_dropdown_split.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.top_links li a.with_button_dropdown_split,\n.mo ul.box_top_links li a.with_button_dropdown_split,\n.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.top_links li a.with_button_dropdown_split.big,\n.mo ul.box_top_links li a.with_button_dropdown_split.big,\n.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split.big,\n.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.top_links li a.loading,\n.mo ul.box_top_links li a.loading,\n.mo ul.top_links a.button_dropdown_split.loading,\n.mo ul.box_top_links a.button_dropdown_split.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.top_links li,\n.mo ul.box_top_links li {\n padding: 0;\n}\n.mo ul.top_links li a,\n.mo ul.box_top_links li a {\n margin: 0px 0px 0px .5em;\n}\n.mo ul.top_links a.button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split {\n margin: 0 0 0 -1em;\n}\n.mo ul.top_links .dropdown,\n.mo ul.box_top_links .dropdown {\n margin-left: .5em;\n}\n.mo ul.popup_links > li,\n.mo ul.popup_links > .dropdown-container > li {\n display: block;\n padding: 0;\n margin: 0;\n}\n.mo ul.popup_links > li > a,\n.mo ul.popup_links > .dropdown-container > li > a {\n display: block;\n border: none;\n padding: .5em;\n margin: 0;\n border-radius: 0;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n background-color: transparent;\n color: #333332;\n}\n.mo ul.popup_links > li > a img,\n.mo ul.popup_links > .dropdown-container > li > a img {\n vertical-align: text-top;\n margin: 0 .5em 0 0;\n}\n.mo ul.popup_links > li > a.disabled,\n.mo ul.popup_links > .dropdown-container > li > a.disabled {\n color: #999998 !important;\n}\n.mo ul.popup_links > li > a.disabled:hover,\n.mo ul.popup_links > .dropdown-container > li > a.disabled:hover {\n border: none;\n}\n.mo ul.popup_links > li > a .badge,\n.mo ul.popup_links > .dropdown-container > li > a .badge {\n position: absolute;\n right: 0;\n margin-left: 1em;\n top: .6em;\n}\n.mo ul.popup_links > li:hover,\n.mo ul.popup_links > .dropdown-container > li:hover {\n background-color: #333332;\n color: #FEFDFC;\n}\n.mo ul.popup_links > li:hover a,\n.mo ul.popup_links > .dropdown-container > li:hover a {\n color: #FEFDFC;\n}\n.mo ul.popup_links > li .cell_links > li > a,\n.mo ul.popup_links > .dropdown-container > li .cell_links > li > a {\n border-color: #999999;\n}\n.mo ul.popup_links > li.separator,\n.mo ul.popup_links > .dropdown-container > li.separator {\n border-top: 1px solid #333332;\n margin: .5em 0;\n}\n.mo ul.popup_links.table_columns > li > a,\n.mo ul.popup_links.table_columns > .dropdown-container > li > a {\n display: table-cell;\n vertical-align: middle;\n width: 100%;\n}\n.mo ul.popup_links.table_columns > li > .table_column,\n.mo ul.popup_links.table_columns > .dropdown-container > li > .table_column {\n display: table-cell;\n vertical-align: middle;\n width: auto;\n /*.button {\n margin: 0 .5em;\n color: @button-text-color;\n }*/\n}\n.mo .dropdown ul.popup_links {\n margin: -0.5em -1em;\n}\n.mo .dropdown ul.popup_links > li > a,\n.mo .dropdown ul.popup_links > .dropdown-container > li > a {\n text-align: left;\n width: 100%;\n}\n.mo select,\n.mo textarea {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n}\n.mo select:focus,\n.mo textarea:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo select.inline,\n.mo textarea.inline {\n margin-right: .5em;\n width: auto;\n}\n.mo input:disabled,\n.mo select:disabled,\n.mo textarea:disabled {\n opacity: 0.5 !important;\n}\n.mo ::placeholder {\n color: #807f7f;\n opacity: 1;\n}\n.mo .async_loading {\n color: transparent;\n text-align: center;\n background: url(../../../../misc/others/loading.gif) no-repeat 50% 50% white;\n opacity: .5;\n}\n.mo .async_loading_iframe {\n background: url(../../../../misc/others/loadingbig.gif) no-repeat 50% 50% transparent;\n}\n.mo .ui-helper-hidden {\n display: none;\n}\n.mo .ui-helper-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute !important;\n width: 1px;\n}\n.mo .ui-helper-reset {\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n line-height: 1.3;\n text-decoration: none;\n font-size: 100%;\n list-style: none;\n}\n.mo .ui-helper-clearfix:before,\n.mo .ui-helper-clearfix:after {\n content: \"\";\n display: table;\n border-collapse: collapse;\n}\n.mo .ui-helper-clearfix:after {\n clear: both;\n}\n.mo .ui-helper-clearfix {\n min-height: 0;\n /* support: IE7 */\n}\n.mo .ui-helper-zfix {\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n position: absolute;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.mo .ui-front {\n z-index: 1004;\n}\n.mo .ui-state-disabled {\n cursor: default !important;\n}\n.mo .ui-icon {\n display: block;\n text-indent: -99999px;\n overflow: hidden;\n background-repeat: no-repeat;\n}\n.mo .ui-widget-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.mo .ui-widget-overlay {\n background: #aaaaaa none;\n opacity: .6;\n filter: alpha(opacity=60);\n}\n.mo .ui-widget-shadow {\n margin: -8px 0 0 -8px;\n padding: 8px;\n background: #aaaaaa none;\n opacity: .3;\n filter: alpha(opacity=30);\n border-radius: 8px;\n}\n.mo .ui-corner-all {\n border-radius: 5px;\n}\n.mo .ui-button {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n}\nli .mo .ui-button {\n color: #FEFDFC;\n}\n.mo .ui-button img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo .ui-button:hover,\n.mo .ui-button.pressed,\n.mo .ui-button.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo .ui-button.disabled {\n color: #666665;\n}\n.mo .ui-button.disabled a,\n.mo .ui-button.disabled .link {\n color: #666665;\n}\n.mo .ui-button.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo .ui-button.inline {\n margin: 0 7px 0 0;\n}\n.mo .ui-button.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo .ui-button.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n}\n.mo .ui-button.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo .ui-button.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .ui-button.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .ui-button.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .ui-button.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .ui-button .ui-button-text,\n.mo .ui-button .ui-icon {\n color: #FEFDFC;\n}\n.mo .ui-button.ui-button-icon-only .ui-icon {\n margin: 0 .1em;\n}\n.mo .ui-button.ui-button-icon-only .ui-button-text {\n display: none;\n}\n.mo .ui-button.ui-button-disabled {\n color: #666665;\n}\n.mo .ui-button.ui-button-disabled a,\n.mo .ui-button.ui-button-disabled .link {\n color: #666665;\n}\n.mo .ui-button.ui-button-disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo .ui-button.ui-button-disabled .ui-button-text,\n.mo .ui-button.ui-button-disabled .ui-icon {\n color: #666665;\n}\n.mo .ui-button.ui-state-active {\n text-decoration: none;\n background-color: #191919;\n}\n.mo .ui-buttonset {\n margin-right: 7px;\n vertical-align: middle;\n font-size: 0;\n}\n.mo .ui-buttonset > .ui-button {\n font-size: 13.6px;\n margin-right: 1px;\n border-radius: 0;\n}\n.mo .ui-buttonset > .ui-button.ui-corner-left {\n border-radius: 5px 0 0 5px;\n}\n.mo .ui-buttonset > .ui-button.ui-corner-right {\n border-radius: 0 5px 5px 0;\n}\n.mo .ui-dialog {\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n position: absolute;\n overflow: hidden;\n width: 300px;\n padding: 0;\n font-size: 1em;\n z-index: 1005;\n}\n.mo .ui-dialog .ui-dialog-titlebar {\n position: relative;\n padding: .5em 1em .3em;\n color: #333332;\n background: none #D2CBB1;\n border: none;\n font-weight: bold;\n border-radius: 0;\n font-size: 1.1em;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-icon {\n color: #333332;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-title {\n float: left;\n margin: .1em 16px .2em 0;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close {\n position: absolute;\n right: .3em;\n top: 35%;\n width: 21px;\n margin: -10px 0 0 0;\n padding: 1px;\n height: 20px;\n cursor: pointer;\n border: 0 none;\n background: none transparent;\n box-shadow: none;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close::-moz-focus-inner {\n border: none;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon {\n position: absolute;\n top: 50%;\n margin-top: -8px;\n left: 50%;\n margin-left: -8px;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close.ui-button-icon-only .ui-button-text {\n display: block;\n line-height: normal;\n padding: .4em;\n text-indent: -9999999px;\n}\n.mo .ui-dialog .ui-dialog-content {\n border: 0;\n padding: .5em 1em;\n background: none;\n zoom: 1;\n max-height: 600px;\n position: relative;\n}\n.mo .ui-dialog .ui-dialog-content .async_loading_iframe {\n margin: -0.5em 0 0 0;\n}\n.mo .ui-dialog .async_loading_iframe {\n width: 100%;\n height: 100%;\n min-height: 100px;\n position: absolute;\n left: 0;\n}\n.mo .ui-dialog .ui-dialog-buttonpane {\n text-align: center;\n background-image: none;\n margin: .5em 0 0 0;\n border: none;\n padding: .3em 0;\n}\n.mo .ui-dialog.dialog_info .ui-dialog-titlebar {\n background: none #8fb7b0;\n}\n.mo .ui-dialog.dialog_warn .ui-dialog-titlebar {\n background: none #b76660;\n}\n.mo .ui-dialog.dialog_ok .ui-dialog-titlebar {\n background: none #b3bd7e;\n}\n.mo .ui-dialog.dialog_standard_href .ui-dialog-content {\n padding: 0;\n min-height: 600px;\n}\n.mo .ui-dialog.dialog_ajax_href .ui-dialog-content,\n.mo .ui-dialog.dialog_standard_content .ui-dialog-content,\n.mo .ui-dialog.dialog_standard_rel .ui-dialog-content {\n overflow: auto;\n}\n.mo .ui-dialog.no-close .ui-dialog-titlebar-close {\n display: none;\n}\n.mo .ui-dialog:focus,\n.mo .ui-dialog:-moz-focusring {\n outline: 0 none !important;\n}\n.mo .ui-menu {\n list-style: outside none none;\n padding: 0px;\n margin: 0px;\n display: block;\n outline: medium none;\n}\n.mo .ui-menu .ui-menu-item {\n position: relative;\n margin: 0px;\n padding: 3px 1em 3px 0.4em;\n cursor: pointer;\n min-height: 0px;\n}\n.mo .ui-autocomplete {\n top: 0px;\n left: 0px;\n cursor: default;\n position: absolute;\n z-index: 1003;\n padding: 0.5em 1em;\n border-radius: 5px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 4px 10px #807e7c;\n background-color: #ffffff;\n max-height: 300px;\n overflow: auto;\n min-width: 100%;\n max-width: 25em;\n white-space: normal;\n min-width: auto;\n max-width: none;\n margin: 0;\n padding: 0;\n}\n.mo .ui-autocomplete.dropdown-right {\n right: 0;\n}\n.mo .ui-autocomplete.dropdown-bottom {\n bottom: 0;\n}\na.button + div.dropdown_spacer + .mo .ui-autocomplete,\n.button_links .mo .ui-autocomplete,\n.links.inline .mo .ui-autocomplete {\n margin: -0.4em 0 0 0;\n}\n.cell_links .mo .ui-autocomplete,\n.top_links .mo .ui-autocomplete,\n.box_top_links .mo .ui-autocomplete,\n.slide_links .mo .ui-autocomplete {\n margin: .2em 0 0 0;\n}\n.mo .ui-autocomplete hr {\n margin: 0.5em -1em;\n border-top: 1px solid #999998;\n box-shadow: none;\n}\n.container-inline .mo .ui-autocomplete {\n display: block;\n}\n.mo .ui-autocomplete .dropdown_footer {\n padding: 0.5em 0 0 0;\n margin: 0;\n}\n.mo .ui-autocomplete .ui-menu-item {\n display: block;\n padding: 0.5em;\n margin: 0;\n font-weight: bold;\n}\n.mo .ui-autocomplete .ui-menu-item.ui-state-focus,\n.mo .ui-autocomplete .ui-menu-item.ui-state-active {\n background-color: #333332;\n color: #FEFDFC;\n}\n.mo .ui-autocomplete .ui-menu-item.ui-state-focus a,\n.mo .ui-autocomplete .ui-menu-item.ui-state-active a {\n color: #FEFDFC;\n}\n.mo .ui-tabs .ui-tabs-nav {\n border-radius: 0;\n}\n.mo .ui-tabs.tabs_horizontal > ul {\n margin: 0;\n border-bottom: 1px solid #D2CBB1;\n padding: 0px 0px 0px .5em;\n}\n.mo .ui-tabs.tabs_horizontal > ul:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo .ui-tabs.tabs_horizontal > ul li {\n float: left;\n list-style-type: none;\n margin: 0.4em 0 -1px 0;\n display: block;\n text-align: center;\n}\n.mo .ui-tabs.tabs_horizontal > ul li > a {\n display: block;\n padding: .5em 1em;\n margin: 0 .5em 0 0;\n border-radius: 5px 5px 0 0;\n background-color: #D2CBB1;\n border: 1px solid #D2CBB1;\n}\n.mo .ui-tabs.tabs_horizontal > ul li a:focus {\n outline: 0 none !important;\n}\n.mo .ui-tabs.tabs_horizontal > ul li.ui-state-active a {\n border-bottom: 1px solid #FEFDFC;\n background: transparent;\n font-weight: bold;\n background-color: transparent;\n color: #333332;\n}\n.mo .ui-tabs.tabs_horizontal .ui-tabs-panel {\n margin-top: .5em;\n}\n.mo .ui-tabs.tabs_horizontal .ui-tabs-panel.ui-tabs-noscroll {\n padding: 0;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul {\n background-color: #D2CBB1;\n margin: 0;\n border-bottom: 1px solid #D2CBB1;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li {\n float: left;\n list-style-type: none;\n margin: 0.4em 0 -1px 0;\n display: block;\n text-align: center;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a {\n display: block;\n padding: .5em 1em;\n margin: 0 .5em 0 0;\n border-radius: 5px 5px 0 0;\n background-color: #333332;\n color: #FEFDFC;\n border: none;\n font-weight: bold;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a:hover {\n background-color: #191919;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li a:focus {\n outline: 0 none !important;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li.ui-state-active a {\n border-bottom: 1px solid #FEFDFC;\n background: transparent;\n font-weight: bold;\n background-color: #FEFDFC;\n color: #333332;\n}\n.mo .ui-tabs.tabs_vertical {\n position: relative;\n margin: 1em 0;\n}\n.mo .ui-tabs.tabs_vertical > ul {\n margin: 0;\n padding: 0;\n text-align: left;\n float: left;\n}\n.mo .ui-tabs.tabs_vertical > ul li {\n width: 11em;\n list-style-type: none;\n padding: .5em 1em;\n margin: 0;\n text-align: right;\n}\n.mo .ui-tabs.tabs_vertical > ul li.ui-state-active {\n background-color: #D2CBB1;\n font-weight: bold;\n border-radius: 5px 0 0 5px;\n}\n.mo .ui-tabs.tabs_vertical > ul li.ui-state-active a {\n color: #333332;\n}\n.mo .ui-tabs.tabs_vertical .ui-tabs-panel {\n background: #FEFDFC;\n border: 1px solid #D2CBB1;\n padding: .5em 1em;\n margin: .5em 0;\n overflow: auto;\n}\n.mo .ui-tabs.tabs_vertical .ui-tabs-panel.ui-tabs-noscroll {\n padding: 0;\n}\n.mo .ui-tooltip {\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n max-width: 300px;\n padding: .5em;\n z-index: 1004;\n}\n.mo .ui-spinner {\n display: block;\n margin: 10px 0 10px 0;\n padding: 0;\n position: relative;\n}\n.mo .ui-spinner input[type=number] {\n -moz-appearance: textfield;\n}\n.mo .ui-spinner input[type=number]::-webkit-outer-spin-button,\n.mo .ui-spinner input[type=number]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.mo .ui-spinner input[type=number]::-ms-clear {\n width: 0;\n height: 0;\n}\n.mo .ui-spinner .ui-spinner-input {\n margin: 0;\n margin-right: 2em;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .ui-spinner .ui-spinner-button {\n width: 2.5em;\n height: 50%;\n min-height: inherit;\n padding: 0;\n margin: 0;\n position: absolute;\n right: 0;\n line-height: 1em;\n cursor: pointer;\n}\n.mo .ui-spinner .ui-spinner-button .ui-icon {\n display: none;\n}\n.mo .ui-spinner .ui-spinner-up {\n top: 0;\n border-bottom: none;\n border-radius: 0 5px 0 0;\n}\n.mo .ui-spinner .ui-spinner-up .ui-button-text:after {\n font-family: FontAwesome;\n font-weight: normal;\n content: \"\\f0d8\";\n}\n.mo .ui-spinner .ui-spinner-down {\n bottom: 0;\n border-top: none;\n border-radius: 0 0 5px 0;\n}\n.mo .ui-spinner .ui-spinner-down .ui-button-text:after {\n font-family: FontAwesome;\n font-weight: normal;\n content: \"\\f0d7\";\n}\n.mo .ui-icon {\n font-family: FontAwesome;\n background: none repeat scroll 0 0 transparent;\n text-indent: 0;\n width: auto;\n height: auto;\n min-width: 16px;\n vertical-align: middle;\n margin-top: 0;\n margin-right: .5em;\n}\n.mo .ui-icon-closethick:before {\n content: \"\\f00d\";\n}\n.mo .ui-draggable .ui-dialog-titlebar {\n cursor: move;\n}\n.mo .ui-draggable-handle,\n.mo .ui-sortable-handle {\n -ms-touch-action: none;\n touch-action: none;\n}\n.mo *,\n.mo *:before,\n.mo *:after {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n.mo .ui-icon {\n overflow: visible;\n}\n.mo .fa {\n display: inline-block;\n font-style: normal;\n}\n.mo .buttons {\n text-align: center;\n padding-top: 3px;\n}\n.mo .propInput input[type=text],\n.mo .propInput input[type=number],\n.mo .propInput input[type=url],\n.mo .propInput select {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n margin: 0;\n}\n.mo .propInput input[type=text]:focus,\n.mo .propInput input[type=number]:focus,\n.mo .propInput input[type=url]:focus,\n.mo .propInput select:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput input[type=text].inline,\n.mo .propInput input[type=number].inline,\n.mo .propInput input[type=url].inline,\n.mo .propInput select.inline {\n margin-right: .5em;\n width: auto;\n}\n.mo .propInput input[type=text].invalid,\n.mo .propInput input[type=number].invalid,\n.mo .propInput input[type=url].invalid,\n.mo .propInput select.invalid,\n.mo .propInput input[type=text].error,\n.mo .propInput input[type=number].error,\n.mo .propInput input[type=url].error,\n.mo .propInput select.error {\n border: 2px solid #9C010F;\n}\n.mo .propInput .data-select {\n display: block;\n}\n@media (-ms-high-contrast: active), (-ms-high-contrast: none), not screen\\0 {\n .mo .propInput .data-select {\n position: relative;\n }\n .mo .propInput .data-select select {\n -webkit-appearance: none;\n -moz-appearance: none;\n padding-right: 30px;\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n }\n .mo .propInput .data-select select::-ms-expand {\n display: none;\n }\n .mo .propInput .data-select:after {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n margin: 0;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n line-height: 30px;\n width: 28px;\n margin-right: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n /*\n content: \"▼\";\n font-size: 60%;\n */\n font-family: FontAwesome;\n content: \"\\f0d7\";\n font-weight: normal;\n pointer-events: none;\n }\n li .mo .propInput .data-select:after {\n color: #FEFDFC;\n }\n .mo .propInput .data-select:after img {\n vertical-align: middle;\n margin: 0 .2em;\n }\n .mo .propInput .data-select:after:hover,\n .mo .propInput .data-select:after.pressed,\n .mo .propInput .data-select:after.selected {\n text-decoration: none;\n background-color: #191919;\n }\n .mo .propInput .data-select:after.disabled {\n color: #666665;\n }\n .mo .propInput .data-select:after.disabled a,\n .mo .propInput .data-select:after.disabled .link {\n color: #666665;\n }\n .mo .propInput .data-select:after.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n }\n .mo .propInput .data-select:after.inline {\n margin: 0 7px 0 0;\n }\n .mo .propInput .data-select:after.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n }\n .mo .propInput .data-select:after.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n }\n .mo .propInput .data-select:after.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n }\n .mo .propInput .data-select:after.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n }\n .mo .propInput .data-select:after.with_button_dropdown_split {\n padding-right: 1.2em;\n }\n .mo .propInput .data-select:after.with_button_dropdown_split.big {\n padding-right: 1.8em;\n }\n .mo .propInput .data-select:after.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n }\n}\n.mo .propInput .ui-textbutton {\n width: 100%;\n display: inline-table;\n table-layout: fixed;\n margin-right: 0;\n vertical-align: middle;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-input.withButton {\n display: table-cell;\n margin: 0;\n margin-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button {\n display: table-cell;\n margin-right: 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button .ui-button-text {\n line-height: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n width: 1.6em;\n}\n.mo .propEditor {\n display: table;\n width: 100%;\n}\n.mo .propLabel {\n padding: 8px 8px;\n padding-left: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 45%;\n float: left;\n text-align: right;\n}\n.mo .propLabel[title]:before {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n float: right;\n position: initial;\n color: #666665;\n content: \"\\f059\";\n font-size: 80%;\n line-height: 1.5em;\n margin-left: 0.5em;\n}\n.mo .propInput {\n width: 55%;\n float: left;\n}\n.mo .propInput input,\n.mo .propInput select {\n width: 100%;\n}\n.mo .notnull.propEditor.checkboxes .propInput {\n width: 50%;\n}\n.mo .propCheck {\n width: 5%;\n float: left;\n padding: 5px;\n display: none;\n}\n.mo .notnull .propCheck {\n display: block;\n}\n.mo .propLabel:after,\n.mo .propInput:after,\n.mo .objEdit:after {\n content: \"\";\n display: table;\n}\n.mo .objEdit {\n display: block;\n width: 100%;\n /* background-color: rgba(0,0,0,0.02); */\n}\n.mo .objEdit.level1 {\n /* border-bottom: 2px solid #f1eee6; */\n background-color: #FEFDFC;\n padding: 2px;\n}\n.mo .label.notused {\n display: none;\n font-size: 50%;\n color: #808080;\n}\n.mo .label.notused:before {\n content: \"[[[\";\n}\n.mo .label.notused:after {\n content: \"]]]\";\n}\n.mo .objLabel.level2 {\n color: rgba(255, 255, 255, 0.7);\n float: left;\n position: absolute;\n display: none;\n}\n.mo .objLabel.level3 {\n color: rgba(255, 255, 255, 0.4);\n float: left;\n position: absolute;\n top: 1em;\n display: none;\n}\n.mo .objEdit.level1 {\n /* border-bottom: 2px solid #CCC; */\n padding-top: 4px;\n padding-bottom: 2px;\n margin-bottom: 3px;\n /* padding: 2px; */\n}\n.mo .objLabel.level1 {\n color: black;\n display: block;\n /* display: none; */\n}\n.mo #toolstyles .objLabel.level1,\n.mo #tooltheme .objLabel.level1 {\n padding-left: 60px;\n}\n.mo .objLabel {\n text-transform: uppercase;\n border-bottom: 3px solid #D2CBB1;\n color: #333332;\n display: block;\n margin: -4px -2px 6px;\n padding: 5px;\n border-radius: 6px 6px 0 0;\n}\n.mo .objEdit.level0 {\n padding: 0px 1px;\n margin-top: 12px;\n}\n.mo .objLabel.level0 {\n display: block;\n color: #333332;\n background-color: #FEFDFC;\n font-weight: bold;\n font-size: 90%;\n border-bottom: 3px solid #333332;\n border-radius: 0;\n padding: 3px 10px;\n margin: 0px -7px 8px -7px;\n}\n.mo .supportsCustomStyles .objLabel.level0 {\n margin-right: 70px;\n}\n.mo .objEdit.level-1 {\n padding: 0 15px;\n overflow: auto;\n height: 95%;\n background-color: #FEFDFC;\n border-radius: 6px;\n}\n.mo .objEdit {\n position: relative;\n}\n.mo .objEdit.level1 {\n margin-top: 15px;\n}\n.mo .objPreview {\n width: 50px;\n height: 50px;\n border-radius: 100%;\n position: absolute;\n overflow: hidden;\n border: 2px solid #D2CBB1;\n top: -11px;\n left: 5px;\n}\n.mo .objPreview > div {\n position: absolute;\n bottom: 20%;\n left: 20%;\n}\n.mo .propEditor {\n /* border-bottom: 2px solid #CCC; */\n padding: 2px;\n}\n.mo .objEdit .propEditor {\n padding: 2px 0;\n border: 0;\n}\n.mo .propEditor.notnull {\n font-weight: bold;\n /* background-color: #FFFF80; */\n}\n.mo .propEditor.notnull input,\n.mo .propEditor.notnull select {\n font-weight: bold;\n}\n.mo .propEditor.notnull input[type=checkbox] {\n font-weight: normal;\n}\n.mo .propInput {\n position: relative;\n}\n.mo .propInput .colorPicker {\n padding-right: 30px;\n}\n.mo .propInput .data-color input[type=text] {\n font-size: 90%;\n font-family: monospace;\n width: 5.5em;\n margin: 0;\n margin-left: 85px;\n background-color: transparent;\n border-color: rgba(51, 51, 50, 0.2);\n box-shadow: none;\n border-style: dashed;\n}\n.mo .propInput .data-color input[type=text]:hover,\n.mo .propInput .data-color input[type=text]:focus {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n font-size: 90%;\n font-family: monospace;\n width: 5.5em;\n margin: 0;\n margin-left: 85px;\n /*\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: @mosaico-button-border-color;\n border-style: solid;\n */\n}\n.mo .propInput .data-color input[type=text]:hover:focus,\n.mo .propInput .data-color input[type=text]:focus:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput .data-color input[type=text]:hover.inline,\n.mo .propInput .data-color input[type=text]:focus.inline {\n margin-right: .5em;\n width: auto;\n}\n.mo .propInput .evo-pointer {\n position: absolute;\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n margin: 0;\n z-index: 5;\n left: 0px;\n top: 0px;\n width: 80px;\n height: 30px;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .propInput .evo-pointer:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput .evo-pointer.inline {\n margin-right: .5em;\n width: auto;\n}\n.mo .propInput .evo-pointer:before {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n font-family: FontAwesome;\n content: \"\\f0d7\";\n font-weight: normal;\n border-left: 1px solid rgba(254, 253, 252, 0.5) !important;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n line-height: 30px;\n width: 28px;\n padding: 0 8px;\n margin: 0;\n}\nli .mo .propInput .evo-pointer:before {\n color: #FEFDFC;\n}\n.mo .propInput .evo-pointer:before img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n.mo .propInput .evo-pointer:before:hover,\n.mo .propInput .evo-pointer:before.pressed,\n.mo .propInput .evo-pointer:before.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo .propInput .evo-pointer:before.disabled {\n color: #666665;\n}\n.mo .propInput .evo-pointer:before.disabled a,\n.mo .propInput .evo-pointer:before.disabled .link {\n color: #666665;\n}\n.mo .propInput .evo-pointer:before.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo .propInput .evo-pointer:before.inline {\n margin: 0 7px 0 0;\n}\n.mo .propInput .evo-pointer:before.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo .propInput .evo-pointer:before.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n}\n.mo .propInput .evo-pointer:before.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo .propInput .evo-pointer:before.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .propInput .evo-pointer:before.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .propInput .evo-pointer:before.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .propInput .evo-pointer:before.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .objEdit input[type=checkbox] {\n display: none;\n /* , &:checked + .checkbox-replacer:before */\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer {\n width: 1.28571429em;\n display: block;\n text-align: center;\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n}\n.mo .objEdit input[type=checkbox]:checked + .checkbox-replacer:before {\n content: '\\f205';\n /* '\\f096'; */\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n font-size: 150%;\n text-align: center;\n content: '\\f204';\n /* '\\f14a'; */\n}\n.mo .propCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n content: \"\\f041\";\n /* tondo con punto '\\f192';*/\n /* '\\f140'; */\n /* '\\f14a'; */\n content: \"\\f1b2\";\n /* cubo */\n font-size: 14px;\n opacity: 1;\n}\n.mo .propCheck input[type=checkbox] + .checkbox-replacer:before {\n content: '\\f0ac';\n /* asterisco \"\\f069\"; */\n /* '\\f096'; */\n content: \"\\f1b3\";\n /* cubi */\n font-size: 14px;\n opacity: .8;\n}\n.mo .propInput .ui-spinner {\n width: 100%;\n margin: 0;\n}\n.mo .propInput .ui-spinner .ui-spinner-input {\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .propInput .ui-spinner .ui-state-default .ui-icon.fa,\n.mo .propInput .ui-spinner .ui-widget-content .ui-icon.fa {\n background-image: none;\n font-size: 10px;\n top: 9px;\n}\n.mo .propLabel[title] {\n text-decoration: underline;\n cursor: help;\n}\n.mo .noSelectedBlock,\n.mo .customStyleHelp,\n.mo .objEmpty,\n.mo .galleryEmpty,\n.mo .blockDescription {\n padding: 1em;\n margin-bottom: .5em;\n background-color: #f1eee6;\n border-radius: 7px;\n box-shadow: none;\n color: #4F4F4F;\n}\n.mo .customStyleHelp,\n.mo .objEmpty {\n margin-bottom: 1em;\n}\n.mo .evo-pop {\n right: 0;\n width: auto;\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n border-width: 0;\n padding: 3px;\n}\n.mo .evo-pop .evo-palette td {\n padding: 12px;\n border: none;\n}\n.mo .evo-pop .evo-palette th,\n.mo .evo-pop .evo-palette-ie th,\n.mo .evo-pop .evo-palette2 th {\n border: none;\n}\n.mo .evo-pop .evo-palette,\n.mo .evo-pop .evo-palette-ie,\n.mo .evo-pop .evo-palette2 {\n border-spacing: 0px 0px;\n margin: 0 auto;\n width: auto;\n border: none;\n}\n.mo .evo-pop .evo-palette2 td {\n padding: 8px 9px;\n}\n.mo .evo-pop .evo-cHist div {\n padding: 12px;\n margin: 2px;\n}\n.mo .evo-pop .evo-color div {\n padding: 12px;\n margin: 2px;\n border-color: #c0c0c0;\n}\n.mo .evo-pop .evo-color {\n width: 120px;\n padding: 1px 3px 2px 4px;\n}\n.mo .evo-pop .evo-color span {\n font-size: 17px;\n margin: 5px 0 4px 4px;\n}\n.mo .evo-pop .evo-more {\n padding: 4px 5px;\n}\n.mo .evo-pop .evo-more a {\n margin-right: 1em;\n}\n/****************************************************************************************************************************\n * TOOLBAR\n ***************************************************************************************************************************/\n#toolbar {\n padding: 5px 10px;\n}\n#toolbar .button,\n#toolbar .ui-button,\n#toolbar .button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\n#toolbar ul.top_right_links {\n float: right;\n}\n#toolbar ul.top_right_links .dropdown {\n margin: .2em 0 0 0;\n}\n@media (max-width: 1460px) {\n #toolbar label[for=previewFrameToggle] {\n display: none;\n }\n #toolbar .ui-button[for=showGallery] .ui-icon {\n margin-right: 0;\n }\n #toolbar .ui-button[for=showGallery] .ui-button-text {\n display: none;\n }\n}\n#toolbar .leftButtons {\n float: left;\n}\n#toolbar .rightButtons {\n float: right;\n}\n#toolbar #downloadForm {\n display: inline-block;\n}\n/****************************************************************************************************************************\n * TOOLBOX\n ***************************************************************************************************************************/\n#main-toolbox {\n /* while local-editing we always show the local editor */\n /* while global-editing show the global editor unless it is overwritten (not null) */\n}\n#main-toolbox > div,\n#main-toolbox > div > div {\n height: 100%;\n overflow: hidden;\n}\n#main-toolbox #tooltabs.ui-tabs {\n overflow: hidden;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel {\n top: 40px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 100;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav {\n font-size: 1.2em;\n padding: 0px 0px 0px 4px;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li {\n margin: 4px 4px 0 0;\n line-height: 37px;\n /*\n a {\n background-color: @mosaico-button-background-color;\n color: @mosaico-button-text-color;\n text-decoration: none;\n font-weight: bold;\n &:hover {\n background-color: @mosaico-button-background-color-hover;\n }\n }\n &.ui-tabs-active a {\n background-color: @mosaico-background-color;\n color: @mosaico-text-color;\n font-weight: bold;\n }\n */\n /*a:focus, a:-moz-focusring {\n outline: 0 none !important;\n }*/\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li a {\n width: 100%;\n padding: 0 .5em;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel {\n margin: 0;\n padding: 0.7em;\n position: absolute;\n bottom: 4px;\n left: 4px;\n right: 4px;\n z-index: 100;\n background-color: #FEFDFC;\n}\n#main-toolbox .draggable-item {\n display: inline-block;\n}\n#main-toolbox .draggable {\n width: 100px;\n height: 100px;\n overflow: hidden;\n border: 2px solid black;\n z-index: 100;\n display: inline-block;\n}\n#main-toolbox .draggable-item .block .handle {\n cursor: move;\n z-index: 120;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 20px;\n right: 20px;\n}\n#main-toolbox .draggable-item {\n position: relative;\n}\n#main-toolbox .draggable-item .addblockbutton {\n z-index: 1000;\n position: absolute;\n bottom: 10px;\n right: 5px;\n display: none;\n}\n#main-toolbox .draggable-item .image,\n#main-toolbox .draggable-item .block img {\n box-shadow: 0 0 1px #808080;\n margin: 3px 0;\n}\n#main-toolbox .draggable-item:hover {\n transform: scale(1.05, 1.05);\n z-index: 10;\n position: relative;\n}\n#main-toolbox .draggable-item:hover .addblockbutton {\n display: block;\n}\n#main-toolbox .draggable-item:hover .image {\n box-shadow: 0 0 15px #808080;\n}\n#main-toolbox .draggable-item:hover .block img {\n box-shadow: 0 0 15px #808080;\n}\n#main-toolbox .blockType {\n display: none;\n}\n#main-toolbox .block-list {\n max-width: 346px;\n}\n#main-toolbox .block-list .draggable-item,\n#main-toolbox .block-list .draggable-item img {\n width: 100%;\n}\n#main-toolbox .objEdit.level1.selectable {\n position: relative;\n}\n#main-toolbox .objEdit.level1.selectable:after {\n content: \"\";\n visibility: hidden;\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border-width: 0px 0px;\n border-style: solid solid;\n border-color: currentcolor;\n outline-color: currentcolor;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem:after {\n display: block;\n visibility: visible;\n border: 0 dashed #CC0000;\n border-left-width: 5px;\n border-right-width: 5px;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-toolbox .objEdit.level1.selectable:hover:after {\n display: block;\n visibility: visible;\n outline-width: 1px;\n outline-style: solid;\n border-top-width: 0;\n border-bottom-width: 0;\n}\n#main-toolbox .objEdit.level1.selectable:hover,\n#main-toolbox .objEdit.level1.selectable.selecteditem {\n position: relative;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem {\n z-index: 10;\n}\n#main-toolbox .objEdit.level1.selectable:hover {\n z-index: 11;\n}\n#main-toolbox .blockCheck {\n float: right;\n margin-top: -34px;\n /*\n border-radius: 5px;\n border: 1px solid @mosaico-input-border-color;\n .reverse & {\n background-color: @mosaico-button-background-color;\n }\n */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer {\n width: 56px;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after {\n padding: 1px;\n display: block;\n float: left;\n font-size: 14px;\n line-height: 18px;\n width: 22px;\n opacity: 1;\n height: 18px;\n top: 0;\n left: 0;\n box-sizing: content-box;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after {\n content: \"\\f1b2\";\n /* cubo */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n content: \"\\f1b3\";\n /* cubi */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n width: 22px;\n font-weight: normal;\n min-height: 18px;\n line-height: 18px;\n color: rgba(51, 51, 50, 0.5);\n padding: 2px;\n margin: -1px -2px;\n z-index: 0;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after:focus,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after.inline,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before.inline {\n margin-right: .5em;\n width: auto;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n padding-left: 4px;\n padding-right: 2px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n padding-left: 2px;\n padding-right: 4px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n font-weight: normal;\n min-height: 18px;\n line-height: 18px;\n padding: 4px;\n margin: -3px -2px;\n opacity: 1;\n z-index: 1;\n}\nli #main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\nli #main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n color: #FEFDFC;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after img,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before:hover,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.pressed,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.pressed,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.selected,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.selected {\n text-decoration: none;\n background-color: #191919;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled {\n color: #666665;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled a,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled a,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled .link,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled .link {\n color: #666665;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.inline,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.inline {\n margin: 0 7px 0 0;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.big,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.big .suffix_icon,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.with_button_dropdown_split,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.with_button_dropdown_split.big,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.loading,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n#main-toolbox .workLocal .propInput.global,\n#main-toolbox .workLocal .propInput.global * {\n display: none;\n}\n#main-toolbox .workGlobal .propInput.local.default,\n#main-toolbox .workGlobal .propInput.local.default * {\n display: none;\n}\n#main-toolbox .workGlobal .propInput.global.overridden,\n#main-toolbox .workGlobal .propInput.global.overridden * {\n display: none;\n}\n#main-toolbox .workGlobalContent .propInput.local,\n#main-toolbox .workGlobalContent .propInput.local * {\n display: none;\n}\n#main-toolbox .workGlobalContent .blockCheck {\n display: none;\n}\n#main-toolbox .workGlobalContent .objLabel.level0 {\n margin-right: 0;\n}\n#main-toolbox .customStyled span {\n display: none;\n}\n#main-toolbox .customStyled:before {\n content: \" \";\n}\n#main-toolbox .customStyled:after {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n content: \"\\f1b2\";\n font-size: 14px;\n opacity: 1;\n}\n#main-toolbox #tooldebug {\n overflow: auto;\n}\n.mo-standalone #main-toolbox #tooltabs.ui-tabs > .ui-tabs-nav {\n padding-left: 40px;\n}\n/****************************************************************************************************************************\n * IMAGES GALLERY\n ***************************************************************************************************************************/\n#toolimagesgallery {\n padding: 10px;\n}\n@keyframes slideright {\n 0% {\n left: -450px;\n }\n 100% {\n left: 0;\n }\n}\n@keyframes slideleft {\n 0% {\n left: 0;\n }\n 100% {\n left: -450px;\n }\n}\n#toolimages .pane {\n text-align: center;\n}\n#toolimages .loadbutton,\n#toolimages .galleryPager {\n margin: .5em;\n}\n.slidebar {\n z-index: 200;\n position: absolute;\n top: 0;\n width: 397px;\n left: 0;\n animation: slideright 0.2s ease-out 0s 1;\n border-radius: 0;\n background-color: #FEFDFC;\n box-shadow: 1px 0px 3px #808080;\n}\n.slidebar .close {\n float: right;\n visibility: hidden;\n cursor: pointer;\n width: 24px;\n display: block;\n}\n.slidebar .close:before {\n visibility: visible;\n font-size: 24px;\n font-family: FontAwesome;\n content: '\\f00d';\n position: relative;\n top: 0px;\n right: 0px;\n width: 24px;\n height: 24px;\n}\n.slidebar .pane {\n background-color: #FEFDFC;\n border-radius: 5px;\n margin: 5px;\n padding: 5px;\n}\n.slidebar .pane-title {\n padding: 5px;\n display: block;\n}\n.slidebar.hidden {\n left: -450px;\n animation: slideleft 0.2s ease-out 0s 1;\n}\n#toolimagestab {\n padding: 0.2em;\n}\n#toolimagestab ul.ui-tabs-nav {\n padding: 0;\n}\n#toolimagestab li.ui-state-active a {\n background: none repeat scroll 0% 0% #FFF;\n}\n#toolimagestab .ui-tabs-panel {\n display: block;\n margin-top: 0;\n padding: 15px 18px;\n background: none repeat scroll 0% 0% #FFF;\n border: 1px solid #D2CBB1;\n border-width: 0px 1px 1px;\n}\n/****************************************************************************************************************************\n * PREVIEW\n ***************************************************************************************************************************/\n#main-preview .button,\n#main-preview .ui-button,\n#main-preview .button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\n#main-preview #preview-toolbar {\n padding: 3px 10px;\n text-align: center;\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n z-index: 200;\n}\n#main-preview #frame-container {\n position: absolute;\n top: 40px;\n bottom: 40px;\n left: 0;\n right: 0;\n background-color: #FEFDFC;\n box-shadow: inset 0px 0px 10px #808080;\n}\n#frame-container > iframe {\n border: 0;\n box-sizing: border-box;\n padding: 0 6px;\n width: 100%;\n height: 100%;\n overflow: auto;\n transform-origin: 0 0;\n transform: scale(1);\n}\n#frame-container.desktop > iframe {\n padding: 12px;\n width: 200%;\n height: 200%;\n transform: scale(0.5);\n}\n#frame-container.large > iframe {\n padding: 15px;\n width: 250%;\n height: 250%;\n transform: scale(0.4);\n}\n/*\nSafari Hack: Safari create reflow glitches due to a webkit bug with border-spacing (cellspacing)\nwhen the template being edited makes use of horizontal border spacing.\n See: https://github.com/voidlabs/mosaico/issues/53\nThe following are terrible hacks to make this happens less often.\nIt seems something similar happens to Chrome, too;\n See:; https://github.com/voidlabs/mosaico/issues/85\nSo we broadened the application of this hack to include Chrome.\n*/\n@media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0) { @media {\n #main-wysiwyg-area table:not(.img-wysiwyg), #main-wysiwyg-area .selected table:not(.img-wysiwyg):hover {\n position: relative;\n }\n #main-wysiwyg-area table:not(.img-wysiwyg):hover, #main-wysiwyg-area .selected table:not(.img-wysiwyg) {\n position: static;\n }\n}}\n\n#main-edit-area .editable {\n position: relative;\n}\n/* minimum size for empty dropzones */\n#main-edit-area .sortable-blocks-edit.empty {\n min-height: 200px;\n height: 200px;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 20px 30px;\n border: 2px dashed currentcolor;\n border-radius: 20px;\n animation: border-color-selection-pulsate 4s infinite;\n position: relative;\n}\n#main-edit-area .sortable-blocks-edit.empty:after {\n content: attr(data-empty-content);\n font-size: 21.76px;\n font-weight: normal;\n text-decoration: none;\n font-family: \"trebuchet ms\", arial, sans-serif;\n}\n#main-edit-area .isdragging .sortable-blocks-edit.empty:after {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(204, 0, 0, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #CC0000;\n z-index: 10;\n pointer-events: none;\n height: auto;\n bottom: -14px;\n}\n@keyframes pulse {\n 0% {\n left: -10px;\n right: -10px;\n opacity: .8;\n }\n 100% {\n left: -30px;\n right: -30px;\n opacity: 0;\n }\n}\n@keyframes slidein {\n 0% {\n transform: scale(1.5, 1.5);\n opacity: 0;\n }\n 100% {\n transform: scale(1, 1);\n opacity: 1;\n }\n}\n@keyframes slidein2 {\n 0% {\n margin-left: -30%;\n margin-right: 30%;\n opacity: 0;\n }\n 100% {\n margin-left: 0;\n margin-right: 0;\n opacity: 1;\n }\n}\n#main-edit-area .sortable-placeholder {\n animation: slidein .2s linear 0s 1;\n}\n#main-edit-area .sortable-placeholder:after {\n content: \"\";\n position: absolute;\n top: -10px;\n left: -10px;\n right: -10px;\n bottom: -10px;\n border: 10px solid red;\n border-color: rgba(255, 0, 0, 0.1) red rgba(255, 0, 0, 0.1) red;\n z-index: 50;\n opacity: .8;\n}\n#main-edit-area .img-wysiwyg {\n position: relative;\n /* questo dovrebbe avere lo stesso stile dell'immagine rimpiazzata! */\n /* display: inline-block; */\n display: block;\n width: auto;\n}\n#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg:before {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(204, 0, 0, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #CC0000;\n z-index: 10;\n pointer-events: none;\n line-height: 45px;\n height: auto;\n top: -10px;\n bottom: -10px;\n}\n#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg.ui-state-draghover:before {\n background-color: rgba(204, 0, 0, 0.8);\n animation: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mo-blockselectionhelper {\n content: \"\";\n visibility: hidden;\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -3px;\n left: -12px;\n right: -12px;\n border-width: 0px 0px;\n border-style: solid solid;\n border-color: currentcolor;\n outline-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper {\n display: block;\n visibility: visible;\n border: 0 dashed #CC0000;\n border-left-width: 10px;\n border-right-width: 10px;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper {\n display: block;\n visibility: visible;\n outline-width: 1px;\n outline-style: solid;\n border-top-width: 0;\n border-bottom-width: 0;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover,\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover {\n z-index: 11;\n}\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder) + div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):before,\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):first-child:before,\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(204, 0, 0, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #CC0000;\n z-index: 10;\n pointer-events: none;\n}\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after {\n bottom: -20px;\n top: auto;\n}\n#main-edit-area .editable.sortable-placeholder:hover .tools {\n visibility: hidden;\n}\n#main-edit-area .editable:hover .tools {\n visibility: visible;\n}\n#main-edit-area .ui-sortable-helper > *,\n#main-edit-area .ui-sortable-helper .tools > * {\n opacity: .3;\n}\n#main-edit-area .ui-sortable-helper .tools,\n#main-edit-area .ui-sortable-helper .tools .handle {\n opacity: 1;\n}\n#main-edit-area .tool {\n font-size: 1.0em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n font-weight: bold;\n display: inline-block;\n text-align: center;\n width: 25px;\n height: 25px;\n font-size: 20px;\n padding: 3px;\n padding-bottom: 2px;\n margin: 0;\n min-height: auto;\n box-shadow: 0 0 5px #ffffff;\n cursor: pointer;\n}\nli #main-edit-area .tool {\n color: #FEFDFC;\n}\n#main-edit-area .tool img {\n vertical-align: middle;\n margin: 0 .2em;\n}\n#main-edit-area .tool:hover,\n#main-edit-area .tool.pressed,\n#main-edit-area .tool.selected {\n text-decoration: none;\n background-color: #191919;\n}\n#main-edit-area .tool.disabled {\n color: #666665;\n}\n#main-edit-area .tool.disabled a,\n#main-edit-area .tool.disabled .link {\n color: #666665;\n}\n#main-edit-area .tool.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n#main-edit-area .tool.inline {\n margin: 0 7px 0 0;\n}\n#main-edit-area .tool.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n#main-edit-area .tool.primary:hover {\n background-color: #69010a;\n border-color: #69010a;\n}\n#main-edit-area .tool.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n#main-edit-area .tool.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n#main-edit-area .tool.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n#main-edit-area .tool.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n#main-edit-area .tool.loading {\n opacity: .5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n#main-edit-area .tool input.fileupload {\n padding-top: 50px;\n}\n#main-edit-area .tool:hover {\n background-color: #191919;\n}\n#main-edit-area .tools .tool.handle {\n float: left;\n margin-left: 16px;\n cursor: move;\n}\n#main-edit-area .tools .tool.moveup,\n#main-edit-area .tools .tool.movedown {\n float: left;\n margin-left: 3px;\n}\n#main-edit-area .tools .tool.delete,\n#main-edit-area .tools .tool.clone {\n float: right;\n margin-left: 3px;\n}\n#main-edit-area .tools .tool.delete {\n margin-right: 16px;\n}\n#main-edit-area .midtools {\n visibility: hidden;\n z-index: 30;\n position: absolute;\n bottom: 16px;\n width: 100%;\n text-align: left;\n}\n#main-edit-area .img-wysiwyg:hover .midtools {\n visibility: visible;\n}\n#main-edit-area .uploading .midtools {\n visibility: hidden !important;\n}\n#main-edit-area .uploading .fileuploadtext {\n visibility: hidden !important;\n}\n#main-edit-area .uploading .fileupload.withfile {\n visibility: hidden;\n}\n#main-edit-area .img-wysiwyg .img-size {\n visibility: hidden;\n position: absolute;\n top: 0;\n right: 0;\n padding: 2px;\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 12px;\n background-color: rgba(128, 128, 128, 0.5);\n color: white;\n}\n#main-edit-area .img-wysiwyg:hover .img-size {\n visibility: visible;\n}\n#main-edit-area .midtools .tool {\n z-index: 20;\n margin-left: 8px;\n}\n#main-edit-area .tools {\n position: absolute;\n visibility: hidden;\n margin: 0;\n top: -16px;\n left: 0;\n right: 0;\n height: 1px;\n z-index: 20;\n text-align: center;\n /* width: 100%;*/\n /* padding: 0.25em; */\n}\n#main-wysiwyg-area {\n backface-visibility: hidden;\n background-color: white;\n}\n#main-edit-area,\n#main-toolbox,\n#main-preview {\n position: absolute;\n top: 0;\n bottom: 0;\n}\n#main-wysiwyg-area a[href] {\n cursor: default !important;\n}\n#main-wysiwyg-area a[contenteditable] {\n cursor: text !important;\n}\n#main-wysiwyg-area span[contenteditable]:empty,\n#main-wysiwyg-area a[contenteditable]:empty {\n display: inline-block;\n min-width: 50px;\n}\n#main-wysiwyg-area div[contenteditable],\n#main-wysiwyg-area p[contenteditable],\n#main-wysiwyg-area td[contenteditable] {\n min-width: 50px;\n}\n#main-edit-area .mce-edit-focus {\n outline: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after {\n content: \"\";\n visibility: hidden;\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border-width: 0px 0px;\n border-style: solid solid;\n border-color: currentcolor;\n outline-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after {\n display: block;\n visibility: visible;\n border: 1px dashed #CC0000;\n border-left-width: 5px;\n border-right-width: 5px;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after {\n display: block;\n visibility: visible;\n outline-width: 1px;\n outline-style: solid;\n border-top-width: 0;\n border-bottom-width: 0;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover,\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover {\n z-index: 11;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img .mo-imgselectionhelper {\n content: \"\";\n visibility: hidden;\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border-width: 0px 0px;\n border-style: solid solid;\n border-color: currentcolor;\n outline-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper {\n display: block;\n visibility: visible;\n border: 1px dashed #CC0000;\n border-left-width: 5px;\n border-right-width: 5px;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper {\n display: block;\n visibility: visible;\n outline-width: 1px;\n outline-style: solid;\n border-top-width: 0;\n border-bottom-width: 0;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover,\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover {\n z-index: 11;\n}\n#main-edit-area .textMiddle {\n text-shadow: none !important;\n font-weight: bold;\n background-color: rgba(255, 255, 255, 0.2);\n /* border-radius: 5px; */\n padding: 3px;\n position: absolute;\n top: 2px;\n left: 2px;\n right: 2px;\n}\n#main-wysiwyg-area replacedbody {\n position: relative;\n display: block;\n min-height: 100%;\n max-width: 700px;\n margin: 0 auto !important;\n padding: 16px 20px !important;\n}\n@media (min-width: 1400px) {\n #main-wysiwyg-area replacedbody {\n max-width: 800px;\n }\n}\n@media (min-width: 1600px) {\n #main-wysiwyg-area replacedbody {\n max-width: 900px;\n }\n}\n@media (max-width: 1700px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody {\n max-width: 700px;\n }\n}\n@media (min-width: 1700px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody {\n max-width: 800px;\n }\n}\n@media (max-width: 1400px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody:before,\n .withPreviewFrame #main-wysiwyg-area replacedbody:after {\n display: none;\n }\n}\n@media (min-width: 1100px) {\n #main-wysiwyg-area replacedbody:before,\n #main-wysiwyg-area replacedbody:after {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 40px;\n bottom: 0;\n background: linear-gradient(90deg, rgba(255, 255, 255, 0) 19%, white 21%, white 79%, rgba(255, 255, 255, 0) 81%), linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 28%, white 28%, white 72%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 0) 75%), linear-gradient(-135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 28%, white 28%, white 72%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 0) 75%), linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, #CCC 25%, white 28%, white 72%, #CCC 75%, rgba(255, 255, 255, 0) 75%), linear-gradient(-135deg, rgba(255, 255, 255, 0) 25%, #CCC 25%, white 28%, white 72%, #CCC 75%, rgba(255, 255, 255, 0) 75%);\n background-size: 80px 20px;\n background-position: left -40px top 0;\n z-index: 1;\n }\n #main-wysiwyg-area replacedbody:after {\n left: auto;\n right: 0;\n background-position: left 0px top 0;\n }\n}\n.mce-toolbar-grp.mce-panel .mce-btn-group {\n box-shadow: 0 0 5px #ffffff;\n}\n/**************************************************************************************************************************\n * TINYMCE / MOXIEMANAGER HTML ELEMENTS\n *************************************************************************************************************************/\n/**\n * moxiemanager window\n */\n.moxman-window,\n.mce-window {\n border: none;\n border-top-left-radius: 7px;\n border-top-right-radius: 7px;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n overflow: hidden;\n}\n.moxman-window .moxman-window-head,\n.mce-window .moxman-window-head,\n.moxman-window .mce-window-head,\n.mce-window .mce-window-head {\n background: none #D2CBB1;\n font-size: 1.1em;\n}\n.moxman-window .moxman-window-head .moxman-title,\n.mce-window .moxman-window-head .moxman-title,\n.moxman-window .mce-window-head .moxman-title,\n.mce-window .mce-window-head .moxman-title,\n.moxman-window .moxman-window-head .mce-title,\n.mce-window .moxman-window-head .mce-title,\n.moxman-window .mce-window-head .mce-title,\n.mce-window .mce-window-head .mce-title {\n color: #333332;\n}\n.moxman-window .moxman-window-head button.moxman-close,\n.mce-window .moxman-window-head button.moxman-close,\n.moxman-window .mce-window-head button.moxman-close,\n.mce-window .mce-window-head button.moxman-close,\n.moxman-window .moxman-window-head button.mce-close,\n.mce-window .moxman-window-head button.mce-close,\n.moxman-window .mce-window-head button.mce-close,\n.mce-window .mce-window-head button.mce-close {\n color: #FEFDFC;\n font-size: 1.6em;\n top: 6px;\n}\n.moxman-window .moxman-window-head button.moxman-close:hover,\n.mce-window .moxman-window-head button.moxman-close:hover,\n.moxman-window .mce-window-head button.moxman-close:hover,\n.mce-window .mce-window-head button.moxman-close:hover,\n.moxman-window .moxman-window-head button.mce-close:hover,\n.mce-window .moxman-window-head button.mce-close:hover,\n.moxman-window .mce-window-head button.mce-close:hover,\n.mce-window .mce-window-head button.mce-close:hover {\n color: #333332;\n}\n.moxman-window .moxman-panel,\n.mce-window .moxman-panel,\n.moxman-window .mce-panel,\n.mce-window .mce-panel {\n background-color: #FEFDFC;\n}\n.moxman-window .moxman-container-body .moxman-panel.moxman-first,\n.mce-window .moxman-container-body .moxman-panel.moxman-first,\n.moxman-window .mce-container-body .moxman-panel.moxman-first,\n.mce-window .mce-container-body .moxman-panel.moxman-first,\n.moxman-window .moxman-container-body .mce-panel.mce-first,\n.mce-window .moxman-container-body .mce-panel.mce-first,\n.moxman-window .mce-container-body .mce-panel.mce-first,\n.mce-window .mce-container-body .mce-panel.mce-first {\n border-bottom: none;\n}\n.moxman-window div.moxman-filelist-head,\n.mce-window div.moxman-filelist-head {\n background-color: #FEFDFC;\n border-bottom: none;\n}\n.moxman-window .moxman-filelist,\n.mce-window .moxman-filelist {\n border-top: 2px solid #f1e4d6;\n /* HIDE CHECKBOX: .moxman-filelist-body td:first-child, .moxman-filelist-head td:first-child {\n display: none;\n }*/\n}\n.moxman-window .moxman-filelist .moxman-filelist-row td,\n.mce-window .moxman-filelist .moxman-filelist-row td {\n background-color: #f1eee6;\n border-bottom: none;\n}\n.moxman-window .moxman-filelist .moxman-filelist-odd td,\n.mce-window .moxman-filelist .moxman-filelist-odd td {\n background-color: #FEFDFC;\n}\n.moxman-window .moxman-filelist tr.moxman-checked,\n.mce-window .moxman-filelist tr.moxman-checked,\n.moxman-window .moxman-filelist tr.moxman-checked td,\n.mce-window .moxman-filelist tr.moxman-checked td {\n background-color: #FFFF90;\n color: #333332;\n}\n.moxman-window .moxman-filelist tr.moxman-checked div .moxman-txt,\n.mce-window .moxman-filelist tr.moxman-checked div .moxman-txt,\n.moxman-window .moxman-filelist tr.moxman-checked td div .moxman-txt,\n.mce-window .moxman-filelist tr.moxman-checked td div .moxman-txt,\n.moxman-window .moxman-filelist tr.moxman-checked i.moxman-ico,\n.mce-window .moxman-filelist tr.moxman-checked i.moxman-ico,\n.moxman-window .moxman-filelist tr.moxman-checked td i.moxman-ico,\n.mce-window .moxman-filelist tr.moxman-checked td i.moxman-ico {\n color: #333332;\n}\n.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-down,\n.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-down {\n border-top-color: #333332;\n}\n.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-up,\n.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-up {\n border-bottom-color: #333332;\n}\n.moxman-window .moxman-thumbnailview,\n.mce-window .moxman-thumbnailview {\n border-top: 2px solid #f1e4d6;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb,\n.mce-window .moxman-thumbnailview .moxman-thumb {\n border: 1px solid #f1eee6;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb:hover,\n.mce-window .moxman-thumbnailview .moxman-thumb:hover,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked {\n outline: 2px solid #FFFF90;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info {\n background-color: #f1eee6;\n color: #333332;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox {\n background-color: #FEFDFC;\n color: #333332;\n border: 1px solid #333332;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before {\n color: #333332;\n}\n.moxman-window i.moxman-i-checkbox,\n.mce-window i.moxman-i-checkbox,\n.moxman-window i.mce-i-checkbox,\n.mce-window i.mce-i-checkbox {\n background-color: transparent;\n}\n.moxman-window .mce-listbox,\n.mce-window .mce-listbox,\n.moxman-window .mce-listbox:hover,\n.mce-window .mce-listbox:hover,\n.moxman-window .mce-listbox.mce-active,\n.mce-window .mce-listbox.mce-active,\n.moxman-window .mce-listbox.mce-active:hover,\n.mce-window .mce-listbox.mce-active:hover,\n.moxman-window .mce-listbox:focus,\n.mce-window .mce-listbox:focus {\n background-color: transparent;\n text-shadow: none;\n border: 1px solid #C5C5C5;\n}\n.moxman-window .mce-listbox span,\n.mce-window .mce-listbox span,\n.moxman-window .mce-listbox:hover span,\n.mce-window .mce-listbox:hover span,\n.moxman-window .mce-listbox.mce-active span,\n.mce-window .mce-listbox.mce-active span,\n.moxman-window .mce-listbox.mce-active:hover span,\n.mce-window .mce-listbox.mce-active:hover span,\n.moxman-window .mce-listbox:focus span,\n.mce-window .mce-listbox:focus span,\n.moxman-window .mce-listbox .mce-ico,\n.mce-window .mce-listbox .mce-ico,\n.moxman-window .mce-listbox:hover .mce-ico,\n.mce-window .mce-listbox:hover .mce-ico,\n.moxman-window .mce-listbox.mce-active .mce-ico,\n.mce-window .mce-listbox.mce-active .mce-ico,\n.moxman-window .mce-listbox.mce-active:hover .mce-ico,\n.mce-window .mce-listbox.mce-active:hover .mce-ico,\n.moxman-window .mce-listbox:focus .mce-ico,\n.mce-window .mce-listbox:focus .mce-ico {\n color: #333332;\n}\n.moxman-window .mce-listbox i.mce-caret,\n.mce-window .mce-listbox i.mce-caret,\n.moxman-window .mce-listbox:hover i.mce-caret,\n.mce-window .mce-listbox:hover i.mce-caret,\n.moxman-window .mce-listbox.mce-active i.mce-caret,\n.mce-window .mce-listbox.mce-active i.mce-caret,\n.moxman-window .mce-listbox.mce-active:hover i.mce-caret,\n.mce-window .mce-listbox.mce-active:hover i.mce-caret,\n.moxman-window .mce-listbox:focus i.mce-caret,\n.mce-window .mce-listbox:focus i.mce-caret {\n border-top-color: #333332;\n}\n.moxman-window .moxman-btn i,\n.mce-window .moxman-btn i,\n.moxman-window .mce-btn i,\n.mce-window .mce-btn i {\n text-shadow: none;\n}\n.moxman-window input,\n.mce-window input,\n.moxman-window select,\n.mce-window select,\n.moxman-window textarea,\n.mce-window textarea,\n.moxman-window button,\n.mce-window button {\n max-width: none;\n}\n.moxman-tooltip,\n.mce-tooltip {\n z-index: 500000 !important;\n}\n.mce-toolbar-grp.mce-panel,\n.mce-tinymce-inline {\n background-color: transparent !important;\n border-color: transparent !important;\n}\n.mce-menu,\n.moxman-menu {\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n}\n@keyframes border-color-selection-pulsate {\n 0% {\n border-color: currentcolor;\n }\n 40% {\n border-color: #CC0000;\n }\n 60% {\n border-color: #CC0000;\n }\n 100% {\n border-color: currentcolor;\n }\n}\n@keyframes droppable-pulsate {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0.1;\n }\n}\n/****************************************************************************************************************************\n * PAGE SETTINGS\n * Base styles / reset, full page layout\n ***************************************************************************************************************************/\nbody {\n background-color: #D2CBB1;\n margin: 0;\n overflow: hidden;\n /* otherwsie TinyMCE menues sometimes makes scrollbars show in main body */\n}\ninput,\nselect,\ntextarea,\nbutton {\n font-family: inherit;\n font-size: inherit;\n max-width: 100%;\n}\n* {\n user-select: none;\n}\ninput,\ntextarea,\n[contenteditable],\n[contenteditable] *,\n.evo-color span {\n user-select: text;\n}\na[disabledhref] {\n color: #06C;\n color: -webkit-link;\n text-decoration: underline;\n cursor: auto;\n}\na[disabledhref]:-moz-read-write {\n text-decoration: underline -moz-anchor-decoration;\n color: -moz-hyperlinktext;\n}\n/****************************************************************************************************************************\n * LAYOUT\n ***************************************************************************************************************************/\n#page {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n}\n#main-edit-area {\n left: 0;\n right: 0;\n overflow: hidden;\n}\n#main-edit-area,\n#toolbar {\n min-width: 600px;\n}\n#toolbar {\n z-index: 110 !important;\n background-color: #D2CBB1;\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 40px;\n}\n#main-toolbox {\n backface-visibility: hidden;\n display: none;\n left: 0;\n width: 400px;\n box-shadow: 0 0 10px #808080, 0 0 5px #808080;\n}\n.withToolbox #main-toolbox {\n display: block;\n}\n.withToolbox #main-edit-area,\n.withToolbox #toolbar {\n left: 400px;\n}\n#main-preview {\n backface-visibility: hidden;\n display: none;\n right: 0;\n width: 340px;\n overflow: hidden;\n}\n.withPreviewFrame #main-preview {\n display: block;\n}\n.withPreviewFrame #main-edit-area {\n right: 345px;\n}\n#main-edit-area:before,\n#main-edit-area:after,\n#frame-container:before,\n#frame-container:after {\n content: \"\";\n display: block;\n position: absolute;\n border: 0;\n height: 40px;\n box-shadow: 0px 1px 10px #808080, 0px 0px 5px #808080;\n left: 0;\n right: 0;\n top: 0;\n z-index: 100;\n}\n#main-edit-area:after {\n top: auto;\n bottom: -40px;\n}\n#frame-container:before {\n top: -40px;\n}\n#frame-container:after {\n top: auto;\n bottom: -40px;\n}\n#main-wysiwyg-area {\n position: absolute;\n top: 40px;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n -webkit-transform: translate3d(0, 0, 0);\n}\n/****************************************************************************************************************************\n * GENERIC UTILITIES: \n * DRAG&DROP, UPLOADER, TOASTER, TOOLTIP, FONTS, LOADER\n ***************************************************************************************************************************/\n#main-toolbox .draggable.image {\n width: 85px;\n height: 85px;\n text-align: center;\n vertical-align: middle;\n padding: 5px;\n border: 0;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n}\n#main-toolbox .draggable.image img {\n opacity: 0;\n}\n.ui-draggable-dragging {\n z-index: 10000;\n}\n.ui-draggable-dragging.sortable-placeholder {\n top: 0 !important;\n left: 0 !important;\n}\n.uploading .fileuploadtext {\n display: none;\n}\n.fileuploadtext {\n top: 0px !important;\n left: 0px !important;\n right: 0px !important;\n bottom: 0px !important;\n color: #000000;\n}\n.uploadzone .fileuploadtext {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n}\n.isdragging .uploadzone .fileuploadtext,\n.isdraggingimg .uploadzone .fileuploadtext {\n display: none !important;\n}\n.uploadzone .progress {\n display: none;\n}\n.uploadzone.uploading .progress {\n display: block;\n}\n/* this is needed to push a dropzone over a \"makeDroppable\" (greater z-index)\n because IE10 doesn't support \"pointer-events: none\" and images drag/drop from desktop wouldn't work */\n.mo-uploadzone {\n position: absolute;\n z-index: 15;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n display: block;\n}\n.toast-bottom-full-width {\n margin-left: 25%;\n margin-right: 25%;\n width: 50% !important;\n}\nbody > .ui-tooltip {\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-size: 14px;\n border-width: 0px;\n padding: 8px;\n position: absolute;\n z-index: 9999;\n max-width: 300px;\n box-shadow: 0px 0px 5px #AAA;\n}\n.ui-helper-hidden-accessible {\n border: 0px none;\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute !important;\n width: 1px;\n}\ni.mce-i-newsletter-profile:before {\n content: '\\e826';\n font-family: \"fontello\";\n}\n@keyframes loading {\n 0% {\n transform: scale(1, 1) rotate(0deg);\n }\n 50% {\n transform: scale(1.5, 1.5) rotate(360deg);\n }\n 100% {\n transform: scale(1, 1) rotate(720deg);\n }\n}\n.mo-standalone #loading.loading img {\n animation: loading 4s linear infinite;\n}\n@keyframes broken {\n 0% {\n opacity: 0;\n }\n 95% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n#loading.loading div {\n animation: broken 10s linear forwards;\n padding: 1em;\n opacity: 1;\n}\n#carousel-dialog .carousel-buttons {\n position: absolute;\n right: 5px;\n bottom: 10px;\n}\n#carousel-dialog .carousel-buttons .button {\n font-size: 1.2em;\n}\n#carousel-dialog .carousel-remember {\n font-size: 1.2em;\n position: absolute;\n left: 10px;\n bottom: 17px;\n}\n#carousel-dialog .carousel-remember input {\n vertical-align: middle;\n margin-right: .2em;\n}\n#carousel-dialog .owl-carousel {\n height: 550px;\n}\n#carousel-dialog .owl-controls {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 7px;\n}\n#carousel-dialog .owl-controls .owl-page.active span {\n background-color: #333332;\n}\n#carousel-dialog .owl-controls .owl-page span {\n background-color: #D2CBB1;\n /*opacity: 1;*/\n}\n#carousel-dialog .carousel-help {\n margin-top: 5px;\n font-size: 1.2em;\n}\n#carousel-dialog .carousel-help-text {\n line-height: 1.5em;\n}\n#carousel-dialog .carousel-help-text.large-width {\n width: 80%;\n margin: 0 auto;\n}\n#carousel-dialog .carousel-help-text p {\n padding: .5em;\n}\n#carousel-dialog .carousel-help .left {\n margin-right: 20px;\n}\n#carousel-dialog .carousel-help .top {\n margin-bottom: 10px;\n}\n#carousel-dialog .carousel-help-balloon {\n display: flex;\n display: -webkit-flex;\n display: -ms-flexbox;\n align-items: center;\n -webkit-align-items: center;\n /*-ms-flex-align: center; -webkit-box-align: center;*/\n justify-content: center;\n text-align: center;\n overflow: auto;\n padding: 0 .5em;\n}\n#carousel-dialog .carousel-help-balloon > div {\n width: 100%;\n}\n.toast-title {\n font-weight: bold;\n}\n.toast-message {\n -ms-word-wrap: break-word;\n word-wrap: break-word;\n}\n.toast-message a,\n.toast-message label {\n color: #FFFFFF;\n}\n.toast-message a:hover {\n color: #CCCCCC;\n text-decoration: none;\n}\n.toast-close-button {\n position: relative;\n right: -0.3em;\n top: -0.3em;\n float: right;\n font-size: 20px;\n font-weight: bold;\n color: #FFFFFF;\n -webkit-text-shadow: 0 1px 0 #ffffff;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n line-height: 1;\n}\n.toast-close-button:hover,\n.toast-close-button:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n.rtl .toast-close-button {\n left: -0.3em;\n float: left;\n right: 0.3em;\n}\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.toast-top-center {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-center {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-full-width {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-full-width {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-left {\n top: 12px;\n left: 12px;\n}\n.toast-top-right {\n top: 12px;\n right: 12px;\n}\n.toast-bottom-right {\n right: 12px;\n bottom: 12px;\n}\n.toast-bottom-left {\n bottom: 12px;\n left: 12px;\n}\n#toast-container {\n position: fixed;\n z-index: 999999;\n pointer-events: none;\n /*overrides*/\n}\n#toast-container * {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n#toast-container > div {\n position: relative;\n pointer-events: auto;\n overflow: hidden;\n margin: 0 0 6px;\n padding: 15px 15px 15px 50px;\n width: 300px;\n -moz-border-radius: 3px 3px 3px 3px;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n background-position: 15px center;\n background-repeat: no-repeat;\n -moz-box-shadow: 0 0 12px #999999;\n -webkit-box-shadow: 0 0 12px #999999;\n box-shadow: 0 0 12px #999999;\n color: #FFFFFF;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n}\n#toast-container > div.rtl {\n direction: rtl;\n padding: 15px 50px 15px 15px;\n background-position: right 15px center;\n}\n#toast-container > div:hover {\n -moz-box-shadow: 0 0 12px #000000;\n -webkit-box-shadow: 0 0 12px #000000;\n box-shadow: 0 0 12px #000000;\n opacity: 1;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n filter: alpha(opacity=100);\n cursor: pointer;\n}\n#toast-container > .toast-info {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-error {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-success {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important;\n}\n#toast-container > .toast-warning {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important;\n}\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div {\n width: 300px;\n margin-left: auto;\n margin-right: auto;\n}\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n width: 96%;\n margin-left: auto;\n margin-right: auto;\n}\n.toast {\n background-color: #030303;\n}\n.toast-success {\n background-color: #51A351;\n}\n.toast-error {\n background-color: #BD362F;\n}\n.toast-info {\n background-color: #2F96B4;\n}\n.toast-warning {\n background-color: #F89406;\n}\n.toast-progress {\n position: absolute;\n left: 0;\n bottom: 0;\n height: 4px;\n background-color: #000000;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 11em;\n }\n #toast-container > div.rtl {\n padding: 8px 50px 8px 8px;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n #toast-container .rtl .toast-close-button {\n left: -0.2em;\n right: 0.2em;\n }\n}\n@media all and (min-width: 241px) and (max-width: 480px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 18em;\n }\n #toast-container > div.rtl {\n padding: 8px 50px 8px 8px;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n #toast-container .rtl .toast-close-button {\n left: -0.2em;\n right: 0.2em;\n }\n}\n@media all and (min-width: 481px) and (max-width: 768px) {\n #toast-container > div {\n padding: 15px 15px 15px 50px;\n width: 25em;\n }\n #toast-container > div.rtl {\n padding: 15px 50px 15px 15px;\n }\n}\n/*\n evol.colorpicker 3.2.2\n (c) 2015 Olivier Giulieri\n http://evoluteur.github.io/colorpicker/\n*/\n.evo-pop {\n z-index: 10000;\n width: 204px;\n padding: 3px 3px 0;\n}\n.evo-pop-ie {\n z-index: 10000;\n width: 212px;\n padding: 3px;\n}\n.evo-palette td {\n font-size: 1px;\n border: solid 1px #c0c0c0;\n padding: 7px;\n cursor: pointer;\n}\n.evo-palette tr.top > td {\n border-bottom: 0;\n}\n.evo-palette tr.in > td {\n border-top: 0;\n border-bottom: 0;\n}\n.evo-palette tr.bottom > td {\n border-top: 0;\n}\n.evo-palette div.sep {\n height: 3px;\n}\n.evo-palette,\n.evo-palette-ie {\n border-collapse: separate;\n border-spacing: 4px 0px;\n *border-collapse: expression('separate', cellSpacing='2px');\n}\n.evo-palette th,\n.evo-palette-ie th {\n border: 0;\n padding: 5px 3px;\n text-align: left;\n font-weight: normal;\n background: transparent !important;\n}\n.evo-palette-ie td {\n font-size: 1px;\n border: solid 1px #c0c0c0;\n padding: 7px;\n cursor: pointer;\n}\n.evo-palette2,\n.evo-palette2-ie {\n margin: auto;\n border-collapse: collapse;\n}\n.evo-palette2 td,\n.evo-palette2-ie td {\n font-size: 1px;\n cursor: pointer;\n}\n.evo-palette2 td {\n padding: 6px 7px;\n}\n.evo-palette2-ie td {\n padding: 5px;\n}\n.evo-palcenter {\n padding: 5px;\n text-align: center;\n}\n.evo-colorind,\n.evo-colorind-ie,\n.evo-colorind-ff {\n border: solid 1px #c3c3c3;\n width: 18px;\n height: 18px;\n float: right;\n}\n.evo-colorind-ie {\n position: relative;\n top: -23px;\n}\n.evo-colorbox-ie {\n font-size: 8px;\n padding: 3px 9px !important;\n}\n/*\n.evo-colortxt-ie {\n\tposition:relative;\n\ttop:-6px;\n}*/\n.evo-pop:after,\n.evo-pop-ie:after,\n.evo-colorind:after,\n.evo-colorind-ie:after,\n.evo-colorind-ff:after,\n.evo-color span:after,\n.evo-cHist:after {\n content: \".\";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n font-size: 0;\n}\n.evo-color {\n width: 94px;\n padding: 1px 3px 0 4px;\n}\n.evo-color div {\n border: solid 1px #808080;\n border-right: solid 1px #c0c0c0;\n border-bottom: solid 1px #c0c0c0;\n padding: 3px;\n margin-bottom: 5px;\n width: 10px;\n height: 10px;\n float: left;\n}\n.evo-color span {\n font-size: 15px;\n margin: 1px 0 4px 3px;\n float: left;\n}\n.evo-sep {\n height: 10px;\n font-size: 0;\n}\n.evo-more {\n padding: 4px 5px 4px;\n font-size: smaller;\n}\n.evo-cHist {\n padding: 3px;\n}\n.evo-cHist div {\n cursor: pointer;\n border: solid 1px #c0c0c0;\n padding: 3px;\n margin: 5px;\n width: 10px;\n height: 10px;\n float: left;\n}\n.evo-transparent {\n background-image: repeating-linear-gradient(135deg, #000000, #000000 1px, #ffffff 1px, #ffffff 3px);\n}\n.evo-tr-box {\n cursor: pointer;\n border: solid 1px #c0c0c0;\n padding: 3px;\n width: 7px;\n height: 7px;\n float: right;\n position: relative;\n right: -3px;\n top: 2px;\n}\na.evo-hist {\n margin-left: 6px;\n}\n.evo-pointer {\n cursor: pointer;\n}\n.evo-hidden-button {\n display: none;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL2xlc3MvcGF0aC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9jb3JlLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9sZXNzL2xhcmdlci5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9maXhlZC13aWR0aC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9saXN0Lmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9sZXNzL2JvcmRlcmVkLXB1bGxlZC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9hbmltYXRlZC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvbGVzcy9yb3RhdGVkLWZsaXBwZWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9sZXNzL3N0YWNrZWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL2xlc3MvaWNvbnMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL2xlc3MvdmFyaWFibGVzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9sZXNzL3NjcmVlbi1yZWFkZXIubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfbW9zYWljb190b29scy5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV92YXJpYWJsZXMubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfbW9zYWljby5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50cy5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50c19taXhpbnMubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfZWxlbWVudHNfanF1ZXJ5Lmxlc3MiLCIuLi9zcmMvY3NzL3NhZmFyaWhhY2suY3NzIiwiLi4vc3JjL2Nzcy9zdHlsZV9tb3NhaWNvX2NvbnRlbnQubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfZWxlbWVudHNfbW94aWUubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvdG9hc3RyL3RvYXN0ci5jc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2V2b2wtY29sb3JwaWNrZXIvY3NzL2V2b2wuY29sb3JwaWNrZXIuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBO0VBQ0UsYUFBYSxhQUFiO0VBQ0EsU0FBUywyQ0FBVDtFQUNBLFNBQVMsbURBQWtFLE9BQU8sMEJBQzVFLDhDQUE2RCxPQUFPLGNBQ3BFLDZDQUE0RCxPQUFPLGFBQ25FLDRDQUEyRCxPQUFPLGlCQUNsRSwrREFBOEUsT0FBTyxNQUozRjtFQU1BLG1CQUFBO0VBQ0Esa0JBQUE7O0FDVkYsQ0FBQztFQUNDLHFCQUFBO0VBQ0EsNkNBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTs7O0FDTEYsQ0FBQyxFQUFnQjtFQUNmLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTs7QUFFRixDQUFDLEVBQWdCO0VBQU0sY0FBQTs7QUFDdkIsQ0FBQyxFQUFnQjtFQUFNLGNBQUE7O0FBQ3ZCLENBQUMsRUFBZ0I7RUFBTSxjQUFBOztBQUN2QixDQUFDLEVBQWdCO0VBQU0sY0FBQTs7QUNWdkIsQ0FBQyxFQUFnQjtFQUNmLG1CQUFBO0VBQ0Esa0JBQUE7O0FDREYsQ0FBQyxFQUFnQjtFQUNmLGVBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUhGLENBQUMsRUFBZ0IsR0FJZjtFQUFPLGtCQUFBOztBQUVULENBQUMsRUFBZ0I7RUFDZixrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBOztBQUNBLENBTkQsRUFBZ0IsR0FN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 */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file diff --git a/public/mosaico/dist/mosaico.min.js b/public/mosaico/dist/mosaico.min.js new file mode 100644 index 00000000..9d5cda58 --- /dev/null +++ b/public/mosaico/dist/mosaico.min.js @@ -0,0 +1,1513 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Mosaico = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0,i=n?"-ie":"",a=n?!1:/mozilla/.test(o.toLowerCase())&&!/webkit/.test(o.toLowerCase()),r=[],l=["ffffff","000000","eeece1","1f497d","4f81bd","c0504d","9bbb59","8064a2","4bacc6","f79646"],s=["f2f2f2","7f7f7f","ddd9c3","c6d9f0","dbe5f1","f2dcdb","ebf1dd","e5e0ec","dbeef3","fdeada","d8d8d8","595959","c4bd97","8db3e2","b8cce4","e5b9b7","d7e3bc","ccc1d9","b7dde8","fbd5b5","bfbfbf","3f3f3f","938953","548dd4","95b3d7","d99694","c3d69b","b2a2c7","92cddc","fac08f","a5a5a5","262626","494429","17365d","366092","953734","76923c","5f497a","31859b","e36c09","7f7f7f","0c0c0c","1d1b10","0f243e","244061","632423","4f6128","3f3151","205867","974806"],d=["c00000","ff0000","ffc000","ffff00","92d050","00b050","00b0f0","0070c0","002060","7030a0"],u=[["003366","336699","3366cc","003399","000099","0000cc","000066"],["006666","006699","0099cc","0066cc","0033cc","0000ff","3333ff","333399"],["669999","009999","33cccc","00ccff","0099ff","0066ff","3366ff","3333cc","666699"],["339966","00cc99","00ffcc","00ffff","33ccff","3399ff","6699ff","6666ff","6600ff","6600cc"],["339933","00cc66","00ff99","66ffcc","66ffff","66ccff","99ccff","9999ff","9966ff","9933ff","9900ff"],["006600","00cc00","00ff00","66ff99","99ffcc","ccffff","ccccff","cc99ff","cc66ff","cc33ff","cc00ff","9900cc"],["003300","009933","33cc33","66ff66","99ff99","ccffcc","ffffff","ffccff","ff99ff","ff66ff","ff00ff","cc00cc","660066"],["333300","009900","66ff33","99ff66","ccff99","ffffcc","ffcccc","ff99cc","ff66cc","ff33cc","cc0099","993399"],["336600","669900","99ff33","ccff66","ffff99","ffcc99","ff9999","ff6699","ff3399","cc3399","990099"],["666633","99cc00","ccff33","ffff66","ffcc66","ff9966","ff6666","ff0066","d60094","993366"],["a58800","cccc00","ffff00","ffcc00","ff9933","ff6600","ff0033","cc0066","660033"],["996633","cc9900","ff9900","cc6600","ff3300","ff0000","cc0000","990033"],["663300","996600","cc3300","993300","990000","800000","993333"]],c="#0000ffff",f=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},p=function(e){return f(Number(e))},b=function(e){var t=f(e);return t+t+t},m=function(e){if(e.length>10){var t=1+e.indexOf("("),o=e.indexOf(")"),n=e.substring(t,o).split(",");return["#",p(n[0]),p(n[1]),p(n[2])].join("")}return e};e.widget("evol.colorpicker",{version:"3.2.1",options:{color:null,showOn:"both",hideButton:!1,displayIndicator:!0,transparentColor:!1,history:!0,defaultPalette:"theme",strings:"Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet."},_active:!1,_create:function(){var o=this;switch(this._paletteIdx="theme"==this.options.defaultPalette?1:2,this._id="evo-cp"+t++,this._enabled=!0,this.options.showOn=this.options.hideButton?"focus":this.options.showOn,this.element.get(0).tagName){case"INPUT":var r=this.options.color,l=this.element,s=("focus"===this.options.showOn?"":"evo-pointer ")+"evo-colorind"+(a?"-ff":i)+(this.options.hideButton?" evo-hidden-button":""),d="";if(this._isPopup=!0,this._palette=null,null!==r)l.val(r);else{var u=l.val();""!==u&&(r=this.options.color=u)}r===c?s+=" evo-transparent":d=null!==r?"background-color:"+r:"",l.addClass("colorPicker "+this._id).wrap('
').after('
').on("keyup onpaste",function(){var t=e(this).val();t!=o.options.color&&o._setValue(t,!0)});var f=this.options.showOn;("both"===f||"focus"===f)&&l.on("focus",function(){o.showPalette()}),("both"===f||"button"===f)&&l.next().on("click",function(e){return e.stopPropagation(),o.showPalette(),!1});break;default:this._isPopup=!1,this._palette=this.element.html(this._paletteHTML()).attr("aria-haspopup","true"),this._bindColors()}if(this.options.history&&(r&&this._add2History(r),this.options.initialHistory)){var p=this.options.initialHistory;for(var b in p)this._add2History(p[b])}},_paletteHTML:function(){var e=this._paletteIdx=Math.abs(this._paletteIdx),t=this.options,o=t.strings.split(","),n='
"+this["_paletteHTML"+e]()+'
'+o[1+e]+"";return t.history&&(n+=''+o[5]+""),n+="
",t.displayIndicator&&(n+=this._colorIndHTML(this.options.color)+this._colorIndHTML("")),n+="
"},_colorIndHTML:function(e){var t=n?"evo-colorbox-ie ":"",o="";return e?e===c?t+="evo-transparent":o="background-color:"+e:o="display:none",'
'+(e?e:"")+"
"},_paletteHTML1:function(){for(var e=this.options,t=e.strings.split(","),o='
':'">',r='',u=''+r+t[0]+"",c=0;10>c;c++)u+=o+l[c]+a;for(u+="",n||(u+=''),u+='',c=0;10>c;c++)u+=o+s[c]+a;for(var f=1;4>f;f++)for(u+='',c=0;10>c;c++)u+=o+s[10*f+c]+a;for(u+='',c=40;50>c;c++)u+=o+s[c]+a;for(u+=""+r,e.transparentColor&&(u+='
'),u+=t[1]+"",c=0;10>c;c++)u+=o+d[c]+a;return u+="
"},_paletteHTML2:function(){for(var e,t,o='
':'">',r='',l="
",s='
',d=0,c=u.length;c>d;d++){s+=r;var f=u[d];for(e=0,t=f.length;t>e;e++)s+=o+f[e]+a;s+=l}s+='
';var p="";for(s+=r,e=255;e>10;e-=10)s+=o+b(e)+a,e-=10,p+=o+b(e)+a;return s+=l+r+p+l+"
"},_switchPalette:function(t){if(this._enabled){var o,n,i,a=this.options.strings.split(",");if(e(t).hasClass("evo-hist")){var l=['
',a[5],"
",'
'];if(0===r.length)l.push("

 ",a[6],"

");else for(var s=r.length-1;s>-1;s--)9===r[s].length?l.push('
'):l.push('
');l.push("
"),o=-this._paletteIdx,n=l.join(""),i=a[4]}else this._paletteIdx<0?(o=-this._paletteIdx,this._palette.find(".evo-hist").show()):o=2==this._paletteIdx?1:2,n=this["_paletteHTML"+o](),i=a[o+1],this._paletteIdx=o;this._paletteIdx=o;var d=this._palette.find(".evo-more").prev().html(n).end().children().eq(0).html(i);0>o&&d.next().hide()}},_downOrUpPositioning:function(){for(var e=this.element,t=0;null!==e&&100>t;){if("visible"!=e.css("overflow")){var o=this._palette.offset().top+this._palette.height(),n=e.offset().top+e.height(),i=this._palette.offset().top-this._palette.height()-this.element.outerHeight(),a=e.offset().top,r=o>n&&i>a;r?this._palette.css({bottom:this.element.outerHeight()+"px"}):this._palette.css({bottom:"auto"});break}if("HTML"==e[0].tagName)break;e=e.offsetParent(),t++}},showPalette:function(){if(this._enabled&&(this._active=!0,e(".colorPicker").not("."+this._id).colorpicker("hidePalette"),null===this._palette)){this._palette=this.element.next().after(this._paletteHTML()).next().on("click",function(e){return e.stopPropagation(),!1}),this._bindColors();var t=this;this._isPopup&&(this._downOrUpPositioning(),e(document.body).on("click."+t._id,function(e){e.target!=t.element.get(0)&&t.hidePalette()}).on("keyup."+t._id,function(e){27===e.keyCode&&t.hidePalette()}))}return this},hidePalette:function(){if(this._isPopup&&this._palette){e(document.body).off("click."+this._id);var t=this;this._palette.off("mouseover click","td,.evo-transparent").fadeOut(function(){t._palette.remove(),t._palette=t._cTxt=null}).find(".evo-more a").off("click")}return this},_bindColors:function(){var t=this,o=this.options,n=this._palette.find("div.evo-color"),i=o.history?"td,.evo-cHist>div":"td";o.transparentColor&&(i+=",.evo-transparent"),this._cTxt1=n.eq(0).children().eq(0),this._cTxt2=n.eq(1).children().eq(0),this._palette.on("click",i,function(){if(t._enabled){var o=e(this);t._setValue(o.hasClass("evo-transparent")?c:m(o.attr("style").substring(17))),t._active=!1}}).on("mouseover",i,function(){if(t._enabled){var o=e(this),n=o.hasClass("evo-transparent")?c:m(o.attr("style").substring(17));t.options.displayIndicator&&t._setColorInd(n,2),t._active&&t.element.trigger("mouseover.color",n)}}).find(".evo-more a").on("click",function(){t._switchPalette(this)})},val:function(e){return"undefined"==typeof e?this.options.color:(this._setValue(e),this)},_setValue:function(e,t){e=e.replace(/ /g,""),this.options.color=e,this._isPopup?(t||this.hidePalette(),this._setBoxColor(this.element.val(e).next(),e)):this._setColorInd(e,1),this.options.history&&this._paletteIdx>0&&this._add2History(e),this.element.trigger("change.color",e)},_setColorInd:function(e,t){var o=this["_cTxt"+t];this._setBoxColor(o,e),o.next().html(e)},_setBoxColor:function(e,t){t===c?e.addClass("evo-transparent").removeAttr("style"):e.removeClass("evo-transparent").attr("style","background-color:"+t)},_setOption:function(e,t){"color"==e?this._setValue(t,!0):this.options[e]=t},_add2History:function(e){for(var t=r.length,o=0;t>o;o++)if(e==r[o])return;t>27&&r.shift(),r.push(e)},clear:function(){this.hidePalette().val("")},enable:function(){var e=this.element;return this._isPopup?e.removeAttr("disabled"):e.css({opacity:"1","pointer-events":"auto"}),"focus"!==this.options.showOn&&this.element.next().addClass("evo-pointer"),e.removeAttr("aria-disabled"),this._enabled=!0,this},disable:function(){var e=this.element;return this._isPopup?e.attr("disabled","disabled"):(this.hidePalette(),e.css({opacity:"0.3","pointer-events":"none"})),"focus"!==this.options.showOn&&this.element.next().removeClass("evo-pointer"),e.attr("aria-disabled","true"),this._enabled=!1,this},isDisabled:function(){return!this._enabled},destroy:function(){e(document.body).off("click."+this._id),this._palette&&(this._palette.off("mouseover click","td,.evo-cHist>div,.evo-transparent").find(".evo-more a").off("click"),this._isPopup&&this._palette.remove(),this._palette=this._cTxt=null),this._isPopup&&this.element.next().off("click").remove().end().off("focus").unwrap(),this.element.removeClass("colorPicker "+this.id).empty(),e.Widget.prototype.destroy.call(this)}})}(jQuery); + +},{}],3:[function(require,module,exports){ +!function(e){"use strict";var t="Compound",o="Identifier",n="MemberExpression",r="Literal",i="ThisExpression",a="CallExpression",l="UnaryExpression",s="BinaryExpression",d="LogicalExpression",u="ConditionalExpression",c="ArrayExpression",f=46,p=44,b=39,m=34,g=40,h=41,v=91,y=93,k=63,w=59,x=58,_=function(e,t){var o=new Error(e+" at character "+t);throw o.index=t,o.description=e,o},S=!0,O={"-":S,"!":S,"~":S,"+":S},C={"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},$=function(e){var t,o=0;for(var n in e)(t=n.length)>o&&e.hasOwnProperty(n)&&(o=t);return o},T=$(O),E=$(C),A={"true":!0,"false":!1,"null":null},D="this",M=function(e){return C[e]||0},j=function(e,t,o){var n="||"===e||"&&"===e?d:s;return{type:n,operator:e,left:t,right:o}},P=function(e){return e>=48&&57>=e},B=function(e){return 36===e||95===e||e>=65&&90>=e||e>=97&&122>=e||e>=128&&!C[String.fromCharCode(e)]},H=function(e){return 36===e||95===e||e>=65&&90>=e||e>=97&&122>=e||e>=48&&57>=e||e>=128&&!C[String.fromCharCode(e)]},q=function(e){for(var s,d,S=0,$=e.charAt,q=e.charCodeAt,I=function(t){return $.call(e,t)},R=function(t){return q.call(e,t)},U=e.length,N=function(){for(var e=R(S);32===e||9===e;)e=R(++S)},L=function(){var e,t,o=V();return N(),R(S)!==k?o:(S++,e=L(),e||_("Expected expression",S),N(),R(S)===x?(S++,t=L(),t||_("Expected expression",S),{type:u,test:o,consequent:e,alternate:t}):(_("Expected :",S),void 0))},F=function(){N();for(var t=e.substr(S,E),o=t.length;o>0;){if(C.hasOwnProperty(t))return S+=o,t;t=t.substr(0,--o)}return!1},V=function(){var e,t,o,n,r,i,a,l;if(i=z(),t=F(),!t)return i;for(r={value:t,prec:M(t)},a=z(),a||_("Expected expression after "+t,S),n=[i,r,a];(t=F())&&(o=M(t),0!==o);){for(r={value:t,prec:o};n.length>2&&o<=n[n.length-2].prec;)a=n.pop(),t=n.pop().value,i=n.pop(),e=j(t,i,a),n.push(e);e=z(),e||_("Expected expression after "+t,S),n.push(r,e)}for(l=n.length-1,e=n[l];l>1;)e=j(n[l-1].value,n[l-2],e),l-=2;return e},z=function(){var t,o,n;if(N(),t=R(S),P(t)||t===f)return G();if(t===b||t===m)return W();if(B(t)||t===g)return Z();if(t===v)return Q();for(o=e.substr(S,T),n=o.length;n>0;){if(O.hasOwnProperty(o))return S+=n,{type:l,operator:o,argument:z(),prefix:!0};o=o.substr(0,--n)}return!1},G=function(){for(var e,t,o="";P(R(S));)o+=I(S++);if(R(S)===f)for(o+=I(S++);P(R(S));)o+=I(S++);if(e=I(S),"e"===e||"E"===e){for(o+=I(S++),e=I(S),("+"===e||"-"===e)&&(o+=I(S++));P(R(S));)o+=I(S++);P(R(S-1))||_("Expected exponent ("+o+I(S)+")",S)}return t=R(S),B(t)?_("Variable names cannot start with a number ("+o+I(S)+")",S):t===f&&_("Unexpected period",S),{type:r,value:parseFloat(o),raw:o}},W=function(){for(var e,t="",o=I(S++),n=!1;U>S;){if(e=I(S++),e===o){n=!0;break}if("\\"===e)switch(e=I(S++)){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+=" ";break;default:t+="\\"+e}else t+=e}return n||_('Unclosed quote after "'+t+'"',S),{type:r,value:t,raw:o+t+o}},J=function(){var t,n=R(S),a=S;for(B(n)?S++:_("Unexpected "+I(S),S);U>S&&(n=R(S),H(n));)S++;return t=e.slice(a,S),A.hasOwnProperty(t)?{type:r,value:A[t],raw:t}:t===D?{type:i}:{type:o,name:t}},Y=function(e){for(var o,n,r=[],i=!1;U>S;){if(N(),o=R(S),o===e){i=!0,S++;break}o===p?S++:(n=L(),n&&n.type!==t||_("Expected comma",S),r.push(n))}return i||_("Expected "+String.fromCharCode(e),S),r},Z=function(){var e,t;for(e=R(S),t=e===g?X():J(),N(),e=R(S);e===f||e===v||e===g;)S++,e===f?(N(),t={type:n,computed:!1,object:t,property:J()}):e===v?(t={type:n,computed:!0,object:t,property:L()},N(),e=R(S),e!==y&&_("Unclosed [",S),S++):e===g&&(t={type:a,arguments:Y(h),callee:t}),N(),e=R(S);return t},X=function(){S++;var e=L();return N(),R(S)===h?(S++,e):(_("Unclosed (",S),void 0)},Q=function(){return S++,{type:c,elements:Y(y)}},K=[];U>S;)s=R(S),s===w||s===p?S++:(d=L())?K.push(d):U>S&&_('Unexpected "'+I(S)+'"',S);return 1===K.length?K[0]:{type:t,body:K}};if(q.version="<%= version %>",q.toString=function(){return"JavaScript Expression Parser (JSEP) v"+q.version},q.addUnaryOp=function(e){return T=Math.max(e.length,T),O[e]=S,this},q.addBinaryOp=function(e,t){return E=Math.max(e.length,E),C[e]=t,this},q.addLiteral=function(e,t){return A[e]=t,this},q.removeUnaryOp=function(e){return delete O[e],e.length===T&&(T=$(O)),this},q.removeBinaryOp=function(e){return delete C[e],e.length===E&&(E=$(C)),this},q.removeLiteral=function(e){return delete A[e],this},"undefined"==typeof exports){var I=e.jsep;e.jsep=q,q.noConflict=function(){return e.jsep===q&&(e.jsep=I),q}}else"undefined"!=typeof module&&module.exports?exports=module.exports=q:exports.parse=q}(this); + +},{}],4:[function(require,module,exports){ +"use strict";var utils=require("./utils");module.exports=function(e){function t(t,i,r){function l(o){for(var i=o[0],l=o[1],s=new utils.Selector(i),d=s.parsed(),c=n(d),u=0;u=0)return}}if(c){var h=d[d.length-1],v=h.pseudos;h.pseudos=a(h.pseudos),i=d.toString(),h.pseudos=v}var y;try{y=t(i)}catch(k){return}y.each(function(){function o(t,o){for(var i=0,a=t.length;a>i;i++)if("property"==t[i].type){var l=t[i].name,s=t[i].value,d=null!==t[i].value.match(/!important$/);d&&!r.preserveImportant&&(s=s.replace(/\s*!important$/,""));var c=[t[i].position.start.line,t[i].position.start.col],u=new utils.Property(l,s,o,d?2:0,c),p=n.styleProps[l];e.excludedProperties.indexOf(l)<0&&(p&&p.compare(u)===u||!p)&&(p&&p.selector!==o?delete n.styleProps[l]:p&&(u.nextProp=p),n.styleProps[l]=u)}}var n=this;if(!(n.name&&e.nonVisualElements.indexOf(n.name.toUpperCase())>=0)){if(c){var i="pseudo"+c,a=n[i];a||(a=n[i]=t("").get(0),a.pseudoElementType=c,a.pseudoElementParent=n,n[i]=a),n=a}if(!n.styleProps){if(n.styleProps={},t(n).attr(b)){var d="* { "+t(n).attr(b)+" } ";o(utils.parseCSS(d)[0][1],new utils.Selector("")}}}function o(e){if("none"===e||"normal"===e)return"";var t=e.match(/^\s*url\s*\(\s*(.*?)\s*\)\s*$/i);if(t){var o=t[1].replace(/^['"]|['"]$/g,"");return{img:o}}return e=e.slice(1,e.length-1),e=e.replace(/\\/g,"")}function n(e){if(0!==e.length){var t=e[e.length-1].pseudos;if(t)for(var o=0;oi;i++){var a=e.charAt(i);t?(("]"===a||")"===a)&&t--,n+=a):","===a?(o.push(n),n=""):(("["===a||"("===a)&&t++,(n.length||","!==a&&"\n"!==a&&" "!==a)&&(n+=a))}return n.length&&o.push(n),o},exports.parseCSS=function(e){for(var t=mensch.parse(e,{position:!0,comments:!0}),o="undefined"!=typeof t.stylesheet&&t.stylesheet.rules?t.stylesheet.rules:[],n=[],i=0,r=o.length;r>i;i++)if("rule"==o[i].type)for(var a=o[i],l=a.selectors,s=0,d=l.length;d>s;s++)n.push([l[s],a.declarations]);return n},exports.getPreservedText=function(e,t){for(var o=mensch.parse(e,{position:!0,comments:!0}),n="undefined"!=typeof o.stylesheet&&o.stylesheet.rules?o.stylesheet.rules:[],i=[],r=null,a=n.length-1;a>=0;a--)(t.fontFaces&&"font-face"===n[a].type||t.mediaQueries&&"media"===n[a].type)&&i.push(mensch.stringify({stylesheet:{rules:[n[a]]}},{comments:!1,indentation:" "})),r=n[a].position.start;return 0===i.length?!1:os.EOL+i.join(os.EOL)+os.EOL},exports.normalizeLineEndings=function(e){return e.replace(/\r\n/g,"\n").replace(/\n/g,"\r\n")},exports.compareFunc=function(e,t){for(var o=Math.min(e.length,t.length),n=0;o>n;n++)if(e[n]!==t[n])return e[n]>t[n]?1:-1;return e.length-t.length},exports.compare=function(e,t){return 1==exports.compareFunc(e,t)?e:t},exports.extend=function(e,t){for(var o in t)own.call(t,o)&&(e[o]=t[o]);return e},exports.getDefaultOptions=function(e){var t=exports.extend({extraCss:"",insertPreservedExtraCss:!0,applyStyleTags:!0,removeStyleTags:!0,preserveMediaQueries:!0,preserveFontFaces:!0,applyWidthAttributes:!0,applyHeightAttributes:!0,applyAttributesTableElements:!0,url:""},e);return t.webResources=t.webResources||{},t}; + +},{"./../../mensch/index.js":12,"./property":5,"./selector":6,"os":22}],8:[function(require,module,exports){ +(function (global){ +!function(e){if("function"==typeof define&&define.amd)define(["knockout","jquery","jquery-ui/sortable","jquery-ui/draggable"],e);else if("function"==typeof require&&"object"==typeof exports&&"object"==typeof module){var t=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),o=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null);(typeof window !== "undefined" ? window['jQuery']['ui']['sortable'] : typeof global !== "undefined" ? global['jQuery']['ui']['sortable'] : null),(typeof window !== "undefined" ? window['jQuery']['ui']['draggable'] : typeof global !== "undefined" ? global['jQuery']['ui']['draggable'] : null),e(t,o)}else e(window.ko,window.jQuery)}(function(e,t){var o="ko_sortItem",a="ko_sourceIndex",i="ko_sortList",n="ko_parentList",l="ko_dragItem",r=e.utils.unwrapObservable,d=e.utils.domData.get,s=e.utils.domData.set,c=t.ui&&t.ui.version,u=c&&c.indexOf("1.6.")&&c.indexOf("1.7.")&&(c.indexOf("1.8.")||"1.8.24"===c),p=function(t,a){e.utils.arrayForEach(t,function(e){1===e.nodeType&&(s(e,o,a),s(e,n,d(e.parentNode,i)))})},m=function(t,o){var a,i={},n=r(t())||{};return n.data?(i[o]=n.data,i.name=n.template):i[o]=t(),e.utils.arrayForEach(["afterAdd","afterRender","as","beforeRemove","includeDestroyed","templateEngine","templateOptions","nodes"],function(t){n.hasOwnProperty(t)?i[t]=n[t]:e.bindingHandlers.sortable.hasOwnProperty(t)&&(i[t]=e.bindingHandlers.sortable[t])}),"foreach"===o&&(i.afterRender?(a=i.afterRender,i.afterRender=function(e,t){p.call(t,e,t),a.call(t,e,t)}):i.afterRender=p),i},b=function(e,t){var o=r(t);if(o)for(var a=0;e>a;a++)o[a]&&r(o[a]._destroy)&&e++;return e},f=function(o,a){var i,n;a?(n=document.getElementById(a),n&&(i=new e.templateSources.domElement(n),i.text(t.trim(i.text())))):t(o).contents().each(function(){this&&1!==this.nodeType&&o.removeChild(this)})};e.bindingHandlers.sortable={init:function(c,p,g,h,v){var k,y,w=t(c),$=r(p())||{},x=m(p,"foreach"),S={};f(c,x.name),t.extend(!0,S,e.bindingHandlers.sortable),$.options&&S.options&&(e.utils.extend(S.options,$.options),delete $.options),e.utils.extend(S,$),S.connectClass&&(e.isObservable(S.allowDrop)||"function"==typeof S.allowDrop)?e.computed({read:function(){var t=r(S.allowDrop),o="function"==typeof t?t.call(this,x.foreach):t;e.utils.toggleDomNodeCssClass(c,S.connectClass,o)},disposeWhenNodeIsRemoved:c},this):e.utils.toggleDomNodeCssClass(c,S.connectClass,S.allowDrop),e.bindingHandlers.template.init(c,function(){return x},g,h,v),k=S.options.start,y=S.options.update,S.options.helper||(S.options.helper=function(e,o){return o.is("tr")&&o.children().each(function(){t(this).width(t(this).width())}),o});var C=setTimeout(function(){var p,m=S.options.receive;w.sortable(e.utils.extend(S.options,{start:function(t,o){var i=o.item[0];s(i,a,e.utils.arrayIndexOf(o.item.parent().children(),i)),o.item.find("input:focus").change(),k&&k.apply(this,arguments)},receive:function(e,t){"function"==typeof m&&m.call(this,e,t),p=d(t.item[0],l),p&&(p.clone&&(p=p.clone()),S.dragged&&(p=S.dragged.call(this,p,e,t)||p))},update:function(l,c){var m,f,g,h,v,k=c.item[0],w=c.item.parent()[0],$=d(k,o)||p;if($||t(k).remove(),p=null,$&&this===w||!u&&t.contains(this,w)){if(m=d(k,n),g=d(k,a),f=d(k.parentNode,i),h=e.utils.arrayIndexOf(c.item.parent().children(),k),x.includeDestroyed||(g=b(g,m),h=b(h,f)),(S.beforeMove||S.afterMove)&&(v={item:$,sourceParent:m,sourceParentNode:m&&c.sender||k.parentNode,sourceIndex:g,targetParent:f,targetIndex:h,cancelDrop:!1},S.beforeMove&&S.beforeMove.call(this,v,l,c)),m?t(m===f?this:c.sender||this).sortable("cancel"):t(k).remove(),v&&v.cancelDrop)return;if(S.hasOwnProperty("strategyMove")&&S.strategyMove!==!1){if(h>=0)if(m)if(m!==f)m.splice(g,1),f.splice(h,0,$),s(k,o,null),c.item.remove();else{var C=r(m);m.valueWillMutate&&m.valueWillMutate(),C.splice(g,1),C.splice(h,0,$),m.valueHasMutated&&m.valueHasMutated()}else f.splice(h,0,$),s(k,o,null),c.item.remove()}else h>=0&&(m&&(m.splice(g,1),e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),e.options&&e.options.deferUpdates&&e.tasks.runEarly()),f.splice(h,0,$)),s(k,o,null);e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),S.afterMove&&S.afterMove.call(this,v,l,c)}y&&y.apply(this,arguments)},connectWith:S.connectClass?"."+S.connectClass:!1})),void 0!==S.isEnabled&&e.computed({read:function(){w.sortable(r(S.isEnabled)?"enable":"disable")},disposeWhenNodeIsRemoved:c})},0);return e.utils.domNodeDisposal.addDisposeCallback(c,function(){(w.data("ui-sortable")||w.data("sortable"))&&w.sortable("destroy"),e.utils.toggleDomNodeCssClass(c,S.connectClass,!1),clearTimeout(C)}),{controlsDescendantBindings:!0}},update:function(t,o,a,n,l){var r=m(o,"foreach");s(t,i,r.foreach),e.bindingHandlers.template.update(t,function(){return r},a,n,l)},connectClass:"ko_container",allowDrop:!0,afterMove:null,beforeMove:null,options:{}},e.bindingHandlers.draggable={init:function(o,a,i,n,d){var c=r(a())||{},u=c.options||{},p=e.utils.extend({},e.bindingHandlers.draggable.options),b=m(a,"data"),f=c.connectClass||e.bindingHandlers.draggable.connectClass,g=void 0!==c.isEnabled?c.isEnabled:e.bindingHandlers.draggable.isEnabled;return c="data"in c?c.data:c,s(o,l,c),e.utils.extend(p,u),p.connectToSortable=f?"."+f:!1,t(o).draggable(p),void 0!==g&&e.computed({read:function(){t(o).draggable(r(g)?"enable":"disable")},disposeWhenNodeIsRemoved:o}),e.utils.domNodeDisposal.addDisposeCallback(o,function(){t(o).draggable("destroy")}),e.bindingHandlers.template.init(o,function(){return b},i,n,d)},update:function(t,o,a,i,n){var l=m(o,"data");return e.bindingHandlers.template.update(t,function(){return l},a,i,n)},connectClass:e.bindingHandlers.sortable.connectClass,options:{helper:"clone"}}}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],9:[function(require,module,exports){ +(function (global){ +!function(e){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?module.exports=e((typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),require("./../knockoutjs-reactor/src/knockout.reactor.js")):"function"==typeof define&&define.amd?define(["knockout","knockoutjs-reactor","exports"],e):e(ko,ko.watch)}(function(e,t){var o=function(o,i){var n,a=e.observableArray(),r=e.observableArray(),l=0,d=1,s=2,c=l,u=0,p=1,f=2,b=3,m=u,g={levels:100,undoLabel:"undo (#COUNT#)",redoLabel:"redo (#COUNT#)"};i="object"==typeof i?e.utils.extend(g,i):g;var v=function(e){c==d?y(e,r):c==s?y(e,a):c==l&&(y(e,a),r.removeAll())},k=function(e,t){return"undefined"!=typeof e.mergedAction?e.mergedAction(t):null},y=function(e,t){if(t().length>0){var o=k(t()[t().length-1],e);if(null!==o)return t()[t().length-1]=o,void 0}t().length>=i.levels&&t.shift(),n=t,t.push(e)},h=function(t,o,i){return{name:e.computed(function(){return e.utils.unwrapObservable(t).replace(/#COUNT#/,i().length)}),enabled:e.computed(function(){return 0!==i().length}),execute:function(){var e=i.pop();if(e){var t=c;c=o;var a=m;m=b,e(),w(n),m=a,c=t}return!0}}},w=function(e){if("undefined"==typeof e)throw"Unexpected operation: stack cleaner called with undefined stack";e().length>0&&"undefined"!=typeof e()[e().length-1].mergedAction&&delete e()[e().length-1].mergedAction},x=function(e,t){var o=function(e,t){e(),t()}.bind(void 0,e,t);return"undefined"!=typeof e.mergedAction&&(o.mergedAction=e.mergedAction),o},$=function(e,t,o){if("undefined"!=typeof t)e(t);else{if(!o)throw"Unexpected condition: no item and no child.oldValues!";if("deleted"==o.status)e.splice(o.index,0,o.value);else{if("added"!=o.status)throw"Unsupproted item.status: "+o.status;e.splice(o.index,1)}}},C=function(e,t,o,i,n){return e.bind(void 0,o,i,n)},S=C,M=function(e,t,o){var i="undefined"!=typeof t.oldValues?t.oldValues[0]:void 0,n=S($,e,t,i,o);m!=p&&(m==b?"undefined"!=typeof n&&(n.mergedAction=function(e){return"undefined"!=typeof e.mergeMe&&e.mergeMe?x(e,this):null},n.mergeMe=!0):"undefined"!=typeof n&&(t.oldValues&&m==f&&(n.mergedAction=function(e,t,o){return"object"==typeof o.mergeableAction&&e==o.mergeableAction.child?this:null}.bind(n,t,o),n.mergeableAction={child:t,item:o}),o&&"deleted"==o.status&&(n.mergedAction=function(e,t,o){return"object"==typeof o.mergeableMove&&t.value==o.mergeableMove.item.value?x(o,this):(console.log("UR","not mergeable",typeof o.mergeableMove),null)}.bind(n,t,o)),o&&"added"==o.status&&(n.mergeableMove={child:t,item:o})),"undefined"!=typeof n&&v(n))},q={depth:-1,oldValues:1,mutable:!0,tagFields:!0},O={},T="function"==typeof t?t:e.watch,H=T(o,q,M,O);return{push:v,undoCommand:h(i.undoLabel,d,a),redoCommand:h(i.redoLabel,s,r),reset:function(){a.removeAll(),r.removeAll()},setModeOnce:function(){m=f,w(a)},setModeMerge:function(){m=b,w(a)},setModeNormal:function(){m=u,w(a)},setModeIgnore:function(){m=p,w(a)},setUndoActionMaker:function(e){S=e},dispose:function(){H.dispose()}}};return o}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../knockoutjs-reactor/src/knockout.reactor.js":11}],10:[function(require,module,exports){ +(function (global){ +!function(e){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?e((typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),exports):"function"==typeof define&&define.amd?define(["knockout","exports"],e):e(ko,ko.wrap={})}(function(e,t){function o(e){var t=typeof e;return"object"===t&&(e?e.constructor==Date?t="date":"[object Array]"==Object.prototype.toString.call(e)&&(t="array"):t="null"),t}function n(t){var o={};for(var n in t){var i=t[n];e.isComputed(i)||(o[n]=r(i))}return o}function i(e){var t=[];if(!e||0==e.length)return t;for(var o=0,n=e.length;n>o;++o)t.push(r(e[o]));return t}function r(t){var a=e.isObservable(t);if(a){var l=t();return r(l)}return"array"==o(t)?i(t):"object"==o(t)?n(t):t}function a(){f=[{obj:null,wrapped:null,lvl:""}]}function l(t,o,n){for(var i=0;ir;++r)i.push(u(t[r],o,n));return i}function d(){return f[f.length-1].lvl}function u(t,n,i){if("array"==o(t))return s(t,n,i);if("object"==o(t))return l(t,n,i);if(c()||"function"==typeof t)return t;var r=e.observable();return r(t),r}function c(){return null!=e.track}t.fromJS=function(e,t,o){return a(),u(e,t,o)},t.updateFromJS=function(t,o,n,i){return a(),t(e.utils.unwrapObservable(u(o,n,i)))},t.fromJSON=function(o,n,i){var r=e.utils.parseJson(o);return arguments[0]=r,t.fromJS.apply(this,n,i)},t.toJS=function(e){return r(e)},t.toJSON=function(o){var n=t.toJS(o);return e.utils.stringifyJson(n)};var f}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],11:[function(require,module,exports){ +(function (global){ +!function(e){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?e((typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null)):"function"==typeof define&&define.amd?define(["knockout"],e):e(window.ko)}(function(e){e.subscribable.fn.watch=function(t,o,n,i){var a=typeof t;return"boolean"===a||"undefined"===a?e.watch(this,{enabled:t!==!1}):"function"!==a||e.isSubscribable(t)?e.watch(t,o,n,i||this):e.watch(this,o||{},t,i||this),this},e.watch=function(t,o,n,i){function a(s,d,c,u,f,p){if(s&&0!==o.depth&&(-1===o.depth||c.length<(o.depth||1))){if(o.watchedOnly&&!s.watchable&&s!=t)return;if((o.enabled===!1||o.enabled===!0)&&(s.watchable=o.enabled),s.watchable===!1)return;o.seal===!0&&(s.watchable=!1);var b=typeof s;if("object"===b||"function"===b){if(s._watcher===i)return;if(o.hide&&e.utils.arrayIndexOf(o.hide,s)>-1)return;var m=[].concat(c,d&&d!==t?d:[]);if("function"!==b){if("[object Object]"===Object.prototype.toString.call(s))e.utils.objectForEach(s,function(t,n){if(n=o.getter?o.getter.call(i,m,s,t):n){if(o.wrap){var r=Object.prototype.toString.call(n);"[object Function]"!==r&&"[object Object]"!==r&&(o.beforeWrap&&o.beforeWrap.call(i,m,s,n)===!1||(n=s[t]="[object Array]"===r?e.observableArray(n):e.observable(n)))}o.unloop&&(n._watcher=u?void 0:i);var l=a(n,f?null:s,m,u,null,t);o.tagFields&&void 0===n._fieldName&&(l||"parentsOnly"!==o.tagFields&&"function"==typeof n||"object"==typeof n)&&(n._fieldName=t)}});else if(o.hideArrays!==!0)for(var g=0;g=0;n--)t.change[n]._watcher===i&&t.change[n].dispose();if(t.beforeChange&&(o.mutable||o.oldValues>0))for(var n=t.beforeChange.length-1;n>=0;n--)t.beforeChange[n]._watcher===i&&t.beforeChange[n].dispose();if(t.arrayChange)for(var n=t.arrayChange.length-1;n>=0;n--)t.arrayChange[n]._watcher===i&&t.arrayChange[n].dispose()}function l(t,r,l,s){r?t.subscribe(function(o){e.utils.arrayForEach(o,function(e){var o=n.call(i,l,t,e);void 0!==o&&i(o),e.moved||setTimeout(function(){a(e.value,s?null:t,l,"deleted"===e.status)},0)})},void 0,"arrayChange")._watcher=i:(t.subscribe(function(){if(t.watchable!==!1){var e=n.call(i,l,t);void 0!==e&&i(e),o.mutable&&"object"==typeof t()&&a(t(),s?null:t,l)}},null,"change")._watcher=i,(o.oldValues>0||o.mutable)&&(t.subscribe(function(e){if(o.oldValues>0){var n=t.oldValues?t.oldValues:t.oldValues=[];for(n.unshift(e);n.length>o.oldValues;)n.pop()}o.mutable&&"object"==typeof e&&a(e,s?null:t,l,!1,!0)},null,"beforeChange")._watcher=i))}"function"==typeof o&&(i=i||n,n=o,o={}),i=i||this;var s;switch("function"==typeof e.subscription||e.version){case!0:s="_subscriptions";break;case"3.0.0":s="F";break;case"3.1.0":s="H";break;case"3.2.0":s="M";break;case"3.3.0":s="G";break;case"3.4.0":s="K";break;case"3.4.1":s="K";break;default:throw"Unsupported Knockout version. Only v3.0.0 to v3.4.1 are supported when minified. Current version is "+e.version}return"function"!=typeof t||e.isSubscribable(t)?(a(t,null,[]),{dispose:function(){a(t,null,[],!0)}}):e.computed(t,n,o)}}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],12:[function(require,module,exports){ +module.exports={lex:require("./lib/lexer"),parse:require("./lib/parser"),stringify:require("./lib/stringify")}; + +},{"./lib/lexer":14,"./lib/parser":15,"./lib/stringify":16}],13:[function(require,module,exports){ +(function (process){ +function debug(e){return _debug.bind(null,e)}function _debug(e){var t=[].slice.call(arguments,1);t.unshift("["+e+"]"),process.stderr.write(t.join(" ")+"\n")}exports=module.exports=debug; + +}).call(this,require('_process')) + +},{"_process":23}],14:[function(require,module,exports){ +function lex(e){function t(){return u(),e[h]}function o(e){return e?w[w.length-1-e]:k}function n(t){var o=h+1;return t===e.slice(o,o+t.length)}function i(t){var o=e.slice(h).indexOf(t);return o>0?o:!1}function r(e){return e===a(1)}function a(t){return e[h+(t||1)]}function l(){var e=w.pop();return k=w[w.length-1],e}function s(e){return k=e,w.push(k),w.length}function d(e){var t=k;return w[w.length-1]=k=e,t}function u(t){if(1==(t||1))"\n"==e[h]?(y++,g=1):g++,h++;else{var o=e.slice(h,h+t).split("\n");o.length>1&&(y+=o.length-1,g=1),g+=o[o.length-1].length,h+=t}}function c(){x.end={line:y,col:g},DEBUG&&debug("addToken:",JSON.stringify(x,null,2)),_.push(x),m="",x={}}function f(e){x={type:e,start:{line:y,col:g}}}var p,b,m="",g=0,h=-1,v=0,y=1,k="before-selector",w=[k],x={},_=[],S=["media","keyframes",{name:"-webkit-keyframes",type:"keyframes",prefix:"-webkit-"},{name:"-moz-keyframes",type:"keyframes",prefix:"-moz-"},{name:"-ms-keyframes",type:"keyframes",prefix:"-ms-"},{name:"-o-keyframes",type:"keyframes",prefix:"-o-"},"font-face",{name:"import",state:"before-at-value"},{name:"charset",state:"before-at-value"},"supports","viewport",{name:"namespace",state:"before-at-value"},"document",{name:"-moz-document",type:"document",prefix:"-moz-"},"page"];for(TIMER&&(p=Date.now());b=t();)switch(DEBUG&&debug(b,o()),b){case" ":switch(o()){case"selector":case"value":case"value-paren":case"at-group":case"at-value":case"comment":case"double-string":case"single-string":m+=b}break;case"\n":case" ":case"\r":case"\f":switch(o()){case"value":case"value-paren":case"at-group":case"comment":case"single-string":case"double-string":case"selector":m+=b;break;case"at-value":"\n"===b&&(x.value=m.trim(),c(),l())}break;case":":switch(o()){case"name":x.name=m.trim(),m="",d("before-value");break;case"before-selector":m+=b,f("selector"),s("selector");break;case"before-value":d("value"),m+=b;break;default:m+=b}break;case";":switch(o()){case"name":case"before-value":case"value":m.trim().length>0&&(x.value=m.trim(),c()),d("before-name");break;case"value-paren":m+=b;break;case"at-value":x.value=m.trim(),c(),l();break;case"before-name":break;default:m+=b}break;case"{":switch(o()){case"selector":if("\\"===a(-1)){m+=b;break}x.text=m.trim(),c(),d("before-name"),v+=1;break;case"at-group":switch(x.name=m.trim(),x.type){case"font-face":case"viewport":case"page":s("before-name");break;default:s("before-selector")}c(),v+=1;break;case"name":case"at-rule":x.name=m.trim(),c(),s("before-name"),v+=1;break;case"comment":case"double-string":case"single-string":m+=b;break;case"before-value":d("value"),m+=b}break;case"}":switch(o()){case"before-name":case"name":case"before-value":case"value":m&&(x.value=m.trim()),x.name&&x.value&&c(),f("end"),c(),l(),"at-group"===o()&&(f("at-group-end"),c(),l()),v>0&&(v-=1);break;case"at-group":case"before-selector":case"selector":if("\\"===a(-1)){m+=b;break}v>0&&"at-group"===o(1)&&(f("at-group-end"),c()),v>1&&l(),v>0&&(v-=1);break;case"double-string":case"single-string":case"comment":m+=b}break;case'"':case"'":switch(o()){case"double-string":'"'===b&&"\\"!==a(-1)&&l();break;case"single-string":"'"===b&&"\\"!==a(-1)&&l();break;case"before-at-value":d("at-value"),s('"'===b?"double-string":"single-string");break;case"before-value":d("value"),s('"'===b?"double-string":"single-string");break;case"comment":break;default:"\\"!==a(-1)&&s('"'===b?"double-string":"single-string")}m+=b;break;case"/":switch(o()){case"comment":case"double-string":case"single-string":m+=b;break;case"before-value":case"selector":case"name":case"value":if(r("*")){var O=i("*/");O&&u(O+1)}else"before-value"==o()&&d("value"),m+=b;break;default:r("*")?(f("comment"),s("comment"),u()):m+=b}break;case"*":switch(o()){case"comment":r("/")?(x.text=m,u(),c(),l()):m+=b;break;case"before-selector":m+=b,f("selector"),s("selector");break;case"before-value":d("value"),m+=b;break;default:m+=b}break;case"@":switch(o()){case"comment":case"double-string":case"single-string":m+=b;break;case"before-value":d("value"),m+=b;break;default:for(var C,$,T=!1,A=0,E=S.length;!T&&E>A;++A)$=S[A],C=$.name||$,n(C)&&(T=!0,f(C),s($.state||"at-group"),u(C.length),$.prefix&&(x.prefix=$.prefix),$.type&&(x.type=$.type));T||(m+=b)}break;case"(":switch(o()){case"value":s("value-paren");break;case"before-value":d("value")}m+=b;break;case")":switch(o()){case"value-paren":l();break;case"before-value":d("value")}m+=b;break;default:switch(o()){case"before-selector":f("selector"),s("selector");break;case"before-name":f("property"),d("name");break;case"before-value":d("value");break;case"before-at-value":d("at-value")}m+=b}return TIMER&&debug("ran in",Date.now()-p+"ms"),_}var DEBUG=!1,TIMER=!1,debug=require("./debug")("lex");exports=module.exports=lex; + +},{"./debug":13}],15:[function(require,module,exports){ +function parse(e,t){var o;t||(t={}),_comments=!!t.comments,_position=!!t.position,_depth=0,_tokens=Array.isArray(e)?e.slice():lex(e);var n,r,i=[];for(TIMER&&(o=Date.now());r=next();)n=parseToken(r),n&&i.push(n);return TIMER&&debug("ran in",Date.now()-o+"ms"),{type:"stylesheet",stylesheet:{rules:i}}}function astNode(e,t){t||(t={});for(var o,n=["type","name","value"],r={},i=0;i+)\\s*|(\\s+)|(+|\\*)|\\#(+)|\\.(+)|\\[\\s*(+)(?:\\s*([*^$!~|]?=)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)".replace(//,"["+escape(">+~`!@$%^&={}\\;/g,"(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])").replace(//g,"(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])")),Part=function(e){this.combinator=e||" ",this.tag="*"};Part.prototype.toString=function(){if(!this.raw){var e,t,o="";if(o+=this.tag||"*",this.id&&(o+="#"+this.id),this.classes&&(o+="."+this.classList.join(".")),this.attributes)for(e=0;t=this.attributes[e++];)o+="["+t.name+(t.operator?t.operator+'"'+t.value+'"':"")+"]";if(this.pseudos)for(e=0;t=this.pseudos[e++];)o+=":"+t.name,t.value&&(o+="("+t.value+")");this.raw=o}return this.raw};var Expression=function(){this.length=0};Expression.prototype.toString=function(){if(!this.raw){for(var e,t="",o=0;e=this[o++];)1!==o&&(t+=" ")," "!==e.combinator&&(t+=e.combinator+" "),t+=e;this.raw=t}return this.raw};var replacer=function(e,t,o,n,r,i,a,l,s,d,u,c,f,p,m,b){var g,h;if((t||!this.length)&&(g=this[this.length++]=new Expression,t))return"";if(g||(g=this[this.length-1]),(o||n||!g.length)&&(h=g[g.length++]=new Part(o)),h||(h=g[g.length-1]),r)h.tag=unescape(r);else if(i)h.id=unescape(i);else if(a){var v=unescape(a),y=h.classes||(h.classes={});if(!y[v]){y[v]=escape(a);var k=h.classList||(h.classList=[]);k.push(v),k.sort()}}else f?(b=b||m,(h.pseudos||(h.pseudos=[])).push({type:1==c.length?"class":"element",name:unescape(f),escapedName:escape(f),value:b?unescape(b):null,escapedValue:b?escape(b):null})):l&&(u=u?escape(u):null,(h.attributes||(h.attributes=[])).push({operator:s,name:unescape(l),escapedName:escape(l),value:u?unescape(u):null,escapedValue:u?escape(u):null}));return""},Expressions=function(e){this.length=0;for(var t,o=this,n=e;e;){if(t=e.replace(slickRe,function(){return replacer.apply(o,arguments)}),t===e)throw new Error(n+" is an invalid expression");e=t}};Expressions.prototype.toString=function(){if(!this.raw){for(var e,t=[],o=0;e=this[o++];)t.push(e);this.raw=t.join(", ")}return this.raw};var cache={},parse=function(e){return null==e?null:(e=(""+e).replace(/^\s+|\s+$/g,""),cache[e]||(cache[e]=new Expressions(e)))};module.exports=parse; + +},{}],18:[function(require,module,exports){ +!function(e){function t(e,n){if(e=e?e:"",n=n||{},e instanceof t)return e;if(!(this instanceof t))return new t(e,n);var i=o(e);this._originalInput=e,this._r=i.r,this._g=i.g,this._b=i.b,this._a=i.a,this._roundA=R(100*this._a)/100,this._format=n.format||i.format,this._gradientType=n.gradientType,this._r<1&&(this._r=R(this._r)),this._g<1&&(this._g=R(this._g)),this._b<1&&(this._b=R(this._b)),this._ok=i.ok,this._tc_id=L++}function o(e){var t={r:0,g:0,b:0},o=1,i=null,r=null,s=null,d=!1,c=!1;return"string"==typeof e&&(e=j(e)),"object"==typeof e&&(B(e.r)&&B(e.g)&&B(e.b)?(t=n(e.r,e.g,e.b),d=!0,c="%"===String(e.r).substr(-1)?"prgb":"rgb"):B(e.h)&&B(e.s)&&B(e.v)?(i=A(e.s),r=A(e.v),t=l(e.h,i,r),d=!0,c="hsv"):B(e.h)&&B(e.s)&&B(e.l)&&(i=A(e.s),s=A(e.l),t=a(e.h,i,s),d=!0,c="hsl"),e.hasOwnProperty("a")&&(o=e.a)),o=S(o),{ok:d,format:e.format||c,r:N(255,U(t.r,0)),g:N(255,U(t.g,0)),b:N(255,U(t.b,0)),a:o}}function n(e,t,o){return{r:255*C(e,255),g:255*C(t,255),b:255*C(o,255)}}function i(e,t,o){e=C(e,255),t=C(t,255),o=C(o,255);var n,i,a=U(e,t,o),r=N(e,t,o),l=(a+r)/2;if(a==r)n=i=0;else{var s=a-r;switch(i=l>.5?s/(2-a-r):s/(a+r),a){case e:n=(t-o)/s+(o>t?6:0);break;case t:n=(o-e)/s+2;break;case o:n=(e-t)/s+4}n/=6}return{h:n,s:i,l:l}}function a(e,t,o){function n(e,t,o){return 0>o&&(o+=1),o>1&&(o-=1),1/6>o?e+6*(t-e)*o:.5>o?t:2/3>o?e+6*(t-e)*(2/3-o):e}var i,a,r;if(e=C(e,360),t=C(t,100),o=C(o,100),0===t)i=a=r=o;else{var l=.5>o?o*(1+t):o+t-o*t,s=2*o-l;i=n(s,l,e+1/3),a=n(s,l,e),r=n(s,l,e-1/3)}return{r:255*i,g:255*a,b:255*r}}function r(e,t,o){e=C(e,255),t=C(t,255),o=C(o,255);var n,i,a=U(e,t,o),r=N(e,t,o),l=a,s=a-r;if(i=0===a?0:s/a,a==r)n=0;else{switch(a){case e:n=(t-o)/s+(o>t?6:0);break;case t:n=(o-e)/s+2;break;case o:n=(e-t)/s+4}n/=6}return{h:n,s:i,v:l}}function l(t,o,n){t=6*C(t,360),o=C(o,100),n=C(n,100);var i=e.floor(t),a=t-i,r=n*(1-o),l=n*(1-a*o),s=n*(1-(1-a)*o),d=i%6,c=[n,l,r,r,s,n][d],u=[s,n,n,l,r,r][d],p=[r,r,s,n,n,l][d];return{r:255*c,g:255*u,b:255*p}}function s(e,t,o,n){var i=[T(R(e).toString(16)),T(R(t).toString(16)),T(R(o).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join("")}function d(e,t,o,n,i){var a=[T(R(e).toString(16)),T(R(t).toString(16)),T(R(o).toString(16)),T(E(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}function c(e,t,o,n){var i=[T(E(n)),T(R(e).toString(16)),T(R(t).toString(16)),T(R(o).toString(16))];return i.join("")}function u(e,o){o=0===o?0:o||10;var n=t(e).toHsl();return n.s-=o/100,n.s=H(n.s),t(n)}function p(e,o){o=0===o?0:o||10;var n=t(e).toHsl();return n.s+=o/100,n.s=H(n.s),t(n)}function f(e){return t(e).desaturate(100)}function b(e,o){o=0===o?0:o||10;var n=t(e).toHsl();return n.l+=o/100,n.l=H(n.l),t(n)}function g(e,o){o=0===o?0:o||10;var n=t(e).toRgb();return n.r=U(0,N(255,n.r-R(255*-(o/100)))),n.g=U(0,N(255,n.g-R(255*-(o/100)))),n.b=U(0,N(255,n.b-R(255*-(o/100)))),t(n)}function m(e,o){o=0===o?0:o||10;var n=t(e).toHsl();return n.l-=o/100,n.l=H(n.l),t(n)}function h(e,o){var n=t(e).toHsl(),i=(n.h+o)%360;return n.h=0>i?360+i:i,t(n)}function v(e){var o=t(e).toHsl();return o.h=(o.h+180)%360,t(o)}function k(e){var o=t(e).toHsl(),n=o.h;return[t(e),t({h:(n+120)%360,s:o.s,l:o.l}),t({h:(n+240)%360,s:o.s,l:o.l})]}function y(e){var o=t(e).toHsl(),n=o.h;return[t(e),t({h:(n+90)%360,s:o.s,l:o.l}),t({h:(n+180)%360,s:o.s,l:o.l}),t({h:(n+270)%360,s:o.s,l:o.l})]}function w(e){var o=t(e).toHsl(),n=o.h;return[t(e),t({h:(n+72)%360,s:o.s,l:o.l}),t({h:(n+216)%360,s:o.s,l:o.l})]}function x(e,o,n){o=o||6,n=n||30;var i=t(e).toHsl(),a=360/n,r=[t(e)];for(i.h=(i.h-(a*o>>1)+720)%360;--o;)i.h=(i.h+a)%360,r.push(t(i));return r}function $(e,o){o=o||6;for(var n=t(e).toHsv(),i=n.h,a=n.s,r=n.v,l=[],s=1/o;o--;)l.push(t({h:i,s:a,v:r})),r=(r+s)%1;return l}function _(e){var t={};for(var o in e)e.hasOwnProperty(o)&&(t[e[o]]=o);return t}function S(e){return e=parseFloat(e),(isNaN(e)||0>e||e>1)&&(e=1),e}function C(t,o){q(t)&&(t="100%");var n=O(t);return t=N(o,U(0,parseFloat(t))),n&&(t=parseInt(t*o,10)/100),e.abs(t-o)<1e-6?1:t%o/parseFloat(o)}function H(e){return N(1,U(0,e))}function M(e){return parseInt(e,16)}function q(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)}function O(e){return"string"==typeof e&&-1!=e.indexOf("%")}function T(e){return 1==e.length?"0"+e:""+e}function A(e){return 1>=e&&(e=100*e+"%"),e}function E(t){return e.round(255*parseFloat(t)).toString(16)}function I(e){return M(e)/255}function B(e){return!!J.CSS_UNIT.exec(e)}function j(e){e=e.replace(P,"").replace(F,"").toLowerCase();var t=!1;if(V[e])e=V[e],t=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};var o;return(o=J.rgb.exec(e))?{r:o[1],g:o[2],b:o[3]}:(o=J.rgba.exec(e))?{r:o[1],g:o[2],b:o[3],a:o[4]}:(o=J.hsl.exec(e))?{h:o[1],s:o[2],l:o[3]}:(o=J.hsla.exec(e))?{h:o[1],s:o[2],l:o[3],a:o[4]}:(o=J.hsv.exec(e))?{h:o[1],s:o[2],v:o[3]}:(o=J.hsva.exec(e))?{h:o[1],s:o[2],v:o[3],a:o[4]}:(o=J.hex8.exec(e))?{r:M(o[1]),g:M(o[2]),b:M(o[3]),a:I(o[4]),format:t?"name":"hex8"}:(o=J.hex6.exec(e))?{r:M(o[1]),g:M(o[2]),b:M(o[3]),format:t?"name":"hex"}:(o=J.hex4.exec(e))?{r:M(o[1]+""+o[1]),g:M(o[2]+""+o[2]),b:M(o[3]+""+o[3]),a:I(o[4]+""+o[4]),format:t?"name":"hex8"}:(o=J.hex3.exec(e))?{r:M(o[1]+""+o[1]),g:M(o[2]+""+o[2]),b:M(o[3]+""+o[3]),format:t?"name":"hex"}:!1}function D(e){var t,o;return e=e||{level:"AA",size:"small"},t=(e.level||"AA").toUpperCase(),o=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA"),"small"!==o&&"large"!==o&&(o="small"),{level:t,size:o}}var P=/^\s+/,F=/\s+$/,L=0,R=e.round,N=e.min,U=e.max,z=e.random;t.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var t,o,n,i,a,r,l=this.toRgb();return t=l.r/255,o=l.g/255,n=l.b/255,i=.03928>=t?t/12.92:e.pow((t+.055)/1.055,2.4),a=.03928>=o?o/12.92:e.pow((o+.055)/1.055,2.4),r=.03928>=n?n/12.92:e.pow((n+.055)/1.055,2.4),.2126*i+.7152*a+.0722*r},setAlpha:function(e){return this._a=S(e),this._roundA=R(100*this._a)/100,this},toHsv:function(){var e=r(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=r(this._r,this._g,this._b),t=R(360*e.h),o=R(100*e.s),n=R(100*e.v);return 1==this._a?"hsv("+t+", "+o+"%, "+n+"%)":"hsva("+t+", "+o+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=i(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=i(this._r,this._g,this._b),t=R(360*e.h),o=R(100*e.s),n=R(100*e.l);return 1==this._a?"hsl("+t+", "+o+"%, "+n+"%)":"hsla("+t+", "+o+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return s(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return d(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:R(this._r),g:R(this._g),b:R(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+R(this._r)+", "+R(this._g)+", "+R(this._b)+")":"rgba("+R(this._r)+", "+R(this._g)+", "+R(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:R(100*C(this._r,255))+"%",g:R(100*C(this._g,255))+"%",b:R(100*C(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+R(100*C(this._r,255))+"%, "+R(100*C(this._g,255))+"%, "+R(100*C(this._b,255))+"%)":"rgba("+R(100*C(this._r,255))+"%, "+R(100*C(this._g,255))+"%, "+R(100*C(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":this._a<1?!1:W[s(this._r,this._g,this._b,!0)]||!1},toFilter:function(e){var o="#"+c(this._r,this._g,this._b,this._a),n=o,i=this._gradientType?"GradientType = 1, ":"";if(e){var a=t(e);n="#"+c(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+i+"startColorstr="+o+",endColorstr="+n+")"},toString:function(e){var t=!!e;e=e||this._format;var o=!1,n=this._a<1&&this._a>=0,i=!t&&n&&("hex"===e||"hex6"===e||"hex3"===e||"hex4"===e||"hex8"===e||"name"===e);return i?"name"===e&&0===this._a?this.toName():this.toRgbString():("rgb"===e&&(o=this.toRgbString()),"prgb"===e&&(o=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(o=this.toHexString()),"hex3"===e&&(o=this.toHexString(!0)),"hex4"===e&&(o=this.toHex8String(!0)),"hex8"===e&&(o=this.toHex8String()),"name"===e&&(o=this.toName()),"hsl"===e&&(o=this.toHslString()),"hsv"===e&&(o=this.toHsvString()),o||this.toHexString())},clone:function(){return t(this.toString())},_applyModification:function(e,t){var o=e.apply(null,[this].concat([].slice.call(t)));return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(g,arguments)},darken:function(){return this._applyModification(m,arguments)},desaturate:function(){return this._applyModification(u,arguments)},saturate:function(){return this._applyModification(p,arguments)},greyscale:function(){return this._applyModification(f,arguments)},spin:function(){return this._applyModification(h,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(x,arguments)},complement:function(){return this._applyCombination(v,arguments)},monochromatic:function(){return this._applyCombination($,arguments)},splitcomplement:function(){return this._applyCombination(w,arguments)},triad:function(){return this._applyCombination(k,arguments)},tetrad:function(){return this._applyCombination(y,arguments)}},t.fromRatio=function(e,o){if("object"==typeof e){var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]="a"===i?e[i]:A(e[i]));e=n}return t(e,o)},t.equals=function(e,o){return e&&o?t(e).toRgbString()==t(o).toRgbString():!1},t.random=function(){return t.fromRatio({r:z(),g:z(),b:z()})},t.mix=function(e,o,n){n=0===n?0:n||50;var i=t(e).toRgb(),a=t(o).toRgb(),r=n/100,l={r:(a.r-i.r)*r+i.r,g:(a.g-i.g)*r+i.g,b:(a.b-i.b)*r+i.b,a:(a.a-i.a)*r+i.a};return t(l)},t.readability=function(o,n){var i=t(o),a=t(n);return(e.max(i.getLuminance(),a.getLuminance())+.05)/(e.min(i.getLuminance(),a.getLuminance())+.05)},t.isReadable=function(e,o,n){var i,a,r=t.readability(e,o);switch(a=!1,i=D(n),i.level+i.size){case"AAsmall":case"AAAlarge":a=r>=4.5;break;case"AAlarge":a=r>=3;break;case"AAAsmall":a=r>=7}return a},t.mostReadable=function(e,o,n){var i,a,r,l,s=null,d=0;n=n||{},a=n.includeFallbackColors,r=n.level,l=n.size;for(var c=0;cd&&(d=i,s=t(o[c]));return t.isReadable(e,s,{level:r,size:l})||!a?s:(n.includeFallbackColors=!1,t.mostReadable(e,["#fff","#000"],n))};var V=t.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},W=t.hexNames=_(V),J=function(){var e="[-\\+]?\\d+%?",t="[-\\+]?\\d*\\.\\d+%?",o="(?:"+t+")|(?:"+e+")",n="[\\s|\\(]+("+o+")[,|\\s]+("+o+")[,|\\s]+("+o+")\\s*\\)?",i="[\\s|\\(]+("+o+")[,|\\s]+("+o+")[,|\\s]+("+o+")[,|\\s]+("+o+")\\s*\\)?";return{CSS_UNIT:new RegExp(o),rgb:new RegExp("rgb"+n),rgba:new RegExp("rgba"+i),hsl:new RegExp("hsl"+n),hsla:new RegExp("hsla"+i),hsv:new RegExp("hsv"+n),hsva:new RegExp("hsva"+i),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();"undefined"!=typeof module&&module.exports?module.exports=t:"function"==typeof define&&define.amd?define(function(){return t}):window.tinycolor=t}(Math); + +},{}],19:[function(require,module,exports){ +(function (global){ +!function(e){e(["jquery"],function(e){return function(){function t(e,t,o){return b({type:w.error,iconClass:m().iconClasses.error,message:e,optionsOverride:o,title:t})}function o(t,o){return t||(t=m()),h=e("#"+t.containerId),h.length?h:(o&&(h=u(t)),h)}function n(e,t,o){return b({type:w.info,iconClass:m().iconClasses.info,message:e,optionsOverride:o,title:t})}function i(e){v=e}function a(e,t,o){return b({type:w.success,iconClass:m().iconClasses.success,message:e,optionsOverride:o,title:t})}function r(e,t,o){return b({type:w.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:o,title:t})}function l(e,t){var n=m();h||o(n),c(e,n,t)||d(n)}function s(t){var n=m();return h||o(n),t&&0===e(":focus",t).length?(g(t),void 0):(h.children().length&&h.remove(),void 0)}function d(t){for(var o=h.children(),n=o.length-1;n>=0;n--)c(e(o[n]),t)}function c(t,o,n){var i=n&&n.force?n.force:!1;return t&&(i||0===e(":focus",t).length)?(t[o.hideMethod]({duration:o.hideDuration,easing:o.hideEasing,complete:function(){g(t)}}),!0):!1}function u(t){return h=e("
").attr("id",t.containerId).addClass(t.positionClass),h.appendTo(e(t.target)),h}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'',closeClass:"toast-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toast-progress",rtl:!1}}function f(e){v&&v(e)}function b(t){function n(e){return null==e&&(e=""),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function i(){s(),c(),u(),p(),b(),v(),d(),a()}function a(){var e="";switch(t.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}E.attr("aria-live",e)}function r(){S.closeOnHover&&E.hover(_,$),!S.onclick&&S.tapToDismiss&&E.click(x),S.closeButton&&A&&A.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),S.onCloseClick&&S.onCloseClick(e),x(!0)}),S.onclick&&E.click(function(e){S.onclick(e),x()})}function l(){E.hide(),E[S.showMethod]({duration:S.showDuration,easing:S.showEasing,complete:S.onShown}),S.timeOut>0&&(O=setTimeout(x,S.timeOut),D.maxHideTime=parseFloat(S.timeOut),D.hideEta=(new Date).getTime()+D.maxHideTime,S.progressBar&&(D.intervalId=setInterval(C,10)))}function s(){t.iconClass&&E.addClass(S.toastClass).addClass(T)}function d(){S.newestOnTop?h.prepend(E):h.append(E)}function c(){if(t.title){var e=t.title;S.escapeHtml&&(e=n(t.title)),H.append(e).addClass(S.titleClass),E.append(H)}}function u(){if(t.message){var e=t.message;S.escapeHtml&&(e=n(t.message)),M.append(e).addClass(S.messageClass),E.append(M)}}function p(){S.closeButton&&(A.addClass(S.closeClass).attr("role","button"),E.prepend(A))}function b(){S.progressBar&&(q.addClass(S.progressClass),E.prepend(q))}function v(){S.rtl&&E.addClass("rtl")}function w(e,t){if(e.preventDuplicates){if(t.message===y)return!0;y=t.message}return!1}function x(t){var o=t&&S.closeMethod!==!1?S.closeMethod:S.hideMethod,n=t&&S.closeDuration!==!1?S.closeDuration:S.hideDuration,i=t&&S.closeEasing!==!1?S.closeEasing:S.hideEasing;return!e(":focus",E).length||t?(clearTimeout(D.intervalId),E[o]({duration:n,easing:i,complete:function(){g(E),clearTimeout(O),S.onHidden&&"hidden"!==I.state&&S.onHidden(),I.state="hidden",I.endTime=new Date,f(I)}})):void 0}function $(){(S.timeOut>0||S.extendedTimeOut>0)&&(O=setTimeout(x,S.extendedTimeOut),D.maxHideTime=parseFloat(S.extendedTimeOut),D.hideEta=(new Date).getTime()+D.maxHideTime)}function _(){clearTimeout(O),D.hideEta=0,E.stop(!0,!0)[S.showMethod]({duration:S.showDuration,easing:S.showEasing})}function C(){var e=100*((D.hideEta-(new Date).getTime())/D.maxHideTime);q.width(e+"%")}var S=m(),T=t.iconClass||S.iconClass;if("undefined"!=typeof t.optionsOverride&&(S=e.extend(S,t.optionsOverride),T=t.optionsOverride.iconClass||T),!w(S,t)){k++,h=o(S,!0);var O=null,E=e("
"),H=e("
"),M=e("
"),q=e("
"),A=e(S.closeHtml),D={intervalId:null,hideEta:null,maxHideTime:null},I={toastId:k,state:"visible",startTime:new Date,options:S,map:t};return i(),l(),r(),f(I),S.debug&&console&&console.log(I),E}}function m(){return e.extend({},p(),x.options)}function g(e){h||(h=o()),e.is(":visible")||(e.remove(),e=null,0===h.children().length&&(h.remove(),y=void 0))}var h,v,y,k=0,w={error:"error",info:"info",success:"success",warning:"warning"},x={clear:l,remove:s,error:t,getContainer:o,info:n,options:{},subscribe:i,success:a,version:"2.1.3",warning:r};return x}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t((typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null)):window.toastr=t(window.jQuery)}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],20:[function(require,module,exports){ +var templateSystem=require("../src/js/bindings/choose-template.js");document.addEventListener("DOMContentLoaded",function(){templateSystem.addTemplate("array",""),templateSystem.addTemplate("block-show",""),templateSystem.addTemplate("block-wysiwyg",'
'),templateSystem.addTemplate("blocks-show",""),templateSystem.addTemplate("blocks-wysiwyg","
"),templateSystem.addTemplate("customstyle",'
Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A "small cube" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
'),templateSystem.addTemplate("empty",""),templateSystem.addTemplate("error",'[
]'),templateSystem.addTemplate("gallery-images",'
'),templateSystem.addTemplate("img-wysiwyg",'
size
Drop an image here
PRELOADING....
'),templateSystem.addTemplate("main",'
mosaico
Oppps... !!
'),templateSystem.addTemplate("toolbox",'
Block __name__
Add
By clicking on message parts you will select a block and content options, if any, will show here
By clicking on message parts you will select a block and style options, if available, will show here
X
Gallery:
Click or drag files here
No images uploaded, yet
# recent gallery #
# load gally #
Loading gallery...
The gallery is empty
# remote gallery #
X
Content:
  BlockDefs:  
    Output  Export  Import  
X
')}); + +},{"../src/js/bindings/choose-template.js":30}],21:[function(require,module,exports){ +// http://wiki.commonjs.org/wiki/Unit_Testing/1.0 +// +// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8! +// +// Originally from narwhal.js (http://narwhaljs.org) +// Copyright (c) 2009 Thomas Robinson <280north.com> +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the 'Software'), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +// when used in node, this will actually load the util module we depend on +// versus loading the builtin util module as happens otherwise +// this is a bug in node module loading as far as I am concerned +var util = require('util/'); + +var pSlice = Array.prototype.slice; +var hasOwn = Object.prototype.hasOwnProperty; + +// 1. The assert module provides functions that throw +// AssertionError's when particular conditions are not met. The +// assert module must conform to the following interface. + +var assert = module.exports = ok; + +// 2. The AssertionError is defined in assert. +// new assert.AssertionError({ message: message, +// actual: actual, +// expected: expected }) + +assert.AssertionError = function AssertionError(options) { + this.name = 'AssertionError'; + this.actual = options.actual; + this.expected = options.expected; + this.operator = options.operator; + if (options.message) { + this.message = options.message; + this.generatedMessage = false; + } else { + this.message = getMessage(this); + this.generatedMessage = true; + } + var stackStartFunction = options.stackStartFunction || fail; + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, stackStartFunction); + } + else { + // non v8 browsers so we can have a stacktrace + var err = new Error(); + if (err.stack) { + var out = err.stack; + + // try to strip useless frames + var fn_name = stackStartFunction.name; + var idx = out.indexOf('\n' + fn_name); + if (idx >= 0) { + // once we have located the function frame + // we need to strip out everything before it (and its line) + var next_line = out.indexOf('\n', idx + 1); + out = out.substring(next_line + 1); + } + + this.stack = out; + } + } +}; + +// assert.AssertionError instanceof Error +util.inherits(assert.AssertionError, Error); + +function replacer(key, value) { + if (util.isUndefined(value)) { + return '' + value; + } + if (util.isNumber(value) && !isFinite(value)) { + return value.toString(); + } + if (util.isFunction(value) || util.isRegExp(value)) { + return value.toString(); + } + return value; +} + +function truncate(s, n) { + if (util.isString(s)) { + return s.length < n ? s : s.slice(0, n); + } else { + return s; + } +} + +function getMessage(self) { + return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' + + self.operator + ' ' + + truncate(JSON.stringify(self.expected, replacer), 128); +} + +// At present only the three keys mentioned above are used and +// understood by the spec. Implementations or sub modules can pass +// other keys to the AssertionError's constructor - they will be +// ignored. + +// 3. All of the following functions must throw an AssertionError +// when a corresponding condition is not met, with a message that +// may be undefined if not provided. All assertion methods provide +// both the actual and expected values to the assertion error for +// display purposes. + +function fail(actual, expected, message, operator, stackStartFunction) { + throw new assert.AssertionError({ + message: message, + actual: actual, + expected: expected, + operator: operator, + stackStartFunction: stackStartFunction + }); +} + +// EXTENSION! allows for well behaved errors defined elsewhere. +assert.fail = fail; + +// 4. Pure assertion tests whether a value is truthy, as determined +// by !!guard. +// assert.ok(guard, message_opt); +// This statement is equivalent to assert.equal(true, !!guard, +// message_opt);. To test strictly for the value true, use +// assert.strictEqual(true, guard, message_opt);. + +function ok(value, message) { + if (!value) fail(value, true, message, '==', assert.ok); +} +assert.ok = ok; + +// 5. The equality assertion tests shallow, coercive equality with +// ==. +// assert.equal(actual, expected, message_opt); + +assert.equal = function equal(actual, expected, message) { + if (actual != expected) fail(actual, expected, message, '==', assert.equal); +}; + +// 6. The non-equality assertion tests for whether two objects are not equal +// with != assert.notEqual(actual, expected, message_opt); + +assert.notEqual = function notEqual(actual, expected, message) { + if (actual == expected) { + fail(actual, expected, message, '!=', assert.notEqual); + } +}; + +// 7. The equivalence assertion tests a deep equality relation. +// assert.deepEqual(actual, expected, message_opt); + +assert.deepEqual = function deepEqual(actual, expected, message) { + if (!_deepEqual(actual, expected)) { + fail(actual, expected, message, 'deepEqual', assert.deepEqual); + } +}; + +function _deepEqual(actual, expected) { + // 7.1. All identical values are equivalent, as determined by ===. + if (actual === expected) { + return true; + + } else if (util.isBuffer(actual) && util.isBuffer(expected)) { + if (actual.length != expected.length) return false; + + for (var i = 0; i < actual.length; i++) { + if (actual[i] !== expected[i]) return false; + } + + return true; + + // 7.2. If the expected value is a Date object, the actual value is + // equivalent if it is also a Date object that refers to the same time. + } else if (util.isDate(actual) && util.isDate(expected)) { + return actual.getTime() === expected.getTime(); + + // 7.3 If the expected value is a RegExp object, the actual value is + // equivalent if it is also a RegExp object with the same source and + // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`). + } else if (util.isRegExp(actual) && util.isRegExp(expected)) { + return actual.source === expected.source && + actual.global === expected.global && + actual.multiline === expected.multiline && + actual.lastIndex === expected.lastIndex && + actual.ignoreCase === expected.ignoreCase; + + // 7.4. Other pairs that do not both pass typeof value == 'object', + // equivalence is determined by ==. + } else if (!util.isObject(actual) && !util.isObject(expected)) { + return actual == expected; + + // 7.5 For all other Object pairs, including Array objects, equivalence is + // determined by having the same number of owned properties (as verified + // with Object.prototype.hasOwnProperty.call), the same set of keys + // (although not necessarily the same order), equivalent values for every + // corresponding key, and an identical 'prototype' property. Note: this + // accounts for both named and indexed properties on Arrays. + } else { + return objEquiv(actual, expected); + } +} + +function isArguments(object) { + return Object.prototype.toString.call(object) == '[object Arguments]'; +} + +function objEquiv(a, b) { + if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b)) + return false; + // an identical 'prototype' property. + if (a.prototype !== b.prototype) return false; + // if one is a primitive, the other must be same + if (util.isPrimitive(a) || util.isPrimitive(b)) { + return a === b; + } + var aIsArgs = isArguments(a), + bIsArgs = isArguments(b); + if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs)) + return false; + if (aIsArgs) { + a = pSlice.call(a); + b = pSlice.call(b); + return _deepEqual(a, b); + } + var ka = objectKeys(a), + kb = objectKeys(b), + key, i; + // having the same number of owned properties (keys incorporates + // hasOwnProperty) + if (ka.length != kb.length) + return false; + //the same set of keys (although not necessarily the same order), + ka.sort(); + kb.sort(); + //~~~cheap key test + for (i = ka.length - 1; i >= 0; i--) { + if (ka[i] != kb[i]) + return false; + } + //equivalent values for every corresponding key, and + //~~~possibly expensive deep test + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!_deepEqual(a[key], b[key])) return false; + } + return true; +} + +// 8. The non-equivalence assertion tests for any deep inequality. +// assert.notDeepEqual(actual, expected, message_opt); + +assert.notDeepEqual = function notDeepEqual(actual, expected, message) { + if (_deepEqual(actual, expected)) { + fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual); + } +}; + +// 9. The strict equality assertion tests strict equality, as determined by ===. +// assert.strictEqual(actual, expected, message_opt); + +assert.strictEqual = function strictEqual(actual, expected, message) { + if (actual !== expected) { + fail(actual, expected, message, '===', assert.strictEqual); + } +}; + +// 10. The strict non-equality assertion tests for strict inequality, as +// determined by !==. assert.notStrictEqual(actual, expected, message_opt); + +assert.notStrictEqual = function notStrictEqual(actual, expected, message) { + if (actual === expected) { + fail(actual, expected, message, '!==', assert.notStrictEqual); + } +}; + +function expectedException(actual, expected) { + if (!actual || !expected) { + return false; + } + + if (Object.prototype.toString.call(expected) == '[object RegExp]') { + return expected.test(actual); + } else if (actual instanceof expected) { + return true; + } else if (expected.call({}, actual) === true) { + return true; + } + + return false; +} + +function _throws(shouldThrow, block, expected, message) { + var actual; + + if (util.isString(expected)) { + message = expected; + expected = null; + } + + try { + block(); + } catch (e) { + actual = e; + } + + message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + + (message ? ' ' + message : '.'); + + if (shouldThrow && !actual) { + fail(actual, expected, 'Missing expected exception' + message); + } + + if (!shouldThrow && expectedException(actual, expected)) { + fail(actual, expected, 'Got unwanted exception' + message); + } + + if ((shouldThrow && actual && expected && + !expectedException(actual, expected)) || (!shouldThrow && actual)) { + throw actual; + } +} + +// 11. Expected to throw an error: +// assert.throws(block, Error_opt, message_opt); + +assert.throws = function(block, /*optional*/error, /*optional*/message) { + _throws.apply(this, [true].concat(pSlice.call(arguments))); +}; + +// EXTENSION! This is annoying to write outside this module. +assert.doesNotThrow = function(block, /*optional*/message) { + _throws.apply(this, [false].concat(pSlice.call(arguments))); +}; + +assert.ifError = function(err) { if (err) {throw err;}}; + +var objectKeys = Object.keys || function (obj) { + var keys = []; + for (var key in obj) { + if (hasOwn.call(obj, key)) keys.push(key); + } + return keys; +}; + +},{"util/":26}],22:[function(require,module,exports){ +exports.endianness = function () { return 'LE' }; + +exports.hostname = function () { + if (typeof location !== 'undefined') { + return location.hostname + } + else return ''; +}; + +exports.loadavg = function () { return [] }; + +exports.uptime = function () { return 0 }; + +exports.freemem = function () { + return Number.MAX_VALUE; +}; + +exports.totalmem = function () { + return Number.MAX_VALUE; +}; + +exports.cpus = function () { return [] }; + +exports.type = function () { return 'Browser' }; + +exports.release = function () { + if (typeof navigator !== 'undefined') { + return navigator.appVersion; + } + return ''; +}; + +exports.networkInterfaces += exports.getNetworkInterfaces += function () { return {} }; + +exports.arch = function () { return 'javascript' }; + +exports.platform = function () { return 'browser' }; + +exports.tmpdir = exports.tmpDir = function () { + return '/tmp'; +}; + +exports.EOL = '\n'; + +},{}],23:[function(require,module,exports){ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],24:[function(require,module,exports){ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} + +},{}],25:[function(require,module,exports){ +module.exports = function isBuffer(arg) { + return arg && typeof arg === 'object' + && typeof arg.copy === 'function' + && typeof arg.fill === 'function' + && typeof arg.readUInt8 === 'function'; +} +},{}],26:[function(require,module,exports){ +(function (process,global){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var formatRegExp = /%[sdj%]/g; +exports.format = function(f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(' '); + } + + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function(x) { + if (x === '%%') return '%'; + if (i >= len) return x; + switch (x) { + case '%s': return String(args[i++]); + case '%d': return Number(args[i++]); + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + default: + return x; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += ' ' + x; + } else { + str += ' ' + inspect(x); + } + } + return str; +}; + + +// Mark that a method should not be used. +// Returns a modified function which warns once by default. +// If --no-deprecation is set, then it is a no-op. +exports.deprecate = function(fn, msg) { + // Allow for deprecating things in the process of starting up. + if (isUndefined(global.process)) { + return function() { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } + + if (process.noDeprecation === true) { + return fn; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +}; + + +var debugs = {}; +var debugEnviron; +exports.debuglog = function(set) { + if (isUndefined(debugEnviron)) + debugEnviron = process.env.NODE_DEBUG || ''; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { + var pid = process.pid; + debugs[set] = function() { + var msg = exports.format.apply(exports, arguments); + console.error('%s %d: %s', set, pid, msg); + }; + } else { + debugs[set] = function() {}; + } + } + return debugs[set]; +}; + + +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ +/* legacy: obj, showHidden, depth, colors*/ +function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + // legacy... + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } + // set default options + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); +} +exports.inspect = inspect; + + +// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics +inspect.colors = { + 'bold' : [1, 22], + 'italic' : [3, 23], + 'underline' : [4, 24], + 'inverse' : [7, 27], + 'white' : [37, 39], + 'grey' : [90, 39], + 'black' : [30, 39], + 'blue' : [34, 39], + 'cyan' : [36, 39], + 'green' : [32, 39], + 'magenta' : [35, 39], + 'red' : [31, 39], + 'yellow' : [33, 39] +}; + +// Don't use 'blue' not visible on cmd.exe +inspect.styles = { + 'special': 'cyan', + 'number': 'yellow', + 'boolean': 'yellow', + 'undefined': 'grey', + 'null': 'bold', + 'string': 'green', + 'date': 'magenta', + // "name": intentionally not styling + 'regexp': 'red' +}; + + +function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + + if (style) { + return '\u001b[' + inspect.colors[style][0] + 'm' + str + + '\u001b[' + inspect.colors[style][1] + 'm'; + } else { + return str; + } +} + + +function stylizeNoColor(str, styleType) { + return str; +} + + +function arrayToHash(array) { + var hash = {}; + + array.forEach(function(val, idx) { + hash[val] = true; + }); + + return hash; +} + + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (ctx.customInspect && + value && + isFunction(value.inspect) && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // Look up the keys of the object. + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } + + // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + if (isError(value) + && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } + + // Some type of object without properties can be shortcutted. + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); +} + + +function formatPrimitive(ctx, value) { + if (isUndefined(value)) + return ctx.stylize('undefined', 'undefined'); + if (isString(value)) { + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + } + if (isNumber(value)) + return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) + return ctx.stylize('' + value, 'boolean'); + // For some reason typeof null is "object", so special case here. + if (isNull(value)) + return ctx.stylize('null', 'null'); +} + + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; +} + + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + + +function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} + + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. +function isArray(ar) { + return Array.isArray(ar); +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return isObject(e) && + (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +exports.isBuffer = require('./support/isBuffer'); + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + + +function pad(n) { + return n < 10 ? '0' + n.toString(10) : n.toString(10); +} + + +var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', + 'Oct', 'Nov', 'Dec']; + +// 26 Feb 16:19:34 +function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), + pad(d.getMinutes()), + pad(d.getSeconds())].join(':'); + return [d.getDate(), months[d.getMonth()], time].join(' '); +} + + +// log is just a thin wrapper to console.log that prepends a timestamp +exports.log = function() { + console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); +}; + + +/** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ +exports.inherits = require('inherits'); + +exports._extend = function(origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; +}; + +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./support/isBuffer":25,"_process":23,"inherits":24}],27:[function(require,module,exports){ +(function (global){ +"use strict";function _canonicalize(e){var t=global.document.createElement("div");return t.innerHTML="",t.firstChild.href=e,t.innerHTML=t.innerHTML,t.firstChild.href}var templateLoader=require("./template-loader.js"),console=require("./../../bower_components/console-browserify/index.js"),ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),$=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null);require("./ko-bindings.js");var performanceAwareCaller=require("./timed-call.js").timedCall,addUndoStackExtensionMaker=require("./undomanager/undomain.js"),colorPlugin=require("./ext/color.js"),inlinerPlugin=require("./ext/inliner.js"),localStorageLoader=require("./ext/localstorage.js");if("undefined"==typeof ko)throw"Cannot find knockout.js library!";if("undefined"==typeof $)throw"Cannot find jquery library!";var applyBindingOptions=function(e,t){t.bindingHandlers.wysiwygSrc.convertedUrl=function(t,o,a,i){var l=e.imgProcessorBackend?e.imgProcessorBackend:"./upload",d=l.match(/^(https?:\/\/[^\/]*\/).*$/),r=t.match(/^(https?:\/\/[^\/]*\/).*$/);if(null===d||null!==r&&d[1]==r[1]){var s=-1==l.indexOf("?")?"?":"&";return l+s+"src="+encodeURIComponent(t)+"&method="+encodeURIComponent(o)+"¶ms="+encodeURIComponent(a+","+i)}return console.log("Cannot apply backend image resizing to non-local resources ",t,o,a,i,d,r),t+"?method="+o+"&width="+a+(null!==i?"&height="+i:"")},t.bindingHandlers.wysiwygSrc.placeholderUrl=function(t,o){return e.imgProcessorBackend+"?method="+"placeholder"+"¶ms="+t+encodeURIComponent(",")+o},e&&e.tinymceConfig&&(t.bindingHandlers.wysiwyg.standardOptions=e.tinymceConfig),e&&e.tinymceConfigFull&&(t.bindingHandlers.wysiwyg.fullOptions=e.tinymceConfigFull)},start=function(e,t,o,a,i){templateLoader.fixPageEvents();var l=function(t){var o={messages:{unknownError:t.t("Unknown error"),uploadedBytes:t.t("Uploaded bytes exceed file size"),maxNumberOfFiles:t.t("Maximum number of files exceeded"),acceptFileTypes:t.t("File type not allowed"),maxFileSize:t.t("File is too large"),minFileSize:t.t("File is too small"),post_max_size:t.t("The uploaded file exceeds the post_max_size directive in php.ini"),max_file_size:t.t("File is too big"),min_file_size:t.t("File is too small"),accept_file_types:t.t("Filetype not allowed"),max_number_of_files:t.t("Maximum number of files exceeded"),max_width:t.t("Image exceeds maximum width"),min_width:t.t("Image requires a minimum width"),max_height:t.t("Image exceeds maximum height"),min_height:t.t("Image requires a minimum height"),abort:t.t("File upload aborted"),image_resize:t.t("Failed to resize image"),generic:t.t("Unexpected upload error")}};e&&e.fileuploadConfig&&(o=$.extend(!0,o,e.fileuploadConfig)),ko.bindingHandlers.fileupload.extendOptions=o},d=function(t){e&&e.strings&&(t.t=function(o,a){var i=e.strings[o];return"undefined"==typeof i&&(console.warn("Missing translation string for",o,": using default string"),i=o),t.tt(i,a)})},r=[d,addUndoStackExtensionMaker(performanceAwareCaller),colorPlugin,inlinerPlugin];if("undefined"!=typeof i)for(var s=0;s").appendTo(global.document.body),"undefined"==typeof t&&"undefined"!=typeof o&&(t=o.template),templateLoader.load(performanceAwareCaller,t,o,a,r,n)},initFromLocalStorage=function(e,t,o){try{var a=localStorageLoader(t,e.emailProcessorBackend),i="undefined"!=typeof o?o:[];i.push(a.extension);var l=_canonicalize(a.metadata.template);start(e,l,a.metadata,a.model,i)}catch(d){console.error("TODO not found ",t,d)}},init=function(e,t){var o=global.location.hash?global.location.href.split("#")[1]:void 0;if(e&&(e.template||e.data))if(e.data){var a=JSON.parse(e.data);start(e,void 0,a.metadata,a.content,t)}else start(e,e.template,void 0,void 0,t);else if(o&&7==o.length)initFromLocalStorage(e,o,t);else{if(!o)return!1;start(e,_canonicalize(o),void 0,void 0,t)}return!0};module.exports={isCompatible:templateLoader.isCompatible,init:init,start:start}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../bower_components/console-browserify/index.js":1,"./ext/color.js":59,"./ext/inliner.js":60,"./ext/localstorage.js":61,"./ko-bindings.js":62,"./template-loader.js":63,"./timed-call.js":64,"./undomanager/undomain.js":65}],28:[function(require,module,exports){ +(function (global){ +"use strict";var ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),console=require("./../../../bower_components/console-browserify/index.js"),addScriptTemplate=function(e,t,o){var a=e.createElement("script");return a.setAttribute("type","text/html"),a.setAttribute("id",t),a.text=o,e.body.appendChild(a),a};ko.bindingHandlers.bindIframe={tpl:'\r\n\r\n\r\n\r\n
\r\n\r\n',init:function(e,t){function o(o){try{var a=e.contentDocument;a.open(),a.write(ko.bindingHandlers.bindIframe.tpl),a.close();try{var i=a.body;if(i){for(var n=e.contentWindow.parent.document.getElementsByTagName("script"),l=0;l0?o(e):o(10)}}),e.currentPage=ko.computed({read:i,write:function(t){t>e.pageCount()?i(e.pageCount()):0>=t?i(1):i(t)}}),e.pageCount=ko.computed(function(){return Math.ceil(e().length/e.pageSize())||1}),e.currentPageData=ko.computed(function(){var t=o(),n=i(),a=t*(n-1),r=t*n;return e().slice(a,r)}),e.moveFirst=function(){e.currentPage(1)},e.movePrevious=function(){e.currentPage(e.currentPage()-1)},e.moveNext=function(){e.currentPage(e.currentPage()+1)},e.moveLast=function(){e.currentPage(e.pageCount())},e}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],36:[function(require,module,exports){ +(function (global){ +"use strict";var $=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null),ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),sortable=(typeof window !== "undefined" ? window['jQuery']['ui']['sortable'] : typeof global !== "undefined" ? global['jQuery']['ui']['sortable'] : null),draggable=(typeof window !== "undefined" ? window['jQuery']['ui']['draggable'] : typeof global !== "undefined" ? global['jQuery']['ui']['draggable'] : null),console=require("./../../../bower_components/console-browserify/index.js");if(require("./../../../bower_components/knockout-sortable/build/knockout-sortable.min.js"),"undefined"==typeof sortable)throw"Cannot find jquery-ui sortable widget dependency!";if("undefined"==typeof draggable)throw"Cannot find jquery-ui sortable widget dependency!";var isDraggingHelper=function(e,t){e()?t.type==e()+"stop"&&e(!1):("dragstart"==t.type||"sortstart"==t.type)&&e(t.type.substring(0,4))},makeExtendedValueAccessor=function(e){return function(){var t=e();ko.utils.peekObservable(t),ko.utils.unwrapObservable(t),"undefined"==t.options&&(t.options={});var o=t.options.start;t.options.start=function(e,i){return"undefined"!=typeof t.dragging&&ko.isWritableObservable(t.dragging)&&isDraggingHelper(t.dragging,e),"undefined"!=typeof t.dropContainer&&(t.scrollInterval=global.setInterval(function(){var e=$(t.dropContainer).scrollTop();$(t.dropContainer).scrollTop(e+t.adding)},20)),"undefined"!=typeof o?o(e,i):void 0};var i=t.options.stop;t.options.stop=function(e,o){return"undefined"!=typeof t.dragging&&ko.isWritableObservable(t.dragging)&&isDraggingHelper(t.dragging,e),"undefined"!=typeof t.dropContainer&&global.clearInterval(t.scrollInterval),"undefined"!=typeof i?i(e,o):void 0};var n=t.options.drag;return t.options.drag=function(e,o){if("undefined"!=typeof t.dropContainer){var i=e.pageY-$(t.dropContainer).offset().top,a=i-$(t.dropContainer).height();t.adding=-20>i?-20:0>i?-10:10>i?-5:a>20?20:a>0?10:a>-10?5:0}return"undefined"!=typeof n?n(e,o):void 0},t}};ko.bindingHandlers.extsortable={init:function(e,t,o,i,n){return ko.bindingHandlers.sortable.init(e,makeExtendedValueAccessor(t),o,i,n)},update:function(e,t,o,i,n){return ko.bindingHandlers.sortable.update(e,makeExtendedValueAccessor(t),o,i,n)}},ko.bindingHandlers.extdraggable={init:function(e,t,o,i,n){return ko.bindingHandlers.draggable.init(e,makeExtendedValueAccessor(t),o,i,n)},update:function(e,t,o,i,n){return ko.bindingHandlers.draggable.update(e,makeExtendedValueAccessor(t),o,i,n)}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../../bower_components/console-browserify/index.js":1,"./../../../bower_components/knockout-sortable/build/knockout-sortable.min.js":8}],37:[function(require,module,exports){ +(function (global){ +"use strict";var $=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null),ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),console=require("./../../../bower_components/console-browserify/index.js");ko.bindingHandlers.preloader={init:function(e,t){var o=t();if("undefined"==typeof o.preloaded){o.preloaded=ko.observable("");var a=function(e){if(e!=o.preloaded())if(""!==e){var t=new Image;t.onload=function(){o.preloaded(e)},t.onerror=function(){o.preloaded(e)},t.src=e}else o.preloaded(e)};o.subscribe(a),a(o())}}},ko.bindingHandlers.advattr={init:function(e,t){var o=ko.utils.unwrapObservable(t()||{});ko.utils.objectForEach(o,function(t,o){var a=e.getAttribute(t);if(ko.isWriteableObservable(o)){var i=o();i!=a&&(o(a),null!==i&&console.log("AdvAttr found a value different from the default",t,i,a))}})},update:function(e,t){var o=ko.utils.unwrapObservable(t())||{};ko.utils.objectForEach(o,function(t,o){o=ko.utils.unwrapObservable(o);var a=o===!1||null===o||void 0===o;a?e.removeAttribute(t):e.setAttribute(t,o.toString())})}},ko.bindingHandlers.advstyle={init:function(e,t){var o=ko.utils.unwrapObservable(t()||{});ko.utils.objectForEach(o,function(t,o){var a;if(t.match(/Px$/)?(t=t.substr(0,t.length-2),a=e.style[t],a.match(/px$/)?a=a.replace(/px$/,""):console.log("AdvStyle binding found an unexpected default value",t,a,e)):a=e.style[t],ko.isWriteableObservable(o)){var i=o();i!=a&&(o(a),null!==i&&console.log("AdvStyle found a value different from the default",t,i,a))}})},update:function(e,t){var o=ko.utils.unwrapObservable(t()||{});ko.utils.objectForEach(o,function(t,o){o=ko.utils.unwrapObservable(o),(null===o||"undefined"==typeof o||o===!1)&&(o=""),t.match(/Px$/)&&(t=t.substr(0,t.length-2),o+="px"),e.style[t]=o})}},ko.bindingHandlers.domlog={init:function(e){console.log("initialized",e),ko.utils.domNodeDisposal.addDisposeCallback(e,function(){console.log("disposed",e)})}},ko.bindingHandlers.fudroppable={init:function(e,t){var o=t()||{},a={},i=function(e,t,o,a,i,n){e[t]?global.clearTimeout(e[t]):("undefined"!=typeof a&&o.classList.add(a),ko.isWriteableObservable(i)&&!i()&&i(!0));var l=function(){e[t]=null,"undefined"!=typeof a&&o.classList.remove(a),ko.isWriteableObservable(i)&&i()&&i(!1)};"dragleave"==n.type?l():e[t]=global.setTimeout(l,500)};(o.active||o.activeClass)&&ko.utils.registerEventHandler(global,"dragover",i.bind(void 0,a,"activeTimeout",e,o.activeClass,o.active)),o.hoverClass&&ko.utils.registerEventHandler(e,"dragover dragenter dragleave",i.bind(void 0,a,"hoverTimeout",e,o.hoverClass,void 0))}},ko.bindingHandlers.fileupload={extendOptions:{},remoteFilePreprocessor:function(e){return e},init:function(e){ko.utils.domNodeDisposal.addDisposeCallback(e,function(){$(e).fileupload("destroy")}),global.webkitURL?$(e).attr("title"," "):$(e).attr("title","")},update:function(e,t){var o=t()||{},a=$(e),i=a.parents(".uploadzone"),n=o.data;o.data=void 0;var l=o.canvasPreview;ko.utils.extend(o,{url:"/upload/",dataType:"json",dropZone:i.find(".mo-uploadzone")[0],autoUpload:!0,acceptFileTypes:/(\.|\/)(gif|jpe?g|png)$/i,maxFileSize:1048576,disableImageResize:/Android(?!.*Chrome)|Opera/.test(global.navigator.userAgent),previewMaxWidth:200,previewMaxHeight:200,previewCrop:!1,replaceFileInput:!1,messages:{unknownError:"Unknown error",uploadedBytes:"Uploaded bytes exceed file size",maxNumberOfFiles:"Maximum number of files exceeded",acceptFileTypes:"File type not allowed",maxFileSize:"File is too large",minFileSize:"File is too small",post_max_size:"The uploaded file exceeds the post_max_size directive in php.ini",max_file_size:"File is too big",min_file_size:"File is too small",accept_file_types:"Filetype not allowed",max_number_of_files:"Maximum number of files exceeded",max_width:"Image exceeds maximum width",min_width:"Image requires a minimum width",max_height:"Image exceeds maximum height",min_height:"Image requires a minimum height",abort:"File upload aborted",image_resize:"Failed to resize image",generic:"Unexpected upload error"}}),ko.utils.extend(o,ko.bindingHandlers.fileupload.extendOptions);var r=0,d="",s=function(){0===--r&&(n&&n(d),d="",l&&(i.find("img").show(),i.find("canvas").remove()),i.removeClass("uploading"),i.find(".progress-bar").css("width",0))},c=function(e){if("object"==typeof o.messages&&null!==o.messages){var t=e.match(/^([^ ]+)(.*)$/);if(t&&"undefined"!=typeof o.messages[t[1]])return o.messages[t[1]]+t[2]}return e};a.fileupload(o);for(var u=["fileuploadadd","fileuploadprocessalways","fileuploadprogressall","fileuploaddone","fileuploadfail"],p=function(e,t){if("fileuploadadd"==e.type&&r++,"fileuploadfail"==e.type&&(console.log("fileuploadfail",e,t),o.onerror&&(""===t.errorThrown&&"error"==t.textStatus?o.onerror(c("generic")):o.onerror(c("generic ("+t.errorThrown+")"))),s()),"fileuploaddone"==e.type)if("undefined"!=typeof t.result.files[0].url){if(o.onfile)for(var a=0;a=0;b--){var f=u[b];a.on(f,p)}$.support.fileInput||a.prop("disabled",!0).parent().addClass("disabled")}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../../bower_components/console-browserify/index.js":1}],38:[function(require,module,exports){ +(function (global){ +"use strict";var ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),console=require("./../../../bower_components/console-browserify/index.js");ko.bindingHandlers.ifSubs={cloneNodes:function(e,t){for(var o=0,i=e.length,n=[];i>o;o++){var a=e[o].cloneNode(!0);n.push(t?ko.cleanNode(a):a)}return n},init:function(e,t,o,i,n){var a,r,l=t();return"undefined"==typeof l.data.subsCount&&ko.extenders.subscriptionsCount(l.data),ko.computed(function(){var o,i,d,s=ko.utils.unwrapObservable(t().data.subsCount),c=!r;d=-("undefined"!=typeof t().gutter?t().gutter:1),o=s+(a?d:0)>=ko.utils.unwrapObservable(l.threshold),"undefined"!=typeof t().not&&t().not&&(o=!o),i=c||o!==a,i&&(c&&ko.computedContext.getDependenciesCount()&&(r=ko.bindingHandlers.ifSubs.cloneNodes(ko.virtualElements.childNodes(e),!0)),o?(c||ko.virtualElements.setDomNodeChildren(e,ko.bindingHandlers.ifSubs.cloneNodes(r)),ko.applyBindingsToDescendants(n,e)):ko.virtualElements.emptyNode(e),a=o)},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}},ko.virtualElements.allowedBindings.ifSubs=!0;var beforeSubscriptionProp,afterSubscriptionProp;if("function"==typeof ko.subscription&&"undefined"!=typeof ko.isWritableObservable)beforeSubscriptionProp="beforeSubscriptionAdd",afterSubscriptionProp="afterSubscriptionRemove";else if("3.2.0"==ko.version)beforeSubscriptionProp="va",afterSubscriptionProp="nb";else if("3.3.0"==ko.version)beforeSubscriptionProp="ja",afterSubscriptionProp="ua";else if("3.4.0"==ko.version)beforeSubscriptionProp="sa",afterSubscriptionProp="Ia";else{if("3.4.1"!=ko.version)throw"Unsupported minimized Knockout version "+ko.version+" (supported DEBUG or minimized 3.2.0 ... 3.4.1)";beforeSubscriptionProp="sa",afterSubscriptionProp="Ia"}ko.extenders.subscriptionsCount=function(e,t,o){if("undefined"==typeof e.subsCount){e.subsCount=ko.observable(e.getSubscriptionsCount()).extend({notify:"always"});var i=e[beforeSubscriptionProp],n=e[afterSubscriptionProp];e[beforeSubscriptionProp]=function(n){i&&i.call(e,n);var a=e.getSubscriptionsCount()+1;("undefined"==typeof t||a==t||"undefined"==typeof o||a==o)&&e.subsCount(a)},e[afterSubscriptionProp]=function(i){n&&n.call(e,i);var a=e.getSubscriptionsCount();("undefined"==typeof t||a==t||"undefined"==typeof o||a==o)&&e.subsCount(a)}}else console.log("already applied subscriptionCount to observable");return null}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../../bower_components/console-browserify/index.js":1}],39:[function(require,module,exports){ +(function (global){ +"use strict";var $=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null),spinner=(typeof window !== "undefined" ? window['jQuery']['ui']['spinner'] : typeof global !== "undefined" ? global['jQuery']['ui']['spinner'] : null),console=require("./../../../bower_components/console-browserify/index.js");if("undefined"==typeof spinner)throw"Cannot find jquery-ui spinner widget dependency!";$.widget("ui.spinner",spinner,{_adjustValue:function(e){this._super(e);var t=this.options;return e=parseFloat(e.toFixed(this._precision())),null!==t.max&&e>t.max?t.max:null!==t.min&&ei&&s>c+u||(r>u?(i>c&&_scrollIntoView(e,!0,n,i-c),p>s&&_scrollIntoView(e,!1,n,s-p)):(i>c&&s>p&&_scrollIntoView(e,!1,n,s-p),c>i&&p>s&&_scrollIntoView(e,!0,n,i-c)))}}catch(f){console.log("TODO exception scrolling into view",f)}}},ko.virtualElements.allowedBindings.scrollIntoView=!0; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../../bower_components/console-browserify/index.js":1}],44:[function(require,module,exports){ +(function (global){ +"use strict";function createStringTemplateEngine(e){var t=e.makeTemplateSource;return e.makeTemplateSource=function(e){return"undefined"!=typeof templates[e]?new ko.templateSources.stringTemplate(e,templates[e]):t(e)},e}function pushTemplate(e,t){templates[e]=t}function removeTemplate(e){"undefined"!=typeof templates[e]?templates[e]=void 0:origTemplateSystem.removeTemplate(e)}function init(){ko.setTemplateEngine(createStringTemplateEngine(new ko.nativeTemplateEngine))}function getTemplateContent(e){return"undefined"!=typeof templates[e]?templates[e]:origTemplateSystem.getTemplateContent(e)}var ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),origTemplateSystem=require("./script-template.js"),templates={};ko.templateSources.stringTemplate=function(e,t){this.templateName=e,this.template=t,this._data={}},ko.utils.extend(ko.templateSources.stringTemplate.prototype,{data:function(e,t){return 1===arguments.length?this._data[e]:(this._data[e]=t,void 0)},text:function(e){return 0===arguments.length?this.template:(this.template=e,void 0)}}),module.exports={init:init,addTemplate:pushTemplate,removeTemplate:removeTemplate,getTemplateContent:getTemplateContent}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./script-template.js":41}],45:[function(require,module,exports){ +(function (global){ +"use strict";var ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),$=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null),kojqui=(typeof window !== "undefined" ? window['kojqui'] : typeof global !== "undefined" ? global['kojqui'] : null),console=require("./../../../bower_components/console-browserify/index.js"),extendValueAccessor=function(e,t){return function(){return ko.utils.extend(t,e()),t}},options={show:{delay:500},track:!0,items:'[title][title!=""][title!=" "]'};ko.bindingHandlers.tooltips={init:function(e,t,o,i,n){return"undefined"!=typeof $.fn.tooltip&&"undefined"!=typeof ko.bindingHandlers.tooltip?ko.bindingHandlers.tooltip.init(e,extendValueAccessor(t,options),o,i,n):void 0},update:function(e,t,o,i,n){return"undefined"!=typeof $.fn.tooltip&&"undefined"!=typeof ko.bindingHandlers.tooltip?ko.bindingHandlers.tooltip.update(e,extendValueAccessor(t,options),o,i,n):void 0}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../../bower_components/console-browserify/index.js":1}],46:[function(require,module,exports){ +(function (global){ +"use strict";var ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),console=require("./../../../bower_components/console-browserify/index.js");ko.bindingHandlers.validatedValue={init:function(e,t,o){var i=t;if("undefined"!=typeof e.pattern){var n=new RegExp("^(?:"+e.pattern+")$"),a=ko.computed({read:function(){var o=ko.utils.unwrapObservable(t()),i=null===o||""===o||n.test(o);return i?e.classList.remove("invalid"):e.classList.add("invalid"),o},write:ko.isWriteableObservable(t())&&function(o){ko.selectExtensions.writeValue(e,o);var i=ko.selectExtensions.readValue(e);t()(i)},disposeWhenNodeIsRemoved:e});i=function(){return a}}ko.bindingHandlers.value.init(e,i,o)}},ko.expressionRewriting._twoWayBindings.validatedValue=!0; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../../bower_components/console-browserify/index.js":1}],47:[function(require,module,exports){ +(function (global){ +"use strict";var ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),console=require("./../../../bower_components/console-browserify/index.js");ko.bindingHandlers.uniqueId={currentIndex:0,init:function(e,t){var o=ko.utils.unwrapObservable(t())||{};if(""===o.id()){var a,i,n;n="ko_"+("undefined"!=typeof o.type?ko.utils.unwrapObservable(o.type):"block");do a=n+"_"+ ++ko.bindingHandlers.uniqueId.currentIndex,i=global.document.getElementById(a);while(i);o.id(a)}}},ko.virtualElements.allowedBindings.uniqueId=!0,ko.bindingHandlers.virtualAttr={update:function(e,t){8!==e.nodeType&&ko.bindingHandlers.attr.update(e,t)}},ko.virtualElements.allowedBindings.virtualAttr=!0,ko.bindingHandlers.virtualAttrStyle={update:function(e,t,o,a,i){if(8!==e.nodeType){var n="undefined"==typeof i.templateMode||"wysiwyg"!=i.templateMode,l=["style"];n&&l.push("replacedstyle");for(var r=ko.utils.unwrapObservable(t()),d=0;dn;n++)i.parentNode.insertBefore(a[n],i)}}else ko.bindingHandlers.html.update(e,t);return{controlsDescendantBindings:!0}}},ko.virtualElements.allowedBindings.virtualHtml=!0; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../../bower_components/console-browserify/index.js":1}],48:[function(require,module,exports){ +(function (global){ +"use strict";var tinymce=(typeof window !== "undefined" ? window['tinymce'] : typeof global !== "undefined" ? global['tinymce'] : null),$=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null),ko=(typeof window !== "undefined" ? window['ko'] : typeof global !== "undefined" ? global['ko'] : null),console=require("./../../../bower_components/console-browserify/index.js");require("./eventable.js"),ko.bindingHandlers.wysiwygOrHtml={init:function(e,t,o,i,a){var n="undefined"==typeof a.templateMode||"wysiwyg"!=a.templateMode;return n?ko.bindingHandlers.virtualHtml.init():ko.bindingHandlers.wysiwyg.init(e,t,o,i,a)},update:function(e,t,o,i,a){var n="undefined"==typeof a.templateMode||"wysiwyg"!=a.templateMode;return n?ko.bindingHandlers.virtualHtml.update(e,t,o,i,a):void 0}},ko.virtualElements.allowedBindings.wysiwygOrHtml=!0,ko.bindingHandlers.wysiwygHref={init:function(e,t,o,i,a){if(8!==e.nodeType){t();var n="undefined"==typeof a.templateMode||"wysiwyg"!=a.templateMode;if(n)e.setAttribute("target","_new");else{var l=o();"undefined"!=typeof l.wysiwygOrHtml?e.setAttribute("href","javascript:void(0)"):(e.removeAttribute("href"),e.setAttribute("disabledhref","#"))}}},update:function(e,t,o,i,a){if(8!==e.nodeType){var n="undefined"==typeof a.templateMode||"wysiwyg"!=a.templateMode,l=ko.utils.unwrapObservable(t());n&&(l===!1||null===l||void 0===l?e.removeAttribute("href"):e.setAttribute("href",l.toString()))}}},ko.virtualElements.allowedBindings.wysiwygHref=!0,ko.bindingHandlers.wysiwygSrc={convertedUrl:function(e,t,o,i){var a=e+"?method="+t+"&width="+o+(null!==i?"&height="+i:"");return console.log("basic converterUrl",a),a},placeholderUrl:function(e,t,o){},update:function(e,t){var o=ko.utils.unwrapObservable(t()),i=ko.utils.unwrapObservable(o.src),a=ko.utils.unwrapObservable(o.placeholder),n=ko.utils.unwrapObservable(o.width),l=ko.utils.unwrapObservable(o.height);if(i===!1||null===i||void 0===i||""===i)"object"==typeof a&&null!==a?e.setAttribute("src",ko.bindingHandlers.wysiwygSrc.placeholderUrl(a.width,a.height,a.text)):e.removeAttribute("src");else{var r=ko.utils.unwrapObservable(o.method);r||(r=n>0&&l>0?"cover":"resize");var d=ko.bindingHandlers.wysiwygSrc.convertedUrl(i.toString(),r,n,l);e.setAttribute("src",d)}"undefined"!=typeof n&&null!==n?e.setAttribute("width",n):e.removeAttribute("width"),"undefined"!=typeof l&&null!==l?e.setAttribute("height",l):e.removeAttribute("height")}},ko.bindingHandlers.wysiwygId={init:function(e,t,o,i,a){var n="undefined"==typeof a.templateMode||"wysiwyg"!=a.templateMode;n||e.setAttribute("id",ko.utils.unwrapObservable(t()))},update:function(e,t,o,i,a){var n="undefined"==typeof a.templateMode||"wysiwyg"!=a.templateMode;n||e.setAttribute("id",ko.utils.unwrapObservable(t()))}},ko.virtualElements.allowedBindings.wysiwygId=!0,ko.bindingHandlers.wysiwygClick={init:function(e,t,o,i,a){var n="undefined"==typeof a.templateMode||"wysiwyg"!=a.templateMode;n||ko.bindingHandlers.click.init(e,t,o,i,a)}},ko.virtualElements.allowedBindings.wysiwygClick=!0,ko.bindingHandlers.wysiwygCss={update:function(e,t,o,i,a){var n="undefined"==typeof a.templateMode||"wysiwyg"!=a.templateMode;n||ko.bindingHandlers.css.update(e,t,o,i,a)}},ko.virtualElements.allowedBindings.wysiwygCss=!0,ko.bindingHandlers.wysiwygImg={makeTemplateValueAccessor:function(e,t){return function(){var o="undefined"!=typeof t.templateMode&&"wysiwyg"==t.templateMode,i=e(),a=ko.utils.peekObservable(i);return ko.utils.unwrapObservable(i),{name:o?a._editTemplate:a._template,templateEngine:ko.nativeTemplateEngine.instance}}},init:function(e,t,o,i,a){return ko.bindingHandlers.template.init(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(t,a))},update:function(e,t,o,i,a){return a=a.extend(t()),ko.bindingHandlers.template.update(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(t,a),o,i,a)}},ko.virtualElements.allowedBindings.wysiwygImg=!0,ko.bindingHandlers.wysiwyg={currentIndex:0,standardOptions:{},fullOptions:{toolbar1:"bold italic forecolor backcolor hr styleselect removeformat | link unlink | pastetext code",plugins:["link hr paste lists textcolor code"]},init:function(e,t){ko.bindingHandlers.focusable.init(e),ko.utils.domNodeDisposal.addDisposeCallback(e,function(){tinymce.remove("#"+e.getAttribute("id"))});var o=t();if(!ko.isObservable(o))throw"Wysiwyg binding called with non observable";if(8===e.nodeType)throw"Wysiwyg binding called on virtual node, ignoring...."+e.innerHTML;var i=e.getAttribute("id");i||(i="wysiwyg_"+ ++ko.bindingHandlers.wysiwyg.currentIndex,e.setAttribute("id",i));var a,n="DIV"==e.tagName||"TD"==e.tagName,l=!1,r=!1,d={selector:"#"+i,inline:!0,hidden_input:!1,plugins:["paste"],toolbar1:"bold italic",toolbar2:"",preview_styles:!1,paste_as_text:!0,language:"en",schema:"html5",extended_valid_elements:"strong/b,em/i,*[*]",menubar:!1,skin:"gray-flat",setup:function(e){e.on("change redo undo",function(){l||(r=!0,o(e.getContent({format:"raw"})),r=!1)}),e.on("focus",function(){e.nodeChanged(),e.getElement().click()}),e.on("BeforeSetContent",function(e){e.initial&&(e.format="raw")}),a=e}};return ko.utils.extend(d,ko.bindingHandlers.wysiwyg.standardOptions),n&&ko.utils.extend(d,ko.bindingHandlers.wysiwyg.fullOptions),global.setTimeout(function(){tinymce.init(d)}),ko.computed(function(){var o=ko.utils.unwrapObservable(t());if(!r){try{l=!0,"undefined"!=typeof a?a.setContent(o,{format:"raw"}):ko.utils.setHtml(e,o)}catch(i){console.log("TODO exception setting content to editable element",typeof a,i)}l=!1}},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../../bower_components/console-browserify/index.js":1,"./eventable.js":34}],49:[function(require,module,exports){ +"use strict";var console=require("./../../../bower_components/console-browserify/index.js"),checkModel=function(e,t,o,n,i){var a,r,l,s=0;if("undefined"==typeof i&&(i=!1),"undefined"!=typeof t&&"function"==typeof t.splice)for(a={},r=0;r0)if(o[d].length>0){var u=0;for(r=0;r=e[d].length){console.log("WARN cannot find ",l,o[d][r].type," block in reference"),s=Math.max(s,2);break}s=Math.max(s,checkModel(e[d][u],void 0,o[d][r],l+"["+r+"."+o[d][r].type+"]"))}}else for(r=0;r=0;n--)if("property"==e[n].type&&e[n].name==t)return _declarationValueUrlPrefixer(e[n].value,o);return null},_propToCamelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})},_declarationValueUrlPrefixer=function(e,t){if(e.match(/url\(.*\)/)){var o=e.replace(/(url\()([^\)]*)(\))/g,function(e,o,n,i){var r=n.trim(),a=n.trim().charAt(0);"'"==a||'"'==a?r=r.substr(1,r.length-2):a="";var l=t(r);return null!==l?o+a+l+a+i:e});return o}return e},elaborateDeclarations=function(e,t,o,n,i,r,a){var l="object"==typeof r&&null!==r?r:{},s=null,d=0;if("undefined"==typeof t){var u=cssParse("#{\n"+e+"}",{comments:!0,position:!0});t=u.stylesheet.rules[0].declarations,d=1}for(var c=t.length-1;c>=0;c--)if("property"==t[c].type)if(a===!0&&"display"==t[c].name&&"none"==t[c].value)null===s&&(s=e),s=converterUtils.removeStyle(s,t[c].position.start,t[c].position.end,d,0,0,"");else{var f=t[c].name.match(/^-ko-(bind-|attr-)?([a-z0-9-]*?)(-if|-ifnot)?$/);if(null!==f){null===s&&"undefined"!=typeof e&&(s=e);var p,b,m,g="attr-"==f[1],h="bind-"==f[1],v=f[2],y="-if"==f[3]||"-ifnot"==f[3];if(y){p=t[c].name.substr(0,t[c].name.length-f[3].length);var k=_declarationValueLookup(t,p,o);if(null===k)throw"Unable to find declaration "+p+" for "+t[c].name}else{if((g||h)&&"undefined"==typeof i&&"undefined"!=typeof e)throw"Attributes and bind declarations are only allowed in inline styles!";var w,_=!0;if(g?(m=domutils.getAttribute(i,v),_=!1,w="virtualAttr"):h?(w=null,"text"==v?"undefined"!=typeof i?m=domutils.getInnerText(i):_=!1:"html"==v?"undefined"!=typeof i?m=domutils.getInnerHtml(i):_=!1:_=!1):(_="undefined"!=typeof e,_&&(m=_declarationValueLookup(t,v,o)),w="virtualStyle"),_&&null===m)throw console.error("Cannot find default value for",t[c].name,t),"Cannot find default value for "+t[c].name+": "+t[c].value+" in "+i+" ("+typeof e+"/"+v+")";var x=m,O=_propToCamelCase(v);try{b=converterUtils.expressionBinding(t[c].value,n,x)}catch(S){throw console.error("Model ensure path failed",S.stack,"name",t[c].name,"value",t[c].value,"default",m,"element",i),S}null!==w&&"undefined"==typeof l[w]&&(l[w]={}),"virtualAttr"==w&&"href"==O&&(w=null,O="wysiwygHref","undefined"!=typeof i&&null!==i&&domutils.removeAttribute(i,"href"));var C=_declarationValueLookup(t,t[c].name+"-if",o),$=!1;if(null===C)C=_declarationValueLookup(t,t[c].name+"-ifnot",o),$=!0;else if(null!==_declarationValueLookup(t,t[c].name+"-ifnot",o))throw"Unexpected error: cannot use both -if and -ifnot property conditions";if(null!==C)try{var T=converterUtils.conditionBinding(C,n);b=($?"!":"")+"("+T+") ? "+b+" : null"}catch(S){throw console.error("Unable to deal with -ko style binding condition",C,t[c].name),S}null!==w?l[w][O]=b:l[O]=b}if(null!==s)try{if("undefined"!=typeof i&&null!==i)s=converterUtils.removeStyle(s,t[c].position.start,t[c].position.end,d,0,0,"");else{var A="";y||(A=v+": "+m+""),s=converterUtils.removeStyle(s,t[c].position.start,t[c].position.end,d,0,0,A)}}catch(S){throw console.warn("Remove style failed",S,"name",t[c]),S}}else{var E=_declarationValueUrlPrefixer(t[c].value,o);if(E!=t[c].value&&(null===s&&"undefined"!=typeof e&&(s=e),null!==s))try{s=converterUtils.removeStyle(s,t[c].position.start,t[c].position.end,d,0,0,t[c].name+": "+E)}catch(S){throw console.log("Remove style failed replacing url",S,"name",t[c]),S}var M=_propToCamelCase(t[c].name),j="virtualAttrStyle",D="undefined"!=typeof l.virtualStyle?l.virtualStyle[M]:void 0,P=" ";"undefined"==typeof l[j]&&(l[j]="''",P=""),"undefined"!=typeof D?(l[j]="'"+t[c].name+": '+("+D+")+';"+P+"'+"+l[j],delete l.virtualStyle[M]):l[j]="'"+t[c].name+": "+converterUtils.addSlashes(E)+";"+P+"'+"+l[j]}}if("undefined"!=typeof i&&null!==i){for(var H in l.virtualStyle)if(l.virtualStyle.hasOwnProperty(H))throw console.log("Unexpected virtualStyle binding after conversion to virtualAttr.style",H,l.virtualStyle[H],e),"Unexpected virtualStyle binding after conversion to virtualAttr.style for "+H;delete l.virtualStyle;var B=domutils.getAttribute(i,"data-bind"),q=(null!==B?B+", ":"")+_bindingSerializer(l);domutils.setAttribute(i,"data-bind",q)}if("undefined"==typeof e){var I=!1;for(var R in l.virtualStyle)if(l.virtualStyle.hasOwnProperty(R)){I=!0;break}if(I){if("undefined"!=typeof l.virtualAttrStyle){var U=l.virtualAttrStyle;delete l.virtualAttrStyle,l.virtualAttrStyle=U}}else delete l.virtualStyle;return _bindingSerializer(l)}return s},_bindingSerializer=function(e){var t=[];for(var o in e)e.hasOwnProperty(o)&&("object"==typeof e[o]?t.push(o+": "+"{ "+_bindingSerializer(e[o])+" }"):t.push(o+": "+e[o]));return t.reverse().join(", ")};module.exports=elaborateDeclarations; + +},{"./../../../bower_components/console-browserify/index.js":1,"./../../../bower_components/mensch/lib/parser.js":15,"./domutils.js":51,"./utils.js":57}],51:[function(require,module,exports){ +(function (global){ +"use strict";function _extend(e,t){if(t)for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);return e}var $=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null),objExtend=function(e,t){return"function"==typeof $.extend?$.extend(!0,e,t):_extend(e,JSON.parse(JSON.stringify(t)))},getAttribute=function(e,t){var o=$(e).attr(t);return"undefined"==typeof o&&(o=null),o},setAttribute=function(e,t,o){$(e).attr(t,o)},removeAttribute=function(e,t){$(e).removeAttr(t)},getInnerText=function(e){return $(e).text()},getInnerHtml=function(e){return $(e).html()},getLowerTagName=function(e){return""===e.tagName&&"string"==typeof e.name?e.name.toLowerCase():""!==e.tagName?e.tagName.toLowerCase():$(e).prop("tagName").toLowerCase()},setContent=function(e,t){$(e).html(t)},replaceHtml=function(e,t){$(e).replaceWith(t)},removeElements=function(e,t){t&&"undefined"!=typeof e.detach&&e.detach(),e.remove()};module.exports={getAttribute:getAttribute,setAttribute:setAttribute,removeAttribute:removeAttribute,getInnerText:getInnerText,getInnerHtml:getInnerHtml,getLowerTagName:getLowerTagName,setContent:setContent,replaceHtml:replaceHtml,removeElements:removeElements,objExtend:objExtend}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],52:[function(require,module,exports){ +"use strict";var console=require("./../../../bower_components/console-browserify/index.js"),elaborateDeclarations=require("./declarations.js"),utils=require("./utils.js"),modelDef=require("./model.js"),_getOptionsObject=function(e){for(var t=e.split("|"),o={},n=0;n1?i[1]:i[0]}return o},_filterProps=function(e,t,o){var n=[];for(var i in e)if(!i.match(/^customStyle$/)&&!i.match(/^_/)&&e.hasOwnProperty(i)){var a=null!==e[i]&&"undefined"!=typeof e[i]._category&&"style"==e[i]._category;if("id"==i||"type"==i||i.match(/Blocks$/));else if("styler"==t)(a||o>0)&&n.push(i);else if("edit"==t){var r=null!==e[i]&&"undefined"!=typeof e[i]._category&&"content"==e[i]._category&&("undefined"==typeof e[i]._context||"block"!=e[i]._context);r&&n.push(i)}else"undefined"==typeof t&&n.push(i)}return n},_propInput=function(e,t,o,n,i){var a,r="";if(null!==e&&"undefined"!=typeof e._widget&&(a=e._widget),"undefined"==typeof a)throw"Unknown data type for "+t;var l="focusable: true";if("edit"==n&&(l+=", event: { focus: function(ui, event) { $($element).click(); } } "),r+='"},_getGlobalStyleProp=function(e,t,o,n){var i;return("object"!=typeof t||null===t||"undefined"!=typeof t._widget)&&"undefined"!=typeof o&&"undefined"!=typeof n&&n.length>0&&"object"==typeof e&&"undefined"!=typeof e[n]&&(i=e[n]),i},_propEditor=function(e,t,o,n,i,a,r,l,s,d,u,c,p,f,b){if("undefined"==typeof s&&(s=0),"undefined"!=typeof r&&"object"==typeof n&&null!==n&&"undefined"==typeof n._usecount)return console.log("TODO EDITOR ignoring",a,"property because it is not used by the template","prop:",r,"type:",l,"level:",s,e._templateName),"";var m,g="undefined"!=typeof c?r+"._defaultComputed":r,h="",v=g,y=1,k=1;if("object"==typeof n&&null!==n&&"undefined"==typeof n._widget||"undefined"==typeof c&&(y+=1),"undefined"==typeof c&&"undefined"!=typeof d&&(k+=d),"undefined"!=typeof r&&p&&(h+=""),"undefined"==typeof r||null!==n&&"undefined"!=typeof n._name||console.log("TODO WARN Missing label for property ",r),"undefined"==typeof r&&null!==n&&"undefined"==typeof n._name&&console.log("TODO WARN Missing label for object ",n.type),"object"==typeof n&&null!==n&&"undefined"==typeof n._widget){var w=_filterProps(n,l,s),x="styler"==l&&null!==n&&"undefined"!=typeof n.customStyle&&"undefined"!=typeof c,_="",$="";"undefined"!=typeof r&&"edit"==l&&(_=", click: function(obj, evt) { $root.selectItem("+r+", $data); return false }, clickBubble: false, css: { selecteditem: $root.isSelectedItem("+r+") }, scrollIntoView: $root.isSelectedItem("+r+"), ",$+=" selectable"),x&&($+=" supportsCustomStyles"),h+='
';var S=null!==n&&"undefined"!=typeof n._name?n._name:"undefined"!=typeof r?"["+r+"]":"";if(x){var C="Stile";"undefined"!=typeof i&&null!==i&&"undefined"!=typeof i._name?C=i._name:console.log("TODO missing label for theme section ",r,null!==n?n.type:"-"),S="Block"}else S=""+S+"";if(m=null!==n&&"undefined"!=typeof n._help?' title="'+utils.addSlashes(n._help)+"\" data-bind=\"attr: { title: $root.ut('template', '"+utils.addSlashes(n._help)+"') }\"":"",h+="'+S+"","edit"==l&&"undefined"!=typeof n._blockDescription&&(h+="
"+n._blockDescription+"
"),x&&(h+='",h+=""),"undefined"!=typeof r&&(h+="",1==s&&"undefined"!=typeof r&&"undefined"!=typeof n._previewBindings&&"undefined"!=typeof e)){"undefined"!=typeof f&&(h+='
'),"undefined"!=typeof b&&(h+='
');var O=elaborateDeclarations(void 0,n._previewBindings,o,e.bind(this,a+"."));h+='
'}var T;0===s&&"undefined"!=typeof n._previewBindings&&(T=elaborateDeclarations(void 0,n._previewBindings,o,e.bind(this,a.length>0?a+".":"")));var E,A,D,M,H=h.length;for(E=0;E0?a+"."+w[E]:w[E],("object"!=typeof n[w[E]]||null===n[w[E]]||"undefined"!=typeof n[w[E]]._widget)&&(M=void 0,0===s&&"theme"==w[E]?h+=_propEditor(e,t,o,n[w[E]],D,A,w[E],l,0,d,void 0,void 0,p,f):(M=_getGlobalStyleProp(u,n[w[E]],w[E],A),h+=_propEditor(e,t,o,n[w[E]],D,A,w[E],l,s+1,d,u,M,p,f,T)));for(E=0;E0?a+"."+w[E]:w[E],"object"==typeof n[w[E]]&&null!==n[w[E]]&&"undefined"==typeof n[w[E]]._widget&&(M=void 0,0===s&&"theme"==w[E]?h+=_propEditor(e,t,o,n[w[E]],D,A,w[E],l,0,d,void 0,void 0,p,f):(M=_getGlobalStyleProp(u,n[w[E]],w[E],A),h+=_propEditor(e,t,o,n[w[E]],D,A,w[E],l,s+1,d,u,M,p,f,T)));var q=h.length-H;if(0===q){if("object"==typeof n&&null!==n&&"template"==n._context)return"";h+='
Selected element has no editable properties
'}"undefined"!=typeof r&&(h+=""),h+="
"}else{var B=!0;if("undefined"==typeof u&&(B=!1),null===n||"object"!=typeof n||"undefined"!=typeof n._widget){var j=[];"undefined"!=typeof c&&j.push("css: { notnull: "+r+"() !== null }"),m=null!==n&&"undefined"!=typeof n._help?' title="'+utils.addSlashes(n._help)+"\" data-bind=\"attr: { title: $root.ut('template', '"+utils.addSlashes(n._help)+"') }\"":"",m.length>0&&j.push("tooltips: {}");var I=j.length>0?'data-bind="'+utils.addSlashes(j.join())+'"':"";h+='
";var P=null!==n&&"undefined"!=typeof n._name?n._name:"undefined"!=typeof r?"["+r+"]":"";P=""+P+"",h+="'+P+"",h+='
',h+=_propInput(n,r,g,l,t),h+="
","undefined"!=typeof c&&(h+='
',h+=_propInput(n,r,c,l,t),h+="
",B&&(h+='
")),h+="
"}else h+=null===n||"object"!=typeof n?'
[A|'+r+"|"+typeof n+"]
":'
[B|'+r+"|"+typeof n+"]
"}return"undefined"!=typeof r&&p&&(h+="",h+="",h+='('+r+")",h+=""),h},createBlockEditor=function(e,t,o,n,i,a,r,l,s,d,u,c){"undefined"==typeof u&&(u=!0);var p,f=modelDef.getDef(e,a),b=modelDef.getDef(e,i);"undefined"!=typeof b._previewBindings&&"thaeme"!=a&&"styler"==r&&(p=elaborateDeclarations(void 0,b._previewBindings,n,modelDef.getBindValue.bind(void 0,e,o,i,i,"")));var m,g="undefined"!=typeof d&&d?e[a]._globalStyles:void 0,h="undefined"!=typeof d&&d?e[a]._globalStyle:void 0;if("undefined"!=typeof h){var v=modelDef.getDef(e,"theme");m=v[h.replace(/^(\$theme|_theme_)\./,"")]}var y=modelDef.getBindValue.bind(void 0,e,o,i,a);y._templateName=a;var k='
';k+='
'+f.type+"
";var w=_propEditor(y,t,n,f,m,"",void 0,r,c,s,g,h,u,p);w.length>0&&(k+=w),k+="
",l(k,a,r)},createBlockEditors=function(e,t,o,n,i,a,r,l){createBlockEditor(e,t,o,n,i,a,"edit",r,l),createBlockEditor(e,t,o,n,i,a,"styler",r,l,!0)},generateEditors=function(e,t,o,n,i){var a,r=e._defs,l=e.templateName,s=e._blocks,d=[];for(a=0;a0&&l.push(r[s]);t[o]=l}else"string"==typeof t[o]||"boolean"==typeof t[o]?t[o]=n:"object"==typeof t[o]&&null!==t[o]&&"undefined"!=typeof t[o]._widget?("object"==typeof n&&null!==n&&console.log("objectvalue",o,t[o]._widget,n),t[o]=n):console.log("setting",typeof t[o],t[o],o,n);else{var d=o.substr(0,i);_valueSet(e,t[d],o.substr(i+1),n)}},_modelCreateOrUpdateBlockDef=function(e,t,o,n){if("undefined"!=typeof e[t]&&e[t]._initialized&&!e[t]._writeable)throw console.log("_modelCreateOrUpdateBlockDef",e,t,o,n),"Trying to alter non writeable model: "+t+" / "+o;if("undefined"==typeof e[t]&&(e[t]={_writeable:!0},"undefined"==typeof n&&(n={}),"undefined"==typeof n.category&&"undefined"==typeof e[t]._category&&(n.category=t.match(/(^t|.T)heme$/)||t.match(/(^s|.S)tyle$/)||t.match(/(^c|.C)olor$/)||t.match(/(^r|.R)adius$/)?"style":"content")),"undefined"!=typeof n){if("undefined"!=typeof n.name&&(e[t]._name=n.name),"undefined"!=typeof n.themeOverride&&(e[t]._themeOverride=n.themeOverride),"undefined"!=typeof n.globalStyle){e[t]._globalStyle=n.globalStyle;var i=n.globalStyle.replace(/^(\$theme|_theme_)\./,""),r=i.indexOf("."),a=-1!=r?i.substr(0,r):i;_modelCreateOrUpdateBlockDef(e,"theme",a),("undefined"==typeof e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,"customStyle=false")}"undefined"!=typeof n.contextName&&(e[t]._context=n.contextName,"block"==n.contextName&&"undefined"==typeof e[t]._globalStyle&&(e[t]._globalStyle="_theme_.bodyTheme",_modelCreateOrUpdateBlockDef(e,"theme","bodyTheme"),("undefined"==typeof e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,"customStyle=false"))),"undefined"!=typeof n.extend&&(e[t].type=n.extend)}for(var l in n)n.hasOwnProperty(l)&&"undefined"!=typeof n[l]&&-1==["name","extend","contextName","globalStyle","themeOverride"].indexOf(l)&&(e[t]["_"+l]=n[l]);"undefined"!=typeof o&&o.length>0&&(e[t]._props="undefined"!=typeof e[t]._props&&e[t]._props.length>0?e[t]._props+" "+o:o)},_removePrefix=function(e){var t=e.match(/^[^A-Z]+([A-Z])(.*)$/);return null!==t?t[1].toLowerCase()+t[2]:null},_generateModelFromDef=function(e,t){var o={};for(var n in e)if(!n.match(/^_.*/)&&e.hasOwnProperty(n)){var i=e[n];if("object"==typeof i&&null!==i&&"undefined"!=typeof i._complex&&i._complex)o[n]=_generateModelFromDef(i,t);else if("type"==n)o[n]=i;else{if("object"!=typeof i)throw console.error("Unexpected model def",n,i,e),"Unexpected model def ["+n+"]="+i;o[n]=null}}if("undefined"!=typeof e._defaultValues){var r=e._defaultValues;for(var a in r)r.hasOwnProperty(a)&&_valueSet(t,o,a,r[a])}return o},_generateModel=function(e,t){var o=_getModelDef(e,t,!1,!0);return _generateModelFromDef(o,e)},_getDef=function(e,t){return _getModelDef(e,t,!1,!0)},_getModelDef=function(e,t,o,n){if("undefined"==typeof e[t]){if(-1!=t.indexOf(" "))return null;var i=_removePrefix(t);return null!==i?_getModelDef(e,i,o,n):null}var r=e[t];if("object"!=typeof r)throw"Block definition must be an object: found "+r+" for "+t;if("undefined"==typeof r._initialized){if("undefined"==typeof r.type&&(r.type=-1==t.indexOf(" ")?t:t.substr(t.indexOf(" ")+1)),r.type!=t&&"undefined"==typeof r._widget){var a=_getModelDef(e,r.type,!0),l=objExtend(a,r);r=l,e[t]=r}else"undefined"==typeof r._widget&&"undefined"==typeof r._props&&"undefined"==typeof r._complex;r._writeable=!0,r._initialized=!0}if("undefined"!=typeof r._props){var s=r._props;if(s=s.split(" "),s.length>0&&"undefined"==typeof r._writeable)throw console.error("Altering a non writable object ",t,s,r),"Altering a non writable object: "+t+" def: "+s;"undefined"==typeof r._processedDefs&&(r._processedDefs={}),"undefined"==typeof r._globalStyles&&(r._globalStyles={}),"undefined"==typeof r._defaultValues&&(r._defaultValues={});for(var d=0;d((?:(?!--)[\s\S])*?)/g,function(e,t,o){var n="";n+=o.replace(/<([A-Za-z:]+)/g,"/g,"").replace(/\/>/g,"/>"),n+="";var i='';return i+=$("
").append($(n)).html().replace(/^/,"").replace(/$/,""),i+=""})}var $=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null),console=require("./../../../bower_components/console-browserify/index.js"),converterUtils=require("./utils.js"),elaborateDeclarations=require("./declarations.js"),processStylesheetRules=require("./stylesheet.js"),modelDef=require("./model.js"),domutils=require("./domutils.js"),wrapElementWithCondition=function(e,t,o){var n=domutils.getAttribute(t,e);try{var i=converterUtils.conditionBinding(n,o);$(t).before(""),$(t).after(""),domutils.removeAttribute(t,e)}catch(r){throw console.warn("Model ensure path failed in if/variant",t,n,e),r}},replacedAttributes=function(e,t){domutils.setAttribute(e,t,domutils.getAttribute(e,"replaced"+t))},processStyle=function(e,t,o,n){var i,r=domutils.getAttribute(e,"replacedstyle"),a=null;n&&(i={uniqueId:"$data",attr:{id:"id"}});var l=null!==domutils.getAttribute(e,"data-ko-display");a=elaborateDeclarations(r,void 0,t,o,e,i,l),null===a?a=r:domutils.removeAttribute(e,"replacedstyle"),null!==a&&(a.trim().length>0?domutils.setAttribute(e,"style",a):domutils.removeAttribute(e,"style"))},_fixRelativePath=function(e,t,o,n){var i=domutils.getAttribute(n,e),r=t(i);null!==r&&domutils.setAttribute(n,e,r)},processBlock=function(e,t,o,n,i,r,a,l,s,d){try{var u;if("block"==r)u=domutils.getAttribute(e,"data-ko-block"),domutils.removeAttribute(e,"data-ko-block");else{if("template"!=r)throw"Unexpected context name while processing block: "+r;u=a}$("[data-ko-remove]",e).remove();for(var c=$("[data-ko-block]",e).replaceWith(""),f=["href","src","data-ko-placeholder-src","background"],p=0;p0&&(b+=" "),b+=domutils.getAttribute(t,"data-ko-properties"),domutils.removeAttribute(t,"data-ko-properties")}),modelDef.createOrUpdateBlockDef(t,u,b,{contextName:r});var g=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,a,u,"");"block"==r&&g("id",""),$("style",e).each(function(e,n){var r=domutils.getInnerHtml(n),l=modelDef.createOrUpdateBlockDef.bind(void 0,t),s=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,a),c=processStylesheetRules(r,void 0,s,l,o,i,a,u);if(c!=r)if(""!==c.trim()){var f=d(c);domutils.setAttribute(n,"data-bind","template: { name: '"+f+"' }"),domutils.setContent(n,"")}else domutils.removeElements($(n))}),processStyle(e,i,g,s);for(var h=["data-ko-display","data-ko-editable","data-ko-wrap","href"],v=0;v0){var u=s.substr(0,s.lastIndexOf("."));a=g(u)}else a=g(s);if(l="wysiwygClick: function(obj, evt) { $root.selectItem("+a+", $data); return false }, clickBubble: false, wysiwygCss: { selecteditem: $root.isSelectedItem("+a+") }, scrollIntoView: $root.isSelectedItem("+a+")","img"!=domutils.getLowerTagName(t)){n=domutils.getInnerHtml(t);var c=g(s,n,!0,"wysiwyg");if(o="",domutils.getAttribute(t,"id")||(o+="wysiwygId: id()+'_"+s.replace(".","_")+"', "),"undefined"!=typeof l&&(o+=l+", "),o+="wysiwygOrHtml: "+c,"td"==domutils.getLowerTagName(t)){var f=$('
')[0];domutils.setAttribute(f,"data-bind",o);var p=domutils.getInnerHtml($("
").append(f));domutils.setContent(t,p)}else i=domutils.getAttribute(t,"data-bind"),r=(null!==i?i+", ":"")+o,domutils.setAttribute(t,"data-bind",r),domutils.setContent(t,"");domutils.removeAttribute(t,"data-ko-editable")}else{var m=domutils.getAttribute(t,"width");if(""===m&&(m=null),null===m)throw console.error("ERROR: data-ko-editable images must declare a WIDTH attribute!",t),"ERROR: data-ko-editable images must declare a WIDTH attribute!";var b=domutils.getAttribute(t,"height");""===b&&(b=null);var h=domutils.getAttribute(t,"align");i=domutils.getAttribute(t,"data-bind");var v=i&&i.match(/virtualAttr: {[^}]* height: ([^,}]*)[,}]/);v&&(b=v[1]);var y=i&&i.match(/virtualAttr: {[^}]* width: ([^,}]*)[,}]/);y&&(m=y[1]);var k;n=domutils.getAttribute(t,"data-ko-placeholder-src");var w="";n?w=domutils.getAttribute(t,"src"):n=domutils.getAttribute(t,"src");var x;m&&b?x=m+"+'x'+"+b:b?m||(x="'h'+"+b+"+''"):x="'w'+"+m+"+''";var _,C=b||domutils.getAttribute(t,"data-ko-placeholder-height"),S=m||domutils.getAttribute(t,"data-ko-placeholder-width");if(domutils.removeAttribute(t,"src"),domutils.removeAttribute(t,"data-ko-editable"),domutils.removeAttribute(t,"data-ko-placeholder-height"),domutils.removeAttribute(t,"data-ko-placeholder-width"),domutils.removeAttribute(t,"data-ko-placeholder-src"),n&&(_="{ width: "+S+", height: "+C+", text: "+x+"}"),!S||!C)throw console.error("IMG data-ko-editable must declare width and height attributes, or their placeholder counterparts data-ko-placeholder-width/data-ko-placeholder-height",t),"ERROR: IMG data-ko-editable MUST declare width and height attributes, or their placeholder counterparts data-ko-placeholder-width/data-ko-placeholder-height";var O=g(s,w,!1,"wysiwyg");o="wysiwygSrc: { width: "+m+", height: "+b+", src: "+O+", placeholder: "+_+" }",r=(null!==i?i+", ":"")+o,domutils.setAttribute(t,"data-bind",r);var T=d(t),A="{ width: "+m;"left"==h?A+=", float: 'left'":"right"==h?A+=", float: 'right'":"center"==h?console.log("non so cosa fa align=center su una img e quindi non so come simularne l'editing"):"top"==h?A+=", verticalAlign: 'top'":"middle"==h?A+=", verticalAlign: 'middle'":"bottom"==h&&(A+=", verticalAlign: 'bottom'"),A+="}",$(t).before(""),$(t).after("")}}),$("[href]",e).each(function(e,t){var o=domutils.getAttribute(t,"href"),n="wysiwygHref: '"+converterUtils.addSlashes(o)+"'",i=domutils.getAttribute(t,"data-bind"),r=(null!==i?i+", ":"")+n;domutils.setAttribute(t,"data-bind",r)}),$("replacedblock",e).each(function(e,r){var s=c[e],f=processBlock(s,t,o,n,i,"block",u,l,!0,d),p=modelDef.ensurePathAndGetBindValue(t,o,a,u,"",f);$(r).before(""),$(r).after(""),$(r).remove()}),$($("[data-ko-wrap]",e).get().reverse(),e).each(function(e,t){var o=domutils.getAttribute(t,"data-ko-wrap");if("undefined"==typeof o||""===o||"true"===o)throw"Unsupported empty value for data-ko-wrap: use false value if you want to always remove the tag";var n,i,r=converterUtils.conditionBinding(o,g),a=domutils.getAttribute(t,"data-bind");if(""!==a&&null!==a&&a.match(/(block|wysiwygOrHtml):/)){var l=""+domutils.getInnerHtml(t)+"";n=d(l),domutils.removeAttribute(t,"data-ko-wrap"),i=d(t),domutils.replaceHtml(t,"")}else n=d(domutils.getInnerHtml(t)),domutils.removeAttribute(t,"data-ko-wrap"),domutils.setContent(t,""),i=d(t),domutils.replaceHtml(t,"")}),d(e,u,"show"),n(a,u,r,l),u}catch(k){throw console.error("Exception while parsing the template",k,e),k}},translateTemplate=function(e,t,o,n){var i={},r=conditional_replace(t.replace(/(<[^>]+\s)(style|http-equiv)(="[^"]*"[^>]*>)/gi,function(e,t,o,n){return t+"replaced"+o+n})),a=$(r),l=a[0],s=[],d=function(e,t,o,n){s.push({root:e,block:t,context:o,container:n})},u=function(e,t,o){if("undefined"==typeof i.themes&&(i.themes={}),"undefined"==typeof i.themes[e]&&(i.themes[e]={}),"undefined"==typeof i.themes[e][t]||null===i.themes[e][t])i.themes[e][t]=o;else if("undefined"!=typeof o&&null!==o){var n=i.themes[e][t];n!=o&&console.log("Error setting a new default for property "+t+" in theme "+e+". old:"+n+" new:"+o+"!")}},c=$("[data-ko-container]",a),f={};c.each(function(e,t){var o=domutils.getAttribute(t,"data-ko-container")+"Blocks";domutils.removeAttribute(t,"data-ko-container"),domutils.setAttribute(t,"data-bind","block: "+o);var n=$("> [data-ko-block]",t);domutils.removeElements(n,!0),f[o]=n}),modelDef.createOrUpdateBlockDef(i,"id"),modelDef.createOrUpdateBlockDef(i,"bodyTheme"),modelDef.createOrUpdateBlockDef(i,"blocks","blocks[]"),modelDef.createOrUpdateBlockDef(i,"text"),processBlock(l,i,u,d,o,"template",e,void 0,!1,n);var p=function(t,r,a){processBlock(a,i,u,d,o,"block",e,t,!0,n)};for(var m in f)if(f.hasOwnProperty(m)){var b=f[m],g=m;modelDef.ensurePathAndGetBindValue(i,u,e,e,"",g+".blocks","[]"),b.each(p.bind(void 0,g))}var h={_defs:i,templateName:e,_blocks:s};return"undefined"!=typeof i[e]._version&&(h.version=i[e]._version),h};module.exports=translateTemplate; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./../../../bower_components/console-browserify/index.js":1,"./declarations.js":50,"./domutils.js":51,"./model.js":54,"./stylesheet.js":56,"./utils.js":57}],56:[function(require,module,exports){ +"use strict";var cssParse=require("./../../../bower_components/mensch/lib/parser.js"),console=require("./../../../bower_components/console-browserify/index.js"),converterUtils=require("./utils.js"),elaborateDeclarations=require("./declarations.js"),_processStyleSheetRules_processBlockDef=function(e,t){for(var o,n,i,r=0;r=0;f--){if("supports"==t[f].type&&"-ko-blockdefs"==t[f].name)_processStyleSheetRules_processBlockDef(n,t[f].rules),s=converterUtils.removeStyle(s,t[f].position.start,d,0,0,0,"");else if("media"==t[f].type||"supports"==t[f].type)s=processStylesheetRules(s,t[f].rules,o,n,i,r,a,l);else if("comment"==t[f].type);else if("rule"==t[f].type){for(var p=t[f].selectors,b="",m=null,g=0;g0&&(b+=", ");var h=p[g].match(/\[data-ko-block=([^ ]*)\]/);if(null!==h){if(null!==m&&m!=h[1])throw"Found multiple block-match attribute selectors: cannot translate it ("+m+" vs "+h[1]+")";m=h[1]}b+=""+p[g]}if(m){var v="",y="",k=d,w=" ";t[f].declarations.length>0&&(t[f].declarations[0].position.start.line!=t[f].position.end.line&&(w="\n"+new Array(t[f].position.start.col).join(" ")),k=t[f].declarations[t[f].declarations.length-1].position.end),null===k?s+=w+y:s=k==d?converterUtils.removeStyle(s,k,d,0,0,0,w+y):converterUtils.removeStyle(s,k,d,0,0,0,w+"}"+w+y),b=v+w+b.replace(new RegExp("\\[data-ko-block="+m+"\\]","g"),""+m+""),n(m,"",{contextName:"block"})}var _=m?m:l;c=o.bind(this,_,"");var x=elaborateDeclarations(s,t[f].declarations,r,c);null!==x&&(s=x),s=converterUtils.removeStyle(s,t[f].position.start,t[f].position.end,0,0,0,b)}else console.log("Unknown rule type",t[f].type,"while parsing ');\n }\n }\n\n function handleRule(rule) {\n var sel = rule[0];\n var style = rule[1];\n var selector = new utils.Selector(sel);\n var parsedSelector = selector.parsed();\n var pseudoElementType = getPseudoElementType(parsedSelector);\n\n // skip rule if the selector has any pseudos which are ignored\n for (var i = 0; i < parsedSelector.length; ++i) {\n var subSel = parsedSelector[i];\n if (subSel.pseudos) {\n for (var j = 0; j < subSel.pseudos.length; ++j) {\n var subSelPseudo = subSel.pseudos[j];\n if (juiceClient.ignoredPseudos.indexOf(subSelPseudo.name) >= 0) {\n return;\n }\n }\n }\n }\n\n if (pseudoElementType) {\n var last = parsedSelector[parsedSelector.length - 1];\n var pseudos = last.pseudos;\n last.pseudos = filterElementPseudos(last.pseudos);\n sel = parsedSelector.toString();\n last.pseudos = pseudos;\n }\n\n var els;\n try {\n els = $(sel);\n } catch (err) {\n // skip invalid selector\n return;\n }\n\n els.each(function() {\n var el = this;\n\n if (el.name && juiceClient.nonVisualElements.indexOf(el.name.toUpperCase()) >= 0) {\n return;\n }\n\n if (pseudoElementType) {\n var pseudoElPropName = 'pseudo' + pseudoElementType;\n var pseudoEl = el[pseudoElPropName];\n if (!pseudoEl) {\n pseudoEl = el[pseudoElPropName] = $('').get(0);\n pseudoEl.pseudoElementType = pseudoElementType;\n pseudoEl.pseudoElementParent = el;\n el[pseudoElPropName] = pseudoEl;\n }\n el = pseudoEl;\n }\n\n if (!el.styleProps) {\n el.styleProps = {};\n\n // if the element has inline styles, fake selector with topmost specificity\n if ($(el).attr(styleAttributeName)) {\n var cssText = '* { ' + $(el).attr(styleAttributeName) + ' } ';\n addProps(utils.parseCSS(cssText)[0][1], new utils.Selector('").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this)); +return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s],this.document[0]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i],this.document[0]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===s?t._createTrPlaceholder(t.currentItem.find("tr").eq(0),e("",t.document[0]).appendTo(n)):"tr"===s?t._createTrPlaceholder(t.currentItem,n):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,i){var s=this;t.children().each(function(){e(" ",s.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",d=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.leftthis.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}}),e.widget("ui.spinner",{version:"1.11.4",defaultElement:"",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""+""+""+""+""},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),"icons"===e&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),"disabled"===e&&(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable"))},_setOptions:h(function(e){this._super(e)}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e},_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var e=this.value();return null===e?!1:e===this._adjustValue(e)},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:h(function(e){this._stepUp(e)}),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:h(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:h(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:h(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(h(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),e.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,""),s=location.href.replace(e,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr("aria-controls")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||t.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):"disabled"===e?(this._setupDisabled(t),void 0):(this._super(e,t),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",t),t||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,i=this.tabs,s=this.anchors,n=this.panels; +this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr("id"),h=e(s).closest("li"),l=h.attr("aria-controls");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr("aria-controls")||e({}).uniqueId()[0].id,n="#"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr("aria-live","polite")),a.length&&(t.panels=t.panels.add(a)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":o,"aria-labelledby":r}),a.attr("aria-labelledby",r)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("
").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),r={tab:n,panel:o},h=function(e,t){"abort"===t&&s.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===s.xhr&&delete s.xhr};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.done(function(e,t,n){setTimeout(function(){o.html(e),s._trigger("load",i,r),h(n,t)},1)}).fail(function(e,t){setTimeout(function(){h(e,t)},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),e.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var t=e(this).attr("title")||"";return e("").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))},_removeDescribedBy:function(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=e("
").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t.element)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s.element[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(t,s),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){n._delay(function(){e.data("ui-tooltip-open")&&(t&&(t.type=a),this._open(t,e,i))})}),i&&this._open(t,e,i),void 0)},_open:function(t,i,s){function n(e){l.of=e,o.is(":hidden")||o.position(l)}var a,o,r,h,l=e.extend({},this.options.position);if(s){if(a=this._find(i))return a.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),a=this._tooltip(i),o=a.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),s.clone?(h=s.clone(),h.removeAttr("id").find("[id]").removeAttr("id")):h=s,e("
").html(h).appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:n}),n(t)):o.position(e.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){o.is(":visible")&&(n(l.of),clearInterval(r))},e.fx.interval)),this._trigger("open",t,{tooltip:o})}},_registerCloseHandlers:function(t,i){var s={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var s=e.Event(t);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),t&&"mouseover"!==t.type||(s.mouseleave="close"),t&&"focusin"!==t.type||(s.focusout="close"),this._on(!0,i,s)},close:function(t){var i,s=this,n=e(t?t.currentTarget:this.element),a=this._find(n);return a?(i=a.tooltip,a.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),a.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(e(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),a.closing=!0,this._trigger("close",t,{tooltip:i}),a.hiding||(a.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(t){var i=e("
").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),s=i.uniqueId().attr("id");return e("
").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[s]={element:t,tooltip:i}},_find:function(e){var t=e.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur"),a=s.element;n.target=n.currentTarget=a[0],t.close(n,!0),e("#"+i).remove(),a.data("ui-tooltip-title")&&(a.attr("title")||a.attr("title",a.data("ui-tooltip-title")),a.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/jquery.fileupload-image.js b/public/mosaico/dist/vendor/jquery.fileupload-image.js new file mode 100644 index 00000000..439bda1b --- /dev/null +++ b/public/mosaico/dist/vendor/jquery.fileupload-image.js @@ -0,0 +1,324 @@ +/* + * jQuery File Upload Image Preview & Resize Plugin + * https://github.com/blueimp/jQuery-File-Upload + * + * Copyright 2013, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ + +/* jshint nomen:false */ +/* global define, require, window, Blob */ + +;(function (factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + // Register as an anonymous AMD module: + define([ + 'jquery', + 'load-image', + 'load-image-meta', + 'load-image-exif', + 'canvas-to-blob', + './jquery.fileupload-process' + ], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS: + factory( + require('jquery'), + require('blueimp-load-image/js/load-image'), + require('blueimp-load-image/js/load-image-meta'), + require('blueimp-load-image/js/load-image-exif'), + require('blueimp-canvas-to-blob'), + require('./jquery.fileupload-process') + ); + } else { + // Browser globals: + factory( + window.jQuery, + window.loadImage + ); + } +}(function ($, loadImage) { + 'use strict'; + + // Prepend to the default processQueue: + $.blueimp.fileupload.prototype.options.processQueue.unshift( + { + action: 'loadImageMetaData', + disableImageHead: '@', + disableExif: '@', + disableExifThumbnail: '@', + disableExifSub: '@', + disableExifGps: '@', + disabled: '@disableImageMetaDataLoad' + }, + { + action: 'loadImage', + // Use the action as prefix for the "@" options: + prefix: true, + fileTypes: '@', + maxFileSize: '@', + noRevoke: '@', + disabled: '@disableImageLoad' + }, + { + action: 'resizeImage', + // Use "image" as prefix for the "@" options: + prefix: 'image', + maxWidth: '@', + maxHeight: '@', + minWidth: '@', + minHeight: '@', + crop: '@', + orientation: '@', + forceResize: '@', + disabled: '@disableImageResize' + }, + { + action: 'saveImage', + quality: '@imageQuality', + type: '@imageType', + disabled: '@disableImageResize' + }, + { + action: 'saveImageMetaData', + disabled: '@disableImageMetaDataSave' + }, + { + action: 'resizeImage', + // Use "preview" as prefix for the "@" options: + prefix: 'preview', + maxWidth: '@', + maxHeight: '@', + minWidth: '@', + minHeight: '@', + crop: '@', + orientation: '@', + thumbnail: '@', + canvas: '@', + disabled: '@disableImagePreview' + }, + { + action: 'setImage', + name: '@imagePreviewName', + disabled: '@disableImagePreview' + }, + { + action: 'deleteImageReferences', + disabled: '@disableImageReferencesDeletion' + } + ); + + // The File Upload Resize plugin extends the fileupload widget + // with image resize functionality: + $.widget('blueimp.fileupload', $.blueimp.fileupload, { + + options: { + // The regular expression for the types of images to load: + // matched against the file type: + loadImageFileTypes: /^image\/(gif|jpeg|png|svg\+xml)$/, + // The maximum file size of images to load: + loadImageMaxFileSize: 10000000, // 10MB + // The maximum width of resized images: + imageMaxWidth: 1920, + // The maximum height of resized images: + imageMaxHeight: 1080, + // Defines the image orientation (1-8) or takes the orientation + // value from Exif data if set to true: + imageOrientation: false, + // Define if resized images should be cropped or only scaled: + imageCrop: false, + // Disable the resize image functionality by default: + disableImageResize: true, + // The maximum width of the preview images: + previewMaxWidth: 80, + // The maximum height of the preview images: + previewMaxHeight: 80, + // Defines the preview orientation (1-8) or takes the orientation + // value from Exif data if set to true: + previewOrientation: true, + // Create the preview using the Exif data thumbnail: + previewThumbnail: true, + // Define if preview images should be cropped or only scaled: + previewCrop: false, + // Define if preview images should be resized as canvas elements: + previewCanvas: true + }, + + processActions: { + + // Loads the image given via data.files and data.index + // as img element, if the browser supports the File API. + // Accepts the options fileTypes (regular expression) + // and maxFileSize (integer) to limit the files to load: + loadImage: function (data, options) { + if (options.disabled) { + return data; + } + var that = this, + file = data.files[data.index], + dfd = $.Deferred(); + if (($.type(options.maxFileSize) === 'number' && + file.size > options.maxFileSize) || + (options.fileTypes && + !options.fileTypes.test(file.type)) || + !loadImage( + file, + function (img) { + if (img.src) { + data.img = img; + } + dfd.resolveWith(that, [data]); + }, + options + )) { + return data; + } + return dfd.promise(); + }, + + // Resizes the image given as data.canvas or data.img + // and updates data.canvas or data.img with the resized image. + // Also stores the resized image as preview property. + // Accepts the options maxWidth, maxHeight, minWidth, + // minHeight, canvas and crop: + resizeImage: function (data, options) { + if (options.disabled || !(data.canvas || data.img)) { + return data; + } + options = $.extend({canvas: true}, options); + var that = this, + dfd = $.Deferred(), + img = (options.canvas && data.canvas) || data.img, + resolve = function (newImg) { + if (newImg && (newImg.width !== img.width || + newImg.height !== img.height || + options.forceResize)) { + data[newImg.getContext ? 'canvas' : 'img'] = newImg; + } + data.preview = newImg; + dfd.resolveWith(that, [data]); + }, + thumbnail; + if (data.exif) { + if (options.orientation === true) { + options.orientation = data.exif.get('Orientation'); + } + if (options.thumbnail) { + thumbnail = data.exif.get('Thumbnail'); + if (thumbnail) { + loadImage(thumbnail, resolve, options); + return dfd.promise(); + } + } + // Prevent orienting the same image twice: + if (data.orientation) { + delete options.orientation; + } else { + data.orientation = options.orientation; + } + } + if (img) { + resolve(loadImage.scale(img, options)); + return dfd.promise(); + } + return data; + }, + + // Saves the processed image given as data.canvas + // inplace at data.index of data.files: + saveImage: function (data, options) { + if (!data.canvas || options.disabled) { + return data; + } + var that = this, + file = data.files[data.index], + dfd = $.Deferred(); + if (data.canvas.toBlob) { + data.canvas.toBlob( + function (blob) { + if (!blob.name) { + if (file.type === blob.type) { + blob.name = file.name; + } else if (file.name) { + blob.name = file.name.replace( + /\.\w+$/, + '.' + blob.type.substr(6) + ); + } + } + // Don't restore invalid meta data: + if (file.type !== blob.type) { + delete data.imageHead; + } + // Store the created blob at the position + // of the original file in the files list: + data.files[data.index] = blob; + dfd.resolveWith(that, [data]); + }, + options.type || file.type, + options.quality + ); + } else { + return data; + } + return dfd.promise(); + }, + + loadImageMetaData: function (data, options) { + if (options.disabled) { + return data; + } + var that = this, + dfd = $.Deferred(); + loadImage.parseMetaData(data.files[data.index], function (result) { + $.extend(data, result); + dfd.resolveWith(that, [data]); + }, options); + return dfd.promise(); + }, + + saveImageMetaData: function (data, options) { + if (!(data.imageHead && data.canvas && + data.canvas.toBlob && !options.disabled)) { + return data; + } + var file = data.files[data.index], + blob = new Blob([ + data.imageHead, + // Resized images always have a head size of 20 bytes, + // including the JPEG marker and a minimal JFIF header: + this._blobSlice.call(file, 20) + ], {type: file.type}); + blob.name = file.name; + data.files[data.index] = blob; + return data; + }, + + // Sets the resized version of the image as a property of the + // file object, must be called after "saveImage": + setImage: function (data, options) { + if (data.preview && !options.disabled) { + data.files[data.index][options.name || 'preview'] = data.preview; + } + return data; + }, + + deleteImageReferences: function (data, options) { + if (!options.disabled) { + delete data.img; + delete data.canvas; + delete data.preview; + delete data.imageHead; + } + return data; + } + + } + + }); + +})); diff --git a/public/mosaico/dist/vendor/jquery.fileupload-process.js b/public/mosaico/dist/vendor/jquery.fileupload-process.js new file mode 100644 index 00000000..ba09945c --- /dev/null +++ b/public/mosaico/dist/vendor/jquery.fileupload-process.js @@ -0,0 +1,175 @@ +/* + * jQuery File Upload Processing Plugin + * https://github.com/blueimp/jQuery-File-Upload + * + * Copyright 2012, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ + +/* jshint nomen:false */ +/* global define, require, window */ + +;(function (factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + // Register as an anonymous AMD module: + define([ + 'jquery', + './jquery.fileupload' + ], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS: + factory(require('jquery')); + } else { + // Browser globals: + factory( + window.jQuery + ); + } +}(function ($) { + 'use strict'; + + var originalAdd = $.blueimp.fileupload.prototype.options.add; + + // The File Upload Processing plugin extends the fileupload widget + // with file processing functionality: + $.widget('blueimp.fileupload', $.blueimp.fileupload, { + + options: { + // The list of processing actions: + processQueue: [ + /* + { + action: 'log', + type: 'debug' + } + */ + ], + add: function (e, data) { + var $this = $(this); + data.process(function () { + return $this.fileupload('process', data); + }); + originalAdd.call(this, e, data); + } + }, + + processActions: { + /* + log: function (data, options) { + console[options.type]( + 'Processing "' + data.files[data.index].name + '"' + ); + } + */ + }, + + _processFile: function (data, originalData) { + var that = this, + dfd = $.Deferred().resolveWith(that, [data]), + chain = dfd.promise(); + this._trigger('process', null, data); + $.each(data.processQueue, function (i, settings) { + var func = function (data) { + if (originalData.errorThrown) { + return $.Deferred() + .rejectWith(that, [originalData]).promise(); + } + return that.processActions[settings.action].call( + that, + data, + settings + ); + }; + chain = chain.then(func, settings.always && func); + }); + chain + .done(function () { + that._trigger('processdone', null, data); + that._trigger('processalways', null, data); + }) + .fail(function () { + that._trigger('processfail', null, data); + that._trigger('processalways', null, data); + }); + return chain; + }, + + // Replaces the settings of each processQueue item that + // are strings starting with an "@", using the remaining + // substring as key for the option map, + // e.g. "@autoUpload" is replaced with options.autoUpload: + _transformProcessQueue: function (options) { + var processQueue = []; + $.each(options.processQueue, function () { + var settings = {}, + action = this.action, + prefix = this.prefix === true ? action : this.prefix; + $.each(this, function (key, value) { + if ($.type(value) === 'string' && + value.charAt(0) === '@') { + settings[key] = options[ + value.slice(1) || (prefix ? prefix + + key.charAt(0).toUpperCase() + key.slice(1) : key) + ]; + } else { + settings[key] = value; + } + + }); + processQueue.push(settings); + }); + options.processQueue = processQueue; + }, + + // Returns the number of files currently in the processsing queue: + processing: function () { + return this._processing; + }, + + // Processes the files given as files property of the data parameter, + // returns a Promise object that allows to bind callbacks: + process: function (data) { + var that = this, + options = $.extend({}, this.options, data); + if (options.processQueue && options.processQueue.length) { + this._transformProcessQueue(options); + if (this._processing === 0) { + this._trigger('processstart'); + } + $.each(data.files, function (index) { + var opts = index ? $.extend({}, options) : options, + func = function () { + if (data.errorThrown) { + return $.Deferred() + .rejectWith(that, [data]).promise(); + } + return that._processFile(opts, data); + }; + opts.index = index; + that._processing += 1; + that._processingQueue = that._processingQueue.then(func, func) + .always(function () { + that._processing -= 1; + if (that._processing === 0) { + that._trigger('processstop'); + } + }); + }); + } + return this._processingQueue; + }, + + _create: function () { + this._super(); + this._processing = 0; + this._processingQueue = $.Deferred().resolveWith(this) + .promise(); + } + + }); + +})); diff --git a/public/mosaico/dist/vendor/jquery.fileupload-validate.js b/public/mosaico/dist/vendor/jquery.fileupload-validate.js new file mode 100644 index 00000000..312256d5 --- /dev/null +++ b/public/mosaico/dist/vendor/jquery.fileupload-validate.js @@ -0,0 +1,122 @@ +/* + * jQuery File Upload Validation Plugin + * https://github.com/blueimp/jQuery-File-Upload + * + * Copyright 2013, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ + +/* global define, require, window */ + +;(function (factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + // Register as an anonymous AMD module: + define([ + 'jquery', + './jquery.fileupload-process' + ], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS: + factory(require('jquery')); + } else { + // Browser globals: + factory( + window.jQuery + ); + } +}(function ($) { + 'use strict'; + + // Append to the default processQueue: + $.blueimp.fileupload.prototype.options.processQueue.push( + { + action: 'validate', + // Always trigger this action, + // even if the previous action was rejected: + always: true, + // Options taken from the global options map: + acceptFileTypes: '@', + maxFileSize: '@', + minFileSize: '@', + maxNumberOfFiles: '@', + disabled: '@disableValidation' + } + ); + + // The File Upload Validation plugin extends the fileupload widget + // with file validation functionality: + $.widget('blueimp.fileupload', $.blueimp.fileupload, { + + options: { + /* + // The regular expression for allowed file types, matches + // against either file type or file name: + acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, + // The maximum allowed file size in bytes: + maxFileSize: 10000000, // 10 MB + // The minimum allowed file size in bytes: + minFileSize: undefined, // No minimal file size + // The limit of files to be uploaded: + maxNumberOfFiles: 10, + */ + + // Function returning the current number of files, + // has to be overriden for maxNumberOfFiles validation: + getNumberOfFiles: $.noop, + + // Error and info messages: + messages: { + maxNumberOfFiles: 'Maximum number of files exceeded', + acceptFileTypes: 'File type not allowed', + maxFileSize: 'File is too large', + minFileSize: 'File is too small' + } + }, + + processActions: { + + validate: function (data, options) { + if (options.disabled) { + return data; + } + var dfd = $.Deferred(), + settings = this.options, + file = data.files[data.index], + fileSize; + if (options.minFileSize || options.maxFileSize) { + fileSize = file.size; + } + if ($.type(options.maxNumberOfFiles) === 'number' && + (settings.getNumberOfFiles() || 0) + data.files.length > + options.maxNumberOfFiles) { + file.error = settings.i18n('maxNumberOfFiles'); + } else if (options.acceptFileTypes && + !(options.acceptFileTypes.test(file.type) || + options.acceptFileTypes.test(file.name))) { + file.error = settings.i18n('acceptFileTypes'); + } else if (fileSize > options.maxFileSize) { + file.error = settings.i18n('maxFileSize'); + } else if ($.type(fileSize) === 'number' && + fileSize < options.minFileSize) { + file.error = settings.i18n('minFileSize'); + } else { + delete file.error; + } + if (file.error || data.files.error) { + data.files.error = true; + dfd.rejectWith(this, [data]); + } else { + dfd.resolveWith(this, [data]); + } + return dfd.promise(); + } + + } + + }); + +})); diff --git a/public/mosaico/dist/vendor/jquery.fileupload.js b/public/mosaico/dist/vendor/jquery.fileupload.js new file mode 100644 index 00000000..4d41f1e9 --- /dev/null +++ b/public/mosaico/dist/vendor/jquery.fileupload.js @@ -0,0 +1,1482 @@ +/* + * jQuery File Upload Plugin + * https://github.com/blueimp/jQuery-File-Upload + * + * Copyright 2010, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ + +/* jshint nomen:false */ +/* global define, require, window, document, location, Blob, FormData */ + +;(function (factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + // Register as an anonymous AMD module: + define([ + 'jquery', + 'jquery-ui/widget' + ], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS: + factory( + require('jquery'), + require('./vendor/jquery.ui.widget') + ); + } else { + // Browser globals: + factory(window.jQuery); + } +}(function ($) { + 'use strict'; + + // Detect file input support, based on + // http://viljamis.com/blog/2012/file-upload-support-on-mobile/ + $.support.fileInput = !(new RegExp( + // Handle devices which give false positives for the feature detection: + '(Android (1\\.[0156]|2\\.[01]))' + + '|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' + + '|(w(eb)?OSBrowser)|(webOS)' + + '|(Kindle/(1\\.0|2\\.[05]|3\\.0))' + ).test(window.navigator.userAgent) || + // Feature detection for all other devices: + $('').prop('disabled')); + + // The FileReader API is not actually used, but works as feature detection, + // as some Safari versions (5?) support XHR file uploads via the FormData API, + // but not non-multipart XHR file uploads. + // window.XMLHttpRequestUpload is not available on IE10, so we check for + // window.ProgressEvent instead to detect XHR2 file upload capability: + $.support.xhrFileUpload = !!(window.ProgressEvent && window.FileReader); + $.support.xhrFormDataFileUpload = !!window.FormData; + + // Detect support for Blob slicing (required for chunked uploads): + $.support.blobSlice = window.Blob && (Blob.prototype.slice || + Blob.prototype.webkitSlice || Blob.prototype.mozSlice); + + // Helper function to create drag handlers for dragover/dragenter/dragleave: + function getDragHandler(type) { + var isDragOver = type === 'dragover'; + return function (e) { + e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer; + var dataTransfer = e.dataTransfer; + if (dataTransfer && $.inArray('Files', dataTransfer.types) !== -1 && + this._trigger( + type, + $.Event(type, {delegatedEvent: e}) + ) !== false) { + e.preventDefault(); + if (isDragOver) { + dataTransfer.dropEffect = 'copy'; + } + } + }; + } + + // The fileupload widget listens for change events on file input fields defined + // via fileInput setting and paste or drop events of the given dropZone. + // In addition to the default jQuery Widget methods, the fileupload widget + // exposes the "add" and "send" methods, to add or directly send files using + // the fileupload API. + // By default, files added via file input selection, paste, drag & drop or + // "add" method are uploaded immediately, but it is possible to override + // the "add" callback option to queue file uploads. + $.widget('blueimp.fileupload', { + + options: { + // The drop target element(s), by the default the complete document. + // Set to null to disable drag & drop support: + dropZone: $(document), + // The paste target element(s), by the default undefined. + // Set to a DOM node or jQuery object to enable file pasting: + pasteZone: undefined, + // The file input field(s), that are listened to for change events. + // If undefined, it is set to the file input fields inside + // of the widget element on plugin initialization. + // Set to null to disable the change listener. + fileInput: undefined, + // By default, the file input field is replaced with a clone after + // each input field change event. This is required for iframe transport + // queues and allows change events to be fired for the same file + // selection, but can be disabled by setting the following option to false: + replaceFileInput: true, + // The parameter name for the file form data (the request argument name). + // If undefined or empty, the name property of the file input field is + // used, or "files[]" if the file input name property is also empty, + // can be a string or an array of strings: + paramName: undefined, + // By default, each file of a selection is uploaded using an individual + // request for XHR type uploads. Set to false to upload file + // selections in one request each: + singleFileUploads: true, + // To limit the number of files uploaded with one XHR request, + // set the following option to an integer greater than 0: + limitMultiFileUploads: undefined, + // The following option limits the number of files uploaded with one + // XHR request to keep the request size under or equal to the defined + // limit in bytes: + limitMultiFileUploadSize: undefined, + // Multipart file uploads add a number of bytes to each uploaded file, + // therefore the following option adds an overhead for each file used + // in the limitMultiFileUploadSize configuration: + limitMultiFileUploadSizeOverhead: 512, + // Set the following option to true to issue all file upload requests + // in a sequential order: + sequentialUploads: false, + // To limit the number of concurrent uploads, + // set the following option to an integer greater than 0: + limitConcurrentUploads: undefined, + // Set the following option to true to force iframe transport uploads: + forceIframeTransport: false, + // Set the following option to the location of a redirect url on the + // origin server, for cross-domain iframe transport uploads: + redirect: undefined, + // The parameter name for the redirect url, sent as part of the form + // data and set to 'redirect' if this option is empty: + redirectParamName: undefined, + // Set the following option to the location of a postMessage window, + // to enable postMessage transport uploads: + postMessage: undefined, + // By default, XHR file uploads are sent as multipart/form-data. + // The iframe transport is always using multipart/form-data. + // Set to false to enable non-multipart XHR uploads: + multipart: true, + // To upload large files in smaller chunks, set the following option + // to a preferred maximum chunk size. If set to 0, null or undefined, + // or the browser does not support the required Blob API, files will + // be uploaded as a whole. + maxChunkSize: undefined, + // When a non-multipart upload or a chunked multipart upload has been + // aborted, this option can be used to resume the upload by setting + // it to the size of the already uploaded bytes. This option is most + // useful when modifying the options object inside of the "add" or + // "send" callbacks, as the options are cloned for each file upload. + uploadedBytes: undefined, + // By default, failed (abort or error) file uploads are removed from the + // global progress calculation. Set the following option to false to + // prevent recalculating the global progress data: + recalculateProgress: true, + // Interval in milliseconds to calculate and trigger progress events: + progressInterval: 100, + // Interval in milliseconds to calculate progress bitrate: + bitrateInterval: 500, + // By default, uploads are started automatically when adding files: + autoUpload: true, + + // Error and info messages: + messages: { + uploadedBytes: 'Uploaded bytes exceed file size' + }, + + // Translation function, gets the message key to be translated + // and an object with context specific data as arguments: + i18n: function (message, context) { + message = this.messages[message] || message.toString(); + if (context) { + $.each(context, function (key, value) { + message = message.replace('{' + key + '}', value); + }); + } + return message; + }, + + // Additional form data to be sent along with the file uploads can be set + // using this option, which accepts an array of objects with name and + // value properties, a function returning such an array, a FormData + // object (for XHR file uploads), or a simple object. + // The form of the first fileInput is given as parameter to the function: + formData: function (form) { + return form.serializeArray(); + }, + + // The add callback is invoked as soon as files are added to the fileupload + // widget (via file input selection, drag & drop, paste or add API call). + // If the singleFileUploads option is enabled, this callback will be + // called once for each file in the selection for XHR file uploads, else + // once for each file selection. + // + // The upload starts when the submit method is invoked on the data parameter. + // The data object contains a files property holding the added files + // and allows you to override plugin options as well as define ajax settings. + // + // Listeners for this callback can also be bound the following way: + // .bind('fileuploadadd', func); + // + // data.submit() returns a Promise object and allows to attach additional + // handlers using jQuery's Deferred callbacks: + // data.submit().done(func).fail(func).always(func); + add: function (e, data) { + if (e.isDefaultPrevented()) { + return false; + } + if (data.autoUpload || (data.autoUpload !== false && + $(this).fileupload('option', 'autoUpload'))) { + data.process().done(function () { + data.submit(); + }); + } + }, + + // Other callbacks: + + // Callback for the submit event of each file upload: + // submit: function (e, data) {}, // .bind('fileuploadsubmit', func); + + // Callback for the start of each file upload request: + // send: function (e, data) {}, // .bind('fileuploadsend', func); + + // Callback for successful uploads: + // done: function (e, data) {}, // .bind('fileuploaddone', func); + + // Callback for failed (abort or error) uploads: + // fail: function (e, data) {}, // .bind('fileuploadfail', func); + + // Callback for completed (success, abort or error) requests: + // always: function (e, data) {}, // .bind('fileuploadalways', func); + + // Callback for upload progress events: + // progress: function (e, data) {}, // .bind('fileuploadprogress', func); + + // Callback for global upload progress events: + // progressall: function (e, data) {}, // .bind('fileuploadprogressall', func); + + // Callback for uploads start, equivalent to the global ajaxStart event: + // start: function (e) {}, // .bind('fileuploadstart', func); + + // Callback for uploads stop, equivalent to the global ajaxStop event: + // stop: function (e) {}, // .bind('fileuploadstop', func); + + // Callback for change events of the fileInput(s): + // change: function (e, data) {}, // .bind('fileuploadchange', func); + + // Callback for paste events to the pasteZone(s): + // paste: function (e, data) {}, // .bind('fileuploadpaste', func); + + // Callback for drop events of the dropZone(s): + // drop: function (e, data) {}, // .bind('fileuploaddrop', func); + + // Callback for dragover events of the dropZone(s): + // dragover: function (e) {}, // .bind('fileuploaddragover', func); + + // Callback for the start of each chunk upload request: + // chunksend: function (e, data) {}, // .bind('fileuploadchunksend', func); + + // Callback for successful chunk uploads: + // chunkdone: function (e, data) {}, // .bind('fileuploadchunkdone', func); + + // Callback for failed (abort or error) chunk uploads: + // chunkfail: function (e, data) {}, // .bind('fileuploadchunkfail', func); + + // Callback for completed (success, abort or error) chunk upload requests: + // chunkalways: function (e, data) {}, // .bind('fileuploadchunkalways', func); + + // The plugin options are used as settings object for the ajax calls. + // The following are jQuery ajax settings required for the file uploads: + processData: false, + contentType: false, + cache: false, + timeout: 0 + }, + + // A list of options that require reinitializing event listeners and/or + // special initialization code: + _specialOptions: [ + 'fileInput', + 'dropZone', + 'pasteZone', + 'multipart', + 'forceIframeTransport' + ], + + _blobSlice: $.support.blobSlice && function () { + var slice = this.slice || this.webkitSlice || this.mozSlice; + return slice.apply(this, arguments); + }, + + _BitrateTimer: function () { + this.timestamp = ((Date.now) ? Date.now() : (new Date()).getTime()); + this.loaded = 0; + this.bitrate = 0; + this.getBitrate = function (now, loaded, interval) { + var timeDiff = now - this.timestamp; + if (!this.bitrate || !interval || timeDiff > interval) { + this.bitrate = (loaded - this.loaded) * (1000 / timeDiff) * 8; + this.loaded = loaded; + this.timestamp = now; + } + return this.bitrate; + }; + }, + + _isXHRUpload: function (options) { + return !options.forceIframeTransport && + ((!options.multipart && $.support.xhrFileUpload) || + $.support.xhrFormDataFileUpload); + }, + + _getFormData: function (options) { + var formData; + if ($.type(options.formData) === 'function') { + return options.formData(options.form); + } + if ($.isArray(options.formData)) { + return options.formData; + } + if ($.type(options.formData) === 'object') { + formData = []; + $.each(options.formData, function (name, value) { + formData.push({name: name, value: value}); + }); + return formData; + } + return []; + }, + + _getTotal: function (files) { + var total = 0; + $.each(files, function (index, file) { + total += file.size || 1; + }); + return total; + }, + + _initProgressObject: function (obj) { + var progress = { + loaded: 0, + total: 0, + bitrate: 0 + }; + if (obj._progress) { + $.extend(obj._progress, progress); + } else { + obj._progress = progress; + } + }, + + _initResponseObject: function (obj) { + var prop; + if (obj._response) { + for (prop in obj._response) { + if (obj._response.hasOwnProperty(prop)) { + delete obj._response[prop]; + } + } + } else { + obj._response = {}; + } + }, + + _onProgress: function (e, data) { + if (e.lengthComputable) { + var now = ((Date.now) ? Date.now() : (new Date()).getTime()), + loaded; + if (data._time && data.progressInterval && + (now - data._time < data.progressInterval) && + e.loaded !== e.total) { + return; + } + data._time = now; + loaded = Math.floor( + e.loaded / e.total * (data.chunkSize || data._progress.total) + ) + (data.uploadedBytes || 0); + // Add the difference from the previously loaded state + // to the global loaded counter: + this._progress.loaded += (loaded - data._progress.loaded); + this._progress.bitrate = this._bitrateTimer.getBitrate( + now, + this._progress.loaded, + data.bitrateInterval + ); + data._progress.loaded = data.loaded = loaded; + data._progress.bitrate = data.bitrate = data._bitrateTimer.getBitrate( + now, + loaded, + data.bitrateInterval + ); + // Trigger a custom progress event with a total data property set + // to the file size(s) of the current upload and a loaded data + // property calculated accordingly: + this._trigger( + 'progress', + $.Event('progress', {delegatedEvent: e}), + data + ); + // Trigger a global progress event for all current file uploads, + // including ajax calls queued for sequential file uploads: + this._trigger( + 'progressall', + $.Event('progressall', {delegatedEvent: e}), + this._progress + ); + } + }, + + _initProgressListener: function (options) { + var that = this, + xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr(); + // Accesss to the native XHR object is required to add event listeners + // for the upload progress event: + if (xhr.upload) { + $(xhr.upload).bind('progress', function (e) { + var oe = e.originalEvent; + // Make sure the progress event properties get copied over: + e.lengthComputable = oe.lengthComputable; + e.loaded = oe.loaded; + e.total = oe.total; + that._onProgress(e, options); + }); + options.xhr = function () { + return xhr; + }; + } + }, + + _isInstanceOf: function (type, obj) { + // Cross-frame instanceof check + return Object.prototype.toString.call(obj) === '[object ' + type + ']'; + }, + + _initXHRData: function (options) { + var that = this, + formData, + file = options.files[0], + // Ignore non-multipart setting if not supported: + multipart = options.multipart || !$.support.xhrFileUpload, + paramName = $.type(options.paramName) === 'array' ? + options.paramName[0] : options.paramName; + options.headers = $.extend({}, options.headers); + if (options.contentRange) { + options.headers['Content-Range'] = options.contentRange; + } + if (!multipart || options.blob || !this._isInstanceOf('File', file)) { + options.headers['Content-Disposition'] = 'attachment; filename="' + + encodeURI(file.name) + '"'; + } + if (!multipart) { + options.contentType = file.type || 'application/octet-stream'; + options.data = options.blob || file; + } else if ($.support.xhrFormDataFileUpload) { + if (options.postMessage) { + // window.postMessage does not allow sending FormData + // objects, so we just add the File/Blob objects to + // the formData array and let the postMessage window + // create the FormData object out of this array: + formData = this._getFormData(options); + if (options.blob) { + formData.push({ + name: paramName, + value: options.blob + }); + } else { + $.each(options.files, function (index, file) { + formData.push({ + name: ($.type(options.paramName) === 'array' && + options.paramName[index]) || paramName, + value: file + }); + }); + } + } else { + if (that._isInstanceOf('FormData', options.formData)) { + formData = options.formData; + } else { + formData = new FormData(); + $.each(this._getFormData(options), function (index, field) { + formData.append(field.name, field.value); + }); + } + if (options.blob) { + formData.append(paramName, options.blob, file.name); + } else { + $.each(options.files, function (index, file) { + // This check allows the tests to run with + // dummy objects: + if (that._isInstanceOf('File', file) || + that._isInstanceOf('Blob', file)) { + formData.append( + ($.type(options.paramName) === 'array' && + options.paramName[index]) || paramName, + file, + file.uploadName || file.name + ); + } + }); + } + } + options.data = formData; + } + // Blob reference is not needed anymore, free memory: + options.blob = null; + }, + + _initIframeSettings: function (options) { + var targetHost = $('').prop('href', options.url).prop('host'); + // Setting the dataType to iframe enables the iframe transport: + options.dataType = 'iframe ' + (options.dataType || ''); + // The iframe transport accepts a serialized array as form data: + options.formData = this._getFormData(options); + // Add redirect url to form data on cross-domain uploads: + if (options.redirect && targetHost && targetHost !== location.host) { + options.formData.push({ + name: options.redirectParamName || 'redirect', + value: options.redirect + }); + } + }, + + _initDataSettings: function (options) { + if (this._isXHRUpload(options)) { + if (!this._chunkedUpload(options, true)) { + if (!options.data) { + this._initXHRData(options); + } + this._initProgressListener(options); + } + if (options.postMessage) { + // Setting the dataType to postmessage enables the + // postMessage transport: + options.dataType = 'postmessage ' + (options.dataType || ''); + } + } else { + this._initIframeSettings(options); + } + }, + + _getParamName: function (options) { + var fileInput = $(options.fileInput), + paramName = options.paramName; + if (!paramName) { + paramName = []; + fileInput.each(function () { + var input = $(this), + name = input.prop('name') || 'files[]', + i = (input.prop('files') || [1]).length; + while (i) { + paramName.push(name); + i -= 1; + } + }); + if (!paramName.length) { + paramName = [fileInput.prop('name') || 'files[]']; + } + } else if (!$.isArray(paramName)) { + paramName = [paramName]; + } + return paramName; + }, + + _initFormSettings: function (options) { + // Retrieve missing options from the input field and the + // associated form, if available: + if (!options.form || !options.form.length) { + options.form = $(options.fileInput.prop('form')); + // If the given file input doesn't have an associated form, + // use the default widget file input's form: + if (!options.form.length) { + options.form = $(this.options.fileInput.prop('form')); + } + } + options.paramName = this._getParamName(options); + if (!options.url) { + options.url = options.form.prop('action') || location.href; + } + // The HTTP request method must be "POST" or "PUT": + options.type = (options.type || + ($.type(options.form.prop('method')) === 'string' && + options.form.prop('method')) || '' + ).toUpperCase(); + if (options.type !== 'POST' && options.type !== 'PUT' && + options.type !== 'PATCH') { + options.type = 'POST'; + } + if (!options.formAcceptCharset) { + options.formAcceptCharset = options.form.attr('accept-charset'); + } + }, + + _getAJAXSettings: function (data) { + var options = $.extend({}, this.options, data); + this._initFormSettings(options); + this._initDataSettings(options); + return options; + }, + + // jQuery 1.6 doesn't provide .state(), + // while jQuery 1.8+ removed .isRejected() and .isResolved(): + _getDeferredState: function (deferred) { + if (deferred.state) { + return deferred.state(); + } + if (deferred.isResolved()) { + return 'resolved'; + } + if (deferred.isRejected()) { + return 'rejected'; + } + return 'pending'; + }, + + // Maps jqXHR callbacks to the equivalent + // methods of the given Promise object: + _enhancePromise: function (promise) { + promise.success = promise.done; + promise.error = promise.fail; + promise.complete = promise.always; + return promise; + }, + + // Creates and returns a Promise object enhanced with + // the jqXHR methods abort, success, error and complete: + _getXHRPromise: function (resolveOrReject, context, args) { + var dfd = $.Deferred(), + promise = dfd.promise(); + context = context || this.options.context || promise; + if (resolveOrReject === true) { + dfd.resolveWith(context, args); + } else if (resolveOrReject === false) { + dfd.rejectWith(context, args); + } + promise.abort = dfd.promise; + return this._enhancePromise(promise); + }, + + // Adds convenience methods to the data callback argument: + _addConvenienceMethods: function (e, data) { + var that = this, + getPromise = function (args) { + return $.Deferred().resolveWith(that, args).promise(); + }; + data.process = function (resolveFunc, rejectFunc) { + if (resolveFunc || rejectFunc) { + data._processQueue = this._processQueue = + (this._processQueue || getPromise([this])).then( + function () { + if (data.errorThrown) { + return $.Deferred() + .rejectWith(that, [data]).promise(); + } + return getPromise(arguments); + } + ).then(resolveFunc, rejectFunc); + } + return this._processQueue || getPromise([this]); + }; + data.submit = function () { + if (this.state() !== 'pending') { + data.jqXHR = this.jqXHR = + (that._trigger( + 'submit', + $.Event('submit', {delegatedEvent: e}), + this + ) !== false) && that._onSend(e, this); + } + return this.jqXHR || that._getXHRPromise(); + }; + data.abort = function () { + if (this.jqXHR) { + return this.jqXHR.abort(); + } + this.errorThrown = 'abort'; + that._trigger('fail', null, this); + return that._getXHRPromise(false); + }; + data.state = function () { + if (this.jqXHR) { + return that._getDeferredState(this.jqXHR); + } + if (this._processQueue) { + return that._getDeferredState(this._processQueue); + } + }; + data.processing = function () { + return !this.jqXHR && this._processQueue && that + ._getDeferredState(this._processQueue) === 'pending'; + }; + data.progress = function () { + return this._progress; + }; + data.response = function () { + return this._response; + }; + }, + + // Parses the Range header from the server response + // and returns the uploaded bytes: + _getUploadedBytes: function (jqXHR) { + var range = jqXHR.getResponseHeader('Range'), + parts = range && range.split('-'), + upperBytesPos = parts && parts.length > 1 && + parseInt(parts[1], 10); + return upperBytesPos && upperBytesPos + 1; + }, + + // Uploads a file in multiple, sequential requests + // by splitting the file up in multiple blob chunks. + // If the second parameter is true, only tests if the file + // should be uploaded in chunks, but does not invoke any + // upload requests: + _chunkedUpload: function (options, testOnly) { + options.uploadedBytes = options.uploadedBytes || 0; + var that = this, + file = options.files[0], + fs = file.size, + ub = options.uploadedBytes, + mcs = options.maxChunkSize || fs, + slice = this._blobSlice, + dfd = $.Deferred(), + promise = dfd.promise(), + jqXHR, + upload; + if (!(this._isXHRUpload(options) && slice && (ub || mcs < fs)) || + options.data) { + return false; + } + if (testOnly) { + return true; + } + if (ub >= fs) { + file.error = options.i18n('uploadedBytes'); + return this._getXHRPromise( + false, + options.context, + [null, 'error', file.error] + ); + } + // The chunk upload method: + upload = function () { + // Clone the options object for each chunk upload: + var o = $.extend({}, options), + currentLoaded = o._progress.loaded; + o.blob = slice.call( + file, + ub, + ub + mcs, + file.type + ); + // Store the current chunk size, as the blob itself + // will be dereferenced after data processing: + o.chunkSize = o.blob.size; + // Expose the chunk bytes position range: + o.contentRange = 'bytes ' + ub + '-' + + (ub + o.chunkSize - 1) + '/' + fs; + // Process the upload data (the blob and potential form data): + that._initXHRData(o); + // Add progress listeners for this chunk upload: + that._initProgressListener(o); + jqXHR = ((that._trigger('chunksend', null, o) !== false && $.ajax(o)) || + that._getXHRPromise(false, o.context)) + .done(function (result, textStatus, jqXHR) { + ub = that._getUploadedBytes(jqXHR) || + (ub + o.chunkSize); + // Create a progress event if no final progress event + // with loaded equaling total has been triggered + // for this chunk: + if (currentLoaded + o.chunkSize - o._progress.loaded) { + that._onProgress($.Event('progress', { + lengthComputable: true, + loaded: ub - o.uploadedBytes, + total: ub - o.uploadedBytes + }), o); + } + options.uploadedBytes = o.uploadedBytes = ub; + o.result = result; + o.textStatus = textStatus; + o.jqXHR = jqXHR; + that._trigger('chunkdone', null, o); + that._trigger('chunkalways', null, o); + if (ub < fs) { + // File upload not yet complete, + // continue with the next chunk: + upload(); + } else { + dfd.resolveWith( + o.context, + [result, textStatus, jqXHR] + ); + } + }) + .fail(function (jqXHR, textStatus, errorThrown) { + o.jqXHR = jqXHR; + o.textStatus = textStatus; + o.errorThrown = errorThrown; + that._trigger('chunkfail', null, o); + that._trigger('chunkalways', null, o); + dfd.rejectWith( + o.context, + [jqXHR, textStatus, errorThrown] + ); + }); + }; + this._enhancePromise(promise); + promise.abort = function () { + return jqXHR.abort(); + }; + upload(); + return promise; + }, + + _beforeSend: function (e, data) { + if (this._active === 0) { + // the start callback is triggered when an upload starts + // and no other uploads are currently running, + // equivalent to the global ajaxStart event: + this._trigger('start'); + // Set timer for global bitrate progress calculation: + this._bitrateTimer = new this._BitrateTimer(); + // Reset the global progress values: + this._progress.loaded = this._progress.total = 0; + this._progress.bitrate = 0; + } + // Make sure the container objects for the .response() and + // .progress() methods on the data object are available + // and reset to their initial state: + this._initResponseObject(data); + this._initProgressObject(data); + data._progress.loaded = data.loaded = data.uploadedBytes || 0; + data._progress.total = data.total = this._getTotal(data.files) || 1; + data._progress.bitrate = data.bitrate = 0; + this._active += 1; + // Initialize the global progress values: + this._progress.loaded += data.loaded; + this._progress.total += data.total; + }, + + _onDone: function (result, textStatus, jqXHR, options) { + var total = options._progress.total, + response = options._response; + if (options._progress.loaded < total) { + // Create a progress event if no final progress event + // with loaded equaling total has been triggered: + this._onProgress($.Event('progress', { + lengthComputable: true, + loaded: total, + total: total + }), options); + } + response.result = options.result = result; + response.textStatus = options.textStatus = textStatus; + response.jqXHR = options.jqXHR = jqXHR; + this._trigger('done', null, options); + }, + + _onFail: function (jqXHR, textStatus, errorThrown, options) { + var response = options._response; + if (options.recalculateProgress) { + // Remove the failed (error or abort) file upload from + // the global progress calculation: + this._progress.loaded -= options._progress.loaded; + this._progress.total -= options._progress.total; + } + response.jqXHR = options.jqXHR = jqXHR; + response.textStatus = options.textStatus = textStatus; + response.errorThrown = options.errorThrown = errorThrown; + this._trigger('fail', null, options); + }, + + _onAlways: function (jqXHRorResult, textStatus, jqXHRorError, options) { + // jqXHRorResult, textStatus and jqXHRorError are added to the + // options object via done and fail callbacks + this._trigger('always', null, options); + }, + + _onSend: function (e, data) { + if (!data.submit) { + this._addConvenienceMethods(e, data); + } + var that = this, + jqXHR, + aborted, + slot, + pipe, + options = that._getAJAXSettings(data), + send = function () { + that._sending += 1; + // Set timer for bitrate progress calculation: + options._bitrateTimer = new that._BitrateTimer(); + jqXHR = jqXHR || ( + ((aborted || that._trigger( + 'send', + $.Event('send', {delegatedEvent: e}), + options + ) === false) && + that._getXHRPromise(false, options.context, aborted)) || + that._chunkedUpload(options) || $.ajax(options) + ).done(function (result, textStatus, jqXHR) { + that._onDone(result, textStatus, jqXHR, options); + }).fail(function (jqXHR, textStatus, errorThrown) { + that._onFail(jqXHR, textStatus, errorThrown, options); + }).always(function (jqXHRorResult, textStatus, jqXHRorError) { + that._onAlways( + jqXHRorResult, + textStatus, + jqXHRorError, + options + ); + that._sending -= 1; + that._active -= 1; + if (options.limitConcurrentUploads && + options.limitConcurrentUploads > that._sending) { + // Start the next queued upload, + // that has not been aborted: + var nextSlot = that._slots.shift(); + while (nextSlot) { + if (that._getDeferredState(nextSlot) === 'pending') { + nextSlot.resolve(); + break; + } + nextSlot = that._slots.shift(); + } + } + if (that._active === 0) { + // The stop callback is triggered when all uploads have + // been completed, equivalent to the global ajaxStop event: + that._trigger('stop'); + } + }); + return jqXHR; + }; + this._beforeSend(e, options); + if (this.options.sequentialUploads || + (this.options.limitConcurrentUploads && + this.options.limitConcurrentUploads <= this._sending)) { + if (this.options.limitConcurrentUploads > 1) { + slot = $.Deferred(); + this._slots.push(slot); + pipe = slot.then(send); + } else { + this._sequence = this._sequence.then(send, send); + pipe = this._sequence; + } + // Return the piped Promise object, enhanced with an abort method, + // which is delegated to the jqXHR object of the current upload, + // and jqXHR callbacks mapped to the equivalent Promise methods: + pipe.abort = function () { + aborted = [undefined, 'abort', 'abort']; + if (!jqXHR) { + if (slot) { + slot.rejectWith(options.context, aborted); + } + return send(); + } + return jqXHR.abort(); + }; + return this._enhancePromise(pipe); + } + return send(); + }, + + _onAdd: function (e, data) { + var that = this, + result = true, + options = $.extend({}, this.options, data), + files = data.files, + filesLength = files.length, + limit = options.limitMultiFileUploads, + limitSize = options.limitMultiFileUploadSize, + overhead = options.limitMultiFileUploadSizeOverhead, + batchSize = 0, + paramName = this._getParamName(options), + paramNameSet, + paramNameSlice, + fileSet, + i, + j = 0; + if (!filesLength) { + return false; + } + if (limitSize && files[0].size === undefined) { + limitSize = undefined; + } + if (!(options.singleFileUploads || limit || limitSize) || + !this._isXHRUpload(options)) { + fileSet = [files]; + paramNameSet = [paramName]; + } else if (!(options.singleFileUploads || limitSize) && limit) { + fileSet = []; + paramNameSet = []; + for (i = 0; i < filesLength; i += limit) { + fileSet.push(files.slice(i, i + limit)); + paramNameSlice = paramName.slice(i, i + limit); + if (!paramNameSlice.length) { + paramNameSlice = paramName; + } + paramNameSet.push(paramNameSlice); + } + } else if (!options.singleFileUploads && limitSize) { + fileSet = []; + paramNameSet = []; + for (i = 0; i < filesLength; i = i + 1) { + batchSize += files[i].size + overhead; + if (i + 1 === filesLength || + ((batchSize + files[i + 1].size + overhead) > limitSize) || + (limit && i + 1 - j >= limit)) { + fileSet.push(files.slice(j, i + 1)); + paramNameSlice = paramName.slice(j, i + 1); + if (!paramNameSlice.length) { + paramNameSlice = paramName; + } + paramNameSet.push(paramNameSlice); + j = i + 1; + batchSize = 0; + } + } + } else { + paramNameSet = paramName; + } + data.originalFiles = files; + $.each(fileSet || files, function (index, element) { + var newData = $.extend({}, data); + newData.files = fileSet ? element : [element]; + newData.paramName = paramNameSet[index]; + that._initResponseObject(newData); + that._initProgressObject(newData); + that._addConvenienceMethods(e, newData); + result = that._trigger( + 'add', + $.Event('add', {delegatedEvent: e}), + newData + ); + return result; + }); + return result; + }, + + _replaceFileInput: function (data) { + var input = data.fileInput, + inputClone = input.clone(true), + restoreFocus = input.is(document.activeElement); + // Add a reference for the new cloned file input to the data argument: + data.fileInputClone = inputClone; + $('
').append(inputClone)[0].reset(); + // Detaching allows to insert the fileInput on another form + // without loosing the file input value: + input.after(inputClone).detach(); + // If the fileInput had focus before it was detached, + // restore focus to the inputClone. + if (restoreFocus) { + inputClone.focus(); + } + // Avoid memory leaks with the detached file input: + $.cleanData(input.unbind('remove')); + // Replace the original file input element in the fileInput + // elements set with the clone, which has been copied including + // event handlers: + this.options.fileInput = this.options.fileInput.map(function (i, el) { + if (el === input[0]) { + return inputClone[0]; + } + return el; + }); + // If the widget has been initialized on the file input itself, + // override this.element with the file input clone: + if (input[0] === this.element[0]) { + this.element = inputClone; + } + }, + + _handleFileTreeEntry: function (entry, path) { + var that = this, + dfd = $.Deferred(), + entries = [], + dirReader, + errorHandler = function (e) { + if (e && !e.entry) { + e.entry = entry; + } + // Since $.when returns immediately if one + // Deferred is rejected, we use resolve instead. + // This allows valid files and invalid items + // to be returned together in one set: + dfd.resolve([e]); + }, + successHandler = function (entries) { + that._handleFileTreeEntries( + entries, + path + entry.name + '/' + ).done(function (files) { + dfd.resolve(files); + }).fail(errorHandler); + }, + readEntries = function () { + dirReader.readEntries(function (results) { + if (!results.length) { + successHandler(entries); + } else { + entries = entries.concat(results); + readEntries(); + } + }, errorHandler); + }; + path = path || ''; + if (entry.isFile) { + if (entry._file) { + // Workaround for Chrome bug #149735 + entry._file.relativePath = path; + dfd.resolve(entry._file); + } else { + entry.file(function (file) { + file.relativePath = path; + dfd.resolve(file); + }, errorHandler); + } + } else if (entry.isDirectory) { + dirReader = entry.createReader(); + readEntries(); + } else { + // Return an empy list for file system items + // other than files or directories: + dfd.resolve([]); + } + return dfd.promise(); + }, + + _handleFileTreeEntries: function (entries, path) { + var that = this; + return $.when.apply( + $, + $.map(entries, function (entry) { + return that._handleFileTreeEntry(entry, path); + }) + ).then(function () { + return Array.prototype.concat.apply( + [], + arguments + ); + }); + }, + + _getDroppedFiles: function (dataTransfer) { + dataTransfer = dataTransfer || {}; + var items = dataTransfer.items; + if (items && items.length && (items[0].webkitGetAsEntry || + items[0].getAsEntry)) { + return this._handleFileTreeEntries( + $.map(items, function (item) { + var entry; + if (item.webkitGetAsEntry) { + entry = item.webkitGetAsEntry(); + if (entry) { + // Workaround for Chrome bug #149735: + entry._file = item.getAsFile(); + } + return entry; + } + return item.getAsEntry(); + }) + ); + } + return $.Deferred().resolve( + $.makeArray(dataTransfer.files) + ).promise(); + }, + + _getSingleFileInputFiles: function (fileInput) { + fileInput = $(fileInput); + var entries = fileInput.prop('webkitEntries') || + fileInput.prop('entries'), + files, + value; + if (entries && entries.length) { + return this._handleFileTreeEntries(entries); + } + files = $.makeArray(fileInput.prop('files')); + if (!files.length) { + value = fileInput.prop('value'); + if (!value) { + return $.Deferred().resolve([]).promise(); + } + // If the files property is not available, the browser does not + // support the File API and we add a pseudo File object with + // the input value as name with path information removed: + files = [{name: value.replace(/^.*\\/, '')}]; + } else if (files[0].name === undefined && files[0].fileName) { + // File normalization for Safari 4 and Firefox 3: + $.each(files, function (index, file) { + file.name = file.fileName; + file.size = file.fileSize; + }); + } + return $.Deferred().resolve(files).promise(); + }, + + _getFileInputFiles: function (fileInput) { + if (!(fileInput instanceof $) || fileInput.length === 1) { + return this._getSingleFileInputFiles(fileInput); + } + return $.when.apply( + $, + $.map(fileInput, this._getSingleFileInputFiles) + ).then(function () { + return Array.prototype.concat.apply( + [], + arguments + ); + }); + }, + + _onChange: function (e) { + var that = this, + data = { + fileInput: $(e.target), + form: $(e.target.form) + }; + this._getFileInputFiles(data.fileInput).always(function (files) { + data.files = files; + if (that.options.replaceFileInput) { + that._replaceFileInput(data); + } + if (that._trigger( + 'change', + $.Event('change', {delegatedEvent: e}), + data + ) !== false) { + that._onAdd(e, data); + } + }); + }, + + _onPaste: function (e) { + var items = e.originalEvent && e.originalEvent.clipboardData && + e.originalEvent.clipboardData.items, + data = {files: []}; + if (items && items.length) { + $.each(items, function (index, item) { + var file = item.getAsFile && item.getAsFile(); + if (file) { + data.files.push(file); + } + }); + if (this._trigger( + 'paste', + $.Event('paste', {delegatedEvent: e}), + data + ) !== false) { + this._onAdd(e, data); + } + } + }, + + _onDrop: function (e) { + e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer; + var that = this, + dataTransfer = e.dataTransfer, + data = {}; + if (dataTransfer && dataTransfer.files && dataTransfer.files.length) { + e.preventDefault(); + this._getDroppedFiles(dataTransfer).always(function (files) { + data.files = files; + if (that._trigger( + 'drop', + $.Event('drop', {delegatedEvent: e}), + data + ) !== false) { + that._onAdd(e, data); + } + }); + } + }, + + _onDragOver: getDragHandler('dragover'), + + _onDragEnter: getDragHandler('dragenter'), + + _onDragLeave: getDragHandler('dragleave'), + + _initEventHandlers: function () { + if (this._isXHRUpload(this.options)) { + this._on(this.options.dropZone, { + dragover: this._onDragOver, + drop: this._onDrop, + // event.preventDefault() on dragenter is required for IE10+: + dragenter: this._onDragEnter, + // dragleave is not required, but added for completeness: + dragleave: this._onDragLeave + }); + this._on(this.options.pasteZone, { + paste: this._onPaste + }); + } + if ($.support.fileInput) { + this._on(this.options.fileInput, { + change: this._onChange + }); + } + }, + + _destroyEventHandlers: function () { + this._off(this.options.dropZone, 'dragenter dragleave dragover drop'); + this._off(this.options.pasteZone, 'paste'); + this._off(this.options.fileInput, 'change'); + }, + + _destroy: function () { + this._destroyEventHandlers(); + }, + + _setOption: function (key, value) { + var reinit = $.inArray(key, this._specialOptions) !== -1; + if (reinit) { + this._destroyEventHandlers(); + } + this._super(key, value); + if (reinit) { + this._initSpecialOptions(); + this._initEventHandlers(); + } + }, + + _initSpecialOptions: function () { + var options = this.options; + if (options.fileInput === undefined) { + options.fileInput = this.element.is('input[type="file"]') ? + this.element : this.element.find('input[type="file"]'); + } else if (!(options.fileInput instanceof $)) { + options.fileInput = $(options.fileInput); + } + if (!(options.dropZone instanceof $)) { + options.dropZone = $(options.dropZone); + } + if (!(options.pasteZone instanceof $)) { + options.pasteZone = $(options.pasteZone); + } + }, + + _getRegExp: function (str) { + var parts = str.split('/'), + modifiers = parts.pop(); + parts.shift(); + return new RegExp(parts.join('/'), modifiers); + }, + + _isRegExpOption: function (key, value) { + return key !== 'url' && $.type(value) === 'string' && + /^\/.*\/[igm]{0,3}$/.test(value); + }, + + _initDataAttributes: function () { + var that = this, + options = this.options, + data = this.element.data(); + // Initialize options set via HTML5 data-attributes: + $.each( + this.element[0].attributes, + function (index, attr) { + var key = attr.name.toLowerCase(), + value; + if (/^data-/.test(key)) { + // Convert hyphen-ated key to camelCase: + key = key.slice(5).replace(/-[a-z]/g, function (str) { + return str.charAt(1).toUpperCase(); + }); + value = data[key]; + if (that._isRegExpOption(key, value)) { + value = that._getRegExp(value); + } + options[key] = value; + } + } + ); + }, + + _create: function () { + this._initDataAttributes(); + this._initSpecialOptions(); + this._slots = []; + this._sequence = this._getXHRPromise(true); + this._sending = this._active = 0; + this._initProgressObject(this); + this._initEventHandlers(); + }, + + // This method is exposed to the widget API and allows to query + // the number of active uploads: + active: function () { + return this._active; + }, + + // This method is exposed to the widget API and allows to query + // the widget upload progress. + // It returns an object with loaded, total and bitrate properties + // for the running uploads: + progress: function () { + return this._progress; + }, + + // This method is exposed to the widget API and allows adding files + // using the fileupload API. The data parameter accepts an object which + // must have a files property and can contain additional options: + // .fileupload('add', {files: filesList}); + add: function (data) { + var that = this; + if (!data || this.options.disabled) { + return; + } + if (data.fileInput && !data.files) { + this._getFileInputFiles(data.fileInput).always(function (files) { + data.files = files; + that._onAdd(null, data); + }); + } else { + data.files = $.makeArray(data.files); + this._onAdd(null, data); + } + }, + + // This method is exposed to the widget API and allows sending files + // using the fileupload API. The data parameter accepts an object which + // must have a files or fileInput property and can contain additional options: + // .fileupload('send', {files: filesList}); + // The method returns a Promise object for the file upload call. + send: function (data) { + if (data && !this.options.disabled) { + if (data.fileInput && !data.files) { + var that = this, + dfd = $.Deferred(), + promise = dfd.promise(), + jqXHR, + aborted; + promise.abort = function () { + aborted = true; + if (jqXHR) { + return jqXHR.abort(); + } + dfd.reject(null, 'abort', 'abort'); + return promise; + }; + this._getFileInputFiles(data.fileInput).always( + function (files) { + if (aborted) { + return; + } + if (!files.length) { + dfd.reject(); + return; + } + data.files = files; + jqXHR = that._onSend(null, data); + jqXHR.then( + function (result, textStatus, jqXHR) { + dfd.resolve(result, textStatus, jqXHR); + }, + function (jqXHR, textStatus, errorThrown) { + dfd.reject(jqXHR, textStatus, errorThrown); + } + ); + } + ); + return this._enhancePromise(promise); + } + data.files = $.makeArray(data.files); + if (data.files.length) { + return this._onSend(null, data); + } + } + return this._getXHRPromise(false, data && data.context); + } + + }); + +})); diff --git a/public/mosaico/dist/vendor/jquery.iframe-transport.js b/public/mosaico/dist/vendor/jquery.iframe-transport.js new file mode 100644 index 00000000..b7922e61 --- /dev/null +++ b/public/mosaico/dist/vendor/jquery.iframe-transport.js @@ -0,0 +1,217 @@ +/* + * jQuery Iframe Transport Plugin + * https://github.com/blueimp/jQuery-File-Upload + * + * Copyright 2011, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ + +/* global define, require, window, document */ + +;(function (factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + // Register as an anonymous AMD module: + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS: + factory(require('jquery')); + } else { + // Browser globals: + factory(window.jQuery); + } +}(function ($) { + 'use strict'; + + // Helper variable to create unique names for the transport iframes: + var counter = 0; + + // The iframe transport accepts four additional options: + // options.fileInput: a jQuery collection of file input fields + // options.paramName: the parameter name for the file form data, + // overrides the name property of the file input field(s), + // can be a string or an array of strings. + // options.formData: an array of objects with name and value properties, + // equivalent to the return data of .serializeArray(), e.g.: + // [{name: 'a', value: 1}, {name: 'b', value: 2}] + // options.initialIframeSrc: the URL of the initial iframe src, + // by default set to "javascript:false;" + $.ajaxTransport('iframe', function (options) { + if (options.async) { + // javascript:false as initial iframe src + // prevents warning popups on HTTPS in IE6: + /*jshint scripturl: true */ + var initialIframeSrc = options.initialIframeSrc || 'javascript:false;', + /*jshint scripturl: false */ + form, + iframe, + addParamChar; + return { + send: function (_, completeCallback) { + form = $('
'); + form.attr('accept-charset', options.formAcceptCharset); + addParamChar = /\?/.test(options.url) ? '&' : '?'; + // XDomainRequest only supports GET and POST: + if (options.type === 'DELETE') { + options.url = options.url + addParamChar + '_method=DELETE'; + options.type = 'POST'; + } else if (options.type === 'PUT') { + options.url = options.url + addParamChar + '_method=PUT'; + options.type = 'POST'; + } else if (options.type === 'PATCH') { + options.url = options.url + addParamChar + '_method=PATCH'; + options.type = 'POST'; + } + // IE versions below IE8 cannot set the name property of + // elements that have already been added to the DOM, + // so we set the name along with the iframe HTML markup: + counter += 1; + iframe = $( + '' + ).bind('load', function () { + var fileInputClones, + paramNames = $.isArray(options.paramName) ? + options.paramName : [options.paramName]; + iframe + .unbind('load') + .bind('load', function () { + var response; + // Wrap in a try/catch block to catch exceptions thrown + // when trying to access cross-domain iframe contents: + try { + response = iframe.contents(); + // Google Chrome and Firefox do not throw an + // exception when calling iframe.contents() on + // cross-domain requests, so we unify the response: + if (!response.length || !response[0].firstChild) { + throw new Error(); + } + } catch (e) { + response = undefined; + } + // The complete callback returns the + // iframe content document as response object: + completeCallback( + 200, + 'success', + {'iframe': response} + ); + // Fix for IE endless progress bar activity bug + // (happens on form submits to iframe targets): + $('') + .appendTo(form); + window.setTimeout(function () { + // Removing the form in a setTimeout call + // allows Chrome's developer tools to display + // the response result + form.remove(); + }, 0); + }); + form + .prop('target', iframe.prop('name')) + .prop('action', options.url) + .prop('method', options.type); + if (options.formData) { + $.each(options.formData, function (index, field) { + $('') + .prop('name', field.name) + .val(field.value) + .appendTo(form); + }); + } + if (options.fileInput && options.fileInput.length && + options.type === 'POST') { + fileInputClones = options.fileInput.clone(); + // Insert a clone for each file input field: + options.fileInput.after(function (index) { + return fileInputClones[index]; + }); + if (options.paramName) { + options.fileInput.each(function (index) { + $(this).prop( + 'name', + paramNames[index] || options.paramName + ); + }); + } + // Appending the file input fields to the hidden form + // removes them from their original location: + form + .append(options.fileInput) + .prop('enctype', 'multipart/form-data') + // enctype must be set as encoding for IE: + .prop('encoding', 'multipart/form-data'); + // Remove the HTML5 form attribute from the input(s): + options.fileInput.removeAttr('form'); + } + form.submit(); + // Insert the file input fields at their original location + // by replacing the clones with the originals: + if (fileInputClones && fileInputClones.length) { + options.fileInput.each(function (index, input) { + var clone = $(fileInputClones[index]); + // Restore the original name and form properties: + $(input) + .prop('name', clone.prop('name')) + .attr('form', clone.attr('form')); + clone.replaceWith(input); + }); + } + }); + form.append(iframe).appendTo(document.body); + }, + abort: function () { + if (iframe) { + // javascript:false as iframe src aborts the request + // and prevents warning popups on HTTPS in IE6. + // concat is used to avoid the "Script URL" JSLint error: + iframe + .unbind('load') + .prop('src', initialIframeSrc); + } + if (form) { + form.remove(); + } + } + }; + } + }); + + // The iframe transport returns the iframe content document as response. + // The following adds converters from iframe to text, json, html, xml + // and script. + // Please note that the Content-Type for JSON responses has to be text/plain + // or text/html, if the browser doesn't include application/json in the + // Accept header, else IE will show a download dialog. + // The Content-Type for XML responses on the other hand has to be always + // application/xml or text/xml, so IE properly parses the XML response. + // See also + // https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#content-type-negotiation + $.ajaxSetup({ + converters: { + 'iframe text': function (iframe) { + return iframe && $(iframe[0].body).text(); + }, + 'iframe json': function (iframe) { + return iframe && $.parseJSON($(iframe[0].body).text()); + }, + 'iframe html': function (iframe) { + return iframe && $(iframe[0].body).html(); + }, + 'iframe xml': function (iframe) { + var xmlDoc = iframe && iframe[0]; + return xmlDoc && $.isXMLDoc(xmlDoc) ? xmlDoc : + $.parseXML((xmlDoc.XMLDocument && xmlDoc.XMLDocument.xml) || + $(xmlDoc.body).html()); + }, + 'iframe script': function (iframe) { + return iframe && $.globalEval($(iframe[0].body).text()); + } + } + }); + +})); diff --git a/public/mosaico/dist/vendor/jquery.min.js b/public/mosaico/dist/vendor/jquery.min.js new file mode 100644 index 00000000..e8364758 --- /dev/null +++ b/public/mosaico/dist/vendor/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; +}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="
a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("'; + } else if (data.source1mime == "application/x-shockwave-flash") { + html += ''; + + if (data.poster) { + html += ''; + } + + html += ''; + } else if (data.source1mime.indexOf('audio') != -1) { + if (editor.settings.audio_template_callback) { + html = editor.settings.audio_template_callback(data); + } else { + html += ( + '' + ); + } + } else if (data.type == "script") { + html += ''; + } else { + if (editor.settings.video_template_callback) { + html = editor.settings.video_template_callback(data); + } else { + html = ( + '' + ); + } + } + } + + return html; + } + + function htmlToData(html) { + var data = {}; + + new tinymce.html.SaxParser({ + validate: false, + allow_conditional_comments: true, + special: 'script,noscript', + start: function(name, attrs) { + if (!data.source1 && name == "param") { + data.source1 = attrs.map.movie; + } + + if (name == "iframe" || name == "object" || name == "embed" || name == "video" || name == "audio") { + if (!data.type) { + data.type = name; + } + + data = tinymce.extend(attrs.map, data); + } + + if (name == "script") { + var videoScript = getVideoScriptMatch(attrs.map.src); + if (!videoScript) { + return; + } + + data = { + type: "script", + source1: attrs.map.src, + width: videoScript.width, + height: videoScript.height + }; + } + + if (name == "source") { + if (!data.source1) { + data.source1 = attrs.map.src; + } else if (!data.source2) { + data.source2 = attrs.map.src; + } + } + + if (name == "img" && !data.poster) { + data.poster = attrs.map.src; + } + } + }).parse(html); + + data.source1 = data.source1 || data.src || data.data; + data.source2 = data.source2 || ''; + data.poster = data.poster || ''; + + return data; + } + + function getData(element) { + if (element.getAttribute('data-mce-object')) { + return htmlToData(editor.serializer.serialize(element, {selection: true})); + } + + return {}; + } + + function sanitize(html) { + if (editor.settings.media_filter_html === false) { + return html; + } + + var writer = new tinymce.html.Writer(), blocked; + + new tinymce.html.SaxParser({ + validate: false, + allow_conditional_comments: false, + special: 'script,noscript', + + comment: function(text) { + writer.comment(text); + }, + + cdata: function(text) { + writer.cdata(text); + }, + + text: function(text, raw) { + writer.text(text, raw); + }, + + start: function(name, attrs, empty) { + blocked = true; + + if (name == 'script' || name == 'noscript') { + return; + } + + for (var i = 0; i < attrs.length; i++) { + if (attrs[i].name.indexOf('on') === 0) { + return; + } + + if (attrs[i].name == 'style') { + attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name); + } + } + + writer.start(name, attrs, empty); + blocked = false; + }, + + end: function(name) { + if (blocked) { + return; + } + + writer.end(name); + } + }, new tinymce.html.Schema({})).parse(html); + + return writer.getContent(); + } + + function updateHtml(html, data, updateAll) { + var writer = new tinymce.html.Writer(); + var sourceCount = 0, hasImage; + + function setAttributes(attrs, updatedAttrs) { + var name, i, value, attr; + + for (name in updatedAttrs) { + value = "" + updatedAttrs[name]; + + if (attrs.map[name]) { + i = attrs.length; + while (i--) { + attr = attrs[i]; + + if (attr.name == name) { + if (value) { + attrs.map[name] = value; + attr.value = value; + } else { + delete attrs.map[name]; + attrs.splice(i, 1); + } + } + } + } else if (value) { + attrs.push({ + name: name, + value: value + }); + + attrs.map[name] = value; + } + } + } + + new tinymce.html.SaxParser({ + validate: false, + allow_conditional_comments: true, + special: 'script,noscript', + + comment: function(text) { + writer.comment(text); + }, + + cdata: function(text) { + writer.cdata(text); + }, + + text: function(text, raw) { + writer.text(text, raw); + }, + + start: function(name, attrs, empty) { + switch (name) { + case "video": + case "object": + case "embed": + case "img": + case "iframe": + setAttributes(attrs, { + width: data.width, + height: data.height + }); + break; + } + + if (updateAll) { + switch (name) { + case "video": + setAttributes(attrs, { + poster: data.poster, + src: "" + }); + + if (data.source2) { + setAttributes(attrs, { + src: "" + }); + } + break; + + case "iframe": + setAttributes(attrs, { + src: data.source1 + }); + break; + + case "source": + sourceCount++; + + if (sourceCount <= 2) { + setAttributes(attrs, { + src: data["source" + sourceCount], + type: data["source" + sourceCount + "mime"] + }); + + if (!data["source" + sourceCount]) { + return; + } + } + break; + + case "img": + if (!data.poster) { + return; + } + + hasImage = true; + break; + } + } + + writer.start(name, attrs, empty); + }, + + end: function(name) { + if (name == "video" && updateAll) { + for (var index = 1; index <= 2; index++) { + if (data["source" + index]) { + var attrs = []; + attrs.map = {}; + + if (sourceCount < index) { + setAttributes(attrs, { + src: data["source" + index], + type: data["source" + index + "mime"] + }); + + writer.start("source", attrs, true); + } + } + } + } + + if (data.poster && name == "object" && updateAll && !hasImage) { + var imgAttrs = []; + imgAttrs.map = {}; + + setAttributes(imgAttrs, { + src: data.poster, + width: data.width, + height: data.height + }); + + writer.start("img", imgAttrs, true); + } + + writer.end(name); + } + }, new tinymce.html.Schema({})).parse(html); + + return writer.getContent(); + } + + editor.on('ResolveName', function(e) { + var name; + + if (e.target.nodeType == 1 && (name = e.target.getAttribute("data-mce-object"))) { + e.name = name; + } + }); + + function retainAttributesAndInnerHtml(sourceNode, targetNode) { + var attrName, attrValue, attribs, ai, innerHtml; + + // Prefix all attributes except width, height and style since we + // will add these to the placeholder + attribs = sourceNode.attributes; + ai = attribs.length; + while (ai--) { + attrName = attribs[ai].name; + attrValue = attribs[ai].value; + + if (attrName !== "width" && attrName !== "height" && attrName !== "style") { + if (attrName == "data" || attrName == "src") { + attrValue = editor.convertURL(attrValue, attrName); + } + + targetNode.attr('data-mce-p-' + attrName, attrValue); + } + } + + // Place the inner HTML contents inside an escaped attribute + // This enables us to copy/paste the fake object + innerHtml = sourceNode.firstChild && sourceNode.firstChild.value; + if (innerHtml) { + targetNode.attr("data-mce-html", escape(innerHtml)); + targetNode.firstChild = null; + } + } + + function createPlaceholderNode(node) { + var placeHolder, name = node.name; + + placeHolder = new tinymce.html.Node('img', 1); + placeHolder.shortEnded = true; + + retainAttributesAndInnerHtml(node, placeHolder); + + placeHolder.attr({ + width: node.attr('width') || "300", + height: node.attr('height') || (name == "audio" ? "30" : "150"), + style: node.attr('style'), + src: tinymce.Env.transparentSrc, + "data-mce-object": name, + "class": "mce-object mce-object-" + name + }); + + return placeHolder; + } + + function createPreviewNode(node) { + var previewWrapper, previewNode, shimNode, name = node.name; + + previewWrapper = new tinymce.html.Node('span', 1); + previewWrapper.attr({ + contentEditable: 'false', + style: node.attr('style'), + "data-mce-object": name, + "class": "mce-preview-object mce-object-" + name + }); + + retainAttributesAndInnerHtml(node, previewWrapper); + + previewNode = new tinymce.html.Node(name, 1); + previewNode.attr({ + src: node.attr('src'), + allowfullscreen: node.attr('allowfullscreen'), + width: node.attr('width') || "300", + height: node.attr('height') || (name == "audio" ? "30" : "150"), + frameborder: '0' + }); + + shimNode = new tinymce.html.Node('span', 1); + shimNode.attr('class', 'mce-shim'); + + previewWrapper.append(previewNode); + previewWrapper.append(shimNode); + + return previewWrapper; + } + + editor.on('preInit', function() { + // Make sure that any messy HTML is retained inside these + var specialElements = editor.schema.getSpecialElements(); + tinymce.each('video audio iframe object'.split(' '), function(name) { + specialElements[name] = new RegExp('<\/' + name + '[^>]*>', 'gi'); + }); + + // Allow elements + //editor.schema.addValidElements('object[id|style|width|height|classid|codebase|*],embed[id|style|width|height|type|src|*],video[*],audio[*]'); + + // Set allowFullscreen attribs as boolean + var boolAttrs = editor.schema.getBoolAttrs(); + tinymce.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function(name) { + boolAttrs[name] = {}; + }); + + // Converts iframe, video etc into placeholder images + editor.parser.addNodeFilter('iframe,video,audio,object,embed,script', function(nodes) { + var i = nodes.length, node, placeHolder, videoScript; + + while (i--) { + node = nodes[i]; + if (!node.parent) { + continue; + } + + if (node.parent.attr('data-mce-object')) { + continue; + } + + if (node.name == 'script') { + videoScript = getVideoScriptMatch(node.attr('src')); + if (!videoScript) { + continue; + } + } + + if (videoScript) { + if (videoScript.width) { + node.attr('width', videoScript.width.toString()); + } + + if (videoScript.height) { + node.attr('height', videoScript.height.toString()); + } + } + + if (node.name == 'iframe' && editor.settings.media_live_embeds !== false && tinymce.Env.ceFalse) { + placeHolder = createPreviewNode(node); + } else { + placeHolder = createPlaceholderNode(node); + } + + node.replace(placeHolder); + } + }); + + // Replaces placeholder images with real elements for video, object, iframe etc + editor.serializer.addAttributeFilter('data-mce-object', function(nodes, name) { + var i = nodes.length, node, realElm, ai, attribs, innerHtml, innerNode, realElmName, className; + + while (i--) { + node = nodes[i]; + if (!node.parent) { + continue; + } + + realElmName = node.attr(name); + realElm = new tinymce.html.Node(realElmName, 1); + + // Add width/height to everything but audio + if (realElmName != "audio" && realElmName != "script") { + className = node.attr('class'); + if (className && className.indexOf('mce-preview-object') !== -1) { + realElm.attr({ + width: node.firstChild.attr('width'), + height: node.firstChild.attr('height') + }); + } else { + realElm.attr({ + width: node.attr('width'), + height: node.attr('height') + }); + } + } + + realElm.attr({ + style: node.attr('style') + }); + + // Unprefix all placeholder attributes + attribs = node.attributes; + ai = attribs.length; + while (ai--) { + var attrName = attribs[ai].name; + + if (attrName.indexOf('data-mce-p-') === 0) { + realElm.attr(attrName.substr(11), attribs[ai].value); + } + } + + if (realElmName == "script") { + realElm.attr('type', 'text/javascript'); + } + + // Inject innerhtml + innerHtml = node.attr('data-mce-html'); + if (innerHtml) { + innerNode = new tinymce.html.Node('#text', 3); + innerNode.raw = true; + innerNode.value = sanitize(unescape(innerHtml)); + realElm.append(innerNode); + } + + node.replace(realElm); + } + }); + }); + + editor.on('click keyup', function() { + var selectedNode = editor.selection.getNode(); + + if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) { + if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) { + selectedNode.setAttribute('data-mce-selected', '2'); + } + } + }); + + editor.on('ObjectSelected', function(e) { + var objectType = e.target.getAttribute('data-mce-object'); + + if (objectType == "audio" || objectType == "script") { + e.preventDefault(); + } + }); + + editor.on('objectResized', function(e) { + var target = e.target, html; + + if (target.getAttribute('data-mce-object')) { + html = target.getAttribute('data-mce-html'); + if (html) { + html = unescape(html); + target.setAttribute('data-mce-html', escape( + updateHtml(html, { + width: e.width, + height: e.height + }) + )); + } + } + }); + + editor.addButton('media', { + tooltip: 'Insert/edit video', + onclick: showDialog, + stateSelector: ['img[data-mce-object]', 'span[data-mce-object]'] + }); + + editor.addMenuItem('media', { + icon: 'media', + text: 'Insert/edit video', + onclick: showDialog, + context: 'insert', + prependToContext: true + }); + + editor.on('setContent', function() { + // TODO: This shouldn't be needed there should be a way to mark bogus + // elements so they are never removed except external save + editor.$('span.mce-preview-object').each(function(index, elm) { + var $elm = editor.$(elm); + + if ($elm.find('span.mce-shim', elm).length === 0) { + $elm.append(''); + } + }); + }); + + editor.addCommand('mceMedia', showDialog); + + this.showDialog = showDialog; +}); diff --git a/public/mosaico/dist/vendor/plugins/media/plugin.min.js b/public/mosaico/dist/vendor/plugins/media/plugin.min.js new file mode 100644 index 00000000..dd92d65f --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/media/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("media",function(e,t){function n(e){return e=e.toLowerCase(),e.indexOf(".mp3")!=-1?"audio/mpeg":e.indexOf(".wav")!=-1?"audio/wav":e.indexOf(".mp4")!=-1?"video/mp4":e.indexOf(".webm")!=-1?"video/webm":e.indexOf(".ogg")!=-1?"video/ogg":e.indexOf(".swf")!=-1?"application/x-shockwave-flash":""}function r(t){var n=e.settings.media_scripts;if(n)for(var r=0;r=0;i--)t[r]==n[i]&&n.splice(i,1);e.selection.select(n[0]),e.nodeChanged()}})}function o(){var t=e.selection.getNode();if(t.getAttribute("data-mce-object"))return e.selection.getContent()}function a(i){var o="";if(!i.source1&&(tinymce.extend(i,s(i.embed)),!i.source1))return"";if(i.source2||(i.source2=""),i.poster||(i.poster=""),i.source1=e.convertURL(i.source1,"source"),i.source2=e.convertURL(i.source2,"source"),i.source1mime=n(i.source1),i.source2mime=n(i.source2),i.poster=e.convertURL(i.poster,"poster"),i.flashPlayerUrl=e.convertURL(t+"/moxieplayer.swf","movie"),tinymce.each(p,function(e){var t,n,r;if(t=e.regex.exec(i.source1)){for(r=e.url,n=0;t[n];n++)r=r.replace("$"+n,function(){return t[n]});i.source1=r,i.type=e.type,i.allowFullscreen=e.allowFullscreen,i.width=i.width||e.w,i.height=i.height||e.h}}),i.embed)o=u(i.embed,i,!0);else{var a=r(i.source1);if(a&&(i.type="script",i.width=a.width,i.height=a.height),i.width=i.width||300,i.height=i.height||150,tinymce.each(i,function(t,n){i[n]=e.dom.encode(t)}),"iframe"==i.type){var l=i.allowFullscreen?' allowFullscreen="1"':"";o+='"}else"application/x-shockwave-flash"==i.source1mime?(o+='',i.poster&&(o+=''),o+=""):i.source1mime.indexOf("audio")!=-1?e.settings.audio_template_callback?o=e.settings.audio_template_callback(i):o+='":"script"==i.type?o+='':o=e.settings.video_template_callback?e.settings.video_template_callback(i):'"}return o}function s(e){var t={};return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(e,n){if(t.source1||"param"!=e||(t.source1=n.map.movie),"iframe"!=e&&"object"!=e&&"embed"!=e&&"video"!=e&&"audio"!=e||(t.type||(t.type=e),t=tinymce.extend(n.map,t)),"script"==e){var i=r(n.map.src);if(!i)return;t={type:"script",source1:n.map.src,width:i.width,height:i.height}}"source"==e&&(t.source1?t.source2||(t.source2=n.map.src):t.source1=n.map.src),"img"!=e||t.poster||(t.poster=n.map.src)}}).parse(e),t.source1=t.source1||t.src||t.data,t.source2=t.source2||"",t.poster=t.poster||"",t}function l(t){return t.getAttribute("data-mce-object")?s(e.serializer.serialize(t,{selection:!0})):{}}function c(t){if(e.settings.media_filter_html===!1)return t;var n,r=new tinymce.html.Writer;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!1,special:"script,noscript",comment:function(e){r.comment(e)},cdata:function(e){r.cdata(e)},text:function(e,t){r.text(e,t)},start:function(t,i,o){if(n=!0,"script"!=t&&"noscript"!=t){for(var a=0;a]*>","gi")});var n=e.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(e){n[e]={}}),e.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(t){for(var n,i,o,a=t.length;a--;)n=t[a],n.parent&&(n.parent.attr("data-mce-object")||("script"!=n.name||(o=r(n.attr("src"))))&&(o&&(o.width&&n.attr("width",o.width.toString()),o.height&&n.attr("height",o.height.toString())),i="iframe"==n.name&&e.settings.media_live_embeds!==!1&&tinymce.Env.ceFalse?h(n):f(n),n.replace(i)))}),e.serializer.addAttributeFilter("data-mce-object",function(e,t){for(var n,r,i,o,a,s,l,u,d=e.length;d--;)if(n=e[d],n.parent){for(l=n.attr(t),r=new tinymce.html.Node(l,1),"audio"!=l&&"script"!=l&&(u=n.attr("class"),u&&u.indexOf("mce-preview-object")!==-1?r.attr({width:n.firstChild.attr("width"),height:n.firstChild.attr("height")}):r.attr({width:n.attr("width"),height:n.attr("height")})),r.attr({style:n.attr("style")}),o=n.attributes,i=o.length;i--;){var f=o[i].name;0===f.indexOf("data-mce-p-")&&r.attr(f.substr(11),o[i].value)}"script"==l&&r.attr("type","text/javascript"),a=n.attr("data-mce-html"),a&&(s=new tinymce.html.Node("#text",3),s.raw=!0,s.value=c(unescape(a)),r.append(s)),n.replace(r)}})}),e.on("click keyup",function(){var t=e.selection.getNode();t&&e.dom.hasClass(t,"mce-preview-object")&&e.dom.getAttrib(t,"data-mce-selected")&&t.setAttribute("data-mce-selected","2")}),e.on("ObjectSelected",function(e){var t=e.target.getAttribute("data-mce-object");"audio"!=t&&"script"!=t||e.preventDefault()}),e.on("objectResized",function(e){var t,n=e.target;n.getAttribute("data-mce-object")&&(t=n.getAttribute("data-mce-html"),t&&(t=unescape(t),n.setAttribute("data-mce-html",escape(u(t,{width:e.width,height:e.height})))))}),e.addButton("media",{tooltip:"Insert/edit video",onclick:i,stateSelector:["img[data-mce-object]","span[data-mce-object]"]}),e.addMenuItem("media",{icon:"media",text:"Insert/edit video",onclick:i,context:"insert",prependToContext:!0}),e.on("setContent",function(){e.$("span.mce-preview-object").each(function(t,n){var r=e.$(n);0===r.find("span.mce-shim",n).length&&r.append('')})}),e.addCommand("mceMedia",i),this.showDialog=i}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/nonbreaking/plugin.js b/public/mosaico/dist/vendor/plugins/nonbreaking/plugin.js new file mode 100644 index 00000000..cb6b1f04 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/nonbreaking/plugin.js @@ -0,0 +1,53 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ + +tinymce.PluginManager.add('nonbreaking', function(editor) { + var setting = editor.getParam('nonbreaking_force_tab'); + + editor.addCommand('mceNonBreaking', function() { + editor.insertContent( + (editor.plugins.visualchars && editor.plugins.visualchars.state) ? + ' ' : ' ' + ); + + editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1'); + }); + + editor.addButton('nonbreaking', { + title: 'Nonbreaking space', + cmd: 'mceNonBreaking' + }); + + editor.addMenuItem('nonbreaking', { + text: 'Nonbreaking space', + cmd: 'mceNonBreaking', + context: 'insert' + }); + + if (setting) { + var spaces = +setting > 1 ? +setting : 3; // defaults to 3 spaces if setting is true (or 1) + + editor.on('keydown', function(e) { + if (e.keyCode == 9) { + + if (e.shiftKey) { + return; + } + + e.preventDefault(); + for (var i = 0; i < spaces; i++) { + editor.execCommand('mceNonBreaking'); + } + } + }); + } +}); diff --git a/public/mosaico/dist/vendor/plugins/nonbreaking/plugin.min.js b/public/mosaico/dist/vendor/plugins/nonbreaking/plugin.min.js new file mode 100644 index 00000000..cae1aca4 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/nonbreaking/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("nonbreaking",function(e){var t=e.getParam("nonbreaking_force_tab");if(e.addCommand("mceNonBreaking",function(){e.insertContent(e.plugins.visualchars&&e.plugins.visualchars.state?' ':" "),e.dom.setAttrib(e.dom.select("span.mce-nbsp"),"data-mce-bogus","1")}),e.addButton("nonbreaking",{title:"Nonbreaking space",cmd:"mceNonBreaking"}),e.addMenuItem("nonbreaking",{text:"Nonbreaking space",cmd:"mceNonBreaking",context:"insert"}),t){var n=+t>1?+t:3;e.on("keydown",function(t){if(9==t.keyCode){if(t.shiftKey)return;t.preventDefault();for(var r=0;r 0 && content.charAt(index - 1) == '"') { + return match; + } + + return ( + '' + + editor.dom.encode(typeof args[1] === "string" ? args[1] : args[0]) + '' + ); + } + + // Don't replace the variables when raw is used for example on undo/redo + if (e.format == "raw") { + return; + } + + while (i--) { + content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan); + } + + e.content = content; + } + + editClass = " " + tinymce.trim(editor.getParam("noneditable_editable_class", "mceEditable")) + " "; + nonEditClass = " " + tinymce.trim(editor.getParam("noneditable_noneditable_class", "mceNonEditable")) + " "; + + var hasEditClass = hasClass(editClass); + var hasNonEditClass = hasClass(nonEditClass); + + nonEditableRegExps = editor.getParam("noneditable_regexp"); + if (nonEditableRegExps && !nonEditableRegExps.length) { + nonEditableRegExps = [nonEditableRegExps]; + } + + editor.on('PreInit', function() { + if (nonEditableRegExps) { + editor.on('BeforeSetContent', convertRegExpsToNonEditable); + } + + editor.parser.addAttributeFilter('class', function(nodes) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + + if (hasEditClass(node)) { + node.attr(contentEditableAttrName, "true"); + } else if (hasNonEditClass(node)) { + node.attr(contentEditableAttrName, "false"); + } + } + }); + + editor.serializer.addAttributeFilter(contentEditableAttrName, function(nodes) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + if (!hasEditClass(node) && !hasNonEditClass(node)) { + continue; + } + + if (nonEditableRegExps && node.attr('data-mce-content')) { + node.name = "#text"; + node.type = 3; + node.raw = true; + node.value = node.attr('data-mce-content'); + } else { + node.attr(contentEditableAttrName, null); + } + } + }); + }); +}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/noneditable/plugin.min.js b/public/mosaico/dist/vendor/plugins/noneditable/plugin.min.js new file mode 100644 index 00000000..fd7374bc --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/noneditable/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("noneditable",function(e){function t(e){return function(t){return(" "+t.attr("class")+" ").indexOf(e)!==-1}}function n(t){function n(t){var n=arguments,r=n[n.length-2];return r>0&&'"'==a.charAt(r-1)?t:''+e.dom.encode("string"==typeof n[1]?n[1]:n[0])+""}var r=o.length,a=t.content,s=tinymce.trim(i);if("raw"!=t.format){for(;r--;)a=a.replace(o[r],n);t.content=a}}var r,i,o,a="contenteditable";r=" "+tinymce.trim(e.getParam("noneditable_editable_class","mceEditable"))+" ",i=" "+tinymce.trim(e.getParam("noneditable_noneditable_class","mceNonEditable"))+" ";var s=t(r),l=t(i);o=e.getParam("noneditable_regexp"),o&&!o.length&&(o=[o]),e.on("PreInit",function(){o&&e.on("BeforeSetContent",n),e.parser.addAttributeFilter("class",function(e){for(var t,n=e.length;n--;)t=e[n],s(t)?t.attr(a,"true"):l(t)&&t.attr(a,"false")}),e.serializer.addAttributeFilter(a,function(e){for(var t,n=e.length;n--;)t=e[n],(s(t)||l(t))&&(o&&t.attr("data-mce-content")?(t.name="#text",t.type=3,t.raw=!0,t.value=t.attr("data-mce-content")):t.attr(a,null))})})}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/pagebreak/plugin.js b/public/mosaico/dist/vendor/plugins/pagebreak/plugin.js new file mode 100644 index 00000000..d42d09bb --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/pagebreak/plugin.js @@ -0,0 +1,88 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ + +tinymce.PluginManager.add('pagebreak', function(editor) { + var pageBreakClass = 'mce-pagebreak', separatorHtml = editor.getParam('pagebreak_separator', ''); + + var pageBreakSeparatorRegExp = new RegExp(separatorHtml.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function(a) { + return '\\' + a; + }), 'gi'); + + var pageBreakPlaceHolderHtml = ''; + + // Register commands + editor.addCommand('mcePageBreak', function() { + if (editor.settings.pagebreak_split_block) { + editor.insertContent('

' + pageBreakPlaceHolderHtml + '

'); + } else { + editor.insertContent(pageBreakPlaceHolderHtml); + } + }); + + // Register buttons + editor.addButton('pagebreak', { + title: 'Page break', + cmd: 'mcePageBreak' + }); + + editor.addMenuItem('pagebreak', { + text: 'Page break', + icon: 'pagebreak', + cmd: 'mcePageBreak', + context: 'insert' + }); + + editor.on('ResolveName', function(e) { + if (e.target.nodeName == 'IMG' && editor.dom.hasClass(e.target, pageBreakClass)) { + e.name = 'pagebreak'; + } + }); + + editor.on('click', function(e) { + e = e.target; + + if (e.nodeName === 'IMG' && editor.dom.hasClass(e, pageBreakClass)) { + editor.selection.select(e); + } + }); + + editor.on('BeforeSetContent', function(e) { + e.content = e.content.replace(pageBreakSeparatorRegExp, pageBreakPlaceHolderHtml); + }); + + editor.on('PreInit', function() { + editor.serializer.addNodeFilter('img', function(nodes) { + var i = nodes.length, node, className; + + while (i--) { + node = nodes[i]; + className = node.attr('class'); + if (className && className.indexOf('mce-pagebreak') !== -1) { + // Replace parent block node if pagebreak_split_block is enabled + var parentNode = node.parent; + if (editor.schema.getBlockElements()[parentNode.name] && editor.settings.pagebreak_split_block) { + parentNode.type = 3; + parentNode.value = separatorHtml; + parentNode.raw = true; + node.remove(); + continue; + } + + node.type = 3; + node.value = separatorHtml; + node.raw = true; + } + } + }); + }); +}); diff --git a/public/mosaico/dist/vendor/plugins/pagebreak/plugin.min.js b/public/mosaico/dist/vendor/plugins/pagebreak/plugin.min.js new file mode 100644 index 00000000..78fea042 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/pagebreak/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("pagebreak",function(e){var t="mce-pagebreak",n=e.getParam("pagebreak_separator",""),r=new RegExp(n.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(e){return"\\"+e}),"gi"),i='';e.addCommand("mcePageBreak",function(){e.settings.pagebreak_split_block?e.insertContent("

"+i+"

"):e.insertContent(i)}),e.addButton("pagebreak",{title:"Page break",cmd:"mcePageBreak"}),e.addMenuItem("pagebreak",{text:"Page break",icon:"pagebreak",cmd:"mcePageBreak",context:"insert"}),e.on("ResolveName",function(n){"IMG"==n.target.nodeName&&e.dom.hasClass(n.target,t)&&(n.name="pagebreak")}),e.on("click",function(n){n=n.target,"IMG"===n.nodeName&&e.dom.hasClass(n,t)&&e.selection.select(n)}),e.on("BeforeSetContent",function(e){e.content=e.content.replace(r,i)}),e.on("PreInit",function(){e.serializer.addNodeFilter("img",function(t){for(var r,i,o=t.length;o--;)if(r=t[o],i=r.attr("class"),i&&i.indexOf("mce-pagebreak")!==-1){var a=r.parent;if(e.schema.getBlockElements()[a.name]&&e.settings.pagebreak_split_block){a.type=3,a.value=n,a.raw=!0,r.remove();continue}r.type=3,r.value=n,r.raw=!0}})})}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/paste/plugin.js b/public/mosaico/dist/vendor/plugins/paste/plugin.js new file mode 100644 index 00000000..7d2a71e5 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/paste/plugin.js @@ -0,0 +1,1844 @@ +/** + * Compiled inline version. (Library mode) + */ + +/*jshint smarttabs:true, undef:true, latedef:true, curly:true, bitwise:true, camelcase:true */ +/*globals $code */ + +(function(exports, undefined) { + "use strict"; + + var modules = {}; + + function require(ids, callback) { + var module, defs = []; + + for (var i = 0; i < ids.length; ++i) { + module = modules[ids[i]] || resolve(ids[i]); + if (!module) { + throw 'module definition dependecy not found: ' + ids[i]; + } + + defs.push(module); + } + + callback.apply(null, defs); + } + + function define(id, dependencies, definition) { + if (typeof id !== 'string') { + throw 'invalid module definition, module id must be defined and be a string'; + } + + if (dependencies === undefined) { + throw 'invalid module definition, dependencies must be specified'; + } + + if (definition === undefined) { + throw 'invalid module definition, definition function must be specified'; + } + + require(dependencies, function() { + modules[id] = definition.apply(null, arguments); + }); + } + + function defined(id) { + return !!modules[id]; + } + + function resolve(id) { + var target = exports; + var fragments = id.split(/[.\/]/); + + for (var fi = 0; fi < fragments.length; ++fi) { + if (!target[fragments[fi]]) { + return; + } + + target = target[fragments[fi]]; + } + + return target; + } + + function expose(ids) { + var i, target, id, fragments, privateModules; + + for (i = 0; i < ids.length; i++) { + target = exports; + id = ids[i]; + fragments = id.split(/[.\/]/); + + for (var fi = 0; fi < fragments.length - 1; ++fi) { + if (target[fragments[fi]] === undefined) { + target[fragments[fi]] = {}; + } + + target = target[fragments[fi]]; + } + + target[fragments[fragments.length - 1]] = modules[id]; + } + + // Expose private modules for unit tests + if (exports.AMDLC_TESTS) { + privateModules = exports.privateModules || {}; + + for (id in modules) { + privateModules[id] = modules[id]; + } + + for (i = 0; i < ids.length; i++) { + delete privateModules[ids[i]]; + } + + exports.privateModules = privateModules; + } + } + +// Included from: js/tinymce/plugins/paste/classes/Utils.js + +/** + * Utils.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class contails various utility functions for the paste plugin. + * + * @class tinymce.pasteplugin.Utils + */ +define("tinymce/pasteplugin/Utils", [ + "tinymce/util/Tools", + "tinymce/html/DomParser", + "tinymce/html/Schema" +], function(Tools, DomParser, Schema) { + function filter(content, items) { + Tools.each(items, function(v) { + if (v.constructor == RegExp) { + content = content.replace(v, ''); + } else { + content = content.replace(v[0], v[1]); + } + }); + + return content; + } + + /** + * Gets the innerText of the specified element. It will handle edge cases + * and works better than textContent on Gecko. + * + * @param {String} html HTML string to get text from. + * @return {String} String of text with line feeds. + */ + function innerText(html) { + var schema = new Schema(), domParser = new DomParser({}, schema), text = ''; + var shortEndedElements = schema.getShortEndedElements(); + var ignoreElements = Tools.makeMap('script noscript style textarea video audio iframe object', ' '); + var blockElements = schema.getBlockElements(); + + function walk(node) { + var name = node.name, currentNode = node; + + if (name === 'br') { + text += '\n'; + return; + } + + // img/input/hr + if (shortEndedElements[name]) { + text += ' '; + } + + // Ingore script, video contents + if (ignoreElements[name]) { + text += ' '; + return; + } + + if (node.type == 3) { + text += node.value; + } + + // Walk all children + if (!node.shortEnded) { + if ((node = node.firstChild)) { + do { + walk(node); + } while ((node = node.next)); + } + } + + // Add \n or \n\n for blocks or P + if (blockElements[name] && currentNode.next) { + text += '\n'; + + if (name == 'p') { + text += '\n'; + } + } + } + + html = filter(html, [ + //g // Conditional comments + ]); + + walk(domParser.parse(html)); + + return text; + } + + /** + * Trims the specified HTML by removing all WebKit fragments, all elements wrapping the body trailing BR elements etc. + * + * @param {String} html Html string to trim contents on. + * @return {String} Html contents that got trimmed. + */ + function trimHtml(html) { + function trimSpaces(all, s1, s2) { + // WebKit   meant to preserve multiple spaces but instead inserted around all inline tags, + // including the spans with inline styles created on paste + if (!s1 && !s2) { + return ' '; + } + + return '\u00a0'; + } + + html = filter(html, [ + /^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g, // Remove anything but the contents within the BODY element + /|/g, // Inner fragments (tables from excel on mac) + [/( ?)\u00a0<\/span>( ?)/g, trimSpaces], + /
/g, + /
$/i // Trailing BR elements + ]); + + return html; + } + + // TODO: Should be in some global class + function createIdGenerator(prefix) { + var count = 0; + + return function() { + return prefix + (count++); + }; + } + + return { + filter: filter, + innerText: innerText, + trimHtml: trimHtml, + createIdGenerator: createIdGenerator + }; +}); + +// Included from: js/tinymce/plugins/paste/classes/SmartPaste.js + +/** + * SmartPaste.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * Tries to be smart depending on what the user pastes if it looks like an url + * it will make a link out of the current selection. If it's an image url that looks + * like an image it will check if it's an image and insert it as an image. + * + * @class tinymce.pasteplugin.SmartPaste + * @private + */ +define("tinymce/pasteplugin/SmartPaste", [ + "tinymce/util/Tools" +], function (Tools) { + var isAbsoluteUrl = function (url) { + return /^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(url); + }; + + var isImageUrl = function (url) { + return isAbsoluteUrl(url) && /.(gif|jpe?g|png)$/.test(url); + }; + + var createImage = function (editor, url, pasteHtml) { + editor.undoManager.extra(function () { + pasteHtml(editor, url); + }, function () { + editor.insertContent(''); + }); + + return true; + }; + + var createLink = function (editor, url, pasteHtml) { + editor.undoManager.extra(function () { + pasteHtml(editor, url); + }, function () { + editor.execCommand('mceInsertLink', false, url); + }); + + return true; + }; + + var linkSelection = function (editor, html, pasteHtml) { + return editor.selection.isCollapsed() === false && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtml) : false; + }; + + var insertImage = function (editor, html, pasteHtml) { + return isImageUrl(html) ? createImage(editor, html, pasteHtml) : false; + }; + + var pasteHtml = function (editor, html) { + editor.insertContent(html, { + merge: editor.settings.paste_merge_formats !== false, + paste: true + }); + + return true; + }; + + var smartInsertContent = function (editor, html) { + Tools.each([ + linkSelection, + insertImage, + pasteHtml + ], function (action) { + return action(editor, html, pasteHtml) !== true; + }); + }; + + var insertContent = function (editor, html) { + if (editor.settings.smart_paste === false) { + pasteHtml(editor, html); + } else { + smartInsertContent(editor, html); + } + }; + + return { + isImageUrl: isImageUrl, + isAbsoluteUrl: isAbsoluteUrl, + insertContent: insertContent + }; +}); + +// Included from: js/tinymce/plugins/paste/classes/Clipboard.js + +/** + * Clipboard.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class contains logic for getting HTML contents out of the clipboard. + * + * We need to make a lot of ugly hacks to get the contents out of the clipboard since + * the W3C Clipboard API is broken in all browsers that have it: Gecko/WebKit/Blink. + * We might rewrite this the way those API:s stabilize. Browsers doesn't handle pasting + * from applications like Word the same way as it does when pasting into a contentEditable area + * so we need to do lots of extra work to try to get to this clipboard data. + * + * Current implementation steps: + * 1. On keydown with paste keys Ctrl+V or Shift+Insert create + * a paste bin element and move focus to that element. + * 2. Wait for the browser to fire a "paste" event and get the contents out of the paste bin. + * 3. Check if the paste was successful if true, process the HTML. + * (4). If the paste was unsuccessful use IE execCommand, Clipboard API, document.dataTransfer old WebKit API etc. + * + * @class tinymce.pasteplugin.Clipboard + * @private + */ +define("tinymce/pasteplugin/Clipboard", [ + "tinymce/Env", + "tinymce/dom/RangeUtils", + "tinymce/util/VK", + "tinymce/pasteplugin/Utils", + "tinymce/pasteplugin/SmartPaste", + "tinymce/util/Delay" +], function(Env, RangeUtils, VK, Utils, SmartPaste, Delay) { + return function(editor) { + var self = this, pasteBinElm, lastRng, keyboardPasteTimeStamp = 0, draggingInternally = false; + var pasteBinDefaultContent = '%MCEPASTEBIN%', keyboardPastePlainTextState; + var mceInternalUrlPrefix = 'data:text/mce-internal,'; + var uniqueId = Utils.createIdGenerator("mceclip"); + + /** + * Pastes the specified HTML. This means that the HTML is filtered and then + * inserted at the current selection in the editor. It will also fire paste events + * for custom user filtering. + * + * @param {String} html HTML code to paste into the current selection. + */ + function pasteHtml(html) { + var args, dom = editor.dom; + + args = editor.fire('BeforePastePreProcess', {content: html}); // Internal event used by Quirks + args = editor.fire('PastePreProcess', args); + html = args.content; + + if (!args.isDefaultPrevented()) { + // User has bound PastePostProcess events then we need to pass it through a DOM node + // This is not ideal but we don't want to let the browser mess up the HTML for example + // some browsers add   to P tags etc + if (editor.hasEventListeners('PastePostProcess') && !args.isDefaultPrevented()) { + // We need to attach the element to the DOM so Sizzle selectors work on the contents + var tempBody = dom.add(editor.getBody(), 'div', {style: 'display:none'}, html); + args = editor.fire('PastePostProcess', {node: tempBody}); + dom.remove(tempBody); + html = args.node.innerHTML; + } + + if (!args.isDefaultPrevented()) { + SmartPaste.insertContent(editor, html); + } + } + } + + /** + * Pastes the specified text. This means that the plain text is processed + * and converted into BR and P elements. It will fire paste events for custom filtering. + * + * @param {String} text Text to paste as the current selection location. + */ + function pasteText(text) { + text = editor.dom.encode(text).replace(/\r\n/g, '\n'); + + var startBlock = editor.dom.getParent(editor.selection.getStart(), editor.dom.isBlock); + + // Create start block html for example

+ var forcedRootBlockName = editor.settings.forced_root_block; + var forcedRootBlockStartHtml; + if (forcedRootBlockName) { + forcedRootBlockStartHtml = editor.dom.createHTML(forcedRootBlockName, editor.settings.forced_root_block_attrs); + forcedRootBlockStartHtml = forcedRootBlockStartHtml.substr(0, forcedRootBlockStartHtml.length - 3) + '>'; + } + + if ((startBlock && /^(PRE|DIV)$/.test(startBlock.nodeName)) || !forcedRootBlockName) { + text = Utils.filter(text, [ + [/\n/g, "
"] + ]); + } else { + text = Utils.filter(text, [ + [/\n\n/g, "

" + forcedRootBlockStartHtml], + [/^(.*<\/p>)(

)$/, forcedRootBlockStartHtml + '$1'], + [/\n/g, "
"] + ]); + + if (text.indexOf('

') != -1) { + text = forcedRootBlockStartHtml + text; + } + } + + pasteHtml(text); + } + + /** + * Creates a paste bin element as close as possible to the current caret location and places the focus inside that element + * so that when the real paste event occurs the contents gets inserted into this element + * instead of the current editor selection element. + */ + function createPasteBin() { + var dom = editor.dom, body = editor.getBody(); + var viewport = editor.dom.getViewPort(editor.getWin()), scrollTop = viewport.y, top = 20; + var scrollContainer; + + lastRng = editor.selection.getRng(); + + if (editor.inline) { + scrollContainer = editor.selection.getScrollContainer(); + + // Can't always rely on scrollTop returning a useful value. + // It returns 0 if the browser doesn't support scrollTop for the element or is non-scrollable + if (scrollContainer && scrollContainer.scrollTop > 0) { + scrollTop = scrollContainer.scrollTop; + } + } + + /** + * Returns the rect of the current caret if the caret is in an empty block before a + * BR we insert a temporary invisible character that we get the rect this way we always get a proper rect. + * + * TODO: This might be useful in core. + */ + function getCaretRect(rng) { + var rects, textNode, node, container = rng.startContainer; + + rects = rng.getClientRects(); + if (rects.length) { + return rects[0]; + } + + if (!rng.collapsed || container.nodeType != 1) { + return; + } + + node = container.childNodes[lastRng.startOffset]; + + // Skip empty whitespace nodes + while (node && node.nodeType == 3 && !node.data.length) { + node = node.nextSibling; + } + + if (!node) { + return; + } + + // Check if the location is |
+ // TODO: Might need to expand this to say |

+ if (node.tagName == 'BR') { + textNode = dom.doc.createTextNode('\uFEFF'); + node.parentNode.insertBefore(textNode, node); + + rng = dom.createRng(); + rng.setStartBefore(textNode); + rng.setEndAfter(textNode); + + rects = rng.getClientRects(); + dom.remove(textNode); + } + + if (rects.length) { + return rects[0]; + } + } + + // Calculate top cordinate this is needed to avoid scrolling to top of document + // We want the paste bin to be as close to the caret as possible to avoid scrolling + if (lastRng.getClientRects) { + var rect = getCaretRect(lastRng); + + if (rect) { + // Client rects gets us closes to the actual + // caret location in for example a wrapped paragraph block + top = scrollTop + (rect.top - dom.getPos(body).y); + } else { + top = scrollTop; + + // Check if we can find a closer location by checking the range element + var container = lastRng.startContainer; + if (container) { + if (container.nodeType == 3 && container.parentNode != body) { + container = container.parentNode; + } + + if (container.nodeType == 1) { + top = dom.getPos(container, scrollContainer || body).y; + } + } + } + } + + // Create a pastebin + pasteBinElm = dom.add(editor.getBody(), 'div', { + id: "mcepastebin", + contentEditable: true, + "data-mce-bogus": "all", + style: 'position: absolute; top: ' + top + 'px;' + + 'width: 10px; height: 10px; overflow: hidden; opacity: 0' + }, pasteBinDefaultContent); + + // Move paste bin out of sight since the controlSelection rect gets displayed otherwise on IE and Gecko + if (Env.ie || Env.gecko) { + dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) == 'rtl' ? 0xFFFF : -0xFFFF); + } + + // Prevent focus events from bubbeling fixed FocusManager issues + dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', function(e) { + e.stopPropagation(); + }); + + pasteBinElm.focus(); + editor.selection.select(pasteBinElm, true); + } + + /** + * Removes the paste bin if it exists. + */ + function removePasteBin() { + if (pasteBinElm) { + var pasteBinClone; + + // WebKit/Blink might clone the div so + // lets make sure we remove all clones + // TODO: Man o man is this ugly. WebKit is the new IE! Remove this if they ever fix it! + while ((pasteBinClone = editor.dom.get('mcepastebin'))) { + editor.dom.remove(pasteBinClone); + editor.dom.unbind(pasteBinClone); + } + + if (lastRng) { + editor.selection.setRng(lastRng); + } + } + + pasteBinElm = lastRng = null; + } + + /** + * Returns the contents of the paste bin as a HTML string. + * + * @return {String} Get the contents of the paste bin. + */ + function getPasteBinHtml() { + var html = '', pasteBinClones, i, clone, cloneHtml; + + // Since WebKit/Chrome might clone the paste bin when pasting + // for example: we need to check if any of them contains some useful html. + // TODO: Man o man is this ugly. WebKit is the new IE! Remove this if they ever fix it! + pasteBinClones = editor.dom.select('div[id=mcepastebin]'); + for (i = 0; i < pasteBinClones.length; i++) { + clone = pasteBinClones[i]; + + // Pasting plain text produces pastebins in pastebinds makes sence right!? + if (clone.firstChild && clone.firstChild.id == 'mcepastebin') { + clone = clone.firstChild; + } + + cloneHtml = clone.innerHTML; + if (html != pasteBinDefaultContent) { + html += cloneHtml; + } + } + + return html; + } + + /** + * Gets various content types out of a datatransfer object. + * + * @param {DataTransfer} dataTransfer Event fired on paste. + * @return {Object} Object with mime types and data for those mime types. + */ + function getDataTransferItems(dataTransfer) { + var items = {}; + + if (dataTransfer) { + // Use old WebKit/IE API + if (dataTransfer.getData) { + var legacyText = dataTransfer.getData('Text'); + if (legacyText && legacyText.length > 0) { + if (legacyText.indexOf(mceInternalUrlPrefix) == -1) { + items['text/plain'] = legacyText; + } + } + } + + if (dataTransfer.types) { + for (var i = 0; i < dataTransfer.types.length; i++) { + var contentType = dataTransfer.types[i]; + items[contentType] = dataTransfer.getData(contentType); + } + } + } + + return items; + } + + /** + * Gets various content types out of the Clipboard API. It will also get the + * plain text using older IE and WebKit API:s. + * + * @param {ClipboardEvent} clipboardEvent Event fired on paste. + * @return {Object} Object with mime types and data for those mime types. + */ + function getClipboardContent(clipboardEvent) { + return getDataTransferItems(clipboardEvent.clipboardData || editor.getDoc().dataTransfer); + } + + function hasHtmlOrText(content) { + return hasContentType(content, 'text/html') || hasContentType(content, 'text/plain'); + } + + function getBase64FromUri(uri) { + var idx; + + idx = uri.indexOf(','); + if (idx !== -1) { + return uri.substr(idx + 1); + } + + return null; + } + + function isValidDataUriImage(settings, imgElm) { + return settings.images_dataimg_filter ? settings.images_dataimg_filter(imgElm) : true; + } + + function pasteImage(rng, reader, blob) { + if (rng) { + editor.selection.setRng(rng); + rng = null; + } + + var dataUri = reader.result; + var base64 = getBase64FromUri(dataUri); + + var img = new Image(); + img.src = dataUri; + + // TODO: Move the bulk of the cache logic to EditorUpload + if (isValidDataUriImage(editor.settings, img)) { + var blobCache = editor.editorUpload.blobCache; + var blobInfo, existingBlobInfo; + + existingBlobInfo = blobCache.findFirst(function(cachedBlobInfo) { + return cachedBlobInfo.base64() === base64; + }); + + if (!existingBlobInfo) { + blobInfo = blobCache.create(uniqueId(), blob, base64); + blobCache.add(blobInfo); + } else { + blobInfo = existingBlobInfo; + } + + pasteHtml(''); + } else { + pasteHtml(''); + } + } + + /** + * Checks if the clipboard contains image data if it does it will take that data + * and convert it into a data url image and paste that image at the caret location. + * + * @param {ClipboardEvent} e Paste/drop event object. + * @param {DOMRange} rng Rng object to move selection to. + * @return {Boolean} true/false if the image data was found or not. + */ + function pasteImageData(e, rng) { + var dataTransfer = e.clipboardData || e.dataTransfer; + + function processItems(items) { + var i, item, reader, hadImage = false; + + if (items) { + for (i = 0; i < items.length; i++) { + item = items[i]; + + if (/^image\/(jpeg|png|gif|bmp)$/.test(item.type)) { + var blob = item.getAsFile ? item.getAsFile() : item; + + reader = new FileReader(); + reader.onload = pasteImage.bind(null, rng, reader, blob); + reader.readAsDataURL(blob); + + e.preventDefault(); + hadImage = true; + } + } + } + + return hadImage; + } + + if (editor.settings.paste_data_images && dataTransfer) { + return processItems(dataTransfer.items) || processItems(dataTransfer.files); + } + } + + /** + * Chrome on Android doesn't support proper clipboard access so we have no choice but to allow the browser default behavior. + * + * @param {Event} e Paste event object to check if it contains any data. + * @return {Boolean} true/false if the clipboard is empty or not. + */ + function isBrokenAndroidClipboardEvent(e) { + var clipboardData = e.clipboardData; + + return navigator.userAgent.indexOf('Android') != -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0; + } + + function getCaretRangeFromEvent(e) { + return RangeUtils.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc()); + } + + function hasContentType(clipboardContent, mimeType) { + return mimeType in clipboardContent && clipboardContent[mimeType].length > 0; + } + + function isKeyboardPasteEvent(e) { + return (VK.metaKeyPressed(e) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45); + } + + function registerEventHandlers() { + editor.on('keydown', function(e) { + function removePasteBinOnKeyUp(e) { + // Ctrl+V or Shift+Insert + if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) { + removePasteBin(); + } + } + + // Ctrl+V or Shift+Insert + if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) { + keyboardPastePlainTextState = e.shiftKey && e.keyCode == 86; + + // Edge case on Safari on Mac where it doesn't handle Cmd+Shift+V correctly + // it fires the keydown but no paste or keyup so we are left with a paste bin + if (keyboardPastePlainTextState && Env.webkit && navigator.userAgent.indexOf('Version/') != -1) { + return; + } + + // Prevent undoManager keydown handler from making an undo level with the pastebin in it + e.stopImmediatePropagation(); + + keyboardPasteTimeStamp = new Date().getTime(); + + // IE doesn't support Ctrl+Shift+V and it doesn't even produce a paste event + // so lets fake a paste event and let IE use the execCommand/dataTransfer methods + if (Env.ie && keyboardPastePlainTextState) { + e.preventDefault(); + editor.fire('paste', {ieFake: true}); + return; + } + + removePasteBin(); + createPasteBin(); + + // Remove pastebin if we get a keyup and no paste event + // For example pasting a file in IE 11 will not produce a paste event + editor.once('keyup', removePasteBinOnKeyUp); + editor.once('paste', function() { + editor.off('keyup', removePasteBinOnKeyUp); + }); + } + }); + + function insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode) { + var content; + + // Grab HTML from Clipboard API or paste bin as a fallback + if (hasContentType(clipboardContent, 'text/html')) { + content = clipboardContent['text/html']; + } else { + content = getPasteBinHtml(); + + // If paste bin is empty try using plain text mode + // since that is better than nothing right + if (content == pasteBinDefaultContent) { + plainTextMode = true; + } + } + + content = Utils.trimHtml(content); + + // WebKit has a nice bug where it clones the paste bin if you paste from for example notepad + // so we need to force plain text mode in this case + if (pasteBinElm && pasteBinElm.firstChild && pasteBinElm.firstChild.id === 'mcepastebin') { + plainTextMode = true; + } + + removePasteBin(); + + // If we got nothing from clipboard API and pastebin then we could try the last resort: plain/text + if (!content.length) { + plainTextMode = true; + } + + // Grab plain text from Clipboard API or convert existing HTML to plain text + if (plainTextMode) { + // Use plain text contents from Clipboard API unless the HTML contains paragraphs then + // we should convert the HTML to plain text since works better when pasting HTML/Word contents as plain text + if (hasContentType(clipboardContent, 'text/plain') && content.indexOf('

') == -1) { + content = clipboardContent['text/plain']; + } else { + content = Utils.innerText(content); + } + } + + // If the content is the paste bin default HTML then it was + // impossible to get the cliboard data out. + if (content == pasteBinDefaultContent) { + if (!isKeyBoardPaste) { + editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.'); + } + + return; + } + + if (plainTextMode) { + pasteText(content); + } else { + pasteHtml(content); + } + } + + var getLastRng = function() { + return lastRng || editor.selection.getRng(); + }; + + editor.on('paste', function(e) { + // Getting content from the Clipboard can take some time + var clipboardTimer = new Date().getTime(); + var clipboardContent = getClipboardContent(e); + var clipboardDelay = new Date().getTime() - clipboardTimer; + + var isKeyBoardPaste = (new Date().getTime() - keyboardPasteTimeStamp - clipboardDelay) < 1000; + var plainTextMode = self.pasteFormat == "text" || keyboardPastePlainTextState; + + keyboardPastePlainTextState = false; + + if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) { + removePasteBin(); + return; + } + + if (!hasHtmlOrText(clipboardContent) && pasteImageData(e, getLastRng())) { + removePasteBin(); + return; + } + + // Not a keyboard paste prevent default paste and try to grab the clipboard contents using different APIs + if (!isKeyBoardPaste) { + e.preventDefault(); + } + + // Try IE only method if paste isn't a keyboard paste + if (Env.ie && (!isKeyBoardPaste || e.ieFake)) { + createPasteBin(); + + editor.dom.bind(pasteBinElm, 'paste', function(e) { + e.stopPropagation(); + }); + + editor.getDoc().execCommand('Paste', false, null); + clipboardContent["text/html"] = getPasteBinHtml(); + } + + // If clipboard API has HTML then use that directly + if (hasContentType(clipboardContent, 'text/html')) { + e.preventDefault(); + insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode); + } else { + Delay.setEditorTimeout(editor, function() { + insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode); + }, 0); + } + }); + + editor.on('dragstart dragend', function(e) { + draggingInternally = e.type == 'dragstart'; + }); + + function isPlainTextFileUrl(content) { + return content['text/plain'].indexOf('file://') === 0; + } + + editor.on('drop', function(e) { + var dropContent, rng; + + rng = getCaretRangeFromEvent(e); + + if (e.isDefaultPrevented() || draggingInternally) { + return; + } + + dropContent = getDataTransferItems(e.dataTransfer); + + if ((!hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && pasteImageData(e, rng)) { + return; + } + + if (rng && editor.settings.paste_filter_drop !== false) { + var content = dropContent['mce-internal'] || dropContent['text/html'] || dropContent['text/plain']; + + if (content) { + e.preventDefault(); + + // FF 45 doesn't paint a caret when dragging in text in due to focus call by execCommand + Delay.setEditorTimeout(editor, function() { + editor.undoManager.transact(function() { + if (dropContent['mce-internal']) { + editor.execCommand('Delete'); + } + + editor.selection.setRng(rng); + + content = Utils.trimHtml(content); + + if (!dropContent['text/html']) { + pasteText(content); + } else { + pasteHtml(content); + } + }); + }); + } + } + }); + + editor.on('dragover dragend', function(e) { + if (editor.settings.paste_data_images) { + e.preventDefault(); + } + }); + } + + self.pasteHtml = pasteHtml; + self.pasteText = pasteText; + self.pasteImageData = pasteImageData; + + editor.on('preInit', function() { + registerEventHandlers(); + + // Remove all data images from paste for example from Gecko + // except internal images like video elements + editor.parser.addNodeFilter('img', function(nodes, name, args) { + function isPasteInsert(args) { + return args.data && args.data.paste === true; + } + + function remove(node) { + if (!node.attr('data-mce-object') && src !== Env.transparentSrc) { + node.remove(); + } + } + + function isWebKitFakeUrl(src) { + return src.indexOf("webkit-fake-url") === 0; + } + + function isDataUri(src) { + return src.indexOf("data:") === 0; + } + + if (!editor.settings.paste_data_images && isPasteInsert(args)) { + var i = nodes.length; + + while (i--) { + var src = nodes[i].attributes.map.src; + + if (!src) { + continue; + } + + // Safari on Mac produces webkit-fake-url see: https://bugs.webkit.org/show_bug.cgi?id=49141 + if (isWebKitFakeUrl(src)) { + remove(nodes[i]); + } else if (!editor.settings.allow_html_data_urls && isDataUri(src)) { + remove(nodes[i]); + } + } + } + }); + }); + }; +}); + +// Included from: js/tinymce/plugins/paste/classes/WordFilter.js + +/** + * WordFilter.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class parses word HTML into proper TinyMCE markup. + * + * @class tinymce.pasteplugin.WordFilter + * @private + */ +define("tinymce/pasteplugin/WordFilter", [ + "tinymce/util/Tools", + "tinymce/html/DomParser", + "tinymce/html/Schema", + "tinymce/html/Serializer", + "tinymce/html/Node", + "tinymce/pasteplugin/Utils" +], function(Tools, DomParser, Schema, Serializer, Node, Utils) { + /** + * Checks if the specified content is from any of the following sources: MS Word/Office 365/Google docs. + */ + function isWordContent(content) { + return ( + (/]+id="?docs-internal-[^>]*>/gi, ''); + content = content.replace(/
/gi, ''); + + retainStyleProperties = settings.paste_retain_style_properties; + if (retainStyleProperties) { + validStyles = Tools.makeMap(retainStyleProperties.split(/[, ]/)); + } + + /** + * Converts fake bullet and numbered lists to real semantic OL/UL. + * + * @param {tinymce.html.Node} node Root node to convert children of. + */ + function convertFakeListsToProperLists(node) { + var currentListNode, prevListNode, lastLevel = 1; + + function getText(node) { + var txt = ''; + + if (node.type === 3) { + return node.value; + } + + if ((node = node.firstChild)) { + do { + txt += getText(node); + } while ((node = node.next)); + } + + return txt; + } + + function trimListStart(node, regExp) { + if (node.type === 3) { + if (regExp.test(node.value)) { + node.value = node.value.replace(regExp, ''); + return false; + } + } + + if ((node = node.firstChild)) { + do { + if (!trimListStart(node, regExp)) { + return false; + } + } while ((node = node.next)); + } + + return true; + } + + function removeIgnoredNodes(node) { + if (node._listIgnore) { + node.remove(); + return; + } + + if ((node = node.firstChild)) { + do { + removeIgnoredNodes(node); + } while ((node = node.next)); + } + } + + function convertParagraphToLi(paragraphNode, listName, start) { + var level = paragraphNode._listLevel || lastLevel; + + // Handle list nesting + if (level != lastLevel) { + if (level < lastLevel) { + // Move to parent list + if (currentListNode) { + currentListNode = currentListNode.parent.parent; + } + } else { + // Create new list + prevListNode = currentListNode; + currentListNode = null; + } + } + + if (!currentListNode || currentListNode.name != listName) { + prevListNode = prevListNode || currentListNode; + currentListNode = new Node(listName, 1); + + if (start > 1) { + currentListNode.attr('start', '' + start); + } + + paragraphNode.wrap(currentListNode); + } else { + currentListNode.append(paragraphNode); + } + + paragraphNode.name = 'li'; + + // Append list to previous list if it exists + if (level > lastLevel && prevListNode) { + prevListNode.lastChild.append(currentListNode); + } + + lastLevel = level; + + // Remove start of list item "1. " or "· " etc + removeIgnoredNodes(paragraphNode); + trimListStart(paragraphNode, /^\u00a0+/); + trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/); + trimListStart(paragraphNode, /^\u00a0+/); + } + + // Build a list of all root level elements before we start + // altering them in the loop below. + var elements = [], child = node.firstChild; + while (typeof child !== 'undefined' && child !== null) { + elements.push(child); + + child = child.walk(); + if (child !== null) { + while (typeof child !== 'undefined' && child.parent !== node) { + child = child.walk(); + } + } + } + + for (var i = 0; i < elements.length; i++) { + node = elements[i]; + + if (node.name == 'p' && node.firstChild) { + // Find first text node in paragraph + var nodeText = getText(node); + + // Detect unordered lists look for bullets + if (isBulletList(nodeText)) { + convertParagraphToLi(node, 'ul'); + continue; + } + + // Detect ordered lists 1., a. or ixv. + if (isNumericList(nodeText)) { + // Parse OL start number + var matches = /([0-9]+)\./.exec(nodeText); + var start = 1; + if (matches) { + start = parseInt(matches[1], 10); + } + + convertParagraphToLi(node, 'ol', start); + continue; + } + + // Convert paragraphs marked as lists but doesn't look like anything + if (node._listLevel) { + convertParagraphToLi(node, 'ul', 1); + continue; + } + + currentListNode = null; + } else { + // If the root level element isn't a p tag which can be + // processed by convertParagraphToLi, it interrupts the + // lists, causing a new list to start instead of having + // elements from the next list inserted above this tag. + prevListNode = currentListNode; + currentListNode = null; + } + } + } + + function filterStyles(node, styleValue) { + var outputStyles = {}, matches, styles = editor.dom.parseStyle(styleValue); + + Tools.each(styles, function(value, name) { + // Convert various MS styles to W3C styles + switch (name) { + case 'mso-list': + // Parse out list indent level for lists + matches = /\w+ \w+([0-9]+)/i.exec(styleValue); + if (matches) { + node._listLevel = parseInt(matches[1], 10); + } + + // Remove these nodes o + // Since the span gets removed we mark the text node and the span + if (/Ignore/i.test(value) && node.firstChild) { + node._listIgnore = true; + node.firstChild._listIgnore = true; + } + + break; + + case "horiz-align": + name = "text-align"; + break; + + case "vert-align": + name = "vertical-align"; + break; + + case "font-color": + case "mso-foreground": + name = "color"; + break; + + case "mso-background": + case "mso-highlight": + name = "background"; + break; + + case "font-weight": + case "font-style": + if (value != "normal") { + outputStyles[name] = value; + } + return; + + case "mso-element": + // Remove track changes code + if (/^(comment|comment-list)$/i.test(value)) { + node.remove(); + return; + } + + break; + } + + if (name.indexOf('mso-comment') === 0) { + node.remove(); + return; + } + + // Never allow mso- prefixed names + if (name.indexOf('mso-') === 0) { + return; + } + + // Output only valid styles + if (retainStyleProperties == "all" || (validStyles && validStyles[name])) { + outputStyles[name] = value; + } + }); + + // Convert bold style to "b" element + if (/(bold)/i.test(outputStyles["font-weight"])) { + delete outputStyles["font-weight"]; + node.wrap(new Node("b", 1)); + } + + // Convert italic style to "i" element + if (/(italic)/i.test(outputStyles["font-style"])) { + delete outputStyles["font-style"]; + node.wrap(new Node("i", 1)); + } + + // Serialize the styles and see if there is something left to keep + outputStyles = editor.dom.serializeStyle(outputStyles, node.name); + if (outputStyles) { + return outputStyles; + } + + return null; + } + + if (settings.paste_enable_default_filters === false) { + return; + } + + // Detect is the contents is Word junk HTML + if (isWordContent(e.content)) { + e.wordContent = true; // Mark it for other processors + + // Remove basic Word junk + content = Utils.filter(content, [ + // Word comments like conditional comments etc + //gi, + + // Remove comments, scripts (e.g., msoShowComment), XML tag, VML content, + // MS Office namespaced tags, and a few other tags + /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi, + + // Convert into for line-though + [/<(\/?)s>/gi, "<$1strike>"], + + // Replace nsbp entites to char since it's easier to handle + [/ /gi, "\u00a0"], + + // Convert ___ to string of alternating + // breaking/non-breaking spaces of same length + [/([\s\u00a0]*)<\/span>/gi, + function(str, spaces) { + return (spaces.length > 0) ? + spaces.replace(/./, " ").slice(Math.floor(spaces.length / 2)).split("").join("\u00a0") : ""; + } + ] + ]); + + var validElements = settings.paste_word_valid_elements; + if (!validElements) { + validElements = ( + '-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,' + + '-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,' + + 'td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody' + ); + } + + // Setup strict schema + var schema = new Schema({ + valid_elements: validElements, + valid_children: '-li[p]' + }); + + // Add style/class attribute to all element rules since the user might have removed them from + // paste_word_valid_elements config option and we need to check them for properties + Tools.each(schema.elements, function(rule) { + /*eslint dot-notation:0*/ + if (!rule.attributes["class"]) { + rule.attributes["class"] = {}; + rule.attributesOrder.push("class"); + } + + if (!rule.attributes.style) { + rule.attributes.style = {}; + rule.attributesOrder.push("style"); + } + }); + + // Parse HTML into DOM structure + var domParser = new DomParser({}, schema); + + // Filter styles to remove "mso" specific styles and convert some of them + domParser.addAttributeFilter('style', function(nodes) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + node.attr('style', filterStyles(node, node.attr('style'))); + + // Remove pointess spans + if (node.name == 'span' && node.parent && !node.attributes.length) { + node.unwrap(); + } + } + }); + + // Check the class attribute for comments or del items and remove those + domParser.addAttributeFilter('class', function(nodes) { + var i = nodes.length, node, className; + + while (i--) { + node = nodes[i]; + + className = node.attr('class'); + if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) { + node.remove(); + } + + node.attr('class', null); + } + }); + + // Remove all del elements since we don't want the track changes code in the editor + domParser.addNodeFilter('del', function(nodes) { + var i = nodes.length; + + while (i--) { + nodes[i].remove(); + } + }); + + // Keep some of the links and anchors + domParser.addNodeFilter('a', function(nodes) { + var i = nodes.length, node, href, name; + + while (i--) { + node = nodes[i]; + href = node.attr('href'); + name = node.attr('name'); + + if (href && href.indexOf('#_msocom_') != -1) { + node.remove(); + continue; + } + + if (href && href.indexOf('file://') === 0) { + href = href.split('#')[1]; + if (href) { + href = '#' + href; + } + } + + if (!href && !name) { + node.unwrap(); + } else { + // Remove all named anchors that aren't specific to TOC, Footnotes or Endnotes + if (name && !/^_?(?:toc|edn|ftn)/i.test(name)) { + node.unwrap(); + continue; + } + + node.attr({ + href: href, + name: name + }); + } + } + }); + + // Parse into DOM structure + var rootNode = domParser.parse(content); + + // Process DOM + if (settings.paste_convert_word_fake_lists !== false) { + convertFakeListsToProperLists(rootNode); + } + + // Serialize DOM back to HTML + e.content = new Serializer({ + validate: settings.validate + }, schema).serialize(rootNode); + } + }); + } + + WordFilter.isWordContent = isWordContent; + + return WordFilter; +}); + +// Included from: js/tinymce/plugins/paste/classes/Quirks.js + +/** + * Quirks.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class contains various fixes for browsers. These issues can not be feature + * detected since we have no direct control over the clipboard. However we might be able + * to remove some of these fixes once the browsers gets updated/fixed. + * + * @class tinymce.pasteplugin.Quirks + * @private + */ +define("tinymce/pasteplugin/Quirks", [ + "tinymce/Env", + "tinymce/util/Tools", + "tinymce/pasteplugin/WordFilter", + "tinymce/pasteplugin/Utils" +], function(Env, Tools, WordFilter, Utils) { + "use strict"; + + return function(editor) { + function addPreProcessFilter(filterFunc) { + editor.on('BeforePastePreProcess', function(e) { + e.content = filterFunc(e.content); + }); + } + + /** + * Removes BR elements after block elements. IE9 has a nasty bug where it puts a BR element after each + * block element when pasting from word. This removes those elements. + * + * This: + *

a


b

+ * + * Becomes: + *

a

b

+ */ + function removeExplorerBrElementsAfterBlocks(html) { + // Only filter word specific content + if (!WordFilter.isWordContent(html)) { + return html; + } + + // Produce block regexp based on the block elements in schema + var blockElements = []; + + Tools.each(editor.schema.getBlockElements(), function(block, blockName) { + blockElements.push(blockName); + }); + + var explorerBlocksRegExp = new RegExp( + '(?:
 [\\s\\r\\n]+|
)*(<\\/?(' + blockElements.join('|') + ')[^>]*>)(?:
 [\\s\\r\\n]+|
)*', + 'g' + ); + + // Remove BR:s from: X
+ html = Utils.filter(html, [ + [explorerBlocksRegExp, '$1'] + ]); + + // IE9 also adds an extra BR element for each soft-linefeed and it also adds a BR for each word wrap break + html = Utils.filter(html, [ + [/

/g, '

'], // Replace multiple BR elements with uppercase BR to keep them intact + [/
/g, ' '], // Replace single br elements with space since they are word wrap BR:s + [/

/g, '
'] // Replace back the double brs but into a single BR + ]); + + return html; + } + + /** + * WebKit has a nasty bug where the all computed styles gets added to style attributes when copy/pasting contents. + * This fix solves that by simply removing the whole style attribute. + * + * The paste_webkit_styles option can be set to specify what to keep: + * paste_webkit_styles: "none" // Keep no styles + * paste_webkit_styles: "all", // Keep all of them + * paste_webkit_styles: "font-weight color" // Keep specific ones + * + * @param {String} content Content that needs to be processed. + * @return {String} Processed contents. + */ + function removeWebKitStyles(content) { + // Passthrough all styles from Word and let the WordFilter handle that junk + if (WordFilter.isWordContent(content)) { + return content; + } + + // Filter away styles that isn't matching the target node + var webKitStyles = editor.settings.paste_webkit_styles; + + if (editor.settings.paste_remove_styles_if_webkit === false || webKitStyles == "all") { + return content; + } + + if (webKitStyles) { + webKitStyles = webKitStyles.split(/[, ]/); + } + + // Keep specific styles that doesn't match the current node computed style + if (webKitStyles) { + var dom = editor.dom, node = editor.selection.getNode(); + + content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, function(all, before, value, after) { + var inputStyles = dom.parseStyle(value, 'span'), outputStyles = {}; + + if (webKitStyles === "none") { + return before + after; + } + + for (var i = 0; i < webKitStyles.length; i++) { + var inputValue = inputStyles[webKitStyles[i]], currentValue = dom.getStyle(node, webKitStyles[i], true); + + if (/color/.test(webKitStyles[i])) { + inputValue = dom.toHex(inputValue); + currentValue = dom.toHex(currentValue); + } + + if (currentValue != inputValue) { + outputStyles[webKitStyles[i]] = inputValue; + } + } + + outputStyles = dom.serializeStyle(outputStyles, 'span'); + if (outputStyles) { + return before + ' style="' + outputStyles + '"' + after; + } + + return before + after; + }); + } else { + // Remove all external styles + content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, '$1$3'); + } + + // Keep internal styles + content = content.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi, function(all, before, value, after) { + return before + ' style="' + value + '"' + after; + }); + + return content; + } + + // Sniff browsers and apply fixes since we can't feature detect + if (Env.webkit) { + addPreProcessFilter(removeWebKitStyles); + } + + if (Env.ie) { + addPreProcessFilter(removeExplorerBrElementsAfterBlocks); + } + }; +}); + +// Included from: js/tinymce/plugins/paste/classes/Plugin.js + +/** + * Plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class contains the tinymce plugin logic for the paste plugin. + * + * @class tinymce.pasteplugin.Plugin + * @private + */ +define("tinymce/pasteplugin/Plugin", [ + "tinymce/PluginManager", + "tinymce/pasteplugin/Clipboard", + "tinymce/pasteplugin/WordFilter", + "tinymce/pasteplugin/Quirks" +], function(PluginManager, Clipboard, WordFilter, Quirks) { + var userIsInformed; + + PluginManager.add('paste', function(editor) { + var self = this, clipboard, settings = editor.settings; + + function isUserInformedAboutPlainText() { + return userIsInformed || editor.settings.paste_plaintext_inform === false; + } + + function togglePlainTextPaste() { + if (clipboard.pasteFormat == "text") { + this.active(false); + clipboard.pasteFormat = "html"; + editor.fire('PastePlainTextToggle', {state: false}); + } else { + clipboard.pasteFormat = "text"; + this.active(true); + + if (!isUserInformedAboutPlainText()) { + var message = editor.translate('Paste is now in plain text mode. Contents will now ' + + 'be pasted as plain text until you toggle this option off.'); + + editor.notificationManager.open({ + text: message, + type: 'info' + }); + + userIsInformed = true; + editor.fire('PastePlainTextToggle', {state: true}); + } + } + + editor.focus(); + } + + // draw back if power version is requested and registered + if (/(^|[ ,])powerpaste([, ]|$)/.test(settings.plugins) && PluginManager.get('powerpaste')) { + /*eslint no-console:0 */ + if (typeof console !== "undefined" && console.log) { + console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option."); + } + return; + } + + self.clipboard = clipboard = new Clipboard(editor); + self.quirks = new Quirks(editor); + self.wordFilter = new WordFilter(editor); + + if (editor.settings.paste_as_text) { + self.clipboard.pasteFormat = "text"; + } + + if (settings.paste_preprocess) { + editor.on('PastePreProcess', function(e) { + settings.paste_preprocess.call(self, self, e); + }); + } + + if (settings.paste_postprocess) { + editor.on('PastePostProcess', function(e) { + settings.paste_postprocess.call(self, self, e); + }); + } + + editor.addCommand('mceInsertClipboardContent', function(ui, value) { + if (value.content) { + self.clipboard.pasteHtml(value.content); + } + + if (value.text) { + self.clipboard.pasteText(value.text); + } + }); + + // Block all drag/drop events + if (editor.settings.paste_block_drop) { + editor.on('dragend dragover draggesture dragdrop drop drag', function(e) { + e.preventDefault(); + e.stopPropagation(); + }); + } + + // Prevent users from dropping data images on Gecko + if (!editor.settings.paste_data_images) { + editor.on('drop', function(e) { + var dataTransfer = e.dataTransfer; + + if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) { + e.preventDefault(); + } + }); + } + + editor.addButton('pastetext', { + icon: 'pastetext', + tooltip: 'Paste as text', + onclick: togglePlainTextPaste, + active: self.clipboard.pasteFormat == "text" + }); + + editor.addMenuItem('pastetext', { + text: 'Paste as text', + selectable: true, + active: clipboard.pasteFormat, + onclick: togglePlainTextPaste + }); + }); +}); + +expose(["tinymce/pasteplugin/Utils"]); +})(this); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/paste/plugin.min.js b/public/mosaico/dist/vendor/plugins/paste/plugin.min.js new file mode 100644 index 00000000..f57084d9 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/paste/plugin.min.js @@ -0,0 +1 @@ +!function(e,t){"use strict";function n(e,t){for(var n,r=[],o=0;o/g]),o(s.parse(i)),l}function o(e){function t(e,t,n){return t||n?"\xa0":" "}return e=r(e,[/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g,/|/g,[/( ?)\u00a0<\/span>( ?)/g,t],/
/g,/
$/i])}function a(e){var t=0;return function(){return e+t++}}return{filter:r,innerText:i,trimHtml:o,createIdGenerator:a}}),r("tinymce/pasteplugin/SmartPaste",["tinymce/util/Tools"],function(e){var t=function(e){return/^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(e)},n=function(e){return t(e)&&/.(gif|jpe?g|png)$/.test(e)},r=function(e,t,n){return e.undoManager.extra(function(){n(e,t)},function(){e.insertContent('')}),!0},i=function(e,t,n){return e.undoManager.extra(function(){n(e,t)},function(){e.execCommand("mceInsertLink",!1,t)}),!0},o=function(e,n,r){return!(e.selection.isCollapsed()!==!1||!t(n))&&i(e,n,r)},a=function(e,t,i){return!!n(t)&&r(e,t,i)},s=function(e,t){return e.insertContent(t,{merge:e.settings.paste_merge_formats!==!1,paste:!0}),!0},l=function(t,n){e.each([o,a,s],function(e){return e(t,n,s)!==!0})},c=function(e,t){e.settings.smart_paste===!1?s(e,t):l(e,t)};return{isImageUrl:n,isAbsoluteUrl:t,insertContent:c}}),r("tinymce/pasteplugin/Clipboard",["tinymce/Env","tinymce/dom/RangeUtils","tinymce/util/VK","tinymce/pasteplugin/Utils","tinymce/pasteplugin/SmartPaste","tinymce/util/Delay"],function(e,t,n,r,i,o){return function(a){function s(e){var t,n=a.dom;if(t=a.fire("BeforePastePreProcess",{content:e}),t=a.fire("PastePreProcess",t),e=t.content,!t.isDefaultPrevented()){if(a.hasEventListeners("PastePostProcess")&&!t.isDefaultPrevented()){var r=n.add(a.getBody(),"div",{style:"display:none"},e);t=a.fire("PastePostProcess",{node:r}),n.remove(r),e=t.node.innerHTML}t.isDefaultPrevented()||i.insertContent(a,e)}}function l(e){e=a.dom.encode(e).replace(/\r\n/g,"\n");var t,n=a.dom.getParent(a.selection.getStart(),a.dom.isBlock),i=a.settings.forced_root_block;i&&(t=a.dom.createHTML(i,a.settings.forced_root_block_attrs),t=t.substr(0,t.length-3)+">"),n&&/^(PRE|DIV)$/.test(n.nodeName)||!i?e=r.filter(e,[[/\n/g,"
"]]):(e=r.filter(e,[[/\n\n/g,"

"+t],[/^(.*<\/p>)(

)$/,t+"$1"],[/\n/g,"
"]]),e.indexOf("

")!=-1&&(e=t+e)),s(e)}function c(){function t(e){var t,n,i,o=e.startContainer;if(t=e.getClientRects(),t.length)return t[0];if(e.collapsed&&1==o.nodeType){for(i=o.childNodes[_.startOffset];i&&3==i.nodeType&&!i.data.length;)i=i.nextSibling;if(i)return"BR"==i.tagName&&(n=r.doc.createTextNode("\ufeff"),i.parentNode.insertBefore(n,i),e=r.createRng(),e.setStartBefore(n),e.setEndAfter(n),t=e.getClientRects(),r.remove(n)),t.length?t[0]:void 0}}var n,r=a.dom,i=a.getBody(),o=a.dom.getViewPort(a.getWin()),s=o.y,l=20;if(_=a.selection.getRng(),a.inline&&(n=a.selection.getScrollContainer(),n&&n.scrollTop>0&&(s=n.scrollTop)),_.getClientRects){var c=t(_);if(c)l=s+(c.top-r.getPos(i).y);else{l=s;var u=_.startContainer;u&&(3==u.nodeType&&u.parentNode!=i&&(u=u.parentNode),1==u.nodeType&&(l=r.getPos(u,n||i).y))}}E=r.add(a.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+l+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},A),(e.ie||e.gecko)&&r.setStyle(E,"left","rtl"==r.getStyle(i,"direction",!0)?65535:-65535),r.bind(E,"beforedeactivate focusin focusout",function(e){e.stopPropagation()}),E.focus(),a.selection.select(E,!0)}function u(){if(E){for(var e;e=a.dom.get("mcepastebin");)a.dom.remove(e),a.dom.unbind(e);_&&a.selection.setRng(_)}E=_=null}function d(){var e,t,n,r,i="";for(e=a.dom.select("div[id=mcepastebin]"),t=0;t0&&n.indexOf(B)==-1&&(t["text/plain"]=n)}if(e.types)for(var r=0;r')}else s('')}function y(e,t){function n(n){var r,i,o,a=!1;if(n)for(r=0;r0}function w(e){return n.metaKeyPressed(e)&&86==e.keyCode||e.shiftKey&&45==e.keyCode}function N(){function t(e,t,n){var i;return x(e,"text/html")?i=e["text/html"]:(i=d(),i==A&&(n=!0)),i=r.trimHtml(i),E&&E.firstChild&&"mcepastebin"===E.firstChild.id&&(n=!0),u(),i.length||(n=!0),n&&(i=x(e,"text/plain")&&i.indexOf("

")==-1?e["text/plain"]:r.innerText(i)),i==A?void(t||a.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")):void(n?l(i):s(i))}function n(e){return 0===e["text/plain"].indexOf("file://")}a.on("keydown",function(t){function n(e){w(e)&&!e.isDefaultPrevented()&&u()}if(w(t)&&!t.isDefaultPrevented()){if(S=t.shiftKey&&86==t.keyCode,S&&e.webkit&&navigator.userAgent.indexOf("Version/")!=-1)return;if(t.stopImmediatePropagation(),T=(new Date).getTime(),e.ie&&S)return t.preventDefault(),void a.fire("paste",{ieFake:!0});u(),c(),a.once("keyup",n),a.once("paste",function(){a.off("keyup",n)})}});var i=function(){return _||a.selection.getRng()};a.on("paste",function(n){var r=(new Date).getTime(),s=h(n),l=(new Date).getTime()-r,f=(new Date).getTime()-T-l<1e3,m="text"==k.pasteFormat||S;return S=!1,n.isDefaultPrevented()||b(n)?void u():!p(s)&&y(n,i())?void u():(f||n.preventDefault(),!e.ie||f&&!n.ieFake||(c(),a.dom.bind(E,"paste",function(e){e.stopPropagation()}),a.getDoc().execCommand("Paste",!1,null),s["text/html"]=d()),void(x(s,"text/html")?(n.preventDefault(),t(s,f,m)):o.setEditorTimeout(a,function(){t(s,f,m)},0)))}),a.on("dragstart dragend",function(e){R="dragstart"==e.type}),a.on("drop",function(e){var t,i;if(i=C(e),!e.isDefaultPrevented()&&!R&&(t=f(e.dataTransfer),(p(t)&&!n(t)||!y(e,i))&&i&&a.settings.paste_filter_drop!==!1)){var c=t["mce-internal"]||t["text/html"]||t["text/plain"];c&&(e.preventDefault(),o.setEditorTimeout(a,function(){a.undoManager.transact(function(){t["mce-internal"]&&a.execCommand("Delete"),a.selection.setRng(i),c=r.trimHtml(c),t["text/html"]?s(c):l(c)})}))}}),a.on("dragover dragend",function(e){a.settings.paste_data_images&&e.preventDefault()})}var E,_,S,k=this,T=0,R=!1,A="%MCEPASTEBIN%",B="data:text/mce-internal,",D=r.createIdGenerator("mceclip");k.pasteHtml=s,k.pasteText=l,k.pasteImageData=y,a.on("preInit",function(){N(),a.parser.addNodeFilter("img",function(t,n,r){function i(e){return e.data&&e.data.paste===!0}function o(t){t.attr("data-mce-object")||u===e.transparentSrc||t.remove()}function s(e){return 0===e.indexOf("webkit-fake-url")}function l(e){return 0===e.indexOf("data:")}if(!a.settings.paste_data_images&&i(r))for(var c=t.length;c--;){var u=t[c].attributes.map.src;u&&(s(u)?o(t[c]):!a.settings.allow_html_data_urls&&l(u)&&o(t[c]))}})})}}),r("tinymce/pasteplugin/WordFilter",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema","tinymce/html/Serializer","tinymce/html/Node","tinymce/pasteplugin/Utils"],function(e,t,n,r,i,o){function a(e){return/1&&a.attr("start",""+o),e.wrap(a)),e.name="li",s>u&&c&&c.lastChild.append(a),u=s,r(e),n(e,/^\u00a0+/),n(e,/^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/),n(e,/^\u00a0+/)}for(var a,c,u=1,d=[],f=e.firstChild;"undefined"!=typeof f&&null!==f;)if(d.push(f),f=f.walk(),null!==f)for(;"undefined"!=typeof f&&f.parent!==e;)f=f.walk();for(var h=0;h]+id="?docs-internal-[^>]*>/gi,""),g=g.replace(/
/gi,""),p=u.paste_retain_style_properties,p&&(m=e.makeMap(p.split(/[, ]/))),u.paste_enable_default_filters!==!1&&a(d.content)){d.wordContent=!0,g=o.filter(g,[//gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\xa0"],[/([\s\u00a0]*)<\/span>/gi,function(e,t){return t.length>0?t.replace(/./," ").slice(Math.floor(t.length/2)).split("").join("\xa0"):""}]]);var v=u.paste_word_valid_elements;v||(v="-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody");var y=new n({valid_elements:v,valid_children:"-li[p]"});e.each(y.elements,function(e){e.attributes.class||(e.attributes.class={},e.attributesOrder.push("class")),e.attributes.style||(e.attributes.style={},e.attributesOrder.push("style"))});var b=new t({},y);b.addAttributeFilter("style",function(e){for(var t,n=e.length;n--;)t=e[n],t.attr("style",h(t,t.attr("style"))),"span"==t.name&&t.parent&&!t.attributes.length&&t.unwrap()}),b.addAttributeFilter("class",function(e){for(var t,n,r=e.length;r--;)t=e[r],n=t.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(n)&&t.remove(),t.attr("class",null)}),b.addNodeFilter("del",function(e){for(var t=e.length;t--;)e[t].remove()}),b.addNodeFilter("a",function(e){for(var t,n,r,i=e.length;i--;)if(t=e[i],n=t.attr("href"),r=t.attr("name"),n&&n.indexOf("#_msocom_")!=-1)t.remove();else if(n&&0===n.indexOf("file://")&&(n=n.split("#")[1],n&&(n="#"+n)),n||r){if(r&&!/^_?(?:toc|edn|ftn)/i.test(r)){t.unwrap();continue}t.attr({href:n,name:r})}else t.unwrap()});var C=b.parse(g);u.paste_convert_word_fake_lists!==!1&&f(C),d.content=new r({validate:u.validate},y).serialize(C)}})}return c.isWordContent=a,c}),r("tinymce/pasteplugin/Quirks",["tinymce/Env","tinymce/util/Tools","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Utils"],function(e,t,n,r){return function(i){function o(e){i.on("BeforePastePreProcess",function(t){t.content=e(t.content)})}function a(e){if(!n.isWordContent(e))return e;var o=[];t.each(i.schema.getBlockElements(),function(e,t){o.push(t)});var a=new RegExp("(?:
 [\\s\\r\\n]+|
)*(<\\/?("+o.join("|")+")[^>]*>)(?:
 [\\s\\r\\n]+|
)*","g");return e=r.filter(e,[[a,"$1"]]),e=r.filter(e,[[/

/g,"

"],[/
/g," "],[/

/g,"
"]])}function s(e){if(n.isWordContent(e))return e;var t=i.settings.paste_webkit_styles;if(i.settings.paste_remove_styles_if_webkit===!1||"all"==t)return e;if(t&&(t=t.split(/[, ]/)),t){var r=i.dom,o=i.selection.getNode();e=e.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(e,n,i,a){var s=r.parseStyle(i,"span"),l={};if("none"===t)return n+a;for(var c=0;c]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return e=e.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(e,t,n,r){return t+' style="'+n+'"'+r})}e.webkit&&o(s),e.ie&&o(a)}}),r("tinymce/pasteplugin/Plugin",["tinymce/PluginManager","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks"],function(e,t,n,r){var i;e.add("paste",function(o){function a(){return i||o.settings.paste_plaintext_inform===!1}function s(){if("text"==l.pasteFormat)this.active(!1),l.pasteFormat="html",o.fire("PastePlainTextToggle",{state:!1});else if(l.pasteFormat="text",this.active(!0),!a()){var e=o.translate("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.");o.notificationManager.open({text:e,type:"info"}),i=!0,o.fire("PastePlainTextToggle",{state:!0})}o.focus()}var l,c=this,u=o.settings;return/(^|[ ,])powerpaste([, ]|$)/.test(u.plugins)&&e.get("powerpaste")?void("undefined"!=typeof console&&console.log&&console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option.")):(c.clipboard=l=new t(o),c.quirks=new r(o),c.wordFilter=new n(o),o.settings.paste_as_text&&(c.clipboard.pasteFormat="text"),u.paste_preprocess&&o.on("PastePreProcess",function(e){u.paste_preprocess.call(c,c,e)}),u.paste_postprocess&&o.on("PastePostProcess",function(e){u.paste_postprocess.call(c,c,e)}),o.addCommand("mceInsertClipboardContent",function(e,t){t.content&&c.clipboard.pasteHtml(t.content),t.text&&c.clipboard.pasteText(t.text)}),o.settings.paste_block_drop&&o.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),o.settings.paste_data_images||o.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&t.files.length>0&&e.preventDefault()}),o.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:s,active:"text"==c.clipboard.pasteFormat}),void o.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:l.pasteFormat,onclick:s}))})}),o(["tinymce/pasteplugin/Utils"])}(this); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/preview/plugin.js b/public/mosaico/dist/vendor/plugins/preview/plugin.js new file mode 100644 index 00000000..59046334 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/preview/plugin.js @@ -0,0 +1,101 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ + +tinymce.PluginManager.add('preview', function(editor) { + var settings = editor.settings, sandbox = !tinymce.Env.ie; + + editor.addCommand('mcePreview', function() { + editor.windowManager.open({ + title: 'Preview', + width: parseInt(editor.getParam("plugin_preview_width", "650"), 10), + height: parseInt(editor.getParam("plugin_preview_height", "500"), 10), + html: '', + buttons: { + text: 'Close', + onclick: function() { + this.parent().parent().close(); + } + }, + onPostRender: function() { + var previewHtml, headHtml = ''; + + headHtml += ''; + + tinymce.each(editor.contentCSS, function(url) { + headHtml += ''; + }); + + var bodyId = settings.body_id || 'tinymce'; + if (bodyId.indexOf('=') != -1) { + bodyId = editor.getParam('body_id', '', 'hash'); + bodyId = bodyId[editor.id] || bodyId; + } + + var bodyClass = settings.body_class || ''; + if (bodyClass.indexOf('=') != -1) { + bodyClass = editor.getParam('body_class', '', 'hash'); + bodyClass = bodyClass[editor.id] || ''; + } + + var preventClicksOnLinksScript = ( + ' ' + ); + + var dirAttr = editor.settings.directionality ? ' dir="' + editor.settings.directionality + '"' : ''; + + previewHtml = ( + '' + + '' + + '' + + headHtml + + '' + + '' + + editor.getContent() + + preventClicksOnLinksScript + + '' + + '' + ); + + if (!sandbox) { + // IE 6-11 doesn't support data uris on iframes + // so I guess they will have to be less secure since we can't sandbox on those + // TODO: Use sandbox if future versions of IE supports iframes with data: uris. + var doc = this.getEl('body').firstChild.contentWindow.document; + doc.open(); + doc.write(previewHtml); + doc.close(); + } else { + this.getEl('body').firstChild.src = 'data:text/html;charset=utf-8,' + encodeURIComponent(previewHtml); + } + } + }); + }); + + editor.addButton('preview', { + title: 'Preview', + cmd: 'mcePreview' + }); + + editor.addMenuItem('preview', { + text: 'Preview', + cmd: 'mcePreview', + context: 'view' + }); +}); diff --git a/public/mosaico/dist/vendor/plugins/preview/plugin.min.js b/public/mosaico/dist/vendor/plugins/preview/plugin.min.js new file mode 100644 index 00000000..e02103b4 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/preview/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("preview",function(e){var t=e.settings,n=!tinymce.Env.ie;e.addCommand("mcePreview",function(){e.windowManager.open({title:"Preview",width:parseInt(e.getParam("plugin_preview_width","650"),10),height:parseInt(e.getParam("plugin_preview_height","500"),10),html:'",buttons:{text:"Close",onclick:function(){this.parent().parent().close()}},onPostRender:function(){var r,i="";i+='',tinymce.each(e.contentCSS,function(t){i+=''});var o=t.body_id||"tinymce";o.indexOf("=")!=-1&&(o=e.getParam("body_id","","hash"),o=o[e.id]||o);var a=t.body_class||"";a.indexOf("=")!=-1&&(a=e.getParam("body_class","","hash"),a=a[e.id]||"");var s=' ',l=e.settings.directionality?' dir="'+e.settings.directionality+'"':"";if(r=""+i+'"+e.getContent()+s+"",n)this.getEl("body").firstChild.src="data:text/html;charset=utf-8,"+encodeURIComponent(r);else{var c=this.getEl("body").firstChild.contentWindow.document;c.open(),c.write(r),c.close()}}})}),e.addButton("preview",{title:"Preview",cmd:"mcePreview"}),e.addMenuItem("preview",{text:"Preview",cmd:"mcePreview",context:"view"})}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/print/plugin.js b/public/mosaico/dist/vendor/plugins/print/plugin.js new file mode 100644 index 00000000..023db0b4 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/print/plugin.js @@ -0,0 +1,32 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ + +tinymce.PluginManager.add('print', function(editor) { + editor.addCommand('mcePrint', function() { + editor.getWin().print(); + }); + + editor.addButton('print', { + title: 'Print', + cmd: 'mcePrint' + }); + + editor.addShortcut('Meta+P', '', 'mcePrint'); + + editor.addMenuItem('print', { + text: 'Print', + cmd: 'mcePrint', + icon: 'print', + shortcut: 'Meta+P', + context: 'file' + }); +}); diff --git a/public/mosaico/dist/vendor/plugins/print/plugin.min.js b/public/mosaico/dist/vendor/plugins/print/plugin.min.js new file mode 100644 index 00000000..9f58535b --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/print/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("print",function(e){e.addCommand("mcePrint",function(){e.getWin().print()}),e.addButton("print",{title:"Print",cmd:"mcePrint"}),e.addShortcut("Meta+P","","mcePrint"),e.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print",shortcut:"Meta+P",context:"file"})}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/save/plugin.js b/public/mosaico/dist/vendor/plugins/save/plugin.js new file mode 100644 index 00000000..f36f8959 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/save/plugin.js @@ -0,0 +1,98 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ + +tinymce.PluginManager.add('save', function(editor) { + function save() { + var formObj; + + formObj = tinymce.DOM.getParent(editor.id, 'form'); + + if (editor.getParam("save_enablewhendirty", true) && !editor.isDirty()) { + return; + } + + tinymce.triggerSave(); + + // Use callback instead + if (editor.getParam("save_onsavecallback")) { + editor.execCallback('save_onsavecallback', editor); + editor.nodeChanged(); + return; + } + + if (formObj) { + editor.setDirty(false); + + if (!formObj.onsubmit || formObj.onsubmit()) { + if (typeof formObj.submit == "function") { + formObj.submit(); + } else { + displayErrorMessage(editor.translate("Error: Form submit field collision.")); + } + } + + editor.nodeChanged(); + } else { + displayErrorMessage(editor.translate("Error: No form element found.")); + } + } + + function displayErrorMessage(message) { + editor.notificationManager.open({ + text: message, + type: 'error' + }); + } + + function cancel() { + var h = tinymce.trim(editor.startContent); + + // Use callback instead + if (editor.getParam("save_oncancelcallback")) { + editor.execCallback('save_oncancelcallback', editor); + return; + } + + editor.setContent(h); + editor.undoManager.clear(); + editor.nodeChanged(); + } + + function stateToggle() { + var self = this; + + editor.on('nodeChange dirty', function() { + self.disabled(editor.getParam("save_enablewhendirty", true) && !editor.isDirty()); + }); + } + + editor.addCommand('mceSave', save); + editor.addCommand('mceCancel', cancel); + + editor.addButton('save', { + icon: 'save', + text: 'Save', + cmd: 'mceSave', + disabled: true, + onPostRender: stateToggle + }); + + editor.addButton('cancel', { + text: 'Cancel', + icon: false, + cmd: 'mceCancel', + disabled: true, + onPostRender: stateToggle + }); + + editor.addShortcut('Meta+S', '', 'mceSave'); +}); diff --git a/public/mosaico/dist/vendor/plugins/save/plugin.min.js b/public/mosaico/dist/vendor/plugins/save/plugin.min.js new file mode 100644 index 00000000..7893bbc2 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/save/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("save",function(e){function t(){var t;if(t=tinymce.DOM.getParent(e.id,"form"),!e.getParam("save_enablewhendirty",!0)||e.isDirty())return tinymce.triggerSave(),e.getParam("save_onsavecallback")?(e.execCallback("save_onsavecallback",e),void e.nodeChanged()):void(t?(e.setDirty(!1),t.onsubmit&&!t.onsubmit()||("function"==typeof t.submit?t.submit():n(e.translate("Error: Form submit field collision."))),e.nodeChanged()):n(e.translate("Error: No form element found.")))}function n(t){e.notificationManager.open({text:t,type:"error"})}function r(){var t=tinymce.trim(e.startContent);return e.getParam("save_oncancelcallback")?void e.execCallback("save_oncancelcallback",e):(e.setContent(t),e.undoManager.clear(),void e.nodeChanged())}function i(){var t=this;e.on("nodeChange dirty",function(){t.disabled(e.getParam("save_enablewhendirty",!0)&&!e.isDirty())})}e.addCommand("mceSave",t),e.addCommand("mceCancel",r),e.addButton("save",{icon:"save",text:"Save",cmd:"mceSave",disabled:!0,onPostRender:i}),e.addButton("cancel",{text:"Cancel",icon:!1,cmd:"mceCancel",disabled:!0,onPostRender:i}),e.addShortcut("Meta+S","","mceSave")}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/searchreplace/plugin.js b/public/mosaico/dist/vendor/plugins/searchreplace/plugin.js new file mode 100644 index 00000000..72e8d8d2 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/searchreplace/plugin.js @@ -0,0 +1,609 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*jshint smarttabs:true, undef:true, unused:true, latedef:true, curly:true, bitwise:true */ +/*eslint no-labels:0, no-constant-condition: 0 */ +/*global tinymce:true */ + +(function() { + function isContentEditableFalse(node) { + return node && node.nodeType == 1 && node.contentEditable === "false"; + } + + // Based on work developed by: James Padolsey http://james.padolsey.com + // released under UNLICENSE that is compatible with LGPL + // TODO: Handle contentEditable edgecase: + //

texttexttexttexttext

+ function findAndReplaceDOMText(regex, node, replacementNode, captureGroup, schema) { + var m, matches = [], text, count = 0, doc; + var blockElementsMap, hiddenTextElementsMap, shortEndedElementsMap; + + doc = node.ownerDocument; + blockElementsMap = schema.getBlockElements(); // H1-H6, P, TD etc + hiddenTextElementsMap = schema.getWhiteSpaceElements(); // TEXTAREA, PRE, STYLE, SCRIPT + shortEndedElementsMap = schema.getShortEndedElements(); // BR, IMG, INPUT + + function getMatchIndexes(m, captureGroup) { + captureGroup = captureGroup || 0; + + if (!m[0]) { + throw 'findAndReplaceDOMText cannot handle zero-length matches'; + } + + var index = m.index; + + if (captureGroup > 0) { + var cg = m[captureGroup]; + + if (!cg) { + throw 'Invalid capture group'; + } + + index += m[0].indexOf(cg); + m[0] = cg; + } + + return [index, index + m[0].length, [m[0]]]; + } + + function getText(node) { + var txt; + + if (node.nodeType === 3) { + return node.data; + } + + if (hiddenTextElementsMap[node.nodeName] && !blockElementsMap[node.nodeName]) { + return ''; + } + + txt = ''; + + if (isContentEditableFalse(node)) { + return '\n'; + } + + if (blockElementsMap[node.nodeName] || shortEndedElementsMap[node.nodeName]) { + txt += '\n'; + } + + if ((node = node.firstChild)) { + do { + txt += getText(node); + } while ((node = node.nextSibling)); + } + + return txt; + } + + function stepThroughMatches(node, matches, replaceFn) { + var startNode, endNode, startNodeIndex, + endNodeIndex, innerNodes = [], atIndex = 0, curNode = node, + matchLocation = matches.shift(), matchIndex = 0; + + out: while (true) { + if (blockElementsMap[curNode.nodeName] || shortEndedElementsMap[curNode.nodeName] || isContentEditableFalse(curNode)) { + atIndex++; + } + + if (curNode.nodeType === 3) { + if (!endNode && curNode.length + atIndex >= matchLocation[1]) { + // We've found the ending + endNode = curNode; + endNodeIndex = matchLocation[1] - atIndex; + } else if (startNode) { + // Intersecting node + innerNodes.push(curNode); + } + + if (!startNode && curNode.length + atIndex > matchLocation[0]) { + // We've found the match start + startNode = curNode; + startNodeIndex = matchLocation[0] - atIndex; + } + + atIndex += curNode.length; + } + + if (startNode && endNode) { + curNode = replaceFn({ + startNode: startNode, + startNodeIndex: startNodeIndex, + endNode: endNode, + endNodeIndex: endNodeIndex, + innerNodes: innerNodes, + match: matchLocation[2], + matchIndex: matchIndex + }); + + // replaceFn has to return the node that replaced the endNode + // and then we step back so we can continue from the end of the + // match: + atIndex -= (endNode.length - endNodeIndex); + startNode = null; + endNode = null; + innerNodes = []; + matchLocation = matches.shift(); + matchIndex++; + + if (!matchLocation) { + break; // no more matches + } + } else if ((!hiddenTextElementsMap[curNode.nodeName] || blockElementsMap[curNode.nodeName]) && curNode.firstChild) { + if (!isContentEditableFalse(curNode)) { + // Move down + curNode = curNode.firstChild; + continue; + } + } else if (curNode.nextSibling) { + // Move forward: + curNode = curNode.nextSibling; + continue; + } + + // Move forward or up: + while (true) { + if (curNode.nextSibling) { + curNode = curNode.nextSibling; + break; + } else if (curNode.parentNode !== node) { + curNode = curNode.parentNode; + } else { + break out; + } + } + } + } + + /** + * Generates the actual replaceFn which splits up text nodes + * and inserts the replacement element. + */ + function genReplacer(nodeName) { + var makeReplacementNode; + + if (typeof nodeName != 'function') { + var stencilNode = nodeName.nodeType ? nodeName : doc.createElement(nodeName); + + makeReplacementNode = function(fill, matchIndex) { + var clone = stencilNode.cloneNode(false); + + clone.setAttribute('data-mce-index', matchIndex); + + if (fill) { + clone.appendChild(doc.createTextNode(fill)); + } + + return clone; + }; + } else { + makeReplacementNode = nodeName; + } + + return function(range) { + var before, after, parentNode, startNode = range.startNode, + endNode = range.endNode, matchIndex = range.matchIndex; + + if (startNode === endNode) { + var node = startNode; + + parentNode = node.parentNode; + if (range.startNodeIndex > 0) { + // Add `before` text node (before the match) + before = doc.createTextNode(node.data.substring(0, range.startNodeIndex)); + parentNode.insertBefore(before, node); + } + + // Create the replacement node: + var el = makeReplacementNode(range.match[0], matchIndex); + parentNode.insertBefore(el, node); + if (range.endNodeIndex < node.length) { + // Add `after` text node (after the match) + after = doc.createTextNode(node.data.substring(range.endNodeIndex)); + parentNode.insertBefore(after, node); + } + + node.parentNode.removeChild(node); + + return el; + } + + // Replace startNode -> [innerNodes...] -> endNode (in that order) + before = doc.createTextNode(startNode.data.substring(0, range.startNodeIndex)); + after = doc.createTextNode(endNode.data.substring(range.endNodeIndex)); + var elA = makeReplacementNode(startNode.data.substring(range.startNodeIndex), matchIndex); + var innerEls = []; + + for (var i = 0, l = range.innerNodes.length; i < l; ++i) { + var innerNode = range.innerNodes[i]; + var innerEl = makeReplacementNode(innerNode.data, matchIndex); + innerNode.parentNode.replaceChild(innerEl, innerNode); + innerEls.push(innerEl); + } + + var elB = makeReplacementNode(endNode.data.substring(0, range.endNodeIndex), matchIndex); + + parentNode = startNode.parentNode; + parentNode.insertBefore(before, startNode); + parentNode.insertBefore(elA, startNode); + parentNode.removeChild(startNode); + + parentNode = endNode.parentNode; + parentNode.insertBefore(elB, endNode); + parentNode.insertBefore(after, endNode); + parentNode.removeChild(endNode); + + return elB; + }; + } + + text = getText(node); + if (!text) { + return; + } + + if (regex.global) { + while ((m = regex.exec(text))) { + matches.push(getMatchIndexes(m, captureGroup)); + } + } else { + m = text.match(regex); + matches.push(getMatchIndexes(m, captureGroup)); + } + + if (matches.length) { + count = matches.length; + stepThroughMatches(node, matches, genReplacer(replacementNode)); + } + + return count; + } + + function Plugin(editor) { + var self = this, currentIndex = -1; + + function showDialog() { + var last = {}, selectedText; + + selectedText = tinymce.trim(editor.selection.getContent({format: 'text'})); + + function updateButtonStates() { + win.statusbar.find('#next').disabled(!findSpansByIndex(currentIndex + 1).length); + win.statusbar.find('#prev').disabled(!findSpansByIndex(currentIndex - 1).length); + } + + function notFoundAlert() { + editor.windowManager.alert('Could not find the specified string.', function() { + win.find('#find')[0].focus(); + }); + } + + var win = editor.windowManager.open({ + layout: "flex", + pack: "center", + align: "center", + onClose: function() { + editor.focus(); + self.done(); + }, + onSubmit: function(e) { + var count, caseState, text, wholeWord; + + e.preventDefault(); + + caseState = win.find('#case').checked(); + wholeWord = win.find('#words').checked(); + + text = win.find('#find').value(); + if (!text.length) { + self.done(false); + win.statusbar.items().slice(1).disabled(true); + return; + } + + if (last.text == text && last.caseState == caseState && last.wholeWord == wholeWord) { + if (findSpansByIndex(currentIndex + 1).length === 0) { + notFoundAlert(); + return; + } + + self.next(); + updateButtonStates(); + return; + } + + count = self.find(text, caseState, wholeWord); + if (!count) { + notFoundAlert(); + } + + win.statusbar.items().slice(1).disabled(count === 0); + updateButtonStates(); + + last = { + text: text, + caseState: caseState, + wholeWord: wholeWord + }; + }, + buttons: [ + {text: "Find", subtype: 'primary', onclick: function() { + win.submit(); + }}, + {text: "Replace", disabled: true, onclick: function() { + if (!self.replace(win.find('#replace').value())) { + win.statusbar.items().slice(1).disabled(true); + currentIndex = -1; + last = {}; + } + }}, + {text: "Replace all", disabled: true, onclick: function() { + self.replace(win.find('#replace').value(), true, true); + win.statusbar.items().slice(1).disabled(true); + last = {}; + }}, + {type: "spacer", flex: 1}, + {text: "Prev", name: 'prev', disabled: true, onclick: function() { + self.prev(); + updateButtonStates(); + }}, + {text: "Next", name: 'next', disabled: true, onclick: function() { + self.next(); + updateButtonStates(); + }} + ], + title: "Find and replace", + items: { + type: "form", + padding: 20, + labelGap: 30, + spacing: 10, + items: [ + {type: 'textbox', name: 'find', size: 40, label: 'Find', value: selectedText}, + {type: 'textbox', name: 'replace', size: 40, label: 'Replace with'}, + {type: 'checkbox', name: 'case', text: 'Match case', label: ' '}, + {type: 'checkbox', name: 'words', text: 'Whole words', label: ' '} + ] + } + }); + } + + self.init = function(ed) { + ed.addMenuItem('searchreplace', { + text: 'Find and replace', + shortcut: 'Meta+F', + onclick: showDialog, + separator: 'before', + context: 'edit' + }); + + ed.addButton('searchreplace', { + tooltip: 'Find and replace', + shortcut: 'Meta+F', + onclick: showDialog + }); + + ed.addCommand("SearchReplace", showDialog); + ed.shortcuts.add('Meta+F', '', showDialog); + }; + + function getElmIndex(elm) { + var value = elm.getAttribute('data-mce-index'); + + if (typeof value == "number") { + return "" + value; + } + + return value; + } + + function markAllMatches(regex) { + var node, marker; + + marker = editor.dom.create('span', { + "data-mce-bogus": 1 + }); + + marker.className = 'mce-match-marker'; // IE 7 adds class="mce-match-marker" and class=mce-match-marker + node = editor.getBody(); + + self.done(false); + + return findAndReplaceDOMText(regex, node, marker, false, editor.schema); + } + + function unwrap(node) { + var parentNode = node.parentNode; + + if (node.firstChild) { + parentNode.insertBefore(node.firstChild, node); + } + + node.parentNode.removeChild(node); + } + + function findSpansByIndex(index) { + var nodes, spans = []; + + nodes = tinymce.toArray(editor.getBody().getElementsByTagName('span')); + if (nodes.length) { + for (var i = 0; i < nodes.length; i++) { + var nodeIndex = getElmIndex(nodes[i]); + + if (nodeIndex === null || !nodeIndex.length) { + continue; + } + + if (nodeIndex === index.toString()) { + spans.push(nodes[i]); + } + } + } + + return spans; + } + + function moveSelection(forward) { + var testIndex = currentIndex, dom = editor.dom; + + forward = forward !== false; + + if (forward) { + testIndex++; + } else { + testIndex--; + } + + dom.removeClass(findSpansByIndex(currentIndex), 'mce-match-marker-selected'); + + var spans = findSpansByIndex(testIndex); + if (spans.length) { + dom.addClass(findSpansByIndex(testIndex), 'mce-match-marker-selected'); + editor.selection.scrollIntoView(spans[0]); + return testIndex; + } + + return -1; + } + + function removeNode(node) { + var dom = editor.dom, parent = node.parentNode; + + dom.remove(node); + + if (dom.isEmpty(parent)) { + dom.remove(parent); + } + } + + self.find = function(text, matchCase, wholeWord) { + text = text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + text = wholeWord ? '\\b' + text + '\\b' : text; + + var count = markAllMatches(new RegExp(text, matchCase ? 'g' : 'gi')); + + if (count) { + currentIndex = -1; + currentIndex = moveSelection(true); + } + + return count; + }; + + self.next = function() { + var index = moveSelection(true); + + if (index !== -1) { + currentIndex = index; + } + }; + + self.prev = function() { + var index = moveSelection(false); + + if (index !== -1) { + currentIndex = index; + } + }; + + function isMatchSpan(node) { + var matchIndex = getElmIndex(node); + + return matchIndex !== null && matchIndex.length > 0; + } + + self.replace = function(text, forward, all) { + var i, nodes, node, matchIndex, currentMatchIndex, nextIndex = currentIndex, hasMore; + + forward = forward !== false; + + node = editor.getBody(); + nodes = tinymce.grep(tinymce.toArray(node.getElementsByTagName('span')), isMatchSpan); + for (i = 0; i < nodes.length; i++) { + var nodeIndex = getElmIndex(nodes[i]); + + matchIndex = currentMatchIndex = parseInt(nodeIndex, 10); + if (all || matchIndex === currentIndex) { + if (text.length) { + nodes[i].firstChild.nodeValue = text; + unwrap(nodes[i]); + } else { + removeNode(nodes[i]); + } + + while (nodes[++i]) { + matchIndex = parseInt(getElmIndex(nodes[i]), 10); + + if (matchIndex === currentMatchIndex) { + removeNode(nodes[i]); + } else { + i--; + break; + } + } + + if (forward) { + nextIndex--; + } + } else if (currentMatchIndex > currentIndex) { + nodes[i].setAttribute('data-mce-index', currentMatchIndex - 1); + } + } + + editor.undoManager.add(); + currentIndex = nextIndex; + + if (forward) { + hasMore = findSpansByIndex(nextIndex + 1).length > 0; + self.next(); + } else { + hasMore = findSpansByIndex(nextIndex - 1).length > 0; + self.prev(); + } + + return !all && hasMore; + }; + + self.done = function(keepEditorSelection) { + var i, nodes, startContainer, endContainer; + + nodes = tinymce.toArray(editor.getBody().getElementsByTagName('span')); + for (i = 0; i < nodes.length; i++) { + var nodeIndex = getElmIndex(nodes[i]); + + if (nodeIndex !== null && nodeIndex.length) { + if (nodeIndex === currentIndex.toString()) { + if (!startContainer) { + startContainer = nodes[i].firstChild; + } + + endContainer = nodes[i].firstChild; + } + + unwrap(nodes[i]); + } + } + + if (startContainer && endContainer) { + var rng = editor.dom.createRng(); + rng.setStart(startContainer, 0); + rng.setEnd(endContainer, endContainer.data.length); + + if (keepEditorSelection !== false) { + editor.selection.setRng(rng); + } + + return rng; + } + }; + } + + tinymce.PluginManager.add('searchreplace', Plugin); +})(); diff --git a/public/mosaico/dist/vendor/plugins/searchreplace/plugin.min.js b/public/mosaico/dist/vendor/plugins/searchreplace/plugin.min.js new file mode 100644 index 00000000..05ef03e3 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/searchreplace/plugin.min.js @@ -0,0 +1 @@ +!function(){function e(e){return e&&1==e.nodeType&&"false"===e.contentEditable}function t(t,n,r,i,o){function a(e,t){if(t=t||0,!e[0])throw"findAndReplaceDOMText cannot handle zero-length matches";var n=e.index;if(t>0){var r=e[t];if(!r)throw"Invalid capture group";n+=e[0].indexOf(r),e[0]=r}return[n,n+e[0].length,[e[0]]]}function s(t){var n;if(3===t.nodeType)return t.data;if(p[t.nodeName]&&!h[t.nodeName])return"";if(n="",e(t))return"\n";if((h[t.nodeName]||m[t.nodeName])&&(n+="\n"),t=t.firstChild)do n+=s(t);while(t=t.nextSibling);return n}function l(t,n,r){var i,o,a,s,l=[],c=0,u=t,d=n.shift(),f=0;e:for(;;){if((h[u.nodeName]||m[u.nodeName]||e(u))&&c++,3===u.nodeType&&(!o&&u.length+c>=d[1]?(o=u,s=d[1]-c):i&&l.push(u),!i&&u.length+c>d[0]&&(i=u,a=d[0]-c),c+=u.length),i&&o){if(u=r({startNode:i,startNodeIndex:a,endNode:o,endNodeIndex:s,innerNodes:l,match:d[2],matchIndex:f}),c-=o.length-s,i=null,o=null,l=[],d=n.shift(),f++,!d)break}else if(p[u.nodeName]&&!h[u.nodeName]||!u.firstChild){if(u.nextSibling){u=u.nextSibling;continue}}else if(!e(u)){u=u.firstChild;continue}for(;;){if(u.nextSibling){u=u.nextSibling;break}if(u.parentNode===t)break e;u=u.parentNode}}}function c(e){var t;if("function"!=typeof e){var n=e.nodeType?e:f.createElement(e);t=function(e,t){var r=n.cloneNode(!1);return r.setAttribute("data-mce-index",t),e&&r.appendChild(f.createTextNode(e)),r}}else t=e;return function(e){var n,r,i,o=e.startNode,a=e.endNode,s=e.matchIndex;if(o===a){var l=o;i=l.parentNode,e.startNodeIndex>0&&(n=f.createTextNode(l.data.substring(0,e.startNodeIndex)),i.insertBefore(n,l));var c=t(e.match[0],s);return i.insertBefore(c,l),e.endNodeIndex0}var u=this,d=-1;u.init=function(e){e.addMenuItem("searchreplace",{text:"Find and replace",shortcut:"Meta+F",onclick:n,separator:"before",context:"edit"}),e.addButton("searchreplace",{tooltip:"Find and replace",shortcut:"Meta+F",onclick:n}),e.addCommand("SearchReplace",n),e.shortcuts.add("Meta+F","",n)},u.find=function(e,t,n){e=e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),e=n?"\\b"+e+"\\b":e;var r=i(new RegExp(e,t?"g":"gi"));return r&&(d=-1,d=s(!0)),r},u.next=function(){var e=s(!0);e!==-1&&(d=e)},u.prev=function(){var e=s(!1);e!==-1&&(d=e)},u.replace=function(t,n,i){var s,f,h,p,m,g,v=d;for(n=n!==!1,h=e.getBody(),f=tinymce.grep(tinymce.toArray(h.getElementsByTagName("span")),c),s=0;sd&&f[s].setAttribute("data-mce-index",m-1)}return e.undoManager.add(),d=v,n?(g=a(v+1).length>0,u.next()):(g=a(v-1).length>0,u.prev()),!i&&g},u.done=function(t){var n,i,a,s;for(i=tinymce.toArray(e.getBody().getElementsByTagName("span")),n=0;ntexttexttexttexttext

+ return function(node, editor) { + var m, matches = [], text, dom = editor.dom; + var blockElementsMap, hiddenTextElementsMap, shortEndedElementsMap; + + blockElementsMap = editor.schema.getBlockElements(); // H1-H6, P, TD etc + hiddenTextElementsMap = editor.schema.getWhiteSpaceElements(); // TEXTAREA, PRE, STYLE, SCRIPT + shortEndedElementsMap = editor.schema.getShortEndedElements(); // BR, IMG, INPUT + + function createMatch(m, data) { + if (!m[0]) { + throw 'findAndReplaceDOMText cannot handle zero-length matches'; + } + + return { + start: m.index, + end: m.index + m[0].length, + text: m[0], + data: data + }; + } + + function getText(node) { + var txt; + + if (node.nodeType === 3) { + return node.data; + } + + if (hiddenTextElementsMap[node.nodeName] && !blockElementsMap[node.nodeName]) { + return ''; + } + + if (isContentEditableFalse(node)) { + return '\n'; + } + + txt = ''; + + if (blockElementsMap[node.nodeName] || shortEndedElementsMap[node.nodeName]) { + txt += '\n'; + } + + if ((node = node.firstChild)) { + do { + txt += getText(node); + } while ((node = node.nextSibling)); + } + + return txt; + } + + function stepThroughMatches(node, matches, replaceFn) { + var startNode, endNode, startNodeIndex, + endNodeIndex, innerNodes = [], atIndex = 0, curNode = node, + matchLocation, matchIndex = 0; + + matches = matches.slice(0); + matches.sort(function(a, b) { + return a.start - b.start; + }); + + matchLocation = matches.shift(); + + out: while (true) { + if (blockElementsMap[curNode.nodeName] || shortEndedElementsMap[curNode.nodeName] || isContentEditableFalse(curNode)) { + atIndex++; + } + + if (curNode.nodeType === 3) { + if (!endNode && curNode.length + atIndex >= matchLocation.end) { + // We've found the ending + endNode = curNode; + endNodeIndex = matchLocation.end - atIndex; + } else if (startNode) { + // Intersecting node + innerNodes.push(curNode); + } + + if (!startNode && curNode.length + atIndex > matchLocation.start) { + // We've found the match start + startNode = curNode; + startNodeIndex = matchLocation.start - atIndex; + } + + atIndex += curNode.length; + } + + if (startNode && endNode) { + curNode = replaceFn({ + startNode: startNode, + startNodeIndex: startNodeIndex, + endNode: endNode, + endNodeIndex: endNodeIndex, + innerNodes: innerNodes, + match: matchLocation.text, + matchIndex: matchIndex + }); + + // replaceFn has to return the node that replaced the endNode + // and then we step back so we can continue from the end of the + // match: + atIndex -= (endNode.length - endNodeIndex); + startNode = null; + endNode = null; + innerNodes = []; + matchLocation = matches.shift(); + matchIndex++; + + if (!matchLocation) { + break; // no more matches + } + } else if ((!hiddenTextElementsMap[curNode.nodeName] || blockElementsMap[curNode.nodeName]) && curNode.firstChild) { + if (!isContentEditableFalse(curNode)) { + // Move down + curNode = curNode.firstChild; + continue; + } + } else if (curNode.nextSibling) { + // Move forward: + curNode = curNode.nextSibling; + continue; + } + + // Move forward or up: + while (true) { + if (curNode.nextSibling) { + curNode = curNode.nextSibling; + break; + } else if (curNode.parentNode !== node) { + curNode = curNode.parentNode; + } else { + break out; + } + } + } + } + + /** + * Generates the actual replaceFn which splits up text nodes + * and inserts the replacement element. + */ + function genReplacer(callback) { + function makeReplacementNode(fill, matchIndex) { + var match = matches[matchIndex]; + + if (!match.stencil) { + match.stencil = callback(match); + } + + var clone = match.stencil.cloneNode(false); + clone.setAttribute('data-mce-index', matchIndex); + + if (fill) { + clone.appendChild(dom.doc.createTextNode(fill)); + } + + return clone; + } + + return function(range) { + var before, after, parentNode, startNode = range.startNode, + endNode = range.endNode, matchIndex = range.matchIndex, + doc = dom.doc; + + if (startNode === endNode) { + var node = startNode; + + parentNode = node.parentNode; + if (range.startNodeIndex > 0) { + // Add "before" text node (before the match) + before = doc.createTextNode(node.data.substring(0, range.startNodeIndex)); + parentNode.insertBefore(before, node); + } + + // Create the replacement node: + var el = makeReplacementNode(range.match, matchIndex); + parentNode.insertBefore(el, node); + if (range.endNodeIndex < node.length) { + // Add "after" text node (after the match) + after = doc.createTextNode(node.data.substring(range.endNodeIndex)); + parentNode.insertBefore(after, node); + } + + node.parentNode.removeChild(node); + + return el; + } + + // Replace startNode -> [innerNodes...] -> endNode (in that order) + before = doc.createTextNode(startNode.data.substring(0, range.startNodeIndex)); + after = doc.createTextNode(endNode.data.substring(range.endNodeIndex)); + var elA = makeReplacementNode(startNode.data.substring(range.startNodeIndex), matchIndex); + var innerEls = []; + + for (var i = 0, l = range.innerNodes.length; i < l; ++i) { + var innerNode = range.innerNodes[i]; + var innerEl = makeReplacementNode(innerNode.data, matchIndex); + innerNode.parentNode.replaceChild(innerEl, innerNode); + innerEls.push(innerEl); + } + + var elB = makeReplacementNode(endNode.data.substring(0, range.endNodeIndex), matchIndex); + + parentNode = startNode.parentNode; + parentNode.insertBefore(before, startNode); + parentNode.insertBefore(elA, startNode); + parentNode.removeChild(startNode); + + parentNode = endNode.parentNode; + parentNode.insertBefore(elB, endNode); + parentNode.insertBefore(after, endNode); + parentNode.removeChild(endNode); + + return elB; + }; + } + + function unwrapElement(element) { + var parentNode = element.parentNode; + parentNode.insertBefore(element.firstChild, element); + element.parentNode.removeChild(element); + } + + function getWrappersByIndex(index) { + var elements = node.getElementsByTagName('*'), wrappers = []; + + index = typeof index == "number" ? "" + index : null; + + for (var i = 0; i < elements.length; i++) { + var element = elements[i], dataIndex = element.getAttribute('data-mce-index'); + + if (dataIndex !== null && dataIndex.length) { + if (dataIndex === index || index === null) { + wrappers.push(element); + } + } + } + + return wrappers; + } + + /** + * Returns the index of a specific match object or -1 if it isn't found. + * + * @param {Match} match Text match object. + * @return {Number} Index of match or -1 if it isn't found. + */ + function indexOf(match) { + var i = matches.length; + while (i--) { + if (matches[i] === match) { + return i; + } + } + + return -1; + } + + /** + * Filters the matches. If the callback returns true it stays if not it gets removed. + * + * @param {Function} callback Callback to execute for each match. + * @return {DomTextMatcher} Current DomTextMatcher instance. + */ + function filter(callback) { + var filteredMatches = []; + + each(function(match, i) { + if (callback(match, i)) { + filteredMatches.push(match); + } + }); + + matches = filteredMatches; + + /*jshint validthis:true*/ + return this; + } + + /** + * Executes the specified callback for each match. + * + * @param {Function} callback Callback to execute for each match. + * @return {DomTextMatcher} Current DomTextMatcher instance. + */ + function each(callback) { + for (var i = 0, l = matches.length; i < l; i++) { + if (callback(matches[i], i) === false) { + break; + } + } + + /*jshint validthis:true*/ + return this; + } + + /** + * Wraps the current matches with nodes created by the specified callback. + * Multiple clones of these matches might occur on matches that are on multiple nodex. + * + * @param {Function} callback Callback to execute in order to create elements for matches. + * @return {DomTextMatcher} Current DomTextMatcher instance. + */ + function wrap(callback) { + if (matches.length) { + stepThroughMatches(node, matches, genReplacer(callback)); + } + + /*jshint validthis:true*/ + return this; + } + + /** + * Finds the specified regexp and adds them to the matches collection. + * + * @param {RegExp} regex Global regexp to search the current node by. + * @param {Object} [data] Optional custom data element for the match. + * @return {DomTextMatcher} Current DomTextMatcher instance. + */ + function find(regex, data) { + if (text && regex.global) { + while ((m = regex.exec(text))) { + matches.push(createMatch(m, data)); + } + } + + return this; + } + + /** + * Unwraps the specified match object or all matches if unspecified. + * + * @param {Object} [match] Optional match object. + * @return {DomTextMatcher} Current DomTextMatcher instance. + */ + function unwrap(match) { + var i, elements = getWrappersByIndex(match ? indexOf(match) : null); + + i = elements.length; + while (i--) { + unwrapElement(elements[i]); + } + + return this; + } + + /** + * Returns a match object by the specified DOM element. + * + * @param {DOMElement} element Element to return match object for. + * @return {Object} Match object for the specified element. + */ + function matchFromElement(element) { + return matches[element.getAttribute('data-mce-index')]; + } + + /** + * Returns a DOM element from the specified match element. This will be the first element if it's split + * on multiple nodes. + * + * @param {Object} match Match element to get first element of. + * @return {DOMElement} DOM element for the specified match object. + */ + function elementFromMatch(match) { + return getWrappersByIndex(indexOf(match))[0]; + } + + /** + * Adds match the specified range for example a grammar line. + * + * @param {Number} start Start offset. + * @param {Number} length Length of the text. + * @param {Object} data Custom data object for match. + * @return {DomTextMatcher} Current DomTextMatcher instance. + */ + function add(start, length, data) { + matches.push({ + start: start, + end: start + length, + text: text.substr(start, length), + data: data + }); + + return this; + } + + /** + * Returns a DOM range for the specified match. + * + * @param {Object} match Match object to get range for. + * @return {DOMRange} DOM Range for the specified match. + */ + function rangeFromMatch(match) { + var wrappers = getWrappersByIndex(indexOf(match)); + + var rng = editor.dom.createRng(); + rng.setStartBefore(wrappers[0]); + rng.setEndAfter(wrappers[wrappers.length - 1]); + + return rng; + } + + /** + * Replaces the specified match with the specified text. + * + * @param {Object} match Match object to replace. + * @param {String} text Text to replace the match with. + * @return {DOMRange} DOM range produced after the replace. + */ + function replace(match, text) { + var rng = rangeFromMatch(match); + + rng.deleteContents(); + + if (text.length > 0) { + rng.insertNode(editor.dom.doc.createTextNode(text)); + } + + return rng; + } + + /** + * Resets the DomTextMatcher instance. This will remove any wrapped nodes and remove any matches. + * + * @return {[type]} [description] + */ + function reset() { + matches.splice(0, matches.length); + unwrap(); + + return this; + } + + text = getText(node); + + return { + text: text, + matches: matches, + each: each, + filter: filter, + reset: reset, + matchFromElement: matchFromElement, + elementFromMatch: elementFromMatch, + find: find, + add: add, + wrap: wrap, + unwrap: unwrap, + replace: replace, + rangeFromMatch: rangeFromMatch, + indexOf: indexOf + }; + }; +}); + +// Included from: js/tinymce/plugins/spellchecker/classes/Plugin.js + +/** + * Plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*jshint camelcase:false */ + +/** + * This class contains all core logic for the spellchecker plugin. + * + * @class tinymce.spellcheckerplugin.Plugin + * @private + */ +define("tinymce/spellcheckerplugin/Plugin", [ + "tinymce/spellcheckerplugin/DomTextMatcher", + "tinymce/PluginManager", + "tinymce/util/Tools", + "tinymce/ui/Menu", + "tinymce/dom/DOMUtils", + "tinymce/util/XHR", + "tinymce/util/URI", + "tinymce/util/JSON" +], function(DomTextMatcher, PluginManager, Tools, Menu, DOMUtils, XHR, URI, JSON) { + PluginManager.add('spellchecker', function(editor, url) { + var languageMenuItems, self = this, lastSuggestions, started, suggestionsMenu, settings = editor.settings; + var hasDictionarySupport; + + function getTextMatcher() { + if (!self.textMatcher) { + self.textMatcher = new DomTextMatcher(editor.getBody(), editor); + } + + return self.textMatcher; + } + + function buildMenuItems(listName, languageValues) { + var items = []; + + Tools.each(languageValues, function(languageValue) { + items.push({ + selectable: true, + text: languageValue.name, + data: languageValue.value + }); + }); + + return items; + } + + // draw back if power version is requested and registered + if (/(^|[ ,])tinymcespellchecker([, ]|$)/.test(settings.plugins) && PluginManager.get('tinymcespellchecker')) { + /*eslint no-console:0 */ + if (typeof console !== "undefined" && console.log) { + console.log( + "Spell Checker Pro is incompatible with Spell Checker plugin! " + + "Remove 'spellchecker' from the 'plugins' option." + ); + } + return; + } + + var languagesString = settings.spellchecker_languages || + 'English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr_FR,' + + 'German=de,Italian=it,Polish=pl,Portuguese=pt_BR,' + + 'Spanish=es,Swedish=sv'; + + languageMenuItems = buildMenuItems('Language', + Tools.map(languagesString.split(','), function(langPair) { + langPair = langPair.split('='); + + return { + name: langPair[0], + value: langPair[1] + }; + }) + ); + + function isEmpty(obj) { + /*jshint unused:false*/ + /*eslint no-unused-vars:0 */ + for (var name in obj) { + return false; + } + + return true; + } + + function showSuggestions(word, spans) { + var items = [], suggestions = lastSuggestions[word]; + + Tools.each(suggestions, function(suggestion) { + items.push({ + text: suggestion, + onclick: function() { + editor.insertContent(editor.dom.encode(suggestion)); + editor.dom.remove(spans); + checkIfFinished(); + } + }); + }); + + items.push({text: '-'}); + + if (hasDictionarySupport) { + items.push({text: 'Add to Dictionary', onclick: function() { + addToDictionary(word, spans); + }}); + } + + items.push.apply(items, [ + {text: 'Ignore', onclick: function() { + ignoreWord(word, spans); + }}, + + {text: 'Ignore all', onclick: function() { + ignoreWord(word, spans, true); + }} + ]); + + // Render menu + suggestionsMenu = new Menu({ + items: items, + context: 'contextmenu', + onautohide: function(e) { + if (e.target.className.indexOf('spellchecker') != -1) { + e.preventDefault(); + } + }, + onhide: function() { + suggestionsMenu.remove(); + suggestionsMenu = null; + } + }); + + suggestionsMenu.renderTo(document.body); + + // Position menu + var pos = DOMUtils.DOM.getPos(editor.getContentAreaContainer()); + var targetPos = editor.dom.getPos(spans[0]); + var root = editor.dom.getRoot(); + + // Adjust targetPos for scrolling in the editor + if (root.nodeName == 'BODY') { + targetPos.x -= root.ownerDocument.documentElement.scrollLeft || root.scrollLeft; + targetPos.y -= root.ownerDocument.documentElement.scrollTop || root.scrollTop; + } else { + targetPos.x -= root.scrollLeft; + targetPos.y -= root.scrollTop; + } + + pos.x += targetPos.x; + pos.y += targetPos.y; + + suggestionsMenu.moveTo(pos.x, pos.y + spans[0].offsetHeight); + } + + function getWordCharPattern() { + // Regexp for finding word specific characters this will split words by + // spaces, quotes, copy right characters etc. It's escaped with unicode characters + // to make it easier to output scripts on servers using different encodings + // so if you add any characters outside the 128 byte range make sure to escape it + return editor.getParam('spellchecker_wordchar_pattern') || new RegExp("[^" + + "\\s!\"#$%&()*+,-./:;<=>?@[\\]^_{|}`" + + "\u00a7\u00a9\u00ab\u00ae\u00b1\u00b6\u00b7\u00b8\u00bb" + + "\u00bc\u00bd\u00be\u00bf\u00d7\u00f7\u00a4\u201d\u201c\u201e\u00a0\u2002\u2003\u2009" + + "]+", "g"); + } + + function defaultSpellcheckCallback(method, text, doneCallback, errorCallback) { + var data = {method: method, lang: settings.spellchecker_language}, postData = ''; + + data[method == "addToDictionary" ? "word" : "text"] = text; + + Tools.each(data, function(value, key) { + if (postData) { + postData += '&'; + } + + postData += key + '=' + encodeURIComponent(value); + }); + + XHR.send({ + url: new URI(url).toAbsolute(settings.spellchecker_rpc_url), + type: "post", + content_type: 'application/x-www-form-urlencoded', + data: postData, + success: function(result) { + result = JSON.parse(result); + + if (!result) { + var message = editor.translate("Server response wasn't proper JSON."); + errorCallback(message); + } else if (result.error) { + errorCallback(result.error); + } else { + doneCallback(result); + } + }, + error: function() { + var message = editor.translate("The spelling service was not found: (") + + settings.spellchecker_rpc_url + + editor.translate(")"); + errorCallback(message); + } + }); + } + + function sendRpcCall(name, data, successCallback, errorCallback) { + var spellCheckCallback = settings.spellchecker_callback || defaultSpellcheckCallback; + spellCheckCallback.call(self, name, data, successCallback, errorCallback); + } + + function spellcheck() { + if (finish()) { + return; + } + + function errorCallback(message) { + editor.notificationManager.open({text: message, type: 'error'}); + editor.setProgressState(false); + finish(); + } + + editor.setProgressState(true); + sendRpcCall("spellcheck", getTextMatcher().text, markErrors, errorCallback); + editor.focus(); + } + + function checkIfFinished() { + if (!editor.dom.select('span.mce-spellchecker-word').length) { + finish(); + } + } + + function addToDictionary(word, spans) { + editor.setProgressState(true); + + sendRpcCall("addToDictionary", word, function() { + editor.setProgressState(false); + editor.dom.remove(spans, true); + checkIfFinished(); + }, function(message) { + editor.notificationManager.open({text: message, type: 'error'}); + editor.setProgressState(false); + }); + } + + function ignoreWord(word, spans, all) { + editor.selection.collapse(); + + if (all) { + Tools.each(editor.dom.select('span.mce-spellchecker-word'), function(span) { + if (span.getAttribute('data-mce-word') == word) { + editor.dom.remove(span, true); + } + }); + } else { + editor.dom.remove(spans, true); + } + + checkIfFinished(); + } + + function finish() { + getTextMatcher().reset(); + self.textMatcher = null; + + if (started) { + started = false; + editor.fire('SpellcheckEnd'); + return true; + } + } + + function getElmIndex(elm) { + var value = elm.getAttribute('data-mce-index'); + + if (typeof value == "number") { + return "" + value; + } + + return value; + } + + function findSpansByIndex(index) { + var nodes, spans = []; + + nodes = Tools.toArray(editor.getBody().getElementsByTagName('span')); + if (nodes.length) { + for (var i = 0; i < nodes.length; i++) { + var nodeIndex = getElmIndex(nodes[i]); + + if (nodeIndex === null || !nodeIndex.length) { + continue; + } + + if (nodeIndex === index.toString()) { + spans.push(nodes[i]); + } + } + } + + return spans; + } + + editor.on('click', function(e) { + var target = e.target; + + if (target.className == "mce-spellchecker-word") { + e.preventDefault(); + + var spans = findSpansByIndex(getElmIndex(target)); + + if (spans.length > 0) { + var rng = editor.dom.createRng(); + rng.setStartBefore(spans[0]); + rng.setEndAfter(spans[spans.length - 1]); + editor.selection.setRng(rng); + showSuggestions(target.getAttribute('data-mce-word'), spans); + } + } + }); + + editor.addMenuItem('spellchecker', { + text: 'Spellcheck', + context: 'tools', + onclick: spellcheck, + selectable: true, + onPostRender: function() { + var self = this; + + self.active(started); + + editor.on('SpellcheckStart SpellcheckEnd', function() { + self.active(started); + }); + } + }); + + function updateSelection(e) { + var selectedLanguage = settings.spellchecker_language; + + e.control.items().each(function(ctrl) { + ctrl.active(ctrl.settings.data === selectedLanguage); + }); + } + + /** + * Find the specified words and marks them. It will also show suggestions for those words. + * + * @example + * editor.plugins.spellchecker.markErrors({ + * dictionary: true, + * words: { + * "word1": ["suggestion 1", "Suggestion 2"] + * } + * }); + * @param {Object} data Data object containing the words with suggestions. + */ + function markErrors(data) { + var suggestions; + + if (data.words) { + hasDictionarySupport = !!data.dictionary; + suggestions = data.words; + } else { + // Fallback to old format + suggestions = data; + } + + editor.setProgressState(false); + + if (isEmpty(suggestions)) { + var message = editor.translate('No misspellings found.'); + editor.notificationManager.open({text: message, type: 'info'}); + started = false; + return; + } + + lastSuggestions = suggestions; + + getTextMatcher().find(getWordCharPattern()).filter(function(match) { + return !!suggestions[match.text]; + }).wrap(function(match) { + return editor.dom.create('span', { + "class": 'mce-spellchecker-word', + "data-mce-bogus": 1, + "data-mce-word": match.text + }); + }); + + started = true; + editor.fire('SpellcheckStart'); + } + + var buttonArgs = { + tooltip: 'Spellcheck', + onclick: spellcheck, + onPostRender: function() { + var self = this; + + editor.on('SpellcheckStart SpellcheckEnd', function() { + self.active(started); + }); + } + }; + + if (languageMenuItems.length > 1) { + buttonArgs.type = 'splitbutton'; + buttonArgs.menu = languageMenuItems; + buttonArgs.onshow = updateSelection; + buttonArgs.onselect = function(e) { + settings.spellchecker_language = e.control.settings.data; + }; + } + + editor.addButton('spellchecker', buttonArgs); + editor.addCommand('mceSpellCheck', spellcheck); + + editor.on('remove', function() { + if (suggestionsMenu) { + suggestionsMenu.remove(); + suggestionsMenu = null; + } + }); + + editor.on('change', checkIfFinished); + + this.getTextMatcher = getTextMatcher; + this.getWordCharPattern = getWordCharPattern; + this.markErrors = markErrors; + this.getLanguage = function() { + return settings.spellchecker_language; + }; + + // Set default spellchecker language if it's not specified + settings.spellchecker_language = settings.spellchecker_language || settings.language || 'en'; + }); +}); + +expose(["tinymce/spellcheckerplugin/DomTextMatcher"]); +})(this); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/spellchecker/plugin.min.js b/public/mosaico/dist/vendor/plugins/spellchecker/plugin.min.js new file mode 100644 index 00000000..e2f12d5f --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/spellchecker/plugin.min.js @@ -0,0 +1 @@ +!function(e,t){"use strict";function n(e,t){for(var n,r=[],o=0;o=l.end?(o=d,s=l.end-u):i&&c.push(d),!i&&d.length+u>l.start&&(i=d,a=l.start-u),u+=d.length),i&&o){if(d=r({startNode:i,startNodeIndex:a,endNode:o,endNodeIndex:s,innerNodes:c,match:l.text,matchIndex:f}),u-=o.length-s,i=null,o=null,c=[],l=n.shift(),f++,!l)break}else if(E[d.nodeName]&&!N[d.nodeName]||!d.firstChild){if(d.nextSibling){d=d.nextSibling;continue}}else if(!e(d)){d=d.firstChild;continue}for(;;){if(d.nextSibling){d=d.nextSibling;break}if(d.parentNode===t)break e;d=d.parentNode}}}function a(e){function t(t,n){var r=S[n];r.stencil||(r.stencil=e(r));var i=r.stencil.cloneNode(!1);return i.setAttribute("data-mce-index",n),t&&i.appendChild(k.doc.createTextNode(t)),i}return function(e){var n,r,i,o=e.startNode,a=e.endNode,s=e.matchIndex,l=k.doc;if(o===a){var c=o;i=c.parentNode,e.startNodeIndex>0&&(n=l.createTextNode(c.data.substring(0,e.startNodeIndex)),i.insertBefore(n,c));var u=t(e.match,s);return i.insertBefore(u,c),e.endNodeIndex0&&r.insertNode(n.dom.doc.createTextNode(t)),r}function C(){return S.splice(0,S.length),p(),this}var x,w,N,E,_,S=[],k=n.dom;return N=n.schema.getBlockElements(),E=n.schema.getWhiteSpaceElements(),_=n.schema.getShortEndedElements(),w=i(t),{text:w,matches:S,each:d,filter:u,reset:C,matchFromElement:m,elementFromMatch:g,find:h,add:v,wrap:f,unwrap:p,replace:b,rangeFromMatch:y,indexOf:c}}}),r("tinymce/spellcheckerplugin/Plugin",["tinymce/spellcheckerplugin/DomTextMatcher","tinymce/PluginManager","tinymce/util/Tools","tinymce/ui/Menu","tinymce/dom/DOMUtils","tinymce/util/XHR","tinymce/util/URI","tinymce/util/JSON"],function(e,t,n,r,i,o,a,s){t.add("spellchecker",function(l,c){function u(){return B.textMatcher||(B.textMatcher=new e(l.getBody(),l)),B.textMatcher}function d(e,t){var r=[];return n.each(t,function(e){r.push({selectable:!0,text:e.name,data:e.value})}),r}function f(e){for(var t in e)return!1;return!0}function h(e,t){var o=[],a=k[e];n.each(a,function(e){o.push({text:e,onclick:function(){l.insertContent(l.dom.encode(e)),l.dom.remove(t),y()}})}),o.push({text:"-"}),A&&o.push({text:"Add to Dictionary",onclick:function(){b(e,t)}}),o.push.apply(o,[{text:"Ignore",onclick:function(){C(e,t)}},{text:"Ignore all",onclick:function(){C(e,t,!0)}}]),R=new r({items:o,context:"contextmenu",onautohide:function(e){e.target.className.indexOf("spellchecker")!=-1&&e.preventDefault()},onhide:function(){R.remove(),R=null}}),R.renderTo(document.body);var s=i.DOM.getPos(l.getContentAreaContainer()),c=l.dom.getPos(t[0]),u=l.dom.getRoot();"BODY"==u.nodeName?(c.x-=u.ownerDocument.documentElement.scrollLeft||u.scrollLeft,c.y-=u.ownerDocument.documentElement.scrollTop||u.scrollTop):(c.x-=u.scrollLeft,c.y-=u.scrollTop),s.x+=c.x,s.y+=c.y,R.moveTo(s.x,s.y+t[0].offsetHeight)}function p(){return l.getParam("spellchecker_wordchar_pattern")||new RegExp('[^\\s!"#$%&()*+,-./:;<=>?@[\\]^_{|}`\xa7\xa9\xab\xae\xb1\xb6\xb7\xb8\xbb\xbc\xbd\xbe\xbf\xd7\xf7\xa4\u201d\u201c\u201e\xa0\u2002\u2003\u2009]+',"g")}function m(e,t,r,i){var u={method:e,lang:D.spellchecker_language},d="";u["addToDictionary"==e?"word":"text"]=t,n.each(u,function(e,t){d&&(d+="&"),d+=t+"="+encodeURIComponent(e)}),o.send({url:new a(c).toAbsolute(D.spellchecker_rpc_url),type:"post",content_type:"application/x-www-form-urlencoded",data:d,success:function(e){if(e=s.parse(e))e.error?i(e.error):r(e);else{var t=l.translate("Server response wasn't proper JSON.");i(t)}},error:function(){var e=l.translate("The spelling service was not found: (")+D.spellchecker_rpc_url+l.translate(")");i(e)}})}function g(e,t,n,r){var i=D.spellchecker_callback||m;i.call(B,e,t,n,r)}function v(){function e(e){l.notificationManager.open({text:e,type:"error"}),l.setProgressState(!1),x()}x()||(l.setProgressState(!0),g("spellcheck",u().text,_,e),l.focus())}function y(){l.dom.select("span.mce-spellchecker-word").length||x()}function b(e,t){l.setProgressState(!0),g("addToDictionary",e,function(){l.setProgressState(!1),l.dom.remove(t,!0),y()},function(e){l.notificationManager.open({text:e,type:"error"}),l.setProgressState(!1)})}function C(e,t,r){l.selection.collapse(),r?n.each(l.dom.select("span.mce-spellchecker-word"),function(t){t.getAttribute("data-mce-word")==e&&l.dom.remove(t,!0)}):l.dom.remove(t,!0),y()}function x(){if(u().reset(),B.textMatcher=null,T)return T=!1,l.fire("SpellcheckEnd"),!0}function w(e){var t=e.getAttribute("data-mce-index");return"number"==typeof t?""+t:t}function N(e){var t,r=[];if(t=n.toArray(l.getBody().getElementsByTagName("span")),t.length)for(var i=0;i0){var r=l.dom.createRng();r.setStartBefore(n[0]),r.setEndAfter(n[n.length-1]),l.selection.setRng(r),h(t.getAttribute("data-mce-word"),n)}}}),l.addMenuItem("spellchecker",{text:"Spellcheck",context:"tools",onclick:v,selectable:!0,onPostRender:function(){var e=this;e.active(T),l.on("SpellcheckStart SpellcheckEnd",function(){e.active(T)})}});var M={tooltip:"Spellcheck",onclick:v,onPostRender:function(){var e=this;l.on("SpellcheckStart SpellcheckEnd",function(){e.active(T)})}};S.length>1&&(M.type="splitbutton",M.menu=S,M.onshow=E,M.onselect=function(e){D.spellchecker_language=e.control.settings.data}),l.addButton("spellchecker",M),l.addCommand("mceSpellCheck",v),l.on("remove",function(){R&&(R.remove(),R=null)}),l.on("change",y),this.getTextMatcher=u,this.getWordCharPattern=p,this.markErrors=_,this.getLanguage=function(){return D.spellchecker_language},D.spellchecker_language=D.spellchecker_language||D.language||"en"})}),o(["tinymce/spellcheckerplugin/DomTextMatcher"])}(this); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/tabfocus/plugin.js b/public/mosaico/dist/vendor/plugins/tabfocus/plugin.js new file mode 100644 index 00000000..35bc9f58 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/tabfocus/plugin.js @@ -0,0 +1,120 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ + +tinymce.PluginManager.add('tabfocus', function(editor) { + var DOM = tinymce.DOM, each = tinymce.each, explode = tinymce.explode; + + function tabCancel(e) { + if (e.keyCode === 9 && !e.ctrlKey && !e.altKey && !e.metaKey) { + e.preventDefault(); + } + } + + function tabHandler(e) { + var x, el, v, i; + + if (e.keyCode !== 9 || e.ctrlKey || e.altKey || e.metaKey || e.isDefaultPrevented()) { + return; + } + + function find(direction) { + el = DOM.select(':input:enabled,*[tabindex]:not(iframe)'); + + function canSelectRecursive(e) { + return e.nodeName === "BODY" || (e.type != 'hidden' && + e.style.display != "none" && + e.style.visibility != "hidden" && canSelectRecursive(e.parentNode)); + } + + function canSelect(el) { + return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && tinymce.get(e.id) && el.tabIndex != -1 && canSelectRecursive(el); + } + + each(el, function(e, i) { + if (e.id == editor.id) { + x = i; + return false; + } + }); + if (direction > 0) { + for (i = x + 1; i < el.length; i++) { + if (canSelect(el[i])) { + return el[i]; + } + } + } else { + for (i = x - 1; i >= 0; i--) { + if (canSelect(el[i])) { + return el[i]; + } + } + } + + return null; + } + + v = explode(editor.getParam('tab_focus', editor.getParam('tabfocus_elements', ':prev,:next'))); + + if (v.length == 1) { + v[1] = v[0]; + v[0] = ':prev'; + } + + // Find element to focus + if (e.shiftKey) { + if (v[0] == ':prev') { + el = find(-1); + } else { + el = DOM.get(v[0]); + } + } else { + if (v[1] == ':next') { + el = find(1); + } else { + el = DOM.get(v[1]); + } + } + + if (el) { + var focusEditor = tinymce.get(el.id || el.name); + + if (el.id && focusEditor) { + focusEditor.focus(); + } else { + tinymce.util.Delay.setTimeout(function() { + if (!tinymce.Env.webkit) { + window.focus(); + } + + el.focus(); + }, 10); + } + + e.preventDefault(); + } + } + + editor.on('init', function() { + if (editor.inline) { + // Remove default tabIndex in inline mode + tinymce.DOM.setAttrib(editor.getBody(), 'tabIndex', null); + } + + editor.on('keyup', tabCancel); + + if (tinymce.Env.gecko) { + editor.on('keypress keydown', tabHandler); + } else { + editor.on('keydown', tabHandler); + } + }); +}); diff --git a/public/mosaico/dist/vendor/plugins/tabfocus/plugin.min.js b/public/mosaico/dist/vendor/plugins/tabfocus/plugin.min.js new file mode 100644 index 00000000..d310d0b8 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/tabfocus/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("tabfocus",function(e){function t(e){9!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()}function n(t){function n(n){function o(e){return"BODY"===e.nodeName||"hidden"!=e.type&&"none"!=e.style.display&&"hidden"!=e.style.visibility&&o(e.parentNode)}function l(e){return/INPUT|TEXTAREA|BUTTON/.test(e.tagName)&&tinymce.get(t.id)&&e.tabIndex!=-1&&o(e)}if(s=r.select(":input:enabled,*[tabindex]:not(iframe)"),i(s,function(t,n){if(t.id==e.id)return a=n,!1}),n>0){for(c=a+1;c=0;c--)if(l(s[c]))return s[c];return null}var a,s,l,c;if(!(9!==t.keyCode||t.ctrlKey||t.altKey||t.metaKey||t.isDefaultPrevented())&&(l=o(e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))),1==l.length&&(l[1]=l[0],l[0]=":prev"),s=t.shiftKey?":prev"==l[0]?n(-1):r.get(l[0]):":next"==l[1]?n(1):r.get(l[1]))){var u=tinymce.get(s.id||s.name);s.id&&u?u.focus():tinymce.util.Delay.setTimeout(function(){tinymce.Env.webkit||window.focus(),s.focus()},10),t.preventDefault()}}var r=tinymce.DOM,i=tinymce.each,o=tinymce.explode;e.on("init",function(){e.inline&&tinymce.DOM.setAttrib(e.getBody(),"tabIndex",null),e.on("keyup",t),tinymce.Env.gecko?e.on("keypress keydown",n):e.on("keydown",n)})}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/table/plugin.js b/public/mosaico/dist/vendor/plugins/table/plugin.js new file mode 100644 index 00000000..d1bdf147 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/table/plugin.js @@ -0,0 +1,4400 @@ +/** + * Compiled inline version. (Library mode) + */ + +/*jshint smarttabs:true, undef:true, latedef:true, curly:true, bitwise:true, camelcase:true */ +/*globals $code */ + +(function(exports, undefined) { + "use strict"; + + var modules = {}; + + function require(ids, callback) { + var module, defs = []; + + for (var i = 0; i < ids.length; ++i) { + module = modules[ids[i]] || resolve(ids[i]); + if (!module) { + throw 'module definition dependecy not found: ' + ids[i]; + } + + defs.push(module); + } + + callback.apply(null, defs); + } + + function define(id, dependencies, definition) { + if (typeof id !== 'string') { + throw 'invalid module definition, module id must be defined and be a string'; + } + + if (dependencies === undefined) { + throw 'invalid module definition, dependencies must be specified'; + } + + if (definition === undefined) { + throw 'invalid module definition, definition function must be specified'; + } + + require(dependencies, function() { + modules[id] = definition.apply(null, arguments); + }); + } + + function defined(id) { + return !!modules[id]; + } + + function resolve(id) { + var target = exports; + var fragments = id.split(/[.\/]/); + + for (var fi = 0; fi < fragments.length; ++fi) { + if (!target[fragments[fi]]) { + return; + } + + target = target[fragments[fi]]; + } + + return target; + } + + function expose(ids) { + var i, target, id, fragments, privateModules; + + for (i = 0; i < ids.length; i++) { + target = exports; + id = ids[i]; + fragments = id.split(/[.\/]/); + + for (var fi = 0; fi < fragments.length - 1; ++fi) { + if (target[fragments[fi]] === undefined) { + target[fragments[fi]] = {}; + } + + target = target[fragments[fi]]; + } + + target[fragments[fragments.length - 1]] = modules[id]; + } + + // Expose private modules for unit tests + if (exports.AMDLC_TESTS) { + privateModules = exports.privateModules || {}; + + for (id in modules) { + privateModules[id] = modules[id]; + } + + for (i = 0; i < ids.length; i++) { + delete privateModules[ids[i]]; + } + + exports.privateModules = privateModules; + } + } + +// Included from: js/tinymce/plugins/table/classes/Utils.js + +/** + * Utils.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * Various utility functions. + * + * @class tinymce.tableplugin.Utils + * @private + */ +define("tinymce/tableplugin/Utils", [ + "tinymce/Env" +], function(Env) { + var setSpanVal = function (name) { + return function (td, val) { + if (td) { + val = parseInt(val, 10); + + if (val === 1 || val === 0) { + td.removeAttribute(name, 1); + } else { + td.setAttribute(name, val, 1); + } + } + }; + }; + + var getSpanVal = function (name) { + return function (td) { + return parseInt(td.getAttribute(name) || 1, 10); + }; + }; + + function paddCell(cell) { + if (!Env.ie || Env.ie > 9) { + if (!cell.hasChildNodes()) { + cell.innerHTML = '
'; + } + } + } + + return { + setColSpan: setSpanVal('colSpan'), + setRowSpan: setSpanVal('rowspan'), + getColSpan: getSpanVal('colSpan'), + getRowSpan: getSpanVal('rowSpan'), + setSpanVal: function (td, name, value) { + setSpanVal(name)(td, value); + }, + getSpanVal: function (td, name) { + return getSpanVal(name)(td); + }, + paddCell: paddCell + }; +}); + +// Included from: js/tinymce/plugins/table/classes/SplitCols.js + +/** + * SplitCols.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * Contains logic for handling splitting of merged rows. + * + * @class tinymce.tableplugin.SplitCols + * @private + */ +define("tinymce/tableplugin/SplitCols", [ + "tinymce/util/Tools", + "tinymce/tableplugin/Utils" +], function(Tools, Utils) { + var getCellAt = function (grid, x, y) { + return grid[y] ? grid[y][x] : null; + }; + + var getCellElmAt = function (grid, x, y) { + var cell = getCellAt(grid, x, y); + return cell ? cell.elm : null; + }; + + var countHoles = function (grid, x, y, delta) { + var y2, cell, count = 0, elm = getCellElmAt(grid, x, y); + + for (y2 = y; delta > 0 ? y2 < grid.length : y2 >= 0; y2 += delta) { + cell = getCellAt(grid, x, y2); + if (elm !== cell.elm) { + break; + } + + count++; + } + + return count; + }; + + var findRealElm = function (grid, x, y) { + var cell, row = grid[y]; + + for (var x2 = x; x2 < row.length; x2++) { + cell = row[x2]; + if (cell.real) { + return cell.elm; + } + } + + return null; + }; + + var getRowSplitInfo = function (grid, y) { + var cell, result = [], row = grid[y]; + + for (var x = 0; x < row.length; x++) { + cell = row[x]; + result.push({ + elm: cell.elm, + above: countHoles(grid, x, y, -1) - 1, + below: countHoles(grid, x, y, 1) - 1 + }); + + x += Utils.getColSpan(cell.elm) - 1; + } + + return result; + }; + + var createCell = function (info, rowSpan) { + var doc = info.elm.ownerDocument; + var newCell = doc.createElement('td'); + + Utils.setColSpan(newCell, Utils.getColSpan(info.elm)); + Utils.setRowSpan(newCell, rowSpan); + Utils.paddCell(newCell); + + return newCell; + }; + + var insertOrAppendCell = function (grid, newCell, x, y) { + var realCellElm = findRealElm(grid, x + 1, y); + + if (!realCellElm) { + realCellElm = findRealElm(grid, 0, y); + realCellElm.parentNode.appendChild(newCell); + } else { + realCellElm.parentNode.insertBefore(newCell, realCellElm); + } + }; + + var splitAbove = function (grid, info, x, y) { + if (info.above !== 0) { + Utils.setRowSpan(info.elm, info.above); + var cell = createCell(info, info.below + 1); + insertOrAppendCell(grid, cell, x, y); + return cell; + } + + return null; + }; + + var splitBelow = function (grid, info, x, y) { + if (info.below !== 0) { + Utils.setRowSpan(info.elm, info.above + 1); + var cell = createCell(info, info.below); + insertOrAppendCell(grid, cell, x, y + 1); + return cell; + } + + return null; + }; + + var splitAt = function (grid, x, y, before) { + var rowInfos = getRowSplitInfo(grid, y); + var rowElm = getCellElmAt(grid, x, y).parentNode; + var cells = []; + + Tools.each(rowInfos, function (info, x) { + var cell = before ? splitAbove(grid, info, x, y) : splitBelow(grid, info, x, y); + if (cell !== null) { + cells.push(cells); + } + }); + + return { + cells: cells, + row: rowElm + }; + }; + + return { + splitAt: splitAt + }; +}); + +// Included from: js/tinymce/plugins/table/classes/TableGrid.js + +/** + * TableGrid.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class creates a grid out of a table element. This + * makes it a whole lot easier to handle complex tables with + * col/row spans. + * + * @class tinymce.tableplugin.TableGrid + * @private + */ +define("tinymce/tableplugin/TableGrid", [ + "tinymce/util/Tools", + "tinymce/Env", + "tinymce/tableplugin/Utils", + "tinymce/tableplugin/SplitCols" +], function(Tools, Env, Utils, SplitCols) { + var each = Tools.each, getSpanVal = Utils.getSpanVal, setSpanVal = Utils.setSpanVal; + + return function(editor, table, selectedCell) { + var grid, gridWidth, startPos, endPos, selection = editor.selection, dom = selection.dom; + + function removeCellSelection() { + editor.$('td[data-mce-selected],th[data-mce-selected]').removeAttr('data-mce-selected'); + } + + function isEditorBody(node) { + return node === editor.getBody(); + } + + function getChildrenByName(node, names) { + if (!node) { + return []; + } + + names = Tools.map(names.split(','), function(name) { + return name.toLowerCase(); + }); + + return Tools.grep(node.childNodes, function(node) { + return Tools.inArray(names, node.nodeName.toLowerCase()) !== -1; + }); + } + + function buildGrid() { + var startY = 0; + + grid = []; + gridWidth = 0; + + each(['thead', 'tbody', 'tfoot'], function(part) { + var partElm = getChildrenByName(table, part)[0]; + var rows = getChildrenByName(partElm, 'tr'); + + each(rows, function(tr, y) { + y += startY; + + each(getChildrenByName(tr, 'td,th'), function(td, x) { + var x2, y2, rowspan, colspan; + + // Skip over existing cells produced by rowspan + if (grid[y]) { + while (grid[y][x]) { + x++; + } + } + + // Get col/rowspan from cell + rowspan = getSpanVal(td, 'rowspan'); + colspan = getSpanVal(td, 'colspan'); + + // Fill out rowspan/colspan right and down + for (y2 = y; y2 < y + rowspan; y2++) { + if (!grid[y2]) { + grid[y2] = []; + } + + for (x2 = x; x2 < x + colspan; x2++) { + grid[y2][x2] = { + part: part, + real: y2 == y && x2 == x, + elm: td, + rowspan: rowspan, + colspan: colspan + }; + } + } + + gridWidth = Math.max(gridWidth, x + 1); + }); + }); + + startY += rows.length; + }); + } + + function fireNewRow(node) { + editor.fire('newrow', { + node: node + }); + + return node; + } + + function fireNewCell(node) { + editor.fire('newcell', { + node: node + }); + + return node; + } + + function cloneNode(node, children) { + node = node.cloneNode(children); + node.removeAttribute('id'); + + return node; + } + + function getCell(x, y) { + var row; + + row = grid[y]; + if (row) { + return row[x]; + } + } + + function getRow(grid, y) { + return grid[y] ? grid[y] : null; + } + + function getColumn(grid, x) { + var out = []; + + for (var y = 0; y < grid.length; y++) { + out.push(getCell(x, y)); + } + + return out; + } + + function isCellSelected(cell) { + return cell && (!!dom.getAttrib(cell.elm, 'data-mce-selected') || cell == selectedCell); + } + + function getSelectedRows() { + var rows = []; + + each(table.rows, function(row) { + each(row.cells, function(cell) { + if (dom.getAttrib(cell, 'data-mce-selected') || (selectedCell && cell == selectedCell.elm)) { + rows.push(row); + return false; + } + }); + }); + + return rows; + } + + function deleteTable() { + var rng = dom.createRng(); + + if (isEditorBody(table)) { + return; + } + + rng.setStartAfter(table); + rng.setEndAfter(table); + + selection.setRng(rng); + + dom.remove(table); + } + + function cloneCell(cell) { + var formatNode, cloneFormats = {}; + + if (editor.settings.table_clone_elements !== false) { + cloneFormats = Tools.makeMap( + (editor.settings.table_clone_elements || 'strong em b i span font h1 h2 h3 h4 h5 h6 p div').toUpperCase(), + /[ ,]/ + ); + } + + // Clone formats + Tools.walk(cell, function(node) { + var curNode; + + if (node.nodeType == 3) { + each(dom.getParents(node.parentNode, null, cell).reverse(), function(node) { + if (!cloneFormats[node.nodeName]) { + return; + } + + node = cloneNode(node, false); + + if (!formatNode) { + formatNode = curNode = node; + } else if (curNode) { + curNode.appendChild(node); + } + + curNode = node; + }); + + // Add something to the inner node + if (curNode) { + curNode.innerHTML = Env.ie && Env.ie < 10 ? ' ' : '
'; + } + + return false; + } + }, 'childNodes'); + + cell = cloneNode(cell, false); + fireNewCell(cell); + + setSpanVal(cell, 'rowSpan', 1); + setSpanVal(cell, 'colSpan', 1); + + if (formatNode) { + cell.appendChild(formatNode); + } else { + Utils.paddCell(cell); + } + + return cell; + } + + function cleanup() { + var rng = dom.createRng(), row; + + // Empty rows + each(dom.select('tr', table), function(tr) { + if (tr.cells.length === 0) { + dom.remove(tr); + } + }); + + // Empty table + if (dom.select('tr', table).length === 0) { + rng.setStartBefore(table); + rng.setEndBefore(table); + selection.setRng(rng); + dom.remove(table); + return; + } + + // Empty header/body/footer + each(dom.select('thead,tbody,tfoot', table), function(part) { + if (part.rows.length === 0) { + dom.remove(part); + } + }); + + // Restore selection to start position if it still exists + buildGrid(); + + // If we have a valid startPos object + if (startPos) { + // Restore the selection to the closest table position + row = grid[Math.min(grid.length - 1, startPos.y)]; + if (row) { + selection.select(row[Math.min(row.length - 1, startPos.x)].elm, true); + selection.collapse(true); + } + } + } + + function fillLeftDown(x, y, rows, cols) { + var tr, x2, r, c, cell; + + tr = grid[y][x].elm.parentNode; + for (r = 1; r <= rows; r++) { + tr = dom.getNext(tr, 'tr'); + + if (tr) { + // Loop left to find real cell + for (x2 = x; x2 >= 0; x2--) { + cell = grid[y + r][x2].elm; + + if (cell.parentNode == tr) { + // Append clones after + for (c = 1; c <= cols; c++) { + dom.insertAfter(cloneCell(cell), cell); + } + + break; + } + } + + if (x2 == -1) { + // Insert nodes before first cell + for (c = 1; c <= cols; c++) { + tr.insertBefore(cloneCell(tr.cells[0]), tr.cells[0]); + } + } + } + } + } + + function split() { + each(grid, function(row, y) { + each(row, function(cell, x) { + var colSpan, rowSpan, i; + + if (isCellSelected(cell)) { + cell = cell.elm; + colSpan = getSpanVal(cell, 'colspan'); + rowSpan = getSpanVal(cell, 'rowspan'); + + if (colSpan > 1 || rowSpan > 1) { + setSpanVal(cell, 'rowSpan', 1); + setSpanVal(cell, 'colSpan', 1); + + // Insert cells right + for (i = 0; i < colSpan - 1; i++) { + dom.insertAfter(cloneCell(cell), cell); + } + + fillLeftDown(x, y, rowSpan - 1, colSpan); + } + } + }); + }); + } + + function findItemsOutsideOfRange(items, start, end) { + var out = []; + + for (var i = 0; i < items.length; i++) { + if (i < start || i > end) { + out.push(items[i]); + } + } + + return out; + } + + function getFakeCells(cells) { + return Tools.grep(cells, function (cell) { + return cell.real === false; + }); + } + + function getUniqueElms(cells) { + var elms = []; + + for (var i = 0; i < cells.length; i++) { + var elm = cells[i].elm; + if (elms[elms.length - 1] !== elm) { + elms.push(elm); + } + } + + return elms; + } + + function reduceRowSpans(grid, startX, startY, endX, endY) { + var count = 0; + + for (var y = startY; y <= endY; y++) { + var allCells = findItemsOutsideOfRange(getRow(grid, y), startX, endX); + var fakeCells = getFakeCells(allCells); + + if (allCells.length === fakeCells.length) { + Tools.each(getUniqueElms(fakeCells), function (elm) { + Utils.setRowSpan(elm, Utils.getRowSpan(elm) - 1); + }); + + count++; + } + } + + return count; + } + + function reduceColSpans(grid, startX, startY, endX, endY) { + var count = 0; + + for (var x = startX; x <= endX; x++) { + var allCells = findItemsOutsideOfRange(getColumn(grid, x), startY, endY); + var fakeCells = getFakeCells(allCells); + + if (allCells.length === fakeCells.length) { + Tools.each(getUniqueElms(fakeCells), function (elm) { + Utils.setColSpan(elm, Utils.getColSpan(elm) - 1); + }); + + count++; + } + } + + return count; + } + + function merge(cell, cols, rows) { + var pos, startX, startY, endX, endY, x, y, startCell, endCell, children, count, reducedRows, reducedCols; + + // Use specified cell and cols/rows + if (cell) { + pos = getPos(cell); + startX = pos.x; + startY = pos.y; + endX = startX + (cols - 1); + endY = startY + (rows - 1); + } else { + startPos = endPos = null; + + // Calculate start/end pos by checking for selected cells in grid works better with context menu + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell)) { + if (!startPos) { + startPos = {x: x, y: y}; + } + + endPos = {x: x, y: y}; + } + }); + }); + + // Use selection, but make sure startPos is valid before accessing + if (startPos) { + startX = startPos.x; + startY = startPos.y; + endX = endPos.x; + endY = endPos.y; + } + } + + // Find start/end cells + startCell = getCell(startX, startY); + endCell = getCell(endX, endY); + + // Check if the cells exists and if they are of the same part for example tbody = tbody + if (startCell && endCell && startCell.part == endCell.part) { + // Split and rebuild grid + split(); + buildGrid(); + + reducedRows = reduceRowSpans(grid, startX, startY, endX, endY); + reducedCols = reduceColSpans(grid, startX, startY, endX, endY); + + // Set row/col span to start cell + startCell = getCell(startX, startY).elm; + var colSpan = (endX - startX - reducedCols) + 1; + var rowSpan = (endY - startY - reducedRows) + 1; + + // All cells in table selected then just make it a table with one cell + if (colSpan === gridWidth && rowSpan === grid.length) { + colSpan = 1; + rowSpan = 1; + } + + // Multiple whole rows selected then just make it one rowSpan + if (colSpan === gridWidth && rowSpan > 1) { + rowSpan = 1; + } + + setSpanVal(startCell, 'colSpan', colSpan); + setSpanVal(startCell, 'rowSpan', rowSpan); + + // Remove other cells and add it's contents to the start cell + for (y = startY; y <= endY; y++) { + for (x = startX; x <= endX; x++) { + if (!grid[y] || !grid[y][x]) { + continue; + } + + cell = grid[y][x].elm; + + /*jshint loopfunc:true */ + /*eslint no-loop-func:0 */ + if (cell != startCell) { + // Move children to startCell + children = Tools.grep(cell.childNodes); + each(children, function(node) { + startCell.appendChild(node); + }); + + // Remove bogus nodes if there is children in the target cell + if (children.length) { + children = Tools.grep(startCell.childNodes); + count = 0; + each(children, function(node) { + if (node.nodeName == 'BR' && count++ < children.length - 1) { + startCell.removeChild(node); + } + }); + } + + dom.remove(cell); + } + } + } + + // Remove empty rows etc and restore caret location + cleanup(); + } + } + + function insertRow(before) { + var posY, cell, lastCell, x, rowElm, newRow, newCell, otherCell, rowSpan, spanValue; + + // Find first/last row + each(grid, function(row, y) { + each(row, function(cell) { + if (isCellSelected(cell)) { + cell = cell.elm; + rowElm = cell.parentNode; + newRow = fireNewRow(cloneNode(rowElm, false)); + posY = y; + + if (before) { + return false; + } + } + }); + + if (before) { + return !posY; + } + }); + + // If posY is undefined there is nothing for us to do here...just return to avoid crashing below + if (posY === undefined) { + return; + } + + for (x = 0, spanValue = 0; x < grid[0].length; x += spanValue) { + // Cell not found could be because of an invalid table structure + if (!grid[posY][x]) { + continue; + } + + cell = grid[posY][x].elm; + spanValue = getSpanVal(cell, 'colspan'); + + if (cell != lastCell) { + if (!before) { + rowSpan = getSpanVal(cell, 'rowspan'); + if (rowSpan > 1) { + setSpanVal(cell, 'rowSpan', rowSpan + 1); + continue; + } + } else { + // Check if cell above can be expanded + if (posY > 0 && grid[posY - 1][x]) { + otherCell = grid[posY - 1][x].elm; + rowSpan = getSpanVal(otherCell, 'rowSpan'); + if (rowSpan > 1) { + setSpanVal(otherCell, 'rowSpan', rowSpan + 1); + continue; + } + } + } + + // Insert new cell into new row + newCell = cloneCell(cell); + setSpanVal(newCell, 'colSpan', cell.colSpan); + + newRow.appendChild(newCell); + + lastCell = cell; + } + } + + if (newRow.hasChildNodes()) { + if (!before) { + dom.insertAfter(newRow, rowElm); + } else { + rowElm.parentNode.insertBefore(newRow, rowElm); + } + } + } + + function insertCol(before) { + var posX, lastCell; + + // Find first/last column + each(grid, function(row) { + each(row, function(cell, x) { + if (isCellSelected(cell)) { + posX = x; + + if (before) { + return false; + } + } + }); + + if (before) { + return !posX; + } + }); + + each(grid, function(row, y) { + var cell, rowSpan, colSpan; + + if (!row[posX]) { + return; + } + + cell = row[posX].elm; + if (cell != lastCell) { + colSpan = getSpanVal(cell, 'colspan'); + rowSpan = getSpanVal(cell, 'rowspan'); + + if (colSpan == 1) { + if (!before) { + dom.insertAfter(cloneCell(cell), cell); + fillLeftDown(posX, y, rowSpan - 1, colSpan); + } else { + cell.parentNode.insertBefore(cloneCell(cell), cell); + fillLeftDown(posX, y, rowSpan - 1, colSpan); + } + } else { + setSpanVal(cell, 'colSpan', cell.colSpan + 1); + } + + lastCell = cell; + } + }); + } + + function getSelectedCells(grid) { + return Tools.grep(getAllCells(grid), isCellSelected); + } + + function getAllCells(grid) { + var cells = []; + + each(grid, function(row) { + each(row, function(cell) { + cells.push(cell); + }); + }); + + return cells; + } + + function deleteCols() { + var cols = []; + + if (isEditorBody(table)) { + if (grid[0].length == 1) { + return; + } + + if (getSelectedCells(grid).length == getAllCells(grid).length) { + return; + } + } + + // Get selected column indexes + each(grid, function(row) { + each(row, function(cell, x) { + if (isCellSelected(cell) && Tools.inArray(cols, x) === -1) { + each(grid, function(row) { + var cell = row[x].elm, colSpan; + + colSpan = getSpanVal(cell, 'colSpan'); + + if (colSpan > 1) { + setSpanVal(cell, 'colSpan', colSpan - 1); + } else { + dom.remove(cell); + } + }); + + cols.push(x); + } + }); + }); + + cleanup(); + } + + function deleteRows() { + var rows; + + function deleteRow(tr) { + var pos, lastCell; + + // Move down row spanned cells + each(tr.cells, function(cell) { + var rowSpan = getSpanVal(cell, 'rowSpan'); + + if (rowSpan > 1) { + setSpanVal(cell, 'rowSpan', rowSpan - 1); + pos = getPos(cell); + fillLeftDown(pos.x, pos.y, 1, 1); + } + }); + + // Delete cells + pos = getPos(tr.cells[0]); + each(grid[pos.y], function(cell) { + var rowSpan; + + cell = cell.elm; + + if (cell != lastCell) { + rowSpan = getSpanVal(cell, 'rowSpan'); + + if (rowSpan <= 1) { + dom.remove(cell); + } else { + setSpanVal(cell, 'rowSpan', rowSpan - 1); + } + + lastCell = cell; + } + }); + } + + // Get selected rows and move selection out of scope + rows = getSelectedRows(); + + if (isEditorBody(table) && rows.length == table.rows.length) { + return; + } + + // Delete all selected rows + each(rows.reverse(), function(tr) { + deleteRow(tr); + }); + + cleanup(); + } + + function cutRows() { + var rows = getSelectedRows(); + + if (isEditorBody(table) && rows.length == table.rows.length) { + return; + } + + dom.remove(rows); + cleanup(); + + return rows; + } + + function copyRows() { + var rows = getSelectedRows(); + + each(rows, function(row, i) { + rows[i] = cloneNode(row, true); + }); + + return rows; + } + + function pasteRows(rows, before) { + var splitResult, targetRow, newRows; + + // Nothing to paste + if (!rows) { + return; + } + + splitResult = SplitCols.splitAt(grid, startPos.x, startPos.y, before); + targetRow = splitResult.row; + Tools.each(splitResult.cells, fireNewCell); + + newRows = Tools.map(rows, function (row) { + return row.cloneNode(true); + }); + + if (!before) { + newRows.reverse(); + } + + each(newRows, function(row) { + var i, cellCount = row.cells.length, cell; + + fireNewRow(row); + + // Remove col/rowspans + for (i = 0; i < cellCount; i++) { + cell = row.cells[i]; + + fireNewCell(cell); + setSpanVal(cell, 'colSpan', 1); + setSpanVal(cell, 'rowSpan', 1); + } + + // Needs more cells + for (i = cellCount; i < gridWidth; i++) { + row.appendChild(fireNewCell(cloneCell(row.cells[cellCount - 1]))); + } + + // Needs less cells + for (i = gridWidth; i < cellCount; i++) { + dom.remove(row.cells[i]); + } + + // Add before/after + if (before) { + targetRow.parentNode.insertBefore(row, targetRow); + } else { + dom.insertAfter(row, targetRow); + } + }); + + removeCellSelection(); + } + + function getPos(target) { + var pos; + + each(grid, function(row, y) { + each(row, function(cell, x) { + if (cell.elm == target) { + pos = {x: x, y: y}; + return false; + } + }); + + return !pos; + }); + + return pos; + } + + function setStartCell(cell) { + startPos = getPos(cell); + } + + function findEndPos() { + var maxX, maxY; + + maxX = maxY = 0; + + each(grid, function(row, y) { + each(row, function(cell, x) { + var colSpan, rowSpan; + + if (isCellSelected(cell)) { + cell = grid[y][x]; + + if (x > maxX) { + maxX = x; + } + + if (y > maxY) { + maxY = y; + } + + if (cell.real) { + colSpan = cell.colspan - 1; + rowSpan = cell.rowspan - 1; + + if (colSpan) { + if (x + colSpan > maxX) { + maxX = x + colSpan; + } + } + + if (rowSpan) { + if (y + rowSpan > maxY) { + maxY = y + rowSpan; + } + } + } + } + }); + }); + + return {x: maxX, y: maxY}; + } + + function setEndCell(cell) { + var startX, startY, endX, endY, maxX, maxY, colSpan, rowSpan, x, y; + + endPos = getPos(cell); + + if (startPos && endPos) { + // Get start/end positions + startX = Math.min(startPos.x, endPos.x); + startY = Math.min(startPos.y, endPos.y); + endX = Math.max(startPos.x, endPos.x); + endY = Math.max(startPos.y, endPos.y); + + // Expand end position to include spans + maxX = endX; + maxY = endY; + + // This logic tried to expand the selection to always be a rectangle + // Expand startX + /*for (y = startY; y <= maxY; y++) { + cell = grid[y][startX]; + + if (!cell.real) { + newX = startX - (cell.colspan - 1); + if (newX < startX && newX >= 0) { + startX = newX; + } + } + } + + // Expand startY + for (x = startX; x <= maxX; x++) { + cell = grid[startY][x]; + + if (!cell.real) { + newY = startY - (cell.rowspan - 1); + if (newY < startY && newY >= 0) { + startY = newY; + } + } + }*/ + + // Find max X, Y + for (y = startY; y <= endY; y++) { + for (x = startX; x <= endX; x++) { + cell = grid[y][x]; + + if (cell.real) { + colSpan = cell.colspan - 1; + rowSpan = cell.rowspan - 1; + + if (colSpan) { + if (x + colSpan > maxX) { + maxX = x + colSpan; + } + } + + if (rowSpan) { + if (y + rowSpan > maxY) { + maxY = y + rowSpan; + } + } + } + } + } + + removeCellSelection(); + + // Add new selection + for (y = startY; y <= maxY; y++) { + for (x = startX; x <= maxX; x++) { + if (grid[y][x]) { + dom.setAttrib(grid[y][x].elm, 'data-mce-selected', '1'); + } + } + } + } + } + + function moveRelIdx(cellElm, delta) { + var pos, index, cell; + + pos = getPos(cellElm); + index = pos.y * gridWidth + pos.x; + + do { + index += delta; + cell = getCell(index % gridWidth, Math.floor(index / gridWidth)); + + if (!cell) { + break; + } + + if (cell.elm != cellElm) { + selection.select(cell.elm, true); + + if (dom.isEmpty(cell.elm)) { + selection.collapse(true); + } + + return true; + } + } while (cell.elm == cellElm); + + return false; + } + + function splitCols(before) { + if (startPos) { + var splitResult = SplitCols.splitAt(grid, startPos.x, startPos.y, before); + Tools.each(splitResult.cells, fireNewCell); + } + } + + table = table || dom.getParent(selection.getStart(true), 'table'); + + buildGrid(); + + selectedCell = selectedCell || dom.getParent(selection.getStart(true), 'th,td'); + + if (selectedCell) { + startPos = getPos(selectedCell); + endPos = findEndPos(); + selectedCell = getCell(startPos.x, startPos.y); + } + + Tools.extend(this, { + deleteTable: deleteTable, + split: split, + merge: merge, + insertRow: insertRow, + insertCol: insertCol, + splitCols: splitCols, + deleteCols: deleteCols, + deleteRows: deleteRows, + cutRows: cutRows, + copyRows: copyRows, + pasteRows: pasteRows, + getPos: getPos, + setStartCell: setStartCell, + setEndCell: setEndCell, + moveRelIdx: moveRelIdx, + refresh: buildGrid + }); + }; +}); + +// Included from: js/tinymce/plugins/table/classes/Quirks.js + +/** + * Quirks.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class includes fixes for various browser quirks. + * + * @class tinymce.tableplugin.Quirks + * @private + */ +define("tinymce/tableplugin/Quirks", [ + "tinymce/util/VK", + "tinymce/util/Delay", + "tinymce/Env", + "tinymce/util/Tools", + "tinymce/tableplugin/Utils" +], function(VK, Delay, Env, Tools, Utils) { + var each = Tools.each, getSpanVal = Utils.getSpanVal; + + return function(editor) { + /** + * Fixed caret movement around tables on WebKit. + */ + function moveWebKitSelection() { + function eventHandler(e) { + var key = e.keyCode; + + function handle(upBool, sourceNode) { + var siblingDirection = upBool ? 'previousSibling' : 'nextSibling'; + var currentRow = editor.dom.getParent(sourceNode, 'tr'); + var siblingRow = currentRow[siblingDirection]; + + if (siblingRow) { + moveCursorToRow(editor, sourceNode, siblingRow, upBool); + e.preventDefault(); + return true; + } + + var tableNode = editor.dom.getParent(currentRow, 'table'); + var middleNode = currentRow.parentNode; + var parentNodeName = middleNode.nodeName.toLowerCase(); + if (parentNodeName === 'tbody' || parentNodeName === (upBool ? 'tfoot' : 'thead')) { + var targetParent = getTargetParent(upBool, tableNode, middleNode, 'tbody'); + if (targetParent !== null) { + return moveToRowInTarget(upBool, targetParent, sourceNode); + } + } + + return escapeTable(upBool, currentRow, siblingDirection, tableNode); + } + + function getTargetParent(upBool, topNode, secondNode, nodeName) { + var tbodies = editor.dom.select('>' + nodeName, topNode); + var position = tbodies.indexOf(secondNode); + if (upBool && position === 0 || !upBool && position === tbodies.length - 1) { + return getFirstHeadOrFoot(upBool, topNode); + } else if (position === -1) { + var topOrBottom = secondNode.tagName.toLowerCase() === 'thead' ? 0 : tbodies.length - 1; + return tbodies[topOrBottom]; + } + + return tbodies[position + (upBool ? -1 : 1)]; + } + + function getFirstHeadOrFoot(upBool, parent) { + var tagName = upBool ? 'thead' : 'tfoot'; + var headOrFoot = editor.dom.select('>' + tagName, parent); + return headOrFoot.length !== 0 ? headOrFoot[0] : null; + } + + function moveToRowInTarget(upBool, targetParent, sourceNode) { + var targetRow = getChildForDirection(targetParent, upBool); + + if (targetRow) { + moveCursorToRow(editor, sourceNode, targetRow, upBool); + } + + e.preventDefault(); + return true; + } + + function escapeTable(upBool, currentRow, siblingDirection, table) { + var tableSibling = table[siblingDirection]; + + if (tableSibling) { + moveCursorToStartOfElement(tableSibling); + return true; + } + + var parentCell = editor.dom.getParent(table, 'td,th'); + if (parentCell) { + return handle(upBool, parentCell, e); + } + + var backUpSibling = getChildForDirection(currentRow, !upBool); + moveCursorToStartOfElement(backUpSibling); + e.preventDefault(); + return false; + } + + function getChildForDirection(parent, up) { + var child = parent && parent[up ? 'lastChild' : 'firstChild']; + // BR is not a valid table child to return in this case we return the table cell + return child && child.nodeName === 'BR' ? editor.dom.getParent(child, 'td,th') : child; + } + + function moveCursorToStartOfElement(n) { + editor.selection.setCursorLocation(n, 0); + } + + function isVerticalMovement() { + return key == VK.UP || key == VK.DOWN; + } + + function isInTable(editor) { + var node = editor.selection.getNode(); + var currentRow = editor.dom.getParent(node, 'tr'); + return currentRow !== null; + } + + function columnIndex(column) { + var colIndex = 0; + var c = column; + while (c.previousSibling) { + c = c.previousSibling; + colIndex = colIndex + getSpanVal(c, "colspan"); + } + return colIndex; + } + + function findColumn(rowElement, columnIndex) { + var c = 0, r = 0; + + each(rowElement.children, function(cell, i) { + c = c + getSpanVal(cell, "colspan"); + r = i; + if (c > columnIndex) { + return false; + } + }); + return r; + } + + function moveCursorToRow(ed, node, row, upBool) { + var srcColumnIndex = columnIndex(editor.dom.getParent(node, 'td,th')); + var tgtColumnIndex = findColumn(row, srcColumnIndex); + var tgtNode = row.childNodes[tgtColumnIndex]; + var rowCellTarget = getChildForDirection(tgtNode, upBool); + moveCursorToStartOfElement(rowCellTarget || tgtNode); + } + + function shouldFixCaret(preBrowserNode) { + var newNode = editor.selection.getNode(); + var newParent = editor.dom.getParent(newNode, 'td,th'); + var oldParent = editor.dom.getParent(preBrowserNode, 'td,th'); + + return newParent && newParent !== oldParent && checkSameParentTable(newParent, oldParent); + } + + function checkSameParentTable(nodeOne, NodeTwo) { + return editor.dom.getParent(nodeOne, 'TABLE') === editor.dom.getParent(NodeTwo, 'TABLE'); + } + + if (isVerticalMovement() && isInTable(editor)) { + var preBrowserNode = editor.selection.getNode(); + Delay.setEditorTimeout(editor, function() { + if (shouldFixCaret(preBrowserNode)) { + handle(!e.shiftKey && key === VK.UP, preBrowserNode, e); + } + }, 0); + } + } + + editor.on('KeyDown', function(e) { + eventHandler(e); + }); + } + + function fixBeforeTableCaretBug() { + // Checks if the selection/caret is at the start of the specified block element + function isAtStart(rng, par) { + var doc = par.ownerDocument, rng2 = doc.createRange(), elm; + + rng2.setStartBefore(par); + rng2.setEnd(rng.endContainer, rng.endOffset); + + elm = doc.createElement('body'); + elm.appendChild(rng2.cloneContents()); + + // Check for text characters of other elements that should be treated as content + return elm.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi, '-').replace(/<[^>]+>/g, '').length === 0; + } + + // Fixes an bug where it's impossible to place the caret before a table in Gecko + // this fix solves it by detecting when the caret is at the beginning of such a table + // and then manually moves the caret infront of the table + editor.on('KeyDown', function(e) { + var rng, table, dom = editor.dom; + + // On gecko it's not possible to place the caret before a table + if (e.keyCode == 37 || e.keyCode == 38) { + rng = editor.selection.getRng(); + table = dom.getParent(rng.startContainer, 'table'); + + if (table && editor.getBody().firstChild == table) { + if (isAtStart(rng, table)) { + rng = dom.createRng(); + + rng.setStartBefore(table); + rng.setEndBefore(table); + + editor.selection.setRng(rng); + + e.preventDefault(); + } + } + } + }); + } + + // Fixes an issue on Gecko where it's impossible to place the caret behind a table + // This fix will force a paragraph element after the table but only when the forced_root_block setting is enabled + function fixTableCaretPos() { + editor.on('KeyDown SetContent VisualAid', function() { + var last; + + // Skip empty text nodes from the end + for (last = editor.getBody().lastChild; last; last = last.previousSibling) { + if (last.nodeType == 3) { + if (last.nodeValue.length > 0) { + break; + } + } else if (last.nodeType == 1 && (last.tagName == 'BR' || !last.getAttribute('data-mce-bogus'))) { + break; + } + } + + if (last && last.nodeName == 'TABLE') { + if (editor.settings.forced_root_block) { + editor.dom.add( + editor.getBody(), + editor.settings.forced_root_block, + editor.settings.forced_root_block_attrs, + Env.ie && Env.ie < 10 ? ' ' : '
' + ); + } else { + editor.dom.add(editor.getBody(), 'br', {'data-mce-bogus': '1'}); + } + } + }); + + editor.on('PreProcess', function(o) { + var last = o.node.lastChild; + + if (last && (last.nodeName == "BR" || (last.childNodes.length == 1 && + (last.firstChild.nodeName == 'BR' || last.firstChild.nodeValue == '\u00a0'))) && + last.previousSibling && last.previousSibling.nodeName == "TABLE") { + editor.dom.remove(last); + } + }); + } + + // this nasty hack is here to work around some WebKit selection bugs. + function fixTableCellSelection() { + function tableCellSelected(ed, rng, n, currentCell) { + // The decision of when a table cell is selected is somewhat involved. The fact that this code is + // required is actually a pointer to the root cause of this bug. A cell is selected when the start + // and end offsets are 0, the start container is a text, and the selection node is either a TR (most cases) + // or the parent of the table (in the case of the selection containing the last cell of a table). + var TEXT_NODE = 3, table = ed.dom.getParent(rng.startContainer, 'TABLE'); + var tableParent, allOfCellSelected, tableCellSelection; + + if (table) { + tableParent = table.parentNode; + } + + allOfCellSelected = rng.startContainer.nodeType == TEXT_NODE && + rng.startOffset === 0 && + rng.endOffset === 0 && + currentCell && + (n.nodeName == "TR" || n == tableParent); + + tableCellSelection = (n.nodeName == "TD" || n.nodeName == "TH") && !currentCell; + + return allOfCellSelected || tableCellSelection; + } + + function fixSelection() { + var rng = editor.selection.getRng(); + var n = editor.selection.getNode(); + var currentCell = editor.dom.getParent(rng.startContainer, 'TD,TH'); + + if (!tableCellSelected(editor, rng, n, currentCell)) { + return; + } + + if (!currentCell) { + currentCell = n; + } + + // Get the very last node inside the table cell + var end = currentCell.lastChild; + while (end.lastChild) { + end = end.lastChild; + } + + // Select the entire table cell. Nothing outside of the table cell should be selected. + if (end.nodeType == 3) { + rng.setEnd(end, end.data.length); + editor.selection.setRng(rng); + } + } + + editor.on('KeyDown', function() { + fixSelection(); + }); + + editor.on('MouseDown', function(e) { + if (e.button != 2) { + fixSelection(); + } + }); + } + + /** + * Delete table if all cells are selected. + */ + function deleteTable() { + function placeCaretInCell(cell) { + editor.selection.select(cell, true); + editor.selection.collapse(true); + } + + function clearCell(cell) { + editor.$(cell).empty(); + Utils.paddCell(cell); + } + + editor.on('keydown', function(e) { + if ((e.keyCode == VK.DELETE || e.keyCode == VK.BACKSPACE) && !e.isDefaultPrevented()) { + var table, tableCells, selectedTableCells, cell; + + table = editor.dom.getParent(editor.selection.getStart(), 'table'); + if (table) { + tableCells = editor.dom.select('td,th', table); + selectedTableCells = Tools.grep(tableCells, function(cell) { + return !!editor.dom.getAttrib(cell, 'data-mce-selected'); + }); + + if (selectedTableCells.length === 0) { + // If caret is within an empty table cell then empty it for real + cell = editor.dom.getParent(editor.selection.getStart(), 'td,th'); + if (editor.selection.isCollapsed() && cell && editor.dom.isEmpty(cell)) { + e.preventDefault(); + clearCell(cell); + placeCaretInCell(cell); + } + + return; + } + + e.preventDefault(); + + editor.undoManager.transact(function() { + if (tableCells.length == selectedTableCells.length) { + editor.execCommand('mceTableDelete'); + } else { + Tools.each(selectedTableCells, clearCell); + placeCaretInCell(selectedTableCells[0]); + } + }); + } + } + }); + } + + deleteTable(); + + if (Env.webkit) { + moveWebKitSelection(); + fixTableCellSelection(); + } + + if (Env.gecko) { + fixBeforeTableCaretBug(); + fixTableCaretPos(); + } + + if (Env.ie > 9) { + fixBeforeTableCaretBug(); + fixTableCaretPos(); + } + }; +}); + +// Included from: js/tinymce/plugins/table/classes/CellSelection.js + +/** + * CellSelection.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class handles table cell selection by faking it using a css class that gets applied + * to cells when dragging the mouse from one cell to another. + * + * @class tinymce.tableplugin.CellSelection + * @private + */ +define("tinymce/tableplugin/CellSelection", [ + "tinymce/tableplugin/TableGrid", + "tinymce/dom/TreeWalker", + "tinymce/util/Tools" +], function(TableGrid, TreeWalker, Tools) { + return function(editor, selectionChange) { + var dom = editor.dom, tableGrid, startCell, startTable, lastMouseOverTarget, hasCellSelection = true, resizing, dragging; + + function clear(force) { + // Restore selection possibilities + editor.getBody().style.webkitUserSelect = ''; + + if (force || hasCellSelection) { + editor.$('td[data-mce-selected],th[data-mce-selected]').removeAttr('data-mce-selected'); + hasCellSelection = false; + } + } + + var endSelection = function () { + startCell = tableGrid = startTable = lastMouseOverTarget = null; + selectionChange(false); + }; + + function isCellInTable(table, cell) { + if (!table || !cell) { + return false; + } + + return table === dom.getParent(cell, 'table'); + } + + function cellSelectionHandler(e) { + var sel, target = e.target, currentCell; + + if (resizing || dragging) { + return; + } + + // Fake mouse enter by keeping track of last mouse over + if (target === lastMouseOverTarget) { + return; + } + + lastMouseOverTarget = target; + + if (startTable && startCell) { + currentCell = dom.getParent(target, 'td,th'); + + if (!isCellInTable(startTable, currentCell)) { + currentCell = dom.getParent(startTable, 'td,th'); + } + + // Selection inside first cell is normal until we have expanted + if (startCell === currentCell && !hasCellSelection) { + return; + } + + selectionChange(true); + + if (isCellInTable(startTable, currentCell)) { + e.preventDefault(); + + if (!tableGrid) { + tableGrid = new TableGrid(editor, startTable, startCell); + editor.getBody().style.webkitUserSelect = 'none'; + } + + tableGrid.setEndCell(currentCell); + hasCellSelection = true; + + // Remove current selection + sel = editor.selection.getSel(); + + try { + if (sel.removeAllRanges) { + sel.removeAllRanges(); + } else { + sel.empty(); + } + } catch (ex) { + // IE9 might throw errors here + } + } + } + } + + editor.on('SelectionChange', function(e) { + if (hasCellSelection) { + e.stopImmediatePropagation(); + } + }, true); + + // Add cell selection logic + editor.on('MouseDown', function(e) { + if (e.button != 2 && !resizing && !dragging) { + clear(); + + startCell = dom.getParent(e.target, 'td,th'); + startTable = dom.getParent(startCell, 'table'); + } + }); + + editor.on('mouseover', cellSelectionHandler); + + editor.on('remove', function() { + dom.unbind(editor.getDoc(), 'mouseover', cellSelectionHandler); + clear(); + }); + + editor.on('MouseUp', function() { + var rng, sel = editor.selection, selectedCells, walker, node, lastNode; + + function setPoint(node, start) { + var walker = new TreeWalker(node, node); + + do { + // Text node + if (node.nodeType == 3 && Tools.trim(node.nodeValue).length !== 0) { + if (start) { + rng.setStart(node, 0); + } else { + rng.setEnd(node, node.nodeValue.length); + } + + return; + } + + // BR element + if (node.nodeName == 'BR') { + if (start) { + rng.setStartBefore(node); + } else { + rng.setEndBefore(node); + } + + return; + } + } while ((node = (start ? walker.next() : walker.prev()))); + } + + // Move selection to startCell + if (startCell) { + if (tableGrid) { + editor.getBody().style.webkitUserSelect = ''; + } + + // Try to expand text selection as much as we can only Gecko supports cell selection + selectedCells = dom.select('td[data-mce-selected],th[data-mce-selected]'); + if (selectedCells.length > 0) { + rng = dom.createRng(); + node = selectedCells[0]; + rng.setStartBefore(node); + rng.setEndAfter(node); + + setPoint(node, 1); + walker = new TreeWalker(node, dom.getParent(selectedCells[0], 'table')); + + do { + if (node.nodeName == 'TD' || node.nodeName == 'TH') { + if (!dom.getAttrib(node, 'data-mce-selected')) { + break; + } + + lastNode = node; + } + } while ((node = walker.next())); + + setPoint(lastNode); + + sel.setRng(rng); + } + + editor.nodeChanged(); + endSelection(); + } + }); + + editor.on('KeyUp Drop SetContent', function(e) { + clear(e.type == 'setcontent'); + endSelection(); + resizing = false; + }); + + editor.on('ObjectResizeStart ObjectResized', function(e) { + resizing = e.type != 'objectresized'; + }); + + editor.on('dragstart', function () { + dragging = true; + }); + + editor.on('drop dragend', function () { + dragging = false; + }); + + return { + clear: clear + }; + }; +}); + +// Included from: js/tinymce/plugins/table/classes/Dialogs.js + +/** + * Dialogs.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*eslint dot-notation:0*/ + +/** + * ... + * + * @class tinymce.tableplugin.Dialogs + * @private + */ +define("tinymce/tableplugin/Dialogs", [ + "tinymce/util/Tools", + "tinymce/Env" +], function(Tools, Env) { + var each = Tools.each; + + return function(editor) { + var self = this; + + function createColorPickAction() { + var colorPickerCallback = editor.settings.color_picker_callback; + + if (colorPickerCallback) { + return function() { + var self = this; + + colorPickerCallback.call( + editor, + function(value) { + self.value(value).fire('change'); + }, + self.value() + ); + }; + } + } + + function createStyleForm(dom) { + return { + title: 'Advanced', + type: 'form', + defaults: { + onchange: function() { + updateStyle(dom, this.parents().reverse()[0], this.name() == "style"); + } + }, + items: [ + { + label: 'Style', + name: 'style', + type: 'textbox' + }, + + { + type: 'form', + padding: 0, + formItemDefaults: { + layout: 'grid', + alignH: ['start', 'right'] + }, + defaults: { + size: 7 + }, + items: [ + { + label: 'Border color', + type: 'colorbox', + name: 'borderColor', + onaction: createColorPickAction() + }, + + { + label: 'Background color', + type: 'colorbox', + name: 'backgroundColor', + onaction: createColorPickAction() + } + ] + } + ] + }; + } + + function removePxSuffix(size) { + return size ? size.replace(/px$/, '') : ""; + } + + function addSizeSuffix(size) { + if (/^[0-9]+$/.test(size)) { + size += "px"; + } + + return size; + } + + function unApplyAlign(elm) { + each('left center right'.split(' '), function(name) { + editor.formatter.remove('align' + name, {}, elm); + }); + } + + function unApplyVAlign(elm) { + each('top middle bottom'.split(' '), function(name) { + editor.formatter.remove('valign' + name, {}, elm); + }); + } + + function buildListItems(inputList, itemCallback, startItems) { + function appendItems(values, output) { + output = output || []; + + Tools.each(values, function(item) { + var menuItem = {text: item.text || item.title}; + + if (item.menu) { + menuItem.menu = appendItems(item.menu); + } else { + menuItem.value = item.value; + + if (itemCallback) { + itemCallback(menuItem); + } + } + + output.push(menuItem); + }); + + return output; + } + + return appendItems(inputList, startItems || []); + } + + function updateStyle(dom, win, isStyleCtrl) { + var data = win.toJSON(); + var css = dom.parseStyle(data.style); + + if (isStyleCtrl) { + win.find('#borderColor').value(css["border-color"] || '')[0].fire('change'); + win.find('#backgroundColor').value(css["background-color"] || '')[0].fire('change'); + } else { + css["border-color"] = data.borderColor; + css["background-color"] = data.backgroundColor; + } + + win.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css)))); + } + + function appendStylesToData(dom, data, elm) { + var css = dom.parseStyle(dom.getAttrib(elm, 'style')); + + if (css["border-color"]) { + data.borderColor = css["border-color"]; + } + + if (css["background-color"]) { + data.backgroundColor = css["background-color"]; + } + + data.style = dom.serializeStyle(css); + } + + function mergeStyles(dom, elm, styles) { + var css = dom.parseStyle(dom.getAttrib(elm, 'style')); + + each(styles, function(style) { + css[style.name] = style.value; + }); + + dom.setAttrib(elm, 'style', dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css)))); + } + + self.tableProps = function() { + self.table(true); + }; + + self.table = function(isProps) { + var dom = editor.dom, tableElm, colsCtrl, rowsCtrl, classListCtrl, data = {}, generalTableForm, stylesToMerge; + + function onSubmitTableForm() { + + //Explore the layers of the table till we find the first layer of tds or ths + function styleTDTH(elm, name, value) { + if (elm.tagName === "TD" || elm.tagName === "TH") { + dom.setStyle(elm, name, value); + } else { + if (elm.children) { + for (var i = 0; i < elm.children.length; i++) { + styleTDTH(elm.children[i], name, value); + } + } + } + } + + var captionElm; + + updateStyle(dom, this); + data = Tools.extend(data, this.toJSON()); + + if (data["class"] === false) { + delete data["class"]; + } + + editor.undoManager.transact(function() { + if (!tableElm) { + tableElm = editor.plugins.table.insertTable(data.cols || 1, data.rows || 1); + } + + editor.dom.setAttribs(tableElm, { + style: data.style, + 'class': data['class'] + }); + + if (editor.settings.table_style_by_css) { + stylesToMerge = []; + stylesToMerge.push({name: 'border', value: data.border}); + stylesToMerge.push({name: 'border-spacing', value: addSizeSuffix(data.cellspacing)}); + mergeStyles(dom, tableElm, stylesToMerge); + dom.setAttribs(tableElm, { + 'data-mce-border-color': data.borderColor, + 'data-mce-cell-padding': data.cellpadding, + 'data-mce-border': data.border + }); + if (tableElm.children) { + for (var i = 0; i < tableElm.children.length; i++) { + styleTDTH(tableElm.children[i], 'border', data.border); + styleTDTH(tableElm.children[i], 'padding', addSizeSuffix(data.cellpadding)); + } + } + } else { + editor.dom.setAttribs(tableElm, { + border: data.border, + cellpadding: data.cellpadding, + cellspacing: data.cellspacing + }); + } + + if (dom.getAttrib(tableElm, 'width') && !editor.settings.table_style_by_css) { + dom.setAttrib(tableElm, 'width', removePxSuffix(data.width)); + } else { + dom.setStyle(tableElm, 'width', addSizeSuffix(data.width)); + } + + dom.setStyle(tableElm, 'height', addSizeSuffix(data.height)); + + // Toggle caption on/off + captionElm = dom.select('caption', tableElm)[0]; + + if (captionElm && !data.caption) { + dom.remove(captionElm); + } + + if (!captionElm && data.caption) { + captionElm = dom.create('caption'); + captionElm.innerHTML = !Env.ie ? '
' : '\u00a0'; + tableElm.insertBefore(captionElm, tableElm.firstChild); + } + unApplyAlign(tableElm); + if (data.align) { + editor.formatter.apply('align' + data.align, {}, tableElm); + } + + editor.focus(); + editor.addVisual(); + }); + } + + function getTDTHOverallStyle(elm, name) { + var cells = editor.dom.select("td,th", elm), firstChildStyle; + + function checkChildren(firstChildStyle, elms) { + + for (var i = 0; i < elms.length; i++) { + var currentStyle = dom.getStyle(elms[i], name); + if (typeof firstChildStyle === "undefined") { + firstChildStyle = currentStyle; + } + if (firstChildStyle != currentStyle) { + return ""; + } + } + + return firstChildStyle; + + } + + firstChildStyle = checkChildren(firstChildStyle, cells); + + return firstChildStyle; + } + + if (isProps === true) { + tableElm = dom.getParent(editor.selection.getStart(), 'table'); + + if (tableElm) { + data = { + width: removePxSuffix(dom.getStyle(tableElm, 'width') || dom.getAttrib(tableElm, 'width')), + height: removePxSuffix(dom.getStyle(tableElm, 'height') || dom.getAttrib(tableElm, 'height')), + cellspacing: removePxSuffix(dom.getStyle(tableElm, 'border-spacing') || + dom.getAttrib(tableElm, 'cellspacing')), + cellpadding: dom.getAttrib(tableElm, 'data-mce-cell-padding') || dom.getAttrib(tableElm, 'cellpadding') || + getTDTHOverallStyle(tableElm, 'padding'), + border: dom.getAttrib(tableElm, 'data-mce-border') || dom.getAttrib(tableElm, 'border') || + getTDTHOverallStyle(tableElm, 'border'), + borderColor: dom.getAttrib(tableElm, 'data-mce-border-color'), + caption: !!dom.select('caption', tableElm)[0], + 'class': dom.getAttrib(tableElm, 'class') + }; + + each('left center right'.split(' '), function(name) { + if (editor.formatter.matchNode(tableElm, 'align' + name)) { + data.align = name; + } + }); + } + } else { + colsCtrl = {label: 'Cols', name: 'cols'}; + rowsCtrl = {label: 'Rows', name: 'rows'}; + } + + if (editor.settings.table_class_list) { + if (data["class"]) { + data["class"] = data["class"].replace(/\s*mce\-item\-table\s*/g, ''); + } + + classListCtrl = { + name: 'class', + type: 'listbox', + label: 'Class', + values: buildListItems( + editor.settings.table_class_list, + function(item) { + if (item.value) { + item.textStyle = function() { + return editor.formatter.getCssText({block: 'table', classes: [item.value]}); + }; + } + } + ) + }; + } + + generalTableForm = { + type: 'form', + layout: 'flex', + direction: 'column', + labelGapCalc: 'children', + padding: 0, + items: [ + { + type: 'form', + labelGapCalc: false, + padding: 0, + layout: 'grid', + columns: 2, + defaults: { + type: 'textbox', + maxWidth: 50 + }, + items: (editor.settings.table_appearance_options !== false) ? [ + colsCtrl, + rowsCtrl, + {label: 'Width', name: 'width'}, + {label: 'Height', name: 'height'}, + {label: 'Cell spacing', name: 'cellspacing'}, + {label: 'Cell padding', name: 'cellpadding'}, + {label: 'Border', name: 'border'}, + {label: 'Caption', name: 'caption', type: 'checkbox'} + ] : [ + colsCtrl, + rowsCtrl, + {label: 'Width', name: 'width'}, + {label: 'Height', name: 'height'} + ] + }, + + { + label: 'Alignment', + name: 'align', + type: 'listbox', + text: 'None', + values: [ + {text: 'None', value: ''}, + {text: 'Left', value: 'left'}, + {text: 'Center', value: 'center'}, + {text: 'Right', value: 'right'} + ] + }, + + classListCtrl + ] + }; + + if (editor.settings.table_advtab !== false) { + appendStylesToData(dom, data, tableElm); + + editor.windowManager.open({ + title: "Table properties", + data: data, + bodyType: 'tabpanel', + body: [ + { + title: 'General', + type: 'form', + items: generalTableForm + }, + createStyleForm(dom) + ], + + onsubmit: onSubmitTableForm + }); + } else { + editor.windowManager.open({ + title: "Table properties", + data: data, + body: generalTableForm, + onsubmit: onSubmitTableForm + }); + } + }; + + self.merge = function(grid, cell) { + editor.windowManager.open({ + title: "Merge cells", + body: [ + {label: 'Cols', name: 'cols', type: 'textbox', value: '1', size: 10}, + {label: 'Rows', name: 'rows', type: 'textbox', value: '1', size: 10} + ], + onsubmit: function() { + var data = this.toJSON(); + + editor.undoManager.transact(function() { + grid.merge(cell, data.cols, data.rows); + }); + } + }); + }; + + self.cell = function() { + var dom = editor.dom, cellElm, data, classListCtrl, cells = []; + + function onSubmitCellForm() { + updateStyle(dom, this); + data = Tools.extend(data, this.toJSON()); + + editor.undoManager.transact(function() { + each(cells, function(cellElm) { + editor.dom.setAttribs(cellElm, { + scope: data.scope, + style: data.style, + 'class': data['class'] + }); + + editor.dom.setStyles(cellElm, { + width: addSizeSuffix(data.width), + height: addSizeSuffix(data.height) + }); + + // Switch cell type + if (data.type && cellElm.nodeName.toLowerCase() != data.type) { + cellElm = dom.rename(cellElm, data.type); + } + + // Apply/remove alignment + unApplyAlign(cellElm); + if (data.align) { + editor.formatter.apply('align' + data.align, {}, cellElm); + } + + // Apply/remove vertical alignment + unApplyVAlign(cellElm); + if (data.valign) { + editor.formatter.apply('valign' + data.valign, {}, cellElm); + } + }); + + editor.focus(); + }); + } + + // Get selected cells or the current cell + cells = editor.dom.select('td[data-mce-selected],th[data-mce-selected]'); + cellElm = editor.dom.getParent(editor.selection.getStart(), 'td,th'); + if (!cells.length && cellElm) { + cells.push(cellElm); + } + + cellElm = cellElm || cells[0]; + + if (!cellElm) { + // If this element is null, return now to avoid crashing. + return; + } + + data = { + width: removePxSuffix(dom.getStyle(cellElm, 'width') || dom.getAttrib(cellElm, 'width')), + height: removePxSuffix(dom.getStyle(cellElm, 'height') || dom.getAttrib(cellElm, 'height')), + scope: dom.getAttrib(cellElm, 'scope'), + 'class': dom.getAttrib(cellElm, 'class') + }; + + data.type = cellElm.nodeName.toLowerCase(); + + each('left center right'.split(' '), function(name) { + if (editor.formatter.matchNode(cellElm, 'align' + name)) { + data.align = name; + } + }); + + each('top middle bottom'.split(' '), function(name) { + if (editor.formatter.matchNode(cellElm, 'valign' + name)) { + data.valign = name; + } + }); + + if (editor.settings.table_cell_class_list) { + classListCtrl = { + name: 'class', + type: 'listbox', + label: 'Class', + values: buildListItems( + editor.settings.table_cell_class_list, + function(item) { + if (item.value) { + item.textStyle = function() { + return editor.formatter.getCssText({block: 'td', classes: [item.value]}); + }; + } + } + ) + }; + } + + var generalCellForm = { + type: 'form', + layout: 'flex', + direction: 'column', + labelGapCalc: 'children', + padding: 0, + items: [ + { + type: 'form', + layout: 'grid', + columns: 2, + labelGapCalc: false, + padding: 0, + defaults: { + type: 'textbox', + maxWidth: 50 + }, + items: [ + {label: 'Width', name: 'width'}, + {label: 'Height', name: 'height'}, + { + label: 'Cell type', + name: 'type', + type: 'listbox', + text: 'None', + minWidth: 90, + maxWidth: null, + values: [ + {text: 'Cell', value: 'td'}, + {text: 'Header cell', value: 'th'} + ] + }, + { + label: 'Scope', + name: 'scope', + type: 'listbox', + text: 'None', + minWidth: 90, + maxWidth: null, + values: [ + {text: 'None', value: ''}, + {text: 'Row', value: 'row'}, + {text: 'Column', value: 'col'}, + {text: 'Row group', value: 'rowgroup'}, + {text: 'Column group', value: 'colgroup'} + ] + }, + { + label: 'H Align', + name: 'align', + type: 'listbox', + text: 'None', + minWidth: 90, + maxWidth: null, + values: [ + {text: 'None', value: ''}, + {text: 'Left', value: 'left'}, + {text: 'Center', value: 'center'}, + {text: 'Right', value: 'right'} + ] + }, + { + label: 'V Align', + name: 'valign', + type: 'listbox', + text: 'None', + minWidth: 90, + maxWidth: null, + values: [ + {text: 'None', value: ''}, + {text: 'Top', value: 'top'}, + {text: 'Middle', value: 'middle'}, + {text: 'Bottom', value: 'bottom'} + ] + } + ] + }, + + classListCtrl + ] + }; + + if (editor.settings.table_cell_advtab !== false) { + appendStylesToData(dom, data, cellElm); + + editor.windowManager.open({ + title: "Cell properties", + bodyType: 'tabpanel', + data: data, + body: [ + { + title: 'General', + type: 'form', + items: generalCellForm + }, + + createStyleForm(dom) + ], + + onsubmit: onSubmitCellForm + }); + } else { + editor.windowManager.open({ + title: "Cell properties", + data: data, + body: generalCellForm, + onsubmit: onSubmitCellForm + }); + } + }; + + self.row = function() { + var dom = editor.dom, tableElm, cellElm, rowElm, classListCtrl, data, rows = [], generalRowForm; + + function onSubmitRowForm() { + var tableElm, oldParentElm, parentElm; + + updateStyle(dom, this); + data = Tools.extend(data, this.toJSON()); + + editor.undoManager.transact(function() { + var toType = data.type; + + each(rows, function(rowElm) { + editor.dom.setAttribs(rowElm, { + scope: data.scope, + style: data.style, + 'class': data['class'] + }); + + editor.dom.setStyles(rowElm, { + height: addSizeSuffix(data.height) + }); + + if (toType != rowElm.parentNode.nodeName.toLowerCase()) { + tableElm = dom.getParent(rowElm, 'table'); + + oldParentElm = rowElm.parentNode; + parentElm = dom.select(toType, tableElm)[0]; + if (!parentElm) { + parentElm = dom.create(toType); + if (tableElm.firstChild) { + tableElm.insertBefore(parentElm, tableElm.firstChild); + } else { + tableElm.appendChild(parentElm); + } + } + + parentElm.appendChild(rowElm); + + if (!oldParentElm.hasChildNodes()) { + dom.remove(oldParentElm); + } + } + + // Apply/remove alignment + unApplyAlign(rowElm); + if (data.align) { + editor.formatter.apply('align' + data.align, {}, rowElm); + } + }); + + editor.focus(); + }); + } + + tableElm = editor.dom.getParent(editor.selection.getStart(), 'table'); + cellElm = editor.dom.getParent(editor.selection.getStart(), 'td,th'); + + each(tableElm.rows, function(row) { + each(row.cells, function(cell) { + if (dom.getAttrib(cell, 'data-mce-selected') || cell == cellElm) { + rows.push(row); + return false; + } + }); + }); + + rowElm = rows[0]; + if (!rowElm) { + // If this element is null, return now to avoid crashing. + return; + } + + data = { + height: removePxSuffix(dom.getStyle(rowElm, 'height') || dom.getAttrib(rowElm, 'height')), + scope: dom.getAttrib(rowElm, 'scope'), + 'class': dom.getAttrib(rowElm, 'class') + }; + + data.type = rowElm.parentNode.nodeName.toLowerCase(); + + each('left center right'.split(' '), function(name) { + if (editor.formatter.matchNode(rowElm, 'align' + name)) { + data.align = name; + } + }); + + if (editor.settings.table_row_class_list) { + classListCtrl = { + name: 'class', + type: 'listbox', + label: 'Class', + values: buildListItems( + editor.settings.table_row_class_list, + function(item) { + if (item.value) { + item.textStyle = function() { + return editor.formatter.getCssText({block: 'tr', classes: [item.value]}); + }; + } + } + ) + }; + } + + generalRowForm = { + type: 'form', + columns: 2, + padding: 0, + defaults: { + type: 'textbox' + }, + items: [ + { + type: 'listbox', + name: 'type', + label: 'Row type', + text: 'None', + maxWidth: null, + values: [ + {text: 'Header', value: 'thead'}, + {text: 'Body', value: 'tbody'}, + {text: 'Footer', value: 'tfoot'} + ] + }, + { + type: 'listbox', + name: 'align', + label: 'Alignment', + text: 'None', + maxWidth: null, + values: [ + {text: 'None', value: ''}, + {text: 'Left', value: 'left'}, + {text: 'Center', value: 'center'}, + {text: 'Right', value: 'right'} + ] + }, + {label: 'Height', name: 'height'}, + classListCtrl + ] + }; + + if (editor.settings.table_row_advtab !== false) { + appendStylesToData(dom, data, rowElm); + + editor.windowManager.open({ + title: "Row properties", + data: data, + bodyType: 'tabpanel', + body: [ + { + title: 'General', + type: 'form', + items: generalRowForm + }, + createStyleForm(dom) + ], + + onsubmit: onSubmitRowForm + }); + } else { + editor.windowManager.open({ + title: "Row properties", + data: data, + body: generalRowForm, + onsubmit: onSubmitRowForm + }); + } + }; + }; +}); + +// Included from: js/tinymce/plugins/table/classes/ResizeBars.js + +/** + * ResizeBars.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class handles table column and row resizing by adding divs over the columns and rows of the table. + * These divs are then manipulated using mouse events to resize the underlying table. + * + * @class tinymce.tableplugin.ResizeBars + * @private + */ +define("tinymce/tableplugin/ResizeBars", [ + "tinymce/util/Tools", + "tinymce/util/VK" +], function(Tools, VK) { + var hoverTable; + + return function(editor) { + var RESIZE_BAR_CLASS = 'mce-resize-bar', + RESIZE_BAR_ROW_CLASS = 'mce-resize-bar-row', + RESIZE_BAR_ROW_CURSOR_STYLE = 'row-resize', + RESIZE_BAR_ROW_DATA_ATTRIBUTE = 'data-row', + RESIZE_BAR_ROW_DATA_INITIAL_TOP_ATTRIBUTE = 'data-initial-top', + RESIZE_BAR_COL_CLASS = 'mce-resize-bar-col', + RESIZE_BAR_COL_CURSOR_STYLE = 'col-resize', + RESIZE_BAR_COL_DATA_ATTRIBUTE = 'data-col', + RESIZE_BAR_COL_DATA_INITIAL_LEFT_ATTRIBUTE = 'data-initial-left', + RESIZE_BAR_THICKNESS = 4, + RESIZE_MINIMUM_WIDTH = 10, + RESIZE_MINIMUM_HEIGHT = 10, + RESIZE_BAR_DRAGGING_CLASS = 'mce-resize-bar-dragging'; + + var percentageBasedSizeRegex = new RegExp(/(\d+(\.\d+)?%)/), + pixelBasedSizeRegex = new RegExp(/px|em/); + + var delayDrop, dragging, blockerElement, dragBar, lastX, lastY; + + // Get the absolute position's top edge. + function getTopEdge(index, row) { + return { + index: index, + y: editor.dom.getPos(row).y + }; + } + + // Get the absolute position's bottom edge. + function getBottomEdge(index, row) { + return { + index: index, + y: editor.dom.getPos(row).y + row.offsetHeight + }; + } + + // Get the absolute position's left edge. + function getLeftEdge(index, cell) { + return { + index: index, + x: editor.dom.getPos(cell).x + }; + } + + // Get the absolute position's right edge. + function getRightEdge(index, cell) { + return { + index: index, + x: editor.dom.getPos(cell).x + cell.offsetWidth + }; + } + + function isRtl() { + var dir = editor.getBody().dir; + return dir === 'rtl'; + } + + function isInline() { + return editor.inline; + } + + function getBody() { + return isInline ? editor.getBody().ownerDocument.body : editor.getBody(); + } + + function getInnerEdge(index, cell) { + return isRtl() ? getRightEdge(index, cell) : getLeftEdge(index, cell); + } + + function getOuterEdge(index, cell) { + return isRtl() ? getLeftEdge(index, cell) : getRightEdge(index, cell); + } + + function getPercentageWidthFallback(element, table) { + return getComputedStyleSize(element, 'width') / getComputedStyleSize(table, 'width') * 100; + } + + function getComputedStyleSize(element, property) { + var widthString = editor.dom.getStyle(element, property, true); + var width = parseInt(widthString, 10); + return width; + } + + function getCurrentTablePercentWidth(table) { + var tableWidth = getComputedStyleSize(table, 'width'); + var tableParentWidth = getComputedStyleSize(table.parentElement, 'width'); + return tableWidth / tableParentWidth * 100; + } + + function getCellPercentDelta(table, delta) { + var tableWidth = getComputedStyleSize(table, 'width'); + return delta / tableWidth * 100; + } + + function getTablePercentDelta(table, delta) { + var tableParentWidth = getComputedStyleSize(table.parentElement, 'width'); + return delta / tableParentWidth * 100; + } + + // Find the left/right (ltr/rtl) or top side locations of the cells to measure. + // This is the location of the borders we need to draw over. + function findPositions(getInner, getOuter, thingsToMeasure) { + var tablePositions = []; + + // Skip the first item in the array = no left (LTR), right (RTL) or top bars + for (var i = 1; i < thingsToMeasure.length; i++) { + // Get the element from the details + var item = thingsToMeasure[i].element; + + // We need to zero index this again + tablePositions.push(getInner(i - 1, item)); + } + + var lastTableLineToMake = thingsToMeasure[thingsToMeasure.length - 1]; + tablePositions.push(getOuter(thingsToMeasure.length - 1, lastTableLineToMake.element)); + + return tablePositions; + } + + // Clear the bars. + function clearBars() { + var bars = editor.dom.select('.' + RESIZE_BAR_CLASS, getBody()); + Tools.each(bars, function(bar) { + editor.dom.remove(bar); + }); + } + + // Refresh the bars. + function refreshBars(tableElement) { + clearBars(); + drawBars(tableElement); + } + + // Generates a resize bar object for the editor to add. + function generateBar(classToAdd, cursor, left, top, height, width, indexAttr, index) { + var bar = { + 'data-mce-bogus': 'all', + 'class': RESIZE_BAR_CLASS + ' ' + classToAdd, + 'unselectable': 'on', + 'data-mce-resize': false, + style: 'cursor: ' + cursor + '; ' + + 'margin: 0; ' + + 'padding: 0; ' + + 'position: absolute; ' + + 'left: ' + left + 'px; ' + + 'top: ' + top + 'px; ' + + 'height: ' + height + 'px; ' + + 'width: ' + width + 'px; ' + }; + + bar[indexAttr] = index; + + return bar; + } + + // Draw the row bars over the row borders. + function drawRows(rowPositions, tableWidth, tablePosition) { + Tools.each(rowPositions, function(rowPosition) { + var left = tablePosition.x, + top = rowPosition.y - RESIZE_BAR_THICKNESS / 2, + height = RESIZE_BAR_THICKNESS, + width = tableWidth; + + editor.dom.add(getBody(), 'div', + generateBar(RESIZE_BAR_ROW_CLASS, RESIZE_BAR_ROW_CURSOR_STYLE, + left, top, height, width, RESIZE_BAR_ROW_DATA_ATTRIBUTE, rowPosition.index)); + }); + } + + // Draw the column bars over the column borders. + function drawCols(cellPositions, tableHeight, tablePosition) { + Tools.each(cellPositions, function(cellPosition) { + var left = cellPosition.x - RESIZE_BAR_THICKNESS / 2, + top = tablePosition.y, + height = tableHeight, + width = RESIZE_BAR_THICKNESS; + + editor.dom.add(getBody(), 'div', + generateBar(RESIZE_BAR_COL_CLASS, RESIZE_BAR_COL_CURSOR_STYLE, + left, top, height, width, RESIZE_BAR_COL_DATA_ATTRIBUTE, cellPosition.index)); + }); + } + + // Get a matrix of the cells in each row and the rows in the table. + function getTableDetails(table) { + return Tools.map(table.rows, function(row) { + + var cells = Tools.map(row.cells, function(cell) { + + var rowspan = cell.hasAttribute('rowspan') ? parseInt(cell.getAttribute('rowspan'), 10) : 1; + var colspan = cell.hasAttribute('colspan') ? parseInt(cell.getAttribute('colspan'), 10) : 1; + + return { + element: cell, + rowspan: rowspan, + colspan: colspan + }; + }); + + return { + element: row, + cells: cells + }; + + }); + + } + + // Get a grid model of the table. + function getTableGrid(tableDetails) { + function key(rowIndex, colIndex) { + return rowIndex + ',' + colIndex; + } + + function getAt(rowIndex, colIndex) { + return access[key(rowIndex, colIndex)]; + } + + function getAllCells() { + var allCells = []; + Tools.each(rows, function(row) { + allCells = allCells.concat(row.cells); + }); + return allCells; + } + + function getAllRows() { + return rows; + } + + var access = {}; + var rows = []; + + var maxRows = 0; + var maxCols = 0; + + Tools.each(tableDetails, function(row, rowIndex) { + var currentRow = []; + + Tools.each(row.cells, function(cell) { + + var start = 0; + + while (access[key(rowIndex, start)] !== undefined) { + start++; + } + + var current = { + element: cell.element, + colspan: cell.colspan, + rowspan: cell.rowspan, + rowIndex: rowIndex, + colIndex: start + }; + + for (var i = 0; i < cell.colspan; i++) { + for (var j = 0; j < cell.rowspan; j++) { + var cr = rowIndex + j; + var cc = start + i; + access[key(cr, cc)] = current; + maxRows = Math.max(maxRows, cr + 1); + maxCols = Math.max(maxCols, cc + 1); + } + } + + currentRow.push(current); + }); + + rows.push({ + element: row.element, + cells: currentRow + }); + }); + + return { + grid: { + maxRows: maxRows, + maxCols: maxCols + }, + getAt: getAt, + getAllCells: getAllCells, + getAllRows: getAllRows + }; + } + + function range(start, end) { + var r = []; + + for (var i = start; i < end; i++) { + r.push(i); + } + + return r; + } + + // Attempt to get a representative single block for this column. + // If we can't find a single block, all blocks in this row/column are spanned + // and we'll need to fallback to getting the first cell in the row/column. + function decide(getBlock, isSingle, getFallback) { + var inBlock = getBlock(); + var singleInBlock; + + for (var i = 0; i < inBlock.length; i++) { + if (isSingle(inBlock[i])) { + singleInBlock = inBlock[i]; + } + } + return singleInBlock ? singleInBlock : getFallback(); + } + + // Attempt to get representative blocks for the width of each column. + function getColumnBlocks(tableGrid) { + var cols = range(0, tableGrid.grid.maxCols); + var rows = range(0, tableGrid.grid.maxRows); + + return Tools.map(cols, function(col) { + function getBlock() { + var details = []; + for (var i = 0; i < rows.length; i++) { + var detail = tableGrid.getAt(i, col); + if (detail && detail.colIndex === col) { + details.push(detail); + } + } + + return details; + } + + function isSingle(detail) { + return detail.colspan === 1; + } + + function getFallback() { + var item; + + for (var i = 0; i < rows.length; i++) { + item = tableGrid.getAt(i, col); + if (item) { + return item; + } + } + + return null; + } + + return decide(getBlock, isSingle, getFallback); + }); + } + + // Attempt to get representative blocks for the height of each row. + function getRowBlocks(tableGrid) { + var cols = range(0, tableGrid.grid.maxCols); + var rows = range(0, tableGrid.grid.maxRows); + + return Tools.map(rows, function(row) { + function getBlock() { + var details = []; + for (var i = 0; i < cols.length; i++) { + var detail = tableGrid.getAt(row, i); + if (detail && detail.rowIndex === row) { + details.push(detail); + } + } + return details; + } + + function isSingle(detail) { + return detail.rowspan === 1; + } + + function getFallback() { + return tableGrid.getAt(row, 0); + } + + return decide(getBlock, isSingle, getFallback); + }); + } + + // Draw resize bars over the left/right (ltr/rtl) or top side locations of the cells to measure. + // This is the location of the borders we need to draw over. + function drawBars(table) { + var tableDetails = getTableDetails(table); + var tableGrid = getTableGrid(tableDetails); + var rows = getRowBlocks(tableGrid); + var cols = getColumnBlocks(tableGrid); + + var tablePosition = editor.dom.getPos(table); + var rowPositions = rows.length > 0 ? findPositions(getTopEdge, getBottomEdge, rows) : []; + var colPositions = cols.length > 0 ? findPositions(getInnerEdge, getOuterEdge, cols) : []; + + drawRows(rowPositions, table.offsetWidth, tablePosition); + drawCols(colPositions, table.offsetHeight, tablePosition); + } + + // Attempt to deduce the width/height of a column/row that has more than one cell spanned. + function deduceSize(deducables, index, isPercentageBased, table) { + if (index < 0 || index >= deducables.length - 1) { + return ""; + } + + var current = deducables[index]; + + if (current) { + current = { + value: current, + delta: 0 + }; + } else { + var reversedUpToIndex = deducables.slice(0, index).reverse(); + for (var i = 0; i < reversedUpToIndex.length; i++) { + if (reversedUpToIndex[i]) { + current = { + value: reversedUpToIndex[i], + delta: i + 1 + }; + } + } + } + + var next = deducables[index + 1]; + + if (next) { + next = { + value: next, + delta: 1 + }; + } else { + var rest = deducables.slice(index + 1); + for (var j = 0; j < rest.length; j++) { + if (rest[j]) { + next = { + value: rest[j], + delta: j + 1 + }; + } + } + } + + var extras = next.delta - current.delta; + var pixelWidth = Math.abs(next.value - current.value) / extras; + return isPercentageBased ? pixelWidth / getComputedStyleSize(table, 'width') * 100 : pixelWidth; + } + + function getStyleOrAttrib(element, property) { + var sizeString = editor.dom.getStyle(element, property); + if (!sizeString) { + sizeString = editor.dom.getAttrib(element, property); + } + if (!sizeString) { + sizeString = editor.dom.getStyle(element, property, true); + } + return sizeString; + } + + function getWidth(element, isPercentageBased, table) { + var widthString = getStyleOrAttrib(element, 'width'); + + var widthNumber = parseInt(widthString, 10); + + var getWidthFallback = isPercentageBased ? getPercentageWidthFallback(element, table) : getComputedStyleSize(element, 'width'); + + // If this is percentage based table, but this cell isn't percentage based. + // Or if this is a pixel based table, but this cell isn't pixel based. + if (isPercentageBased && !isPercentageBasedSize(widthString) || + !isPercentageBased && !isPixelBasedSize(widthString)) { + // set the widthnumber to 0 + widthNumber = 0; + } + + return !isNaN(widthNumber) && widthNumber > 0 ? + widthNumber : getWidthFallback; + } + + // Attempt to get the css width from column representative cells. + function getWidths(tableGrid, isPercentageBased, table) { + + var cols = getColumnBlocks(tableGrid); + + var backups = Tools.map(cols, function(col) { + return getInnerEdge(col.colIndex, col.element).x; + }); + + var widths = []; + + for (var i = 0; i < cols.length; i++) { + var span = cols[i].element.hasAttribute('colspan') ? parseInt(cols[i].element.getAttribute('colspan'), 10) : 1; + // Deduce if the column has colspan of more than 1 + var width = span > 1 ? deduceSize(backups, i) : getWidth(cols[i].element, isPercentageBased, table); + // If everything's failed and we still don't have a width + width = width ? width : RESIZE_MINIMUM_WIDTH; + widths.push(width); + } + + return widths; + } + + // Attempt to get the pixel height from a cell. + function getPixelHeight(element) { + + var heightString = getStyleOrAttrib(element, 'height'); + + var heightNumber = parseInt(heightString, 10); + + if (isPercentageBasedSize(heightString)) { + heightNumber = 0; + } + + return !isNaN(heightNumber) && heightNumber > 0 ? + heightNumber : getComputedStyleSize(element, 'height'); + } + + // Attempt to get the css height from row representative cells. + function getPixelHeights(tableGrid) { + + var rows = getRowBlocks(tableGrid); + + var backups = Tools.map(rows, function(row) { + return getTopEdge(row.rowIndex, row.element).y; + }); + + var heights = []; + + for (var i = 0; i < rows.length; i++) { + var span = rows[i].element.hasAttribute('rowspan') ? parseInt(rows[i].element.getAttribute('rowspan'), 10) : 1; + + var height = span > 1 ? deduceSize(backups, i) : getPixelHeight(rows[i].element); + + height = height ? height : RESIZE_MINIMUM_HEIGHT; + heights.push(height); + } + + return heights; + } + + // Determine how much each column's css width will need to change. + // Sizes = result = pixels widths OR percentage based widths + function determineDeltas(sizes, column, step, min, isPercentageBased) { + + var result = sizes.slice(0); + + function generateZeros(array) { + return Tools.map(array, function() { + return 0; + }); + } + + function onOneColumn() { + var deltas; + if (isPercentageBased) { + // If we have one column in a percent based table, that column should be 100% of the width of the table. + deltas = [100 - result[0]]; + } else { + var newNext = Math.max(min, result[0] + step); + deltas = [newNext - result[0]]; + } + return deltas; + } + + function onLeftOrMiddle(index, next) { + + var startZeros = generateZeros(result.slice(0, index)); + var endZeros = generateZeros(result.slice(next + 1)); + var deltas; + + if (step >= 0) { + var newNext = Math.max(min, result[next] - step); + deltas = startZeros.concat([step, newNext - result[next]]).concat(endZeros); + } else { + var newThis = Math.max(min, result[index] + step); + var diffx = result[index] - newThis; + deltas = startZeros.concat([newThis - result[index], diffx]).concat(endZeros); + } + + return deltas; + } + + function onRight(previous, index) { + var startZeros = generateZeros(result.slice(0, index)); + var deltas; + + if (step >= 0) { + deltas = startZeros.concat([step]); + } else { + var size = Math.max(min, result[index] + step); + deltas = startZeros.concat([size - result[index]]); + } + + return deltas; + + } + + var deltas; + + if (sizes.length === 0) { // No Columns + deltas = []; + } else if (sizes.length === 1) { // One Column + deltas = onOneColumn(); + } else if (column === 0) { // Left Column + deltas = onLeftOrMiddle(0, 1); + } else if (column > 0 && column < sizes.length - 1) { // Middle Column + deltas = onLeftOrMiddle(column, column + 1); + } else if (column === sizes.length - 1) { // Right Column + deltas = onRight(column - 1, column); + } else { + deltas = []; + } + + return deltas; + } + + function total(start, end, measures) { + var r = 0; + for (var i = start; i < end; i++) { + r += measures[i]; + } + return r; + } + + // Combine cell's css widths to determine widths of colspan'd cells. + function recalculateWidths(tableGrid, widths) { + var allCells = tableGrid.getAllCells(); + return Tools.map(allCells, function(cell) { + var width = total(cell.colIndex, cell.colIndex + cell.colspan, widths); + return { + element: cell.element, + width: width, + colspan: cell.colspan + }; + }); + } + + // Combine cell's css heights to determine heights of rowspan'd cells. + function recalculateCellHeights(tableGrid, heights) { + var allCells = tableGrid.getAllCells(); + return Tools.map(allCells, function(cell) { + var height = total(cell.rowIndex, cell.rowIndex + cell.rowspan, heights); + return { + element: cell.element, + height: height, + rowspan: cell.rowspan + }; + }); + } + + // Calculate row heights. + function recalculateRowHeights(tableGrid, heights) { + var allRows = tableGrid.getAllRows(); + return Tools.map(allRows, function(row, i) { + return { + element: row.element, + height: heights[i] + }; + }); + } + + function isPercentageBasedSize(size) { + return percentageBasedSizeRegex.test(size); + } + + function isPixelBasedSize(size) { + return pixelBasedSizeRegex.test(size); + } + + // Adjust the width of the column of table at index, with delta. + function adjustWidth(table, delta, index) { + var tableDetails = getTableDetails(table); + var tableGrid = getTableGrid(tableDetails); + + function setSizes(newSizes, styleExtension) { + Tools.each(newSizes, function(cell) { + editor.dom.setStyle(cell.element, 'width', cell.width + styleExtension); + editor.dom.setAttrib(cell.element, 'width', null); + }); + } + + function getNewTablePercentWidth() { + return index < tableGrid.grid.maxCols - 1 ? getCurrentTablePercentWidth(table) : + getCurrentTablePercentWidth(table) + getTablePercentDelta(table, delta); + } + + function getNewTablePixelWidth() { + return index < tableGrid.grid.maxCols - 1 ? getComputedStyleSize(table, 'width') : + getComputedStyleSize(table, 'width') + delta; + } + + function setTableSize(newTableWidth, styleExtension, isPercentBased) { + if (index == tableGrid.grid.maxCols - 1 || !isPercentBased) { + editor.dom.setStyle(table, 'width', newTableWidth + styleExtension); + editor.dom.setAttrib(table, 'width', null); + } + } + + var percentageBased = isPercentageBasedSize(table.width) || + isPercentageBasedSize(table.style.width); + + var widths = getWidths(tableGrid, percentageBased, table); + + var step = percentageBased ? getCellPercentDelta(table, delta) : delta; + // TODO: change the min for percentage maybe? + var deltas = determineDeltas(widths, index, step, RESIZE_MINIMUM_WIDTH, percentageBased, table); + var newWidths = []; + + for (var i = 0; i < deltas.length; i++) { + newWidths.push(deltas[i] + widths[i]); + } + + var newSizes = recalculateWidths(tableGrid, newWidths); + var styleExtension = percentageBased ? '%' : 'px'; + var newTableWidth = percentageBased ? getNewTablePercentWidth() : + getNewTablePixelWidth(); + + editor.undoManager.transact(function() { + setSizes(newSizes, styleExtension); + setTableSize(newTableWidth, styleExtension, percentageBased); + }); + } + + // Adjust the height of the row of table at index, with delta. + function adjustHeight(table, delta, index) { + var tableDetails = getTableDetails(table); + var tableGrid = getTableGrid(tableDetails); + + var heights = getPixelHeights(tableGrid); + + var newHeights = [], newTotalHeight = 0; + + for (var i = 0; i < heights.length; i++) { + newHeights.push(i === index ? delta + heights[i] : heights[i]); + newTotalHeight += newTotalHeight[i]; + } + + var newCellSizes = recalculateCellHeights(tableGrid, newHeights); + var newRowSizes = recalculateRowHeights(tableGrid, newHeights); + + editor.undoManager.transact(function() { + + Tools.each(newRowSizes, function(row) { + editor.dom.setStyle(row.element, 'height', row.height + 'px'); + editor.dom.setAttrib(row.element, 'height', null); + }); + + Tools.each(newCellSizes, function(cell) { + editor.dom.setStyle(cell.element, 'height', cell.height + 'px'); + editor.dom.setAttrib(cell.element, 'height', null); + }); + + editor.dom.setStyle(table, 'height', newTotalHeight + 'px'); + editor.dom.setAttrib(table, 'height', null); + }); + } + + function scheduleDelayedDropEvent() { + delayDrop = setTimeout(function() { + drop(); + }, 200); + } + + function cancelDelayedDropEvent() { + clearTimeout(delayDrop); + } + + function getBlockerElement() { + var blocker = document.createElement('div'); + + blocker.setAttribute('style', 'margin: 0; ' + + 'padding: 0; ' + + 'position: fixed; ' + + 'left: 0px; ' + + 'top: 0px; ' + + 'height: 100%; ' + + 'width: 100%;'); + blocker.setAttribute('data-mce-bogus', 'all'); + + return blocker; + } + + function bindBlockerEvents(blocker, dragHandler) { + editor.dom.bind(blocker, 'mouseup', function() { + drop(); + }); + + editor.dom.bind(blocker, 'mousemove', function(e) { + cancelDelayedDropEvent(); + + if (dragging) { + dragHandler(e); + } + }); + + editor.dom.bind(blocker, 'mouseout', function() { + scheduleDelayedDropEvent(); + }); + + } + + function drop() { + editor.dom.remove(blockerElement); + + if (dragging) { + editor.dom.removeClass(dragBar, RESIZE_BAR_DRAGGING_CLASS); + dragging = false; + + var index, delta; + + if (isCol(dragBar)) { + var initialLeft = parseInt(editor.dom.getAttrib(dragBar, RESIZE_BAR_COL_DATA_INITIAL_LEFT_ATTRIBUTE), 10); + var newLeft = editor.dom.getPos(dragBar).x; + index = parseInt(editor.dom.getAttrib(dragBar, RESIZE_BAR_COL_DATA_ATTRIBUTE), 10); + delta = isRtl() ? initialLeft - newLeft : newLeft - initialLeft; + adjustWidth(hoverTable, delta, index); + } else if (isRow(dragBar)) { + var initialTop = parseInt(editor.dom.getAttrib(dragBar, RESIZE_BAR_ROW_DATA_INITIAL_TOP_ATTRIBUTE), 10); + var newTop = editor.dom.getPos(dragBar).y; + index = parseInt(editor.dom.getAttrib(dragBar, RESIZE_BAR_ROW_DATA_ATTRIBUTE), 10); + delta = newTop - initialTop; + adjustHeight(hoverTable, delta, index); + } + refreshBars(hoverTable); + editor.nodeChanged(); + } + } + + function setupBaseDrag(bar, dragHandler) { + blockerElement = blockerElement ? blockerElement : getBlockerElement(); + dragging = true; + editor.dom.addClass(bar, RESIZE_BAR_DRAGGING_CLASS); + dragBar = bar; + bindBlockerEvents(blockerElement, dragHandler); + editor.dom.add(getBody(), blockerElement); + } + + function isCol(target) { + return editor.dom.hasClass(target, RESIZE_BAR_COL_CLASS); + } + + function isRow(target) { + return editor.dom.hasClass(target, RESIZE_BAR_ROW_CLASS); + } + + function colDragHandler(event) { + lastX = lastX !== undefined ? lastX : event.clientX; // we need a firstX + var deltaX = event.clientX - lastX; + lastX = event.clientX; + var oldLeft = editor.dom.getPos(dragBar).x; + editor.dom.setStyle(dragBar, 'left', oldLeft + deltaX + 'px'); + } + + function rowDragHandler(event) { + lastY = lastY !== undefined ? lastY : event.clientY; + var deltaY = event.clientY - lastY; + lastY = event.clientY; + var oldTop = editor.dom.getPos(dragBar).y; + editor.dom.setStyle(dragBar, 'top', oldTop + deltaY + 'px'); + } + + function setupColDrag(bar) { + lastX = undefined; + setupBaseDrag(bar, colDragHandler); + } + + function setupRowDrag(bar) { + lastY = undefined; + setupBaseDrag(bar, rowDragHandler); + } + + function mouseDownHandler(e) { + var target = e.target, body = editor.getBody(); + + // Since this code is working on global events we need to work on a global hoverTable state + // and make sure that the state is correct according to the events fired + if (!editor.$.contains(body, hoverTable) && hoverTable !== body) { + return; + } + + if (isCol(target)) { + e.preventDefault(); + var initialLeft = editor.dom.getPos(target).x; + editor.dom.setAttrib(target, RESIZE_BAR_COL_DATA_INITIAL_LEFT_ATTRIBUTE, initialLeft); + setupColDrag(target); + } else if (isRow(target)) { + e.preventDefault(); + var initialTop = editor.dom.getPos(target).y; + editor.dom.setAttrib(target, RESIZE_BAR_ROW_DATA_INITIAL_TOP_ATTRIBUTE, initialTop); + setupRowDrag(target); + } else { + clearBars(); + } + } + + editor.on('init', function() { + // Needs to be like this for inline mode, editor.on does not bind to elements in the document body otherwise + editor.dom.bind(getBody(), 'mousedown', mouseDownHandler); + }); + + // If we're updating the table width via the old mechanic, we need to update the constituent cells' widths/heights too. + editor.on('ObjectResized', function(e) { + var table = e.target; + if (table.nodeName === 'TABLE') { + var newCellSizes = []; + Tools.each(table.rows, function(row) { + Tools.each(row.cells, function(cell) { + var width = editor.dom.getStyle(cell, 'width', true); + newCellSizes.push({ + cell: cell, + width: width + }); + }); + }); + Tools.each(newCellSizes, function(newCellSize) { + editor.dom.setStyle(newCellSize.cell, 'width', newCellSize.width); + editor.dom.setAttrib(newCellSize.cell, 'width', null); + }); + } + }); + + editor.on('mouseover', function(e) { + if (!dragging) { + var tableElement = editor.dom.getParent(e.target, 'table'); + + if (e.target.nodeName === 'TABLE' || tableElement) { + hoverTable = tableElement; + refreshBars(tableElement); + } + } + }); + + // Prevents the user from moving the caret inside the resize bars on Chrome + // Only does it on arrow keys since clearBars might be an epxensive operation + // since it's querying the DOM + editor.on('keydown', function(e) { + switch (e.keyCode) { + case VK.LEFT: + case VK.RIGHT: + case VK.UP: + case VK.DOWN: + clearBars(); + break; + } + }); + + editor.on('remove', function() { + clearBars(); + editor.dom.unbind(getBody(), 'mousedown', mouseDownHandler); + }); + + return { + adjustWidth: adjustWidth, + adjustHeight: adjustHeight, + clearBars: clearBars, + drawBars: drawBars, + determineDeltas: determineDeltas, + getTableGrid: getTableGrid, + getTableDetails: getTableDetails, + getWidths: getWidths, + getPixelHeights: getPixelHeights, + isPercentageBasedSize: isPercentageBasedSize, + isPixelBasedSize: isPixelBasedSize, + recalculateWidths: recalculateWidths, + recalculateCellHeights: recalculateCellHeights, + recalculateRowHeights: recalculateRowHeights + }; + }; +}); + +// Included from: js/tinymce/plugins/table/classes/Plugin.js + +/** + * Plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * This class contains all core logic for the table plugin. + * + * @class tinymce.tableplugin.Plugin + * @private + */ +define("tinymce/tableplugin/Plugin", [ + "tinymce/tableplugin/TableGrid", + "tinymce/tableplugin/Quirks", + "tinymce/tableplugin/CellSelection", + "tinymce/tableplugin/Dialogs", + "tinymce/tableplugin/ResizeBars", + "tinymce/util/Tools", + "tinymce/dom/TreeWalker", + "tinymce/Env", + "tinymce/PluginManager" +], function(TableGrid, Quirks, CellSelection, Dialogs, ResizeBars, Tools, TreeWalker, Env, PluginManager) { + var each = Tools.each; + + function Plugin(editor) { + var clipboardRows, self = this, dialogs = new Dialogs(editor), resizeBars; + + if (editor.settings.object_resizing && editor.settings.table_resize_bars !== false && + (editor.settings.object_resizing === true || editor.settings.object_resizing === 'table')) { + resizeBars = ResizeBars(editor); + } + + function cmd(command) { + return function() { + editor.execCommand(command); + }; + } + + function insertTable(cols, rows) { + var y, x, html, tableElm; + + html = '
'; + + for (y = 0; y < rows; y++) { + html += ''; + + for (x = 0; x < cols; x++) { + html += ''; + } + + html += ''; + } + + html += '
' + (Env.ie && Env.ie < 10 ? ' ' : '
') + '
'; + + editor.undoManager.transact(function() { + editor.insertContent(html); + + tableElm = editor.dom.get('__mce'); + editor.dom.setAttrib(tableElm, 'id', null); + + editor.$('tr', tableElm).each(function(index, row) { + editor.fire('newrow', { + node: row + }); + + editor.$('th,td', row).each(function(index, cell) { + editor.fire('newcell', { + node: cell + }); + }); + }); + + editor.dom.setAttribs(tableElm, editor.settings.table_default_attributes || {}); + editor.dom.setStyles(tableElm, editor.settings.table_default_styles || {}); + }); + + return tableElm; + } + + function handleDisabledState(ctrl, selector, sameParts) { + function bindStateListener() { + var selectedElm, selectedCells, parts = {}, sum = 0, state; + + selectedCells = editor.dom.select('td[data-mce-selected],th[data-mce-selected]'); + selectedElm = selectedCells[0]; + if (!selectedElm) { + selectedElm = editor.selection.getStart(); + } + + // Make sure that we don't have a selection inside thead and tbody at the same time + if (sameParts && selectedCells.length > 0) { + each(selectedCells, function(cell) { + return parts[cell.parentNode.parentNode.nodeName] = 1; + }); + + each(parts, function(value) { + sum += value; + }); + + state = sum !== 1; + } else { + state = !editor.dom.getParent(selectedElm, selector); + } + + ctrl.disabled(state); + + editor.selection.selectorChanged(selector, function(state) { + ctrl.disabled(!state); + }); + } + + if (editor.initialized) { + bindStateListener(); + } else { + editor.on('init', bindStateListener); + } + } + + function postRender() { + /*jshint validthis:true*/ + handleDisabledState(this, 'table'); + } + + function postRenderCell() { + /*jshint validthis:true*/ + handleDisabledState(this, 'td,th'); + } + + function postRenderMergeCell() { + /*jshint validthis:true*/ + handleDisabledState(this, 'td,th', true); + } + + function generateTableGrid() { + var html = ''; + + html = ''; + + for (var y = 0; y < 10; y++) { + html += ''; + + for (var x = 0; x < 10; x++) { + html += ''; + } + + html += ''; + } + + html += '
'; + + html += ''; + + return html; + } + + function selectGrid(tx, ty, control) { + var table = control.getEl().getElementsByTagName('table')[0]; + var x, y, focusCell, cell, active; + var rtl = control.isRtl() || control.parent().rel == 'tl-tr'; + + table.nextSibling.innerHTML = (tx + 1) + ' x ' + (ty + 1); + + if (rtl) { + tx = 9 - tx; + } + + for (y = 0; y < 10; y++) { + for (x = 0; x < 10; x++) { + cell = table.rows[y].childNodes[x].firstChild; + active = (rtl ? x >= tx : x <= tx) && y <= ty; + + editor.dom.toggleClass(cell, 'mce-active', active); + + if (active) { + focusCell = cell; + } + } + } + + return focusCell.parentNode; + } + + if (editor.settings.table_grid === false) { + editor.addMenuItem('inserttable', { + text: 'Insert table', + icon: 'table', + context: 'table', + onclick: dialogs.table + }); + } else { + editor.addMenuItem('inserttable', { + text: 'Insert table', + icon: 'table', + context: 'table', + ariaHideMenu: true, + onclick: function(e) { + if (e.aria) { + this.parent().hideAll(); + e.stopImmediatePropagation(); + dialogs.table(); + } + }, + onshow: function() { + selectGrid(0, 0, this.menu.items()[0]); + }, + onhide: function() { + var elements = this.menu.items()[0].getEl().getElementsByTagName('a'); + editor.dom.removeClass(elements, 'mce-active'); + editor.dom.addClass(elements[0], 'mce-active'); + }, + menu: [ + { + type: 'container', + html: generateTableGrid(), + + onPostRender: function() { + this.lastX = this.lastY = 0; + }, + + onmousemove: function(e) { + var target = e.target, x, y; + + if (target.tagName.toUpperCase() == 'A') { + x = parseInt(target.getAttribute('data-mce-x'), 10); + y = parseInt(target.getAttribute('data-mce-y'), 10); + + if (this.isRtl() || this.parent().rel == 'tl-tr') { + x = 9 - x; + } + + if (x !== this.lastX || y !== this.lastY) { + selectGrid(x, y, e.control); + + this.lastX = x; + this.lastY = y; + } + } + }, + + onclick: function(e) { + var self = this; + + if (e.target.tagName.toUpperCase() == 'A') { + e.preventDefault(); + e.stopPropagation(); + self.parent().cancel(); + + editor.undoManager.transact(function() { + insertTable(self.lastX + 1, self.lastY + 1); + }); + + editor.addVisual(); + } + } + } + ] + }); + } + + editor.addMenuItem('tableprops', { + text: 'Table properties', + context: 'table', + onPostRender: postRender, + onclick: dialogs.tableProps + }); + + editor.addMenuItem('deletetable', { + text: 'Delete table', + context: 'table', + onPostRender: postRender, + cmd: 'mceTableDelete' + }); + + editor.addMenuItem('cell', { + separator: 'before', + text: 'Cell', + context: 'table', + menu: [ + {text: 'Cell properties', onclick: cmd('mceTableCellProps'), onPostRender: postRenderCell}, + {text: 'Merge cells', onclick: cmd('mceTableMergeCells'), onPostRender: postRenderMergeCell}, + {text: 'Split cell', onclick: cmd('mceTableSplitCells'), onPostRender: postRenderCell} + ] + }); + + editor.addMenuItem('row', { + text: 'Row', + context: 'table', + menu: [ + {text: 'Insert row before', onclick: cmd('mceTableInsertRowBefore'), onPostRender: postRenderCell}, + {text: 'Insert row after', onclick: cmd('mceTableInsertRowAfter'), onPostRender: postRenderCell}, + {text: 'Delete row', onclick: cmd('mceTableDeleteRow'), onPostRender: postRenderCell}, + {text: 'Row properties', onclick: cmd('mceTableRowProps'), onPostRender: postRenderCell}, + {text: '-'}, + {text: 'Cut row', onclick: cmd('mceTableCutRow'), onPostRender: postRenderCell}, + {text: 'Copy row', onclick: cmd('mceTableCopyRow'), onPostRender: postRenderCell}, + {text: 'Paste row before', onclick: cmd('mceTablePasteRowBefore'), onPostRender: postRenderCell}, + {text: 'Paste row after', onclick: cmd('mceTablePasteRowAfter'), onPostRender: postRenderCell} + ] + }); + + editor.addMenuItem('column', { + text: 'Column', + context: 'table', + menu: [ + {text: 'Insert column before', onclick: cmd('mceTableInsertColBefore'), onPostRender: postRenderCell}, + {text: 'Insert column after', onclick: cmd('mceTableInsertColAfter'), onPostRender: postRenderCell}, + {text: 'Delete column', onclick: cmd('mceTableDeleteCol'), onPostRender: postRenderCell} + ] + }); + + var menuItems = []; + each("inserttable tableprops deletetable | cell row column".split(' '), function(name) { + if (name == '|') { + menuItems.push({text: '-'}); + } else { + menuItems.push(editor.menuItems[name]); + } + }); + + editor.addButton("table", { + type: "menubutton", + title: "Table", + menu: menuItems + }); + + // Select whole table is a table border is clicked + if (!Env.isIE) { + editor.on('click', function(e) { + e = e.target; + + if (e.nodeName === 'TABLE') { + editor.selection.select(e); + editor.nodeChanged(); + } + }); + } + + self.quirks = new Quirks(editor); + + editor.on('Init', function() { + self.cellSelection = new CellSelection(editor, function (selecting) { + if (selecting) { + resizeBars.clearBars(); + } + }); + self.resizeBars = resizeBars; + }); + + editor.on('PreInit', function() { + // Remove internal data attributes + editor.serializer.addAttributeFilter( + 'data-mce-cell-padding,data-mce-border,data-mce-border-color', + function(nodes, name) { + + var i = nodes.length; + + while (i--) { + nodes[i].attr(name, null); + } + }); + }); + + // Register action commands + each({ + mceTableSplitCells: function(grid) { + grid.split(); + }, + + mceTableMergeCells: function(grid) { + var cell; + + cell = editor.dom.getParent(editor.selection.getStart(), 'th,td'); + + if (!editor.dom.select('td[data-mce-selected],th[data-mce-selected]').length) { + dialogs.merge(grid, cell); + } else { + grid.merge(); + } + }, + + mceTableInsertRowBefore: function(grid) { + grid.insertRow(true); + }, + + mceTableInsertRowAfter: function(grid) { + grid.insertRow(); + }, + + mceTableInsertColBefore: function(grid) { + grid.insertCol(true); + }, + + mceTableInsertColAfter: function(grid) { + grid.insertCol(); + }, + + mceTableDeleteCol: function(grid) { + grid.deleteCols(); + }, + + mceTableDeleteRow: function(grid) { + grid.deleteRows(); + }, + + mceTableCutRow: function(grid) { + clipboardRows = grid.cutRows(); + }, + + mceTableCopyRow: function(grid) { + clipboardRows = grid.copyRows(); + }, + + mceTablePasteRowBefore: function(grid) { + grid.pasteRows(clipboardRows, true); + }, + + mceTablePasteRowAfter: function(grid) { + grid.pasteRows(clipboardRows); + }, + + mceSplitColsBefore: function(grid) { + grid.splitCols(true); + }, + + mceSplitColsAfter: function(grid) { + grid.splitCols(false); + }, + + mceTableDelete: function(grid) { + if (resizeBars) { + resizeBars.clearBars(); + } + grid.deleteTable(); + } + }, function(func, name) { + editor.addCommand(name, function() { + var grid = new TableGrid(editor); + + if (grid) { + func(grid); + editor.execCommand('mceRepaint'); + self.cellSelection.clear(); + } + }); + }); + + // Register dialog commands + each({ + mceInsertTable: dialogs.table, + mceTableProps: function() { + dialogs.table(true); + }, + mceTableRowProps: dialogs.row, + mceTableCellProps: dialogs.cell + }, function(func, name) { + editor.addCommand(name, function(ui, val) { + func(val); + }); + }); + + function addButtons() { + editor.addButton('tableprops', { + title: 'Table properties', + onclick: dialogs.tableProps, + icon: 'table' + }); + + editor.addButton('tabledelete', { + title: 'Delete table', + onclick: cmd('mceTableDelete') + }); + + editor.addButton('tablecellprops', { + title: 'Cell properties', + onclick: cmd('mceTableCellProps') + }); + + editor.addButton('tablemergecells', { + title: 'Merge cells', + onclick: cmd('mceTableMergeCells') + }); + + editor.addButton('tablesplitcells', { + title: 'Split cell', + onclick: cmd('mceTableSplitCells') + }); + + editor.addButton('tableinsertrowbefore', { + title: 'Insert row before', + onclick: cmd('mceTableInsertRowBefore') + }); + + editor.addButton('tableinsertrowafter', { + title: 'Insert row after', + onclick: cmd('mceTableInsertRowAfter') + }); + + editor.addButton('tabledeleterow', { + title: 'Delete row', + onclick: cmd('mceTableDeleteRow') + }); + + editor.addButton('tablerowprops', { + title: 'Row properties', + onclick: cmd('mceTableRowProps') + }); + + editor.addButton('tablecutrow', { + title: 'Cut row', + onclick: cmd('mceTableCutRow') + }); + + editor.addButton('tablecopyrow', { + title: 'Copy row', + onclick: cmd('mceTableCopyRow') + }); + + editor.addButton('tablepasterowbefore', { + title: 'Paste row before', + onclick: cmd('mceTablePasteRowBefore') + }); + + editor.addButton('tablepasterowafter', { + title: 'Paste row after', + onclick: cmd('mceTablePasteRowAfter') + }); + + editor.addButton('tableinsertcolbefore', { + title: 'Insert column before', + onclick: cmd('mceTableInsertColBefore') + }); + + editor.addButton('tableinsertcolafter', { + title: 'Insert column after', + onclick: cmd('mceTableInsertColAfter') + }); + + editor.addButton('tabledeletecol', { + title: 'Delete column', + onclick: cmd('mceTableDeleteCol') + }); + + } + + function isTable(table) { + + var selectorMatched = editor.dom.is(table, 'table') && editor.getBody().contains(table); + + return selectorMatched; + } + + function addToolbars() { + var toolbarItems = editor.settings.table_toolbar; + + if (toolbarItems === '' || toolbarItems === false) { + return; + } + + if (!toolbarItems) { + toolbarItems = 'tableprops tabledelete | ' + + 'tableinsertrowbefore tableinsertrowafter tabledeleterow | ' + + 'tableinsertcolbefore tableinsertcolafter tabledeletecol'; + } + + editor.addContextToolbar( + isTable, + toolbarItems + ); + } + + function getClipboardRows() { + return clipboardRows; + } + + function setClipboardRows(rows) { + clipboardRows = rows; + } + + addButtons(); + addToolbars(); + + // Enable tab key cell navigation + if (editor.settings.table_tab_navigation !== false) { + editor.on('keydown', function(e) { + var cellElm, grid, delta; + + if (e.keyCode == 9) { + cellElm = editor.dom.getParent(editor.selection.getStart(), 'th,td'); + + if (cellElm) { + e.preventDefault(); + + grid = new TableGrid(editor); + delta = e.shiftKey ? -1 : 1; + + editor.undoManager.transact(function() { + if (!grid.moveRelIdx(cellElm, delta) && delta > 0) { + grid.insertRow(); + grid.refresh(); + grid.moveRelIdx(cellElm, delta); + } + }); + } + } + }); + } + + self.insertTable = insertTable; + self.setClipboardRows = setClipboardRows; + self.getClipboardRows = getClipboardRows; + } + + PluginManager.add('table', Plugin); +}); +})(this); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/table/plugin.min.js b/public/mosaico/dist/vendor/plugins/table/plugin.min.js new file mode 100644 index 00000000..25ff4a60 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/table/plugin.min.js @@ -0,0 +1,2 @@ +!function(e,t){"use strict";function n(e,t){for(var n,r=[],a=0;a9)&&(t.hasChildNodes()||(t.innerHTML='
'))}var n=function(e){return function(t,n){t&&(n=parseInt(n,10),1===n||0===n?t.removeAttribute(e,1):t.setAttribute(e,n,1))}},r=function(e){return function(t){return parseInt(t.getAttribute(e)||1,10)}};return{setColSpan:n("colSpan"),setRowSpan:n("rowspan"),getColSpan:r("colSpan"),getRowSpan:r("rowSpan"),setSpanVal:function(e,t,r){n(t)(e,r)},getSpanVal:function(e,t){return r(t)(e)},paddCell:t}}),r("tinymce/tableplugin/SplitCols",["tinymce/util/Tools","tinymce/tableplugin/Utils"],function(e,t){var n=function(e,t,n){return e[n]?e[n][t]:null},r=function(e,t,r){var i=n(e,t,r);return i?i.elm:null},i=function(e,t,i,o){var a,s,l=0,c=r(e,t,i);for(a=i;(o>0?a=0)&&(s=n(e,t,a),c===s.elm);a+=o)l++;return l},o=function(e,t,n){for(var r,i=e[n],o=t;o'),!1},"childNodes"),t=v(t,!1),g(t),s(t,"rowSpan",1),s(t,"colSpan",1),i?t.appendChild(i):r.paddCell(t),t}function _(){var e,t=ee.createRng();return o(ee.select("tr",c),function(e){0===e.cells.length&&ee.remove(e)}),0===ee.select("tr",c).length?(t.setStartBefore(c),t.setEndBefore(c),Z.setRng(t),void ee.remove(c)):(o(ee.select("thead,tbody,tfoot",c),function(e){0===e.rows.length&&ee.remove(e)}),p(),void(J&&(e=K[Math.min(K.length-1,J.y)],e&&(Z.select(e[Math.min(e.length-1,J.x)].elm,!0),Z.collapse(!0)))))}function S(e,t,n,r){var i,o,a,s,l;for(i=K[t][e].elm.parentNode,a=1;a<=n;a++)if(i=ee.getNext(i,"tr")){for(o=e;o>=0;o--)if(l=K[t+a][o].elm,l.parentNode==i){for(s=1;s<=r;s++)ee.insertAfter(E(l),l);break}if(o==-1)for(s=1;s<=r;s++)i.insertBefore(E(i.cells[0]),i.cells[0])}}function k(){o(K,function(e,t){o(e,function(e,n){var r,i,o;if(x(e)&&(e=e.elm,r=a(e,"colspan"),i=a(e,"rowspan"),r>1||i>1)){for(s(e,"rowSpan",1),s(e,"colSpan",1),o=0;on)&&r.push(e[i]);return r}function R(t){return e.grep(t,function(e){return e.real===!1})}function A(e){for(var t=[],n=0;n1&&(N=1),s(h,"colSpan",w),s(h,"rowSpan",N),f=l;f<=u;f++)for(d=a;d<=c;d++)K[f]&&K[f][d]&&(t=K[f][d].elm,t!=h&&(g=e.grep(t.childNodes),o(g,function(e){h.appendChild(e)}),g.length&&(g=e.grep(h.childNodes),v=0,o(g,function(e){"BR"==e.nodeName&&v++0&&K[n-1][l]&&(f=K[n-1][l].elm,h=a(f,"rowSpan"),h>1)){s(f,"rowSpan",h+1);continue}}else if(h=a(r,"rowspan"),h>1){s(r,"rowSpan",h+1);continue}d=E(r),s(d,"colSpan",r.colSpan),u.appendChild(d),i=r}u.hasChildNodes()&&(e?c.parentNode.insertBefore(u,c):ee.insertAfter(u,c))}}function P(e){var t,n;o(K,function(n){if(o(n,function(n,r){if(x(n)&&(t=r,e))return!1}),e)return!t}),o(K,function(r,i){var o,l,c;r[t]&&(o=r[t].elm,o!=n&&(c=a(o,"colspan"),l=a(o,"rowspan"),1==c?e?(o.parentNode.insertBefore(E(o),o),S(t,i,l-1,c)):(ee.insertAfter(E(o),o),S(t,i,l-1,c)):s(o,"colSpan",o.colSpan+1),n=o))})}function O(t){return e.grep(H(t),x)}function H(e){var t=[];return o(e,function(e){o(e,function(e){t.push(e)})}),t}function I(){var t=[];if(f(c)){if(1==K[0].length)return;if(O(K).length==H(K).length)return}o(K,function(n){o(n,function(n,r){x(n)&&e.inArray(t,r)===-1&&(o(K,function(e){var t,n=e[r].elm;t=a(n,"colSpan"),t>1?s(n,"colSpan",t-1):ee.remove(n)}),t.push(r))})}),_()}function F(){function e(e){var t,n;o(e.cells,function(e){var n=a(e,"rowSpan");n>1&&(s(e,"rowSpan",n-1),t=V(e),S(t.x,t.y,1,1))}),t=V(e.cells[0]),o(K[t.y],function(e){var t;e=e.elm,e!=n&&(t=a(e,"rowSpan"),t<=1?ee.remove(e):s(e,"rowSpan",t-1),n=e)})}var t;t=w(),f(c)&&t.length==c.rows.length||(o(t.reverse(),function(t){e(t)}),_())}function z(){var e=w();if(!f(c)||e.length!=c.rows.length)return ee.remove(e),_(),e}function U(){var e=w();return o(e,function(t,n){e[n]=v(t,!0)}),e}function W(t,n){var r,a,l;t&&(r=i.splitAt(K,J.x,J.y,n),a=r.row,e.each(r.cells,g),l=e.map(t,function(e){return e.cloneNode(!0)}),n||l.reverse(),o(l,function(e){var t,r,i=e.cells.length;for(m(e),t=0;te&&(e=i),r>t&&(t=r),n.real&&(o=n.colspan-1,a=n.rowspan-1,o&&i+o>e&&(e=i+o),a&&r+a>t&&(t=r+a)))})}),{x:e,y:t}}function j(e){var t,n,r,i,o,a,s,l,c,u;if(Q=V(e),J&&Q){for(t=Math.min(J.x,Q.x),n=Math.min(J.y,Q.y),r=Math.max(J.x,Q.x),i=Math.max(J.y,Q.y),o=r,a=i,u=n;u<=i;u++)for(c=t;c<=r;c++)e=K[u][c],e.real&&(s=e.colspan-1,l=e.rowspan-1,s&&c+s>o&&(o=c+s),l&&u+l>a&&(a=u+l));for(d(),u=n;u<=a;u++)for(c=t;c<=o;c++)K[u][c]&&ee.setAttrib(K[u][c].elm,"data-mce-selected","1")}}function Y(e,t){var n,r,i;n=V(e),r=n.y*G+n.x;do{if(r+=t,i=y(r%G,Math.floor(r/G)),!i)break;if(i.elm!=e)return Z.select(i.elm,!0),ee.isEmpty(i.elm)&&Z.collapse(!0),!0}while(i.elm==e);return!1}function X(t){if(J){var n=i.splitAt(K,J.x,J.y,t);e.each(n.cells,g)}}var K,G,J,Q,Z=l.selection,ee=Z.dom;c=c||ee.getParent(Z.getStart(!0),"table"),p(),u=u||ee.getParent(Z.getStart(!0),"th,td"),u&&(J=V(u),Q=q(),u=y(J.x,J.y)),e.extend(this,{deleteTable:N,split:k,merge:L,insertRow:M,insertCol:P,splitCols:X,deleteCols:I,deleteRows:F,cutRows:z,copyRows:U,pasteRows:W,getPos:V,setStartCell:$,setEndCell:j,moveRelIdx:Y,refresh:p})}}),r("tinymce/tableplugin/Quirks",["tinymce/util/VK","tinymce/util/Delay","tinymce/Env","tinymce/util/Tools","tinymce/tableplugin/Utils"],function(e,t,n,r,i){var o=r.each,a=i.getSpanVal;return function(s){function l(){function n(n){function r(e,t){var r=e?"previousSibling":"nextSibling",o=s.dom.getParent(t,"tr"),a=o[r];if(a)return v(s,t,a,e),n.preventDefault(),!0;var l=s.dom.getParent(o,"table"),d=o.parentNode,f=d.nodeName.toLowerCase();if("tbody"===f||f===(e?"tfoot":"thead")){var h=i(e,l,d,"tbody");if(null!==h)return c(e,h,t)}return u(e,o,r,l)}function i(e,t,n,r){var i=s.dom.select(">"+r,t),o=i.indexOf(n);if(e&&0===o||!e&&o===i.length-1)return l(e,t);if(o===-1){var a="thead"===n.tagName.toLowerCase()?0:i.length-1;return i[a]}return i[o+(e?-1:1)]}function l(e,t){var n=e?"thead":"tfoot",r=s.dom.select(">"+n,t);return 0!==r.length?r[0]:null}function c(e,t,r){var i=d(t,e);return i&&v(s,r,i,e),n.preventDefault(),!0}function u(e,t,i,o){var a=o[i];if(a)return f(a),!0;var l=s.dom.getParent(o,"td,th");if(l)return r(e,l,n);var c=d(t,!e);return f(c),n.preventDefault(),!1}function d(e,t){var n=e&&e[t?"lastChild":"firstChild"];return n&&"BR"===n.nodeName?s.dom.getParent(n,"td,th"):n}function f(e){s.selection.setCursorLocation(e,0)}function h(){return C==e.UP||C==e.DOWN}function p(e){var t=e.selection.getNode(),n=e.dom.getParent(t,"tr");return null!==n}function m(e){for(var t=0,n=e;n.previousSibling;)n=n.previousSibling,t+=a(n,"colspan");return t}function g(e,t){var n=0,r=0;return o(e.children,function(e,i){if(n+=a(e,"colspan"),r=i,n>t)return!1}),r}function v(e,t,n,r){var i=m(s.dom.getParent(t,"td,th")),o=g(n,i),a=n.childNodes[o],l=d(a,r);f(l||a)}function y(e){var t=s.selection.getNode(),n=s.dom.getParent(t,"td,th"),r=s.dom.getParent(e,"td,th");return n&&n!==r&&b(n,r)}function b(e,t){return s.dom.getParent(e,"TABLE")===s.dom.getParent(t,"TABLE")}var C=n.keyCode;if(h()&&p(s)){var x=s.selection.getNode();t.setEditorTimeout(s,function(){y(x)&&r(!n.shiftKey&&C===e.UP,x,n)},0)}}s.on("KeyDown",function(e){n(e)})}function c(){function e(e,t){var n,r=t.ownerDocument,i=r.createRange();return i.setStartBefore(t),i.setEnd(e.endContainer,e.endOffset),n=r.createElement("body"),n.appendChild(i.cloneContents()),0===n.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,"-").replace(/<[^>]+>/g,"").length}s.on("KeyDown",function(t){var n,r,i=s.dom;37!=t.keyCode&&38!=t.keyCode||(n=s.selection.getRng(),r=i.getParent(n.startContainer,"table"),r&&s.getBody().firstChild==r&&e(n,r)&&(n=i.createRng(),n.setStartBefore(r),n.setEndBefore(r),s.selection.setRng(n),t.preventDefault()))})}function u(){s.on("KeyDown SetContent VisualAid",function(){var e;for(e=s.getBody().lastChild;e;e=e.previousSibling)if(3==e.nodeType){if(e.nodeValue.length>0)break}else if(1==e.nodeType&&("BR"==e.tagName||!e.getAttribute("data-mce-bogus")))break;e&&"TABLE"==e.nodeName&&(s.settings.forced_root_block?s.dom.add(s.getBody(),s.settings.forced_root_block,s.settings.forced_root_block_attrs,n.ie&&n.ie<10?" ":'
'):s.dom.add(s.getBody(),"br",{"data-mce-bogus":"1"}))}),s.on("PreProcess",function(e){var t=e.node.lastChild;t&&("BR"==t.nodeName||1==t.childNodes.length&&("BR"==t.firstChild.nodeName||"\xa0"==t.firstChild.nodeValue))&&t.previousSibling&&"TABLE"==t.previousSibling.nodeName&&s.dom.remove(t)})}function d(){function e(e,t,n,r){var i,o,a,s=3,l=e.dom.getParent(t.startContainer,"TABLE");return l&&(i=l.parentNode),o=t.startContainer.nodeType==s&&0===t.startOffset&&0===t.endOffset&&r&&("TR"==n.nodeName||n==i),a=("TD"==n.nodeName||"TH"==n.nodeName)&&!r,o||a}function t(){var t=s.selection.getRng(),n=s.selection.getNode(),r=s.dom.getParent(t.startContainer,"TD,TH");if(e(s,t,n,r)){r||(r=n);for(var i=r.lastChild;i.lastChild;)i=i.lastChild;3==i.nodeType&&(t.setEnd(i,i.data.length),s.selection.setRng(t))}}s.on("KeyDown",function(){t()}),s.on("MouseDown",function(e){2!=e.button&&t()})}function f(){function t(e){s.selection.select(e,!0),s.selection.collapse(!0)}function n(e){s.$(e).empty(),i.paddCell(e)}s.on("keydown",function(i){if((i.keyCode==e.DELETE||i.keyCode==e.BACKSPACE)&&!i.isDefaultPrevented()){var o,a,l,c;if(o=s.dom.getParent(s.selection.getStart(),"table")){if(a=s.dom.select("td,th",o),l=r.grep(a,function(e){return!!s.dom.getAttrib(e,"data-mce-selected")}),0===l.length)return c=s.dom.getParent(s.selection.getStart(),"td,th"),void(s.selection.isCollapsed()&&c&&s.dom.isEmpty(c)&&(i.preventDefault(),n(c),t(c)));i.preventDefault(),s.undoManager.transact(function(){a.length==l.length?s.execCommand("mceTableDelete"):(r.each(l,n),t(l[0]))})}}})}f(),n.webkit&&(l(),d()),n.gecko&&(c(),u()),n.ie>9&&(c(),u())}}),r("tinymce/tableplugin/CellSelection",["tinymce/tableplugin/TableGrid","tinymce/dom/TreeWalker","tinymce/util/Tools"],function(e,t,n){return function(r,i){function o(e){r.getBody().style.webkitUserSelect="",(e||m)&&(r.$("td[data-mce-selected],th[data-mce-selected]").removeAttr("data-mce-selected"),m=!1)}function a(e,t){return!(!e||!t)&&e===p.getParent(t,"table")}function s(t){var n,o,s=t.target;if(!f&&!h&&s!==d&&(d=s,u&&c)){if(o=p.getParent(s,"td,th"),a(u,o)||(o=p.getParent(u,"td,th")),c===o&&!m)return;if(i(!0),a(u,o)){t.preventDefault(),l||(l=new e(r,u,c),r.getBody().style.webkitUserSelect="none"),l.setEndCell(o),m=!0,n=r.selection.getSel();try{n.removeAllRanges?n.removeAllRanges():n.empty()}catch(e){}}}}var l,c,u,d,f,h,p=r.dom,m=!0,g=function(){c=l=u=d=null,i(!1)};return r.on("SelectionChange",function(e){m&&e.stopImmediatePropagation()},!0),r.on("MouseDown",function(e){2==e.button||f||h||(o(),c=p.getParent(e.target,"td,th"),u=p.getParent(c,"table"))}),r.on("mouseover",s),r.on("remove",function(){p.unbind(r.getDoc(),"mouseover",s),o()}),r.on("MouseUp",function(){function e(e,r){var o=new t(e,e);do{if(3==e.nodeType&&0!==n.trim(e.nodeValue).length)return void(r?i.setStart(e,0):i.setEnd(e,e.nodeValue.length));if("BR"==e.nodeName)return void(r?i.setStartBefore(e):i.setEndBefore(e))}while(e=r?o.next():o.prev())}var i,o,a,s,u,d=r.selection;if(c){if(l&&(r.getBody().style.webkitUserSelect=""),o=p.select("td[data-mce-selected],th[data-mce-selected]"),o.length>0){i=p.createRng(),s=o[0],i.setStartBefore(s),i.setEndAfter(s),e(s,1),a=new t(s,p.getParent(o[0],"table"));do if("TD"==s.nodeName||"TH"==s.nodeName){if(!p.getAttrib(s,"data-mce-selected"))break;u=s}while(s=a.next());e(u),d.setRng(i)}r.nodeChanged(),g()}}),r.on("KeyUp Drop SetContent",function(e){o("setcontent"==e.type),g(),f=!1}),r.on("ObjectResizeStart ObjectResized",function(e){f="objectresized"!=e.type}),r.on("dragstart",function(){h=!0}),r.on("drop dragend",function(){h=!1}),{clear:o}}}),r("tinymce/tableplugin/Dialogs",["tinymce/util/Tools","tinymce/Env"],function(e,t){var n=e.each;return function(r){function i(){var e=r.settings.color_picker_callback;if(e)return function(){var t=this;e.call(r,function(e){t.value(e).fire("change")},t.value())}}function o(e){return{title:"Advanced",type:"form",defaults:{onchange:function(){d(e,this.parents().reverse()[0],"style"==this.name())}},items:[{label:"Style",name:"style",type:"textbox"},{type:"form",padding:0,formItemDefaults:{layout:"grid",alignH:["start","right"]},defaults:{size:7},items:[{label:"Border color",type:"colorbox",name:"borderColor",onaction:i()},{label:"Background color",type:"colorbox",name:"backgroundColor",onaction:i()}]}]}}function a(e){return e?e.replace(/px$/,""):""}function s(e){return/^[0-9]+$/.test(e)&&(e+="px"),e}function l(e){n("left center right".split(" "),function(t){r.formatter.remove("align"+t,{},e)})}function c(e){n("top middle bottom".split(" "),function(t){r.formatter.remove("valign"+t,{},e)})}function u(t,n,r){function i(t,r){return r=r||[],e.each(t,function(e){var t={text:e.text||e.title};e.menu?t.menu=i(e.menu):(t.value=e.value,n&&n(t)),r.push(t)}),r}return i(t,r||[])}function d(e,t,n){var r=t.toJSON(),i=e.parseStyle(r.style);n?(t.find("#borderColor").value(i["border-color"]||"")[0].fire("change"),t.find("#backgroundColor").value(i["background-color"]||"")[0].fire("change")):(i["border-color"]=r.borderColor,i["background-color"]=r.backgroundColor),t.find("#style").value(e.serializeStyle(e.parseStyle(e.serializeStyle(i))))}function f(e,t,n){var r=e.parseStyle(e.getAttrib(n,"style"));r["border-color"]&&(t.borderColor=r["border-color"]),r["background-color"]&&(t.backgroundColor=r["background-color"]),t.style=e.serializeStyle(r)}function h(e,t,r){var i=e.parseStyle(e.getAttrib(t,"style"));n(r,function(e){i[e.name]=e.value}),e.setAttrib(t,"style",e.serializeStyle(e.parseStyle(e.serializeStyle(i))))}var p=this;p.tableProps=function(){p.table(!0)},p.table=function(i){function c(){function n(e,t,r){if("TD"===e.tagName||"TH"===e.tagName)x.setStyle(e,t,r);else if(e.children)for(var i=0;i',m.insertBefore(i,m.firstChild)),l(m),w.align&&r.formatter.apply("align"+w.align,{},m),r.focus(),r.addVisual()})}function p(e,t){function n(e,n){for(var r=0;r0?b(o,a,r):[],u=s.length>0?b(f,h,s):[];N(c,e.offsetWidth,l),E(u,e.offsetHeight,l)}function D(e,t,n,r){if(t<0||t>=e.length-1)return"";var i=e[t];if(i)i={value:i,delta:0};else for(var o=e.slice(0,t).reverse(),a=0;a0?i:o}function P(t,n,r){for(var i=R(t),o=e.map(i,function(e){return f(e.colIndex,e.element).x}),a=[],s=0;s1?D(o,s):M(i[s].element,n,r);c=c?c:we,a.push(c)}return a}function O(e){var t=L(e,"height"),n=parseInt(t,10);return V(t)&&(n=0),!isNaN(n)&&n>0?n:m(e,"height")}function H(t){for(var n=A(t),r=e.map(n,function(e){return o(e.rowIndex,e.element).y}),i=[],a=0;a1?D(r,a):O(n[a].element);l=l?l:Ne,i.push(l)}return i}function I(t,n,r,i,o){function a(t){return e.map(t,function(){return 0})}function s(){var e;if(o)e=[100-d[0]];else{var t=Math.max(i,d[0]+r);e=[t-d[0]]}return e}function l(e,t){var n,o=a(d.slice(0,e)),s=a(d.slice(t+1));if(r>=0){var l=Math.max(i,d[t]-r);n=o.concat([r,l-d[t]]).concat(s)}else{var c=Math.max(i,d[e]+r),u=d[e]-c;n=o.concat([c-d[e],u]).concat(s); +}return n}function c(e,t){var n,o=a(d.slice(0,t));if(r>=0)n=o.concat([r]);else{var s=Math.max(i,d[t]+r);n=o.concat([s-d[t]])}return n}var u,d=t.slice(0);return u=0===t.length?[]:1===t.length?s():0===n?l(0,1):n>0&&n",r=0;r"+(s.ie&&s.ie<10?" ":"
")+"";i+=""}return i+="",o.undoManager.transact(function(){o.insertContent(i),a=o.dom.get("__mce"),o.dom.setAttrib(a,"id",null),o.$("tr",a).each(function(e,t){o.fire("newrow",{node:t}),o.$("th,td",t).each(function(e,t){o.fire("newcell",{node:t})})}),o.dom.setAttribs(a,o.settings.table_default_attributes||{}),o.dom.setStyles(a,o.settings.table_default_styles||{})}),a}function c(e,t,n){function r(){var r,i,a,s={},l=0;i=o.dom.select("td[data-mce-selected],th[data-mce-selected]"),r=i[0],r||(r=o.selection.getStart()),n&&i.length>0?(u(i,function(e){return s[e.parentNode.parentNode.nodeName]=1}),u(s,function(e){l+=e}),a=1!==l):a=!o.dom.getParent(r,t),e.disabled(a),o.selection.selectorChanged(t,function(t){e.disabled(!t)})}o.initialized?r():o.on("init",r)}function d(){c(this,"table")}function f(){c(this,"td,th")}function h(){c(this,"td,th",!0)}function p(){var e="";e='';for(var t=0;t<10;t++){e+="";for(var n=0;n<10;n++)e+='';e+=""}return e+="
",e+=''}function m(e,t,n){var r,i,a,s,l,c=n.getEl().getElementsByTagName("table")[0],u=n.isRtl()||"tl-tr"==n.parent().rel;for(c.nextSibling.innerHTML=e+1+" x "+(t+1),u&&(e=9-e),i=0;i<10;i++)for(r=0;r<10;r++)s=c.rows[i].childNodes[r].firstChild,l=(u?r>=e:r<=e)&&i<=t,o.dom.toggleClass(s,"mce-active",l),l&&(a=s);return a.parentNode}function g(){o.addButton("tableprops",{title:"Table properties",onclick:E.tableProps,icon:"table"}),o.addButton("tabledelete",{title:"Delete table",onclick:a("mceTableDelete")}),o.addButton("tablecellprops",{title:"Cell properties",onclick:a("mceTableCellProps")}),o.addButton("tablemergecells",{title:"Merge cells",onclick:a("mceTableMergeCells")}),o.addButton("tablesplitcells",{title:"Split cell",onclick:a("mceTableSplitCells")}),o.addButton("tableinsertrowbefore",{title:"Insert row before",onclick:a("mceTableInsertRowBefore")}),o.addButton("tableinsertrowafter",{title:"Insert row after",onclick:a("mceTableInsertRowAfter")}),o.addButton("tabledeleterow",{title:"Delete row",onclick:a("mceTableDeleteRow")}),o.addButton("tablerowprops",{title:"Row properties",onclick:a("mceTableRowProps")}),o.addButton("tablecutrow",{title:"Cut row",onclick:a("mceTableCutRow")}),o.addButton("tablecopyrow",{title:"Copy row",onclick:a("mceTableCopyRow")}),o.addButton("tablepasterowbefore",{title:"Paste row before",onclick:a("mceTablePasteRowBefore")}),o.addButton("tablepasterowafter",{title:"Paste row after",onclick:a("mceTablePasteRowAfter")}),o.addButton("tableinsertcolbefore",{title:"Insert column before",onclick:a("mceTableInsertColBefore")}),o.addButton("tableinsertcolafter",{title:"Insert column after",onclick:a("mceTableInsertColAfter")}),o.addButton("tabledeletecol",{title:"Delete column",onclick:a("mceTableDeleteCol")})}function v(e){var t=o.dom.is(e,"table")&&o.getBody().contains(e);return t}function y(){var e=o.settings.table_toolbar;""!==e&&e!==!1&&(e||(e="tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol"),o.addContextToolbar(v,e))}function b(){return x}function C(e){x=e}var x,w,N=this,E=new r(o);!o.settings.object_resizing||o.settings.table_resize_bars===!1||o.settings.object_resizing!==!0&&"table"!==o.settings.object_resizing||(w=i(o)),o.settings.table_grid===!1?o.addMenuItem("inserttable",{text:"Insert table",icon:"table",context:"table",onclick:E.table}):o.addMenuItem("inserttable",{text:"Insert table",icon:"table",context:"table",ariaHideMenu:!0,onclick:function(e){e.aria&&(this.parent().hideAll(),e.stopImmediatePropagation(),E.table())},onshow:function(){m(0,0,this.menu.items()[0])},onhide:function(){var e=this.menu.items()[0].getEl().getElementsByTagName("a");o.dom.removeClass(e,"mce-active"),o.dom.addClass(e[0],"mce-active")},menu:[{type:"container",html:p(),onPostRender:function(){this.lastX=this.lastY=0},onmousemove:function(e){var t,n,r=e.target;"A"==r.tagName.toUpperCase()&&(t=parseInt(r.getAttribute("data-mce-x"),10),n=parseInt(r.getAttribute("data-mce-y"),10),(this.isRtl()||"tl-tr"==this.parent().rel)&&(t=9-t),t===this.lastX&&n===this.lastY||(m(t,n,e.control),this.lastX=t,this.lastY=n))},onclick:function(e){var t=this;"A"==e.target.tagName.toUpperCase()&&(e.preventDefault(),e.stopPropagation(),t.parent().cancel(),o.undoManager.transact(function(){l(t.lastX+1,t.lastY+1)}),o.addVisual())}}]}),o.addMenuItem("tableprops",{text:"Table properties",context:"table",onPostRender:d,onclick:E.tableProps}),o.addMenuItem("deletetable",{text:"Delete table",context:"table",onPostRender:d,cmd:"mceTableDelete"}),o.addMenuItem("cell",{separator:"before",text:"Cell",context:"table",menu:[{text:"Cell properties",onclick:a("mceTableCellProps"),onPostRender:f},{text:"Merge cells",onclick:a("mceTableMergeCells"),onPostRender:h},{text:"Split cell",onclick:a("mceTableSplitCells"),onPostRender:f}]}),o.addMenuItem("row",{text:"Row",context:"table",menu:[{text:"Insert row before",onclick:a("mceTableInsertRowBefore"),onPostRender:f},{text:"Insert row after",onclick:a("mceTableInsertRowAfter"),onPostRender:f},{text:"Delete row",onclick:a("mceTableDeleteRow"),onPostRender:f},{text:"Row properties",onclick:a("mceTableRowProps"),onPostRender:f},{text:"-"},{text:"Cut row",onclick:a("mceTableCutRow"),onPostRender:f},{text:"Copy row",onclick:a("mceTableCopyRow"),onPostRender:f},{text:"Paste row before",onclick:a("mceTablePasteRowBefore"),onPostRender:f},{text:"Paste row after",onclick:a("mceTablePasteRowAfter"),onPostRender:f}]}),o.addMenuItem("column",{text:"Column",context:"table",menu:[{text:"Insert column before",onclick:a("mceTableInsertColBefore"),onPostRender:f},{text:"Insert column after",onclick:a("mceTableInsertColAfter"),onPostRender:f},{text:"Delete column",onclick:a("mceTableDeleteCol"),onPostRender:f}]});var _=[];u("inserttable tableprops deletetable | cell row column".split(" "),function(e){"|"==e?_.push({text:"-"}):_.push(o.menuItems[e])}),o.addButton("table",{type:"menubutton",title:"Table",menu:_}),s.isIE||o.on("click",function(e){e=e.target,"TABLE"===e.nodeName&&(o.selection.select(e),o.nodeChanged())}),N.quirks=new t(o),o.on("Init",function(){N.cellSelection=new n(o,function(e){e&&w.clearBars()}),N.resizeBars=w}),o.on("PreInit",function(){o.serializer.addAttributeFilter("data-mce-cell-padding,data-mce-border,data-mce-border-color",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)})}),u({mceTableSplitCells:function(e){e.split()},mceTableMergeCells:function(e){var t;t=o.dom.getParent(o.selection.getStart(),"th,td"),o.dom.select("td[data-mce-selected],th[data-mce-selected]").length?e.merge():E.merge(e,t)},mceTableInsertRowBefore:function(e){e.insertRow(!0)},mceTableInsertRowAfter:function(e){e.insertRow()},mceTableInsertColBefore:function(e){e.insertCol(!0)},mceTableInsertColAfter:function(e){e.insertCol()},mceTableDeleteCol:function(e){e.deleteCols()},mceTableDeleteRow:function(e){e.deleteRows()},mceTableCutRow:function(e){x=e.cutRows()},mceTableCopyRow:function(e){x=e.copyRows()},mceTablePasteRowBefore:function(e){e.pasteRows(x,!0)},mceTablePasteRowAfter:function(e){e.pasteRows(x)},mceSplitColsBefore:function(e){e.splitCols(!0)},mceSplitColsAfter:function(e){e.splitCols(!1)},mceTableDelete:function(e){w&&w.clearBars(),e.deleteTable()}},function(t,n){o.addCommand(n,function(){var n=new e(o);n&&(t(n),o.execCommand("mceRepaint"),N.cellSelection.clear())})}),u({mceInsertTable:E.table,mceTableProps:function(){E.table(!0)},mceTableRowProps:E.row,mceTableCellProps:E.cell},function(e,t){o.addCommand(t,function(t,n){e(n)})}),g(),y(),o.settings.table_tab_navigation!==!1&&o.on("keydown",function(t){var n,r,i;9==t.keyCode&&(n=o.dom.getParent(o.selection.getStart(),"th,td"),n&&(t.preventDefault(),r=new e(o),i=t.shiftKey?-1:1,o.undoManager.transact(function(){!r.moveRelIdx(n,i)&&i>0&&(r.insertRow(),r.refresh(),r.moveRelIdx(n,i))})))}),N.insertTable=l,N.setClipboardRows=C,N.getClipboardRows=b}var u=o.each;l.add("table",c)})}(this); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/template/plugin.js b/public/mosaico/dist/vendor/plugins/template/plugin.js new file mode 100644 index 00000000..29db21bc --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/template/plugin.js @@ -0,0 +1,276 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ + +tinymce.PluginManager.add('template', function(editor) { + var each = tinymce.each; + + function createTemplateList(callback) { + return function() { + var templateList = editor.settings.templates; + + if (typeof templateList == "function") { + templateList(callback); + return; + } + + if (typeof templateList == "string") { + tinymce.util.XHR.send({ + url: templateList, + success: function(text) { + callback(tinymce.util.JSON.parse(text)); + } + }); + } else { + callback(templateList); + } + }; + } + + function showDialog(templateList) { + var win, values = [], templateHtml; + + if (!templateList || templateList.length === 0) { + var message = editor.translate('No templates defined.'); + editor.notificationManager.open({text: message, type: 'info'}); + return; + } + + tinymce.each(templateList, function(template) { + values.push({ + selected: !values.length, + text: template.title, + value: { + url: template.url, + content: template.content, + description: template.description + } + }); + }); + + function onSelectTemplate(e) { + var value = e.control.value(); + + function insertIframeHtml(html) { + if (html.indexOf('') == -1) { + var contentCssLinks = ''; + + tinymce.each(editor.contentCSS, function(url) { + contentCssLinks += ''; + }); + + var bodyClass = editor.settings.body_class || ''; + if (bodyClass.indexOf('=') != -1) { + bodyClass = editor.getParam('body_class', '', 'hash'); + bodyClass = bodyClass[editor.id] || ''; + } + + html = ( + '' + + '' + + '' + + contentCssLinks + + '' + + '' + + html + + '' + + '' + ); + } + + html = replaceTemplateValues(html, 'template_preview_replace_values'); + + var doc = win.find('iframe')[0].getEl().contentWindow.document; + doc.open(); + doc.write(html); + doc.close(); + } + + if (value.url) { + tinymce.util.XHR.send({ + url: value.url, + success: function(html) { + templateHtml = html; + insertIframeHtml(templateHtml); + } + }); + } else { + templateHtml = value.content; + insertIframeHtml(templateHtml); + } + + win.find('#description')[0].text(e.control.value().description); + } + + win = editor.windowManager.open({ + title: 'Insert template', + layout: 'flex', + direction: 'column', + align: 'stretch', + padding: 15, + spacing: 10, + + items: [ + {type: 'form', flex: 0, padding: 0, items: [ + {type: 'container', label: 'Templates', items: { + type: 'listbox', label: 'Templates', name: 'template', values: values, onselect: onSelectTemplate + }} + ]}, + {type: 'label', name: 'description', label: 'Description', text: '\u00a0'}, + {type: 'iframe', flex: 1, border: 1} + ], + + onsubmit: function() { + insertTemplate(false, templateHtml); + }, + + minWidth: Math.min(tinymce.DOM.getViewPort().w, editor.getParam('template_popup_width', 600)), + minHeight: Math.min(tinymce.DOM.getViewPort().h, editor.getParam('template_popup_height', 500)) + }); + + win.find('listbox')[0].fire('select'); + } + + function getDateTime(fmt, date) { + var daysShort = "Sun Mon Tue Wed Thu Fri Sat Sun".split(' '); + var daysLong = "Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(' '); + var monthsShort = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(' '); + var monthsLong = "January February March April May June July August September October November December".split(' '); + + function addZeros(value, len) { + value = "" + value; + + if (value.length < len) { + for (var i = 0; i < (len - value.length); i++) { + value = "0" + value; + } + } + + return value; + } + + date = date || new Date(); + + fmt = fmt.replace("%D", "%m/%d/%Y"); + fmt = fmt.replace("%r", "%I:%M:%S %p"); + fmt = fmt.replace("%Y", "" + date.getFullYear()); + fmt = fmt.replace("%y", "" + date.getYear()); + fmt = fmt.replace("%m", addZeros(date.getMonth() + 1, 2)); + fmt = fmt.replace("%d", addZeros(date.getDate(), 2)); + fmt = fmt.replace("%H", "" + addZeros(date.getHours(), 2)); + fmt = fmt.replace("%M", "" + addZeros(date.getMinutes(), 2)); + fmt = fmt.replace("%S", "" + addZeros(date.getSeconds(), 2)); + fmt = fmt.replace("%I", "" + ((date.getHours() + 11) % 12 + 1)); + fmt = fmt.replace("%p", "" + (date.getHours() < 12 ? "AM" : "PM")); + fmt = fmt.replace("%B", "" + editor.translate(monthsLong[date.getMonth()])); + fmt = fmt.replace("%b", "" + editor.translate(monthsShort[date.getMonth()])); + fmt = fmt.replace("%A", "" + editor.translate(daysLong[date.getDay()])); + fmt = fmt.replace("%a", "" + editor.translate(daysShort[date.getDay()])); + fmt = fmt.replace("%%", "%"); + + return fmt; + } + + function replaceVals(e) { + var dom = editor.dom, vl = editor.getParam('template_replace_values'); + + each(dom.select('*', e), function(e) { + each(vl, function(v, k) { + if (dom.hasClass(e, k)) { + if (typeof vl[k] == 'function') { + vl[k](e); + } + } + }); + }); + } + + function replaceTemplateValues(html, templateValuesOptionName) { + each(editor.getParam(templateValuesOptionName), function(v, k) { + if (typeof v == 'function') { + v = v(k); + } + + html = html.replace(new RegExp('\\{\\$' + k + '\\}', 'g'), v); + }); + + return html; + } + + function insertTemplate(ui, html) { + var el, n, dom = editor.dom, sel = editor.selection.getContent(); + + html = replaceTemplateValues(html, 'template_replace_values'); + el = dom.create('div', null, html); + + // Find template element within div + n = dom.select('.mceTmpl', el); + if (n && n.length > 0) { + el = dom.create('div', null); + el.appendChild(n[0].cloneNode(true)); + } + + function hasClass(n, c) { + return new RegExp('\\b' + c + '\\b', 'g').test(n.className); + } + + each(dom.select('*', el), function(n) { + // Replace cdate + if (hasClass(n, editor.getParam('template_cdate_classes', 'cdate').replace(/\s+/g, '|'))) { + n.innerHTML = getDateTime(editor.getParam("template_cdate_format", editor.getLang("template.cdate_format"))); + } + + // Replace mdate + if (hasClass(n, editor.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) { + n.innerHTML = getDateTime(editor.getParam("template_mdate_format", editor.getLang("template.mdate_format"))); + } + + // Replace selection + if (hasClass(n, editor.getParam('template_selected_content_classes', 'selcontent').replace(/\s+/g, '|'))) { + n.innerHTML = sel; + } + }); + + replaceVals(el); + + editor.execCommand('mceInsertContent', false, el.innerHTML); + editor.addVisual(); + } + + editor.addCommand('mceInsertTemplate', insertTemplate); + + editor.addButton('template', { + title: 'Insert template', + onclick: createTemplateList(showDialog) + }); + + editor.addMenuItem('template', { + text: 'Insert template', + onclick: createTemplateList(showDialog), + context: 'insert' + }); + + editor.on('PreProcess', function(o) { + var dom = editor.dom; + + each(dom.select('div', o.node), function(e) { + if (dom.hasClass(e, 'mceTmpl')) { + each(dom.select('*', e), function(e) { + if (dom.hasClass(e, editor.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) { + e.innerHTML = getDateTime(editor.getParam("template_mdate_format", editor.getLang("template.mdate_format"))); + } + }); + + replaceVals(e); + } + }); + }); +}); diff --git a/public/mosaico/dist/vendor/plugins/template/plugin.min.js b/public/mosaico/dist/vendor/plugins/template/plugin.min.js new file mode 100644 index 00000000..9f7753e5 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/template/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("template",function(e){function t(t){return function(){var n=e.settings.templates;return"function"==typeof n?void n(t):void("string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):t(n))}}function n(t){function n(t){function n(t){if(t.indexOf("")==-1){var n="";tinymce.each(e.contentCSS,function(t){n+=''});var i=e.settings.body_class||"";i.indexOf("=")!=-1&&(i=e.getParam("body_class","","hash"),i=i[e.id]||""),t=""+n+''+t+""}t=o(t,"template_preview_replace_values");var a=r.find("iframe")[0].getEl().contentWindow.document;a.open(),a.write(t),a.close()}var a=t.control.value();a.url?tinymce.util.XHR.send({url:a.url,success:function(e){i=e,n(i)}}):(i=a.content,n(i)),r.find("#description")[0].text(t.control.value().description)}var r,i,s=[];if(!t||0===t.length){var l=e.translate("No templates defined.");return void e.notificationManager.open({text:l,type:"info"})}tinymce.each(t,function(e){s.push({selected:!s.length,text:e.title,value:{url:e.url,content:e.content,description:e.description}})}),r=e.windowManager.open({title:"Insert template",layout:"flex",direction:"column",align:"stretch",padding:15,spacing:10,items:[{type:"form",flex:0,padding:0,items:[{type:"container",label:"Templates",items:{type:"listbox",label:"Templates",name:"template",values:s,onselect:n}}]},{type:"label",name:"description",label:"Description",text:"\xa0"},{type:"iframe",flex:1,border:1}],onsubmit:function(){a(!1,i)},minWidth:Math.min(tinymce.DOM.getViewPort().w,e.getParam("template_popup_width",600)),minHeight:Math.min(tinymce.DOM.getViewPort().h,e.getParam("template_popup_height",500))}),r.find("listbox")[0].fire("select")}function r(t,n){function r(e,t){if(e=""+e,e.length0&&(l=u.create("div",null),l.appendChild(c[0].cloneNode(!0))),s(u.select("*",l),function(t){a(t,e.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_cdate_format",e.getLang("template.cdate_format")))),a(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format")))),a(t,e.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))&&(t.innerHTML=d)}),i(l),e.execCommand("mceInsertContent",!1,l.innerHTML),e.addVisual()}var s=tinymce.each;e.addCommand("mceInsertTemplate",a),e.addButton("template",{title:"Insert template",onclick:t(n)}),e.addMenuItem("template",{text:"Insert template",onclick:t(n),context:"insert"}),e.on("PreProcess",function(t){var n=e.dom;s(n.select("div",t.node),function(t){n.hasClass(t,"mceTmpl")&&(s(n.select("*",t),function(t){n.hasClass(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format"))))}),i(t))})})}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/textcolor/plugin.js b/public/mosaico/dist/vendor/plugins/textcolor/plugin.js new file mode 100644 index 00000000..145afb17 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/textcolor/plugin.js @@ -0,0 +1,297 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ +/*eslint consistent-this:0 */ + +tinymce.PluginManager.add('textcolor', function(editor) { + var cols, rows; + + rows = { + forecolor: editor.settings.forecolor_rows || editor.settings.textcolor_rows || 5, + backcolor: editor.settings.backcolor_rows || editor.settings.textcolor_rows || 5 + }; + cols = { + forecolor: editor.settings.forecolor_cols || editor.settings.textcolor_cols || 8, + backcolor: editor.settings.backcolor_cols || editor.settings.textcolor_cols || 8 + }; + + function getCurrentColor(format) { + var color; + + editor.dom.getParents(editor.selection.getStart(), function(elm) { + var value; + + if ((value = elm.style[format == 'forecolor' ? 'color' : 'background-color'])) { + color = value; + } + }); + + return color; + } + + function mapColors(type) { + var i, colors = [], colorMap; + + colorMap = [ + "000000", "Black", + "993300", "Burnt orange", + "333300", "Dark olive", + "003300", "Dark green", + "003366", "Dark azure", + "000080", "Navy Blue", + "333399", "Indigo", + "333333", "Very dark gray", + "800000", "Maroon", + "FF6600", "Orange", + "808000", "Olive", + "008000", "Green", + "008080", "Teal", + "0000FF", "Blue", + "666699", "Grayish blue", + "808080", "Gray", + "FF0000", "Red", + "FF9900", "Amber", + "99CC00", "Yellow green", + "339966", "Sea green", + "33CCCC", "Turquoise", + "3366FF", "Royal blue", + "800080", "Purple", + "999999", "Medium gray", + "FF00FF", "Magenta", + "FFCC00", "Gold", + "FFFF00", "Yellow", + "00FF00", "Lime", + "00FFFF", "Aqua", + "00CCFF", "Sky blue", + "993366", "Red violet", + "FFFFFF", "White", + "FF99CC", "Pink", + "FFCC99", "Peach", + "FFFF99", "Light yellow", + "CCFFCC", "Pale green", + "CCFFFF", "Pale cyan", + "99CCFF", "Light sky blue", + "CC99FF", "Plum" + ]; + + colorMap = editor.settings.textcolor_map || colorMap; + colorMap = editor.settings[type + '_map'] || colorMap; + + for (i = 0; i < colorMap.length; i += 2) { + colors.push({ + text: colorMap[i + 1], + color: '#' + colorMap[i] + }); + } + + return colors; + } + + function renderColorPicker() { + var ctrl = this, colors, color, html, last, x, y, i, id = ctrl._id, count = 0, type; + + type = ctrl.settings.origin; + + function getColorCellHtml(color, title) { + var isNoColor = color == 'transparent'; + + return ( + '' + + '
' + + (isNoColor ? '×' : '') + + '
' + + '' + ); + } + + colors = mapColors(type); + colors.push({ + text: tinymce.translate("No color"), + color: "transparent" + }); + + html = ''; + last = colors.length - 1; + + for (y = 0; y < rows[type]; y++) { + html += ''; + + for (x = 0; x < cols[type]; x++) { + i = y * cols[type] + x; + + if (i > last) { + html += ''; + } else { + color = colors[i]; + html += getColorCellHtml(color.color, color.text); + } + } + + html += ''; + } + + if (editor.settings.color_picker_callback) { + html += ( + '' + + '' + + '' + ); + + html += ''; + + for (x = 0; x < cols[type]; x++) { + html += getColorCellHtml('', 'Custom color'); + } + + html += ''; + } + + html += '
' + + '
' + + '' + + '
' + + '
'; + + return html; + } + + function applyFormat(format, value) { + editor.undoManager.transact(function() { + editor.focus(); + editor.formatter.apply(format, {value: value}); + editor.nodeChanged(); + }); + } + + function removeFormat(format) { + editor.undoManager.transact(function() { + editor.focus(); + editor.formatter.remove(format, {value: null}, null, true); + editor.nodeChanged(); + }); + } + + function onPanelClick(e) { + var buttonCtrl = this.parent(), value, type; + + type = buttonCtrl.settings.origin; + + function selectColor(value) { + buttonCtrl.hidePanel(); + buttonCtrl.color(value); + applyFormat(buttonCtrl.settings.format, value); + } + + function resetColor() { + buttonCtrl.hidePanel(); + buttonCtrl.resetColor(); + removeFormat(buttonCtrl.settings.format); + } + + function setDivColor(div, value) { + div.style.background = value; + div.setAttribute('data-mce-color', value); + } + + if (tinymce.DOM.getParent(e.target, '.mce-custom-color-btn')) { + buttonCtrl.hidePanel(); + + editor.settings.color_picker_callback.call(editor, function(value) { + var tableElm = buttonCtrl.panel.getEl().getElementsByTagName('table')[0]; + var customColorCells, div, i; + + customColorCells = tinymce.map(tableElm.rows[tableElm.rows.length - 1].childNodes, function(elm) { + return elm.firstChild; + }); + + for (i = 0; i < customColorCells.length; i++) { + div = customColorCells[i]; + if (!div.getAttribute('data-mce-color')) { + break; + } + } + + // Shift colors to the right + // TODO: Might need to be the left on RTL + if (i == cols[type]) { + for (i = 0; i < cols[type] - 1; i++) { + setDivColor(customColorCells[i], customColorCells[i + 1].getAttribute('data-mce-color')); + } + } + + setDivColor(div, value); + selectColor(value); + }, getCurrentColor(buttonCtrl.settings.format)); + } + + value = e.target.getAttribute('data-mce-color'); + if (value) { + if (this.lastId) { + document.getElementById(this.lastId).setAttribute('aria-selected', false); + } + + e.target.setAttribute('aria-selected', true); + this.lastId = e.target.id; + + if (value == 'transparent') { + resetColor(); + } else { + selectColor(value); + } + } else if (value !== null) { + buttonCtrl.hidePanel(); + } + } + + function onButtonClick() { + var self = this; + + if (self._color) { + applyFormat(self.settings.format, self._color); + } else { + removeFormat(self.settings.format); + } + } + + editor.addButton('forecolor', { + type: 'colorbutton', + tooltip: 'Text color', + format: 'forecolor', + panel: { + origin: 'forecolor', + role: 'application', + ariaRemember: true, + html: renderColorPicker, + onclick: onPanelClick + }, + onclick: onButtonClick + }); + + editor.addButton('backcolor', { + type: 'colorbutton', + tooltip: 'Background color', + format: 'hilitecolor', + panel: { + origin: 'backcolor', + role: 'application', + ariaRemember: true, + html: renderColorPicker, + onclick: onPanelClick + }, + onclick: onButtonClick + }); +}); diff --git a/public/mosaico/dist/vendor/plugins/textcolor/plugin.min.js b/public/mosaico/dist/vendor/plugins/textcolor/plugin.min.js new file mode 100644 index 00000000..938d1e05 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/textcolor/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("textcolor",function(e){function t(t){var n;return e.dom.getParents(e.selection.getStart(),function(e){var r;(r=e.style["forecolor"==t?"color":"background-color"])&&(n=r)}),n}function n(t){var n,r,i=[];for(r=["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],r=e.settings.textcolor_map||r,r=e.settings[t+"_map"]||r,n=0;n
'+(n?"×":"")+"
"}var r,i,o,a,s,u,d,f,h=this,p=h._id,m=0;for(f=h.settings.origin,r=n(f),r.push({text:tinymce.translate("No color"),color:"transparent"}),o='',a=r.length-1,u=0;u",s=0;sa?o+="":(i=r[d],o+=t(i.color,i.text));o+=""}if(e.settings.color_picker_callback){for(o+='",o+="",s=0;s b.start.length) { + return -1; + } + + if (a.start.length < b.start.length) { + return 1; + } + + return 0; + }); + + isPatternsDirty = false; + } + + return patterns; + } + + // Finds a matching pattern to the specified text + function findPattern(text) { + var patterns = getPatterns(); + + for (var i = 0; i < patterns.length; i++) { + if (text.indexOf(patterns[i].start) !== 0) { + continue; + } + + if (patterns[i].end && text.lastIndexOf(patterns[i].end) != text.length - patterns[i].end.length) { + continue; + } + + return patterns[i]; + } + } + + // Finds the best matching end pattern + function findEndPattern(text, offset, delta) { + var patterns, pattern, i; + + // Find best matching end + patterns = getPatterns(); + for (i = 0; i < patterns.length; i++) { + pattern = patterns[i]; + if (pattern.end && text.substr(offset - pattern.end.length - delta, pattern.end.length) == pattern.end) { + return pattern; + } + } + } + + // Handles inline formats like *abc* and **abc** + function applyInlineFormat(space) { + var selection, dom, rng, container, offset, startOffset, text, patternRng, pattern, delta, format; + + function splitContainer() { + // Split text node and remove start/end from text node + container = container.splitText(startOffset); + container.splitText(offset - startOffset - delta); + container.deleteData(0, pattern.start.length); + container.deleteData(container.data.length - pattern.end.length, pattern.end.length); + } + + selection = editor.selection; + dom = editor.dom; + + if (!selection.isCollapsed()) { + return; + } + + rng = selection.getRng(true); + container = rng.startContainer; + offset = rng.startOffset; + text = container.data; + delta = space ? 1 : 0; + + if (container.nodeType != 3) { + return; + } + + // Find best matching end + pattern = findEndPattern(text, offset, delta); + if (!pattern) { + return; + } + + // Find start of matched pattern + // TODO: Might need to improve this if there is nested formats + startOffset = Math.max(0, offset - delta); + startOffset = text.lastIndexOf(pattern.start, startOffset - pattern.end.length - 1); + + if (startOffset === -1) { + return; + } + + // Setup a range for the matching word + patternRng = dom.createRng(); + patternRng.setStart(container, startOffset); + patternRng.setEnd(container, offset - delta); + pattern = findPattern(patternRng.toString()); + + if (!pattern || !pattern.end) { + return; + } + + // If container match doesn't have anything between start/end then do nothing + if (container.data.length <= pattern.start.length + pattern.end.length) { + return; + } + + format = editor.formatter.get(pattern.format); + if (format && format[0].inline) { + splitContainer(); + editor.formatter.apply(pattern.format, {}, container); + return container; + } + } + + // Handles block formats like ##abc or 1. abc + function applyBlockFormat() { + var selection, dom, container, firstTextNode, node, format, textBlockElm, pattern, walker, rng, offset; + + selection = editor.selection; + dom = editor.dom; + + if (!selection.isCollapsed()) { + return; + } + + textBlockElm = dom.getParent(selection.getStart(), 'p'); + if (textBlockElm) { + walker = new tinymce.dom.TreeWalker(textBlockElm, textBlockElm); + while ((node = walker.next())) { + if (node.nodeType == 3) { + firstTextNode = node; + break; + } + } + + if (firstTextNode) { + pattern = findPattern(firstTextNode.data); + if (!pattern) { + return; + } + + rng = selection.getRng(true); + container = rng.startContainer; + offset = rng.startOffset; + + if (firstTextNode == container) { + offset = Math.max(0, offset - pattern.start.length); + } + + if (tinymce.trim(firstTextNode.data).length == pattern.start.length) { + return; + } + + if (pattern.format) { + format = editor.formatter.get(pattern.format); + if (format && format[0].block) { + firstTextNode.deleteData(0, pattern.start.length); + editor.formatter.apply(pattern.format, {}, firstTextNode); + + rng.setStart(container, offset); + rng.collapse(true); + selection.setRng(rng); + } + } + + if (pattern.cmd) { + editor.undoManager.transact(function() { + firstTextNode.deleteData(0, pattern.start.length); + editor.execCommand(pattern.cmd); + }); + } + } + } + } + + function handleEnter() { + var rng, wrappedTextNode; + + wrappedTextNode = applyInlineFormat(); + if (wrappedTextNode) { + rng = editor.dom.createRng(); + rng.setStart(wrappedTextNode, wrappedTextNode.data.length); + rng.setEnd(wrappedTextNode, wrappedTextNode.data.length); + editor.selection.setRng(rng); + } + + applyBlockFormat(); + } + + function handleSpace() { + var wrappedTextNode, lastChar, lastCharNode, rng, dom; + + wrappedTextNode = applyInlineFormat(true); + if (wrappedTextNode) { + dom = editor.dom; + lastChar = wrappedTextNode.data.slice(-1); + + // Move space after the newly formatted node + if (/[\u00a0 ]/.test(lastChar)) { + wrappedTextNode.deleteData(wrappedTextNode.data.length - 1, 1); + lastCharNode = dom.doc.createTextNode(lastChar); + + if (wrappedTextNode.nextSibling) { + dom.insertAfter(lastCharNode, wrappedTextNode.nextSibling); + } else { + wrappedTextNode.parentNode.appendChild(lastCharNode); + } + + rng = dom.createRng(); + rng.setStart(lastCharNode, 1); + rng.setEnd(lastCharNode, 1); + editor.selection.setRng(rng); + } + } + } + + editor.on('keydown', function(e) { + if (e.keyCode == 13 && !tinymce.util.VK.modifierPressed(e)) { + handleEnter(); + } + }, true); + + editor.on('keyup', function(e) { + if (e.keyCode == 32 && !tinymce.util.VK.modifierPressed(e)) { + handleSpace(); + } + }); + + this.getPatterns = getPatterns; + this.setPatterns = function(newPatterns) { + patterns = newPatterns; + isPatternsDirty = true; + }; +}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/textpattern/plugin.min.js b/public/mosaico/dist/vendor/plugins/textpattern/plugin.min.js new file mode 100644 index 00000000..a3bbda2f --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/textpattern/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("textpattern",function(e){function t(){return c&&(l.sort(function(e,t){return e.start.length>t.start.length?-1:e.start.length' + value + ''; + } + + function compileCharMapToRegExp() { + var key, regExp = ''; + + for (key in charMap) { + regExp += key; + } + + return new RegExp('[' + regExp + ']', 'g'); + } + + function compileCharMapToCssSelector() { + var key, selector = ''; + + for (key in charMap) { + if (selector) { + selector += ','; + } + + selector += 'span.mce-' + charMap[key]; + } + + return selector; + } + + state = !state; + self.state = state; + editor.fire('VisualChars', {state: state}); + visualCharsRegExp = compileCharMapToRegExp(); + + if (addBookmark) { + bookmark = selection.getBookmark(); + } + + if (state) { + nodeList = []; + tinymce.walk(body, function(n) { + if (n.nodeType == 3 && n.nodeValue && visualCharsRegExp.test(n.nodeValue)) { + nodeList.push(n); + } + }, 'childNodes'); + + for (i = 0; i < nodeList.length; i++) { + nodeValue = nodeList[i].nodeValue; + nodeValue = nodeValue.replace(visualCharsRegExp, wrapCharWithSpan); + + div = editor.dom.create('div', null, nodeValue); + while ((node = div.lastChild)) { + editor.dom.insertAfter(node, nodeList[i]); + } + + editor.dom.remove(nodeList[i]); + } + } else { + nodeList = editor.dom.select(compileCharMapToCssSelector(), body); + + for (i = nodeList.length - 1; i >= 0; i--) { + editor.dom.remove(nodeList[i], 1); + } + } + + selection.moveToBookmark(bookmark); + } + + function toggleActiveState() { + var self = this; + + editor.on('VisualChars', function(e) { + self.active(e.state); + }); + } + + editor.addCommand('mceVisualChars', toggleVisualChars); + + editor.addButton('visualchars', { + title: 'Show invisible characters', + cmd: 'mceVisualChars', + onPostRender: toggleActiveState + }); + + editor.addMenuItem('visualchars', { + text: 'Show invisible characters', + cmd: 'mceVisualChars', + onPostRender: toggleActiveState, + selectable: true, + context: 'view', + prependToContext: true + }); + + editor.on('beforegetcontent', function(e) { + if (state && e.format != 'raw' && !e.draft) { + state = true; + toggleVisualChars(false); + } + }); +}); diff --git a/public/mosaico/dist/vendor/plugins/visualchars/plugin.min.js b/public/mosaico/dist/vendor/plugins/visualchars/plugin.min.js new file mode 100644 index 00000000..47041fb5 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/visualchars/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("visualchars",function(e){function t(t){function n(e){return''+e+""}function o(){var e,t="";for(e in h)t+=e;return new RegExp("["+t+"]","g")}function a(){var e,t="";for(e in h)t&&(t+=","),t+="span.mce-"+h[e];return t}var s,l,c,u,d,f,h,p,m=e.getBody(),g=e.selection;if(h={"\xa0":"nbsp","\xad":"shy"},r=!r,i.state=r,e.fire("VisualChars",{state:r}),p=o(),t&&(f=g.getBookmark()),r)for(l=[],tinymce.walk(m,function(e){3==e.nodeType&&e.nodeValue&&p.test(e.nodeValue)&&l.push(e)},"childNodes"),c=0;c=0;c--)e.dom.remove(l[c],1);g.moveToBookmark(f)}function n(){var t=this;e.on("VisualChars",function(e){t.active(e.state)})}var r,i=this;e.addCommand("mceVisualChars",t),e.addButton("visualchars",{title:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n}),e.addMenuItem("visualchars",{text:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n,selectable:!0,context:"view",prependToContext:!0}),e.on("beforegetcontent",function(e){r&&"raw"!=e.format&&!e.draft&&(r=!0,t(!1))})}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/wordcount/plugin.js b/public/mosaico/dist/vendor/plugins/wordcount/plugin.js new file mode 100644 index 00000000..2fd6d08f --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/wordcount/plugin.js @@ -0,0 +1,69 @@ +/** + * plugin.js + * + * Released under LGPL License. + * Copyright (c) 1999-2015 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ + +tinymce.PluginManager.add('wordcount', function(editor) { + var self = this, countre, cleanre; + + // Included most unicode blocks see: http://en.wikipedia.org/wiki/Unicode_block + // Latin-1_Supplement letters, a-z, u2019 == ’ + countre = editor.getParam('wordcount_countregex', /[\w\u2019\x27\-\u00C0-\u1FFF]+/g); + cleanre = editor.getParam('wordcount_cleanregex', /[0-9.(),;:!?%#$?\x27\x22_+=\\\/\-]*/g); + + function update() { + editor.theme.panel.find('#wordcount').text(['Words: {0}', self.getCount()]); + } + + editor.on('init', function() { + var statusbar = editor.theme.panel && editor.theme.panel.find('#statusbar')[0]; + + if (statusbar) { + tinymce.util.Delay.setEditorTimeout(editor, function() { + statusbar.insert({ + type: 'label', + name: 'wordcount', + text: ['Words: {0}', self.getCount()], + classes: 'wordcount', + disabled: editor.settings.readonly + }, 0); + + editor.on('setcontent beforeaddundo', update); + + editor.on('keyup', function(e) { + if (e.keyCode == 32) { + update(); + } + }); + }, 0); + } + }); + + self.getCount = function() { + var tx = editor.getContent({format: 'raw'}); + var tc = 0; + + if (tx) { + tx = tx.replace(/\.\.\./g, ' '); // convert ellipses to spaces + tx = tx.replace(/<.[^<>]*?>/g, ' ').replace(/ | /gi, ' '); // remove html tags and space chars + + // deal with html entities + tx = tx.replace(/(\w+)(&#?[a-z0-9]+;)+(\w+)/i, "$1$3").replace(/&.+?;/g, ' '); + tx = tx.replace(cleanre, ''); // remove numbers and punctuation + + var wordArray = tx.match(countre); + if (wordArray) { + tc = wordArray.length; + } + } + + return tc; + }; +}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/plugins/wordcount/plugin.min.js b/public/mosaico/dist/vendor/plugins/wordcount/plugin.min.js new file mode 100644 index 00000000..d31b9260 --- /dev/null +++ b/public/mosaico/dist/vendor/plugins/wordcount/plugin.min.js @@ -0,0 +1 @@ +tinymce.PluginManager.add("wordcount",function(e){function t(){e.theme.panel.find("#wordcount").text(["Words: {0}",i.getCount()])}var n,r,i=this;n=e.getParam("wordcount_countregex",/[\w\u2019\x27\-\u00C0-\u1FFF]+/g),r=e.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\x27\x22_+=\\\/\-]*/g),e.on("init",function(){var n=e.theme.panel&&e.theme.panel.find("#statusbar")[0];n&&tinymce.util.Delay.setEditorTimeout(e,function(){n.insert({type:"label",name:"wordcount",text:["Words: {0}",i.getCount()],classes:"wordcount",disabled:e.settings.readonly},0),e.on("setcontent beforeaddundo",t),e.on("keyup",function(e){32==e.keyCode&&t()})},0)}),i.getCount=function(){var t=e.getContent({format:"raw"}),i=0;if(t){t=t.replace(/\.\.\./g," "),t=t.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," "),t=t.replace(/(\w+)(&#?[a-z0-9]+;)+(\w+)/i,"$1$3").replace(/&.+?;/g," "),t=t.replace(r,"");var o=t.match(n);o&&(i=o.length)}return i}}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/gray-flat/Variables.less b/public/mosaico/dist/vendor/skins/gray-flat/Variables.less new file mode 100644 index 00000000..d7f76799 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/Variables.less @@ -0,0 +1,196 @@ +// Variables +// Syntax: -()--()-(); +// Example: @btn-primary-bg-hover-hlight; + +@prefix: mce; + +// Default font +@font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +@font-size: 14px; +@line-height: 20px; +@has-gradients: false; +@has-radius: true; +@has-boxshadow: false; +@has-button-borders: true; + +// Text colors +@text: #333333; +@text-inverse: #ffffff; +@text-disabled: #aaaaaa; +@text-shadow: 0 1px 1px hsla(hue(@text-inverse), saturation(@text-inverse), lightness(@text-inverse), 0.75); +@text-error: #aa0000; + +// Button +@btn-text: #ffffff; +@btn-text-shadow: #333332; +@btn-border-top: rgba(0,0,0,0.1); +@btn-border-right: rgba(0,0,0,0.1); +@btn-border-bottom: rgba(0,0,0,0.25); +@btn-border-left: rgba(0,0,0,0.25); +@btn-caret-border: @btn-text; +@btn-text-disabled: @text-disabled; +@btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); +@btn-box-shadow-active: inset 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .05); +@btn-box-disabled-opacity: 0.4; +@btn-bg: #333332; +@btn-bg-hlight: #333332; +@btn-bg-hover: darken(@btn-bg, 5%); +@btn-bg-hlight-hover: darken(@btn-bg-hlight, 5%); +@btn-border-hover: darken(@btn-bg, 20%); +@btn-border-active: darken(@btn-bg, 20%); +@btn-padding: 4px 8px; + +@btn-primary-bg: #333332; +@btn-primary-bg-hlight: #333332; +@btn-primary-bg-hover: darken(@btn-primary-bg, 5%); +@btn-primary-bg-hover-hlight: darken(@btn-primary-bg-hlight, 5%); +@btn-primary-text: #ffffff; +@btn-primary-text-shadow: #333333; +@btn-primary-border-top: mix(@btn-border-top, @btn-primary-bg, 50%); +@btn-primary-border-right: mix(@btn-border-right, @btn-primary-bg, 50%); +@btn-primary-border-bottom: mix(@btn-border-bottom, @btn-primary-bg, 50%); +@btn-primary-border-left: mix(@btn-border-left, @btn-primary-bg, 50%); +@btn-primary-border: transparent; +@btn-primary-border-hover: transparent; + +// Button group +@btn-group-border-width: 1px; + +// Menu +@menuitem-text: #333333; +@menu-bg: #ffffff; +@menu-margin: -1px 0 0; +@menu-border: rgba(0,0,0,0.2); +@menubar-border: mix(@panel-border, @panel-bg, 60%); +@menuitem-text-inverse: #ffffff; +@menubar-bg-active: darken(@btn-bg, 10%); +@menuitem-bg-hover: #0081C2; +@menuitem-bg-selected: #333332; +@menuitem-bg-selected-hlight: #333332; +@menuitem-bg-disabled: #CCC; +@menuitem-caret: @menuitem-text; +@menuitem-caret-selected: @menuitem-text-inverse; +@menuitem-separator-top: #cbcbcb; +@menuitem-separator-bottom: #ffffff; +@menuitem-bg-active: #666666; +@menuitem-text-active: #ffffff; +@menuitem-preview-border-active: #aaaaaa; +@menubar-menubtn-text: ; + +// Panel +@panel-border: #9e9e9e; +@panel-bg: #f1eee6; +@panel-bg-hlight: #f1eee6; + +// Tabs +@tab-border: #c5c5c5; +@tab-bg: #e3e3e3; +@tab-bg-hover: #fdfdfd; +@tab-bg-active: #fdfdfd; +@tabs-bg: #ffffff; + +// Tooltip +@tooltip-bg: #000; +@tooltip-text: white; +@tooltip-font-size: 11px; + +// Notification +@notification-font-size: 14px; +@notification-bg: #f0f0f0; +@notification-border: #cccccc; +@notification-text: #333333; +@notification-success-bg: #dff0d8; +@notification-success-border: #d6e9c6; +@notification-success-text: #3c763d; +@notification-info-bg: #d9edf7; +@notification-info-border: #779ecb; +@notification-info-text: #31708f; +@notification-warning-bg: #fcf8e3; +@notification-warning-border: #faebcc; +@notification-warning-text: #8a6d3b; +@notification-error-bg: #f2dede; +@notification-error-border: #ebccd1; +@notification-error-text: #a94442; + +// Window +@window-border: #c4c4c4; +@window-head-border: @window-border; +@window-head-close: mix(@text, @window-bg, 60%); +@window-head-close-hover: mix(@text, @window-bg, 40%); +@window-foot-border: @window-border; +@window-foot-bg: @window-bg; +@window-fullscreen-bg: #FFF; +@window-modalblock-bg: #000; +@window-modalblock-opacity: 0.3; +@window-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); +@window-bg: #ffffff; +@window-title-font-size: 20px; + +// Popover +@popover-bg: @window-bg; +@popover-arrow-width: 10px; +@popover-arrow: @window-bg; +@popover-arrow-outer-width: @popover-arrow-width + 1; +@popover-arrow-outer: rgba(0, 0, 0, 0.25); + +// Floatpanel +@floatpanel-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + +// Checkbox +@checkbox-bg: @btn-bg; +@checkbox-bg-hlight: @btn-bg-hlight; +@checkbox-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); +@checkbox-border: #c5c5c5; +@checkbox-border-focus: #59a5e1; + +// Path +@path-text: @text; +@path-bg-focus: #666; +@path-text-focus: #fff; + +// Textbox +@textbox-text-placeholder: #aaa; +@textbox-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +@textbox-bg: #ffffff; +@textbox-border: #c5c5c5; +@textbox-border-focus: #59a5e1; + +// Selectbox +@selectbox-bg: @textbox-bg; +@selectbox-border: @textbox-border; + +// Throbber +@throbber-bg: #fff url('img/loader.gif') no-repeat center center; + +// Combobox +@combobox-border: @textbox-border; + +// Colorpicker +@colorpicker-border: @textbox-border; +@colorpicker-hue-bg: #fff; +@colorpicker-hue-border: #333; + +// Grid +@grid-bg-active: @menuitem-bg-active; +@grid-border-active: #a1a1a1; +@grid-border: #d6d6d6; + +// Misc +@colorbtn-backcolor-bg: #bbbbbb; +@iframe-border: @panel-border; + +// Slider +@slider-border: #aaaaaa; +@slider-bg: #eeeeee; +@slider-handle-border: #bbbbbb; +@slider-handle-bg: #dddddd; + +// Progress +@progress-border: #cccccc; +@progress-bar-bg: #dfdfdf; +@progress-bar-bg-hlight: #cccccc; +@progress-text: #333333; +@progress-text-shadow: #ffffff; + +// Flow layout +@flow-layout-spacing: 2px; diff --git a/public/mosaico/dist/vendor/skins/gray-flat/content.inline.min.css b/public/mosaico/dist/vendor/skins/gray-flat/content.inline.min.css new file mode 100644 index 00000000..3597a011 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/content.inline.min.css @@ -0,0 +1 @@ +.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3a3a3a;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-preview-object[data-mce-selected] .mce-shim{display:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3a3a3a;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #f00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #bbb}td[data-mce-selected],th[data-mce-selected]{background-color:#39f !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2d8ac7}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #7acaff}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2d8ac7}.mce-resize-bar-dragging{background-color:blue;opacity:.25;filter:alpha(opacity=25);zoom:1} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/gray-flat/content.min.css b/public/mosaico/dist/vendor/skins/gray-flat/content.min.css new file mode 100644 index 00000000..3597a011 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/content.min.css @@ -0,0 +1 @@ +.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3a3a3a;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-preview-object[data-mce-selected] .mce-shim{display:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3a3a3a;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #f00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #bbb}td[data-mce-selected],th[data-mce-selected]{background-color:#39f !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2d8ac7}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #7acaff}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2d8ac7}.mce-resize-bar-dragging{background-color:blue;opacity:.25;filter:alpha(opacity=25);zoom:1} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/readme.md b/public/mosaico/dist/vendor/skins/gray-flat/fonts/readme.md new file mode 100644 index 00000000..fa5d6394 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/fonts/readme.md @@ -0,0 +1 @@ +Icons are generated and provided by the http://icomoon.io service. diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.eot b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.eot new file mode 100644 index 00000000..b144ba0b Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.eot differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.json b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.json new file mode 100644 index 00000000..cbc985b2 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.json @@ -0,0 +1,1277 @@ +{ + "IcoMoonType": "selection", + "icons": [ + { + "icon": { + "paths": [ + "M704 832v-37.004c151.348-61.628 256-193.82 256-346.996 0-212.078-200.576-384-448-384s-448 171.922-448 384c0 153.176 104.654 285.368 256 346.996v37.004h-192l-64-96v224h320v-222.812c-100.9-51.362-170.666-161.54-170.666-289.188 0-176.732 133.718-320 298.666-320 164.948 0 298.666 143.268 298.666 320 0 127.648-69.766 237.826-170.666 289.188v222.812h320v-224l-64 96h-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57376, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 0, + "order": 1, + "prevSize": 32, + "code": 57376, + "name": "charmap", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 0 + }, + { + "icon": { + "paths": [ + "M256 64v896l256-256 256 256v-896h-512zM704 789.49l-192-192-192 192v-661.49h384v661.49z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57363, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 1, + "order": 2, + "prevSize": 32, + "code": 57363, + "name": "bookmark", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 1 + }, + { + "icon": { + "paths": [ + "M927.274 230.216l-133.49-133.488c-21.104-21.104-49.232-32.728-79.198-32.728s-58.094 11.624-79.196 32.726l-165.492 165.49c-43.668 43.668-43.668 114.724 0 158.392l2.746 2.746 67.882-67.882-2.746-2.746c-6.132-6.132-6.132-16.494 0-22.626l165.492-165.492c4.010-4.008 8.808-4.608 11.312-4.608s7.302 0.598 11.312 4.61l133.49 133.488c6.132 6.134 6.132 16.498 0.002 22.628l-165.494 165.494c-4.008 4.008-8.806 4.608-11.31 4.608s-7.302-0.6-11.312-4.612l-2.746-2.746-67.88 67.884 2.742 2.742c21.106 21.108 49.23 32.728 79.2 32.728s58.094-11.624 79.196-32.726l165.494-165.492c43.662-43.666 43.662-114.72-0.004-158.39zM551.356 600.644l-67.882 67.882 2.746 2.746c4.008 4.008 4.61 8.806 4.61 11.31 0 2.506-0.598 7.302-4.606 11.314l-165.494 165.49c-4.010 4.010-8.81 4.61-11.314 4.61s-7.304-0.6-11.314-4.61l-133.492-133.486c-4.010-4.010-4.61-8.81-4.61-11.314s0.598-7.3 4.61-11.312l165.49-165.488c4.010-4.012 8.81-4.612 11.314-4.612s7.304 0.6 11.314 4.612l2.746 2.742 67.882-67.88-2.746-2.746c-21.104-21.104-49.23-32.726-79.196-32.726s-58.092 11.624-79.196 32.726l-165.488 165.486c-21.106 21.104-32.73 49.234-32.73 79.198s11.624 58.094 32.726 79.198l133.49 133.49c21.106 21.102 49.232 32.726 79.198 32.726s58.092-11.624 79.196-32.726l165.494-165.492c21.104-21.104 32.722-49.23 32.722-79.196s-11.624-58.094-32.726-79.196l-2.744-2.746zM800 838c-9.724 0-19.45-3.708-26.87-11.13l-128-127.998c-14.844-14.84-14.844-38.898 0-53.738 14.84-14.844 38.896-14.844 53.736 0l128 128c14.844 14.84 14.844 38.896 0 53.736-7.416 7.422-17.142 11.13-26.866 11.13zM608 960c-17.674 0-32-14.326-32-32v-128c0-17.674 14.326-32 32-32s32 14.326 32 32v128c0 17.674-14.326 32-32 32zM928 640h-128c-17.674 0-32-14.326-32-32s14.326-32 32-32h128c17.674 0 32 14.326 32 32s-14.326 32-32 32zM224 186c9.724 0 19.45 3.708 26.87 11.13l128 128c14.842 14.84 14.842 38.898 0 53.738-14.84 14.844-38.898 14.844-53.738 0l-128-128c-14.842-14.84-14.842-38.898 0-53.738 7.418-7.422 17.144-11.13 26.868-11.13zM416 64c17.674 0 32 14.326 32 32v128c0 17.674-14.326 32-32 32s-32-14.326-32-32v-128c0-17.674 14.326-32 32-32zM96 384h128c17.674 0 32 14.326 32 32s-14.326 32-32 32h-128c-17.674 0-32-14.326-32-32s14.326-32 32-32z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57362, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 2, + "order": 3, + "prevSize": 32, + "code": 57362, + "name": "link", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 2 + }, + { + "icon": { + "paths": [ + "M927.274 230.216l-133.49-133.488c-21.104-21.104-49.232-32.728-79.198-32.728s-58.094 11.624-79.196 32.726l-165.492 165.49c-43.668 43.668-43.668 114.724 0 158.392l2.746 2.746 67.882-67.882-2.746-2.746c-6.132-6.132-6.132-16.494 0-22.626l165.492-165.492c4.010-4.008 8.808-4.608 11.312-4.608s7.302 0.598 11.312 4.61l133.49 133.488c6.132 6.134 6.132 16.498 0.002 22.628l-165.494 165.494c-4.008 4.008-8.806 4.608-11.31 4.608s-7.302-0.6-11.312-4.612l-2.746-2.746-67.88 67.884 2.742 2.742c21.106 21.108 49.23 32.728 79.2 32.728s58.094-11.624 79.196-32.726l165.494-165.492c43.662-43.666 43.662-114.72-0.004-158.39zM551.356 600.644l-67.882 67.882 2.746 2.746c4.008 4.008 4.61 8.806 4.61 11.31 0 2.506-0.598 7.302-4.606 11.314l-165.494 165.49c-4.010 4.010-8.81 4.61-11.314 4.61s-7.304-0.6-11.314-4.61l-133.492-133.486c-4.010-4.010-4.61-8.81-4.61-11.314s0.598-7.3 4.61-11.312l165.49-165.488c4.010-4.012 8.81-4.612 11.314-4.612s7.304 0.6 11.314 4.612l2.746 2.742 67.882-67.88-2.746-2.746c-21.104-21.104-49.23-32.726-79.196-32.726s-58.092 11.624-79.196 32.726l-165.488 165.486c-21.106 21.104-32.73 49.234-32.73 79.198s11.624 58.094 32.726 79.198l133.49 133.49c21.106 21.102 49.232 32.726 79.198 32.726s58.092-11.624 79.196-32.726l165.494-165.492c21.104-21.104 32.722-49.23 32.722-79.196s-11.624-58.094-32.726-79.196l-2.744-2.746zM352 710c-9.724 0-19.45-3.71-26.87-11.128-14.84-14.84-14.84-38.898 0-53.738l320-320c14.84-14.84 38.896-14.84 53.736 0 14.844 14.84 14.844 38.9 0 53.74l-320 320c-7.416 7.416-17.142 11.126-26.866 11.126z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57361, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 3, + "order": 4, + "prevSize": 32, + "code": 57361, + "name": "unlink", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 3 + }, + { + "icon": { + "paths": [ + "M576 281.326v-217.326l336.002 336-336.002 336v-222.096c-390.906-9.17-315 247.096-256 446.096-288-320-212.092-690.874 256-678.674z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57360, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 4, + "order": 5, + "prevSize": 32, + "code": 57360, + "name": "redo", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 4 + }, + { + "icon": { + "paths": [ + "M704 960c59-199 134.906-455.266-256-446.096v222.096l-336.002-336 336.002-336v217.326c468.092-12.2 544 358.674 256 678.674z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57359, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 5, + "order": 6, + "prevSize": 32, + "code": 57359, + "name": "undo", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 5 + }, + { + "icon": { + "paths": [ + "M256.428 424.726c105.8 0 191.572 91.17 191.572 203.638 0 112.464-85.772 203.636-191.572 203.636-105.802 0-191.572-91.17-191.572-203.636l-0.856-29.092c0-224.93 171.54-407.272 383.144-407.272v116.364c-73.1 0-141.826 30.26-193.516 85.204-9.954 10.578-19.034 21.834-27.224 33.656 9.784-1.64 19.806-2.498 30.024-2.498zM768.428 424.726c105.8 0 191.572 91.17 191.572 203.638 0 112.464-85.772 203.636-191.572 203.636-105.802 0-191.572-91.17-191.572-203.636l-0.856-29.092c0-224.93 171.54-407.272 383.144-407.272v116.364c-73.1 0-141.826 30.26-193.516 85.204-9.956 10.578-19.036 21.834-27.224 33.656 9.784-1.64 19.806-2.498 30.024-2.498z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57358, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 6, + "order": 7, + "prevSize": 32, + "code": 57358, + "name": "blockquote", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 6 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM384 576h576v128h-576zM384 384h576v128h-576zM64 768h896v128h-896zM64 384l224 160-224 160z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57356, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 7, + "order": 8, + "prevSize": 32, + "code": 57356, + "name": "indent", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 7 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h576v128h-576zM64 384h576v128h-576zM64 768h896v128h-896zM960 384l-224 160 224 160z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57357, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 8, + "order": 9, + "prevSize": 32, + "code": 57357, + "name": "outdent", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 8 + }, + { + "icon": { + "paths": [ + "M384 128h576v128h-576zM384 448h576v128h-576zM384 768h576v128h-576zM320 530v-146h-64v-320h-128v64h64v256h-64v64h128v50l-128 60v146h128v64h-128v64h128v64h-128v64h192v-320h-128v-50z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57355, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 9, + "order": 10, + "prevSize": 32, + "code": 57355, + "name": "numlist", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 9 + }, + { + "icon": { + "paths": [ + "M384 128h576v128h-576zM384 448h576v128h-576zM384 768h576v128h-576zM128 192c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM128 512c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM128 832c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57354, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 10, + "order": 11, + "prevSize": 32, + "code": 57354, + "name": "bullist", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 10 + }, + { + "icon": { + "paths": [ + "M888 384h-56v-256h64v-64h-320v64h64v256h-256v-256h64v-64h-320v64h64v256h-56c-39.6 0-72 32.4-72 72v432c0 39.6 32.4 72 72 72h240c39.6 0 72-32.4 72-72v-312h128v312c0 39.6 32.4 72 72 72h240c39.6 0 72-32.4 72-72v-432c0-39.6-32.4-72-72-72zM348 896h-184c-19.8 0-36-14.4-36-32s16.2-32 36-32h184c19.8 0 36 14.4 36 32s-16.2 32-36 32zM544 512h-64c-17.6 0-32-14.4-32-32s14.4-32 32-32h64c17.6 0 32 14.4 32 32s-14.4 32-32 32zM860 896h-184c-19.8 0-36-14.4-36-32s16.2-32 36-32h184c19.8 0 36 14.4 36 32s-16.2 32-36 32z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57353, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 11, + "order": 12, + "prevSize": 32, + "code": 57353, + "name": "searchreplace", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 11 + }, + { + "icon": { + "paths": [ + "M704 384v-160c0-17.6-14.4-32-32-32h-160v-64c0-35.2-28.8-64-64-64h-128c-35.204 0-64 28.8-64 64v64h-160c-17.602 0-32 14.4-32 32v512c0 17.6 14.398 32 32 32h224v192h384l192-192v-384h-192zM320 128.114c0.034-0.038 0.072-0.078 0.114-0.114h127.768c0.042 0.036 0.082 0.076 0.118 0.114l0 63.886h-128v-63.886zM192 320v-64h384v64h-384zM704 869.49v-101.49h101.49l-101.49 101.49zM832 704h-192v192h-256v-448h448v256z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57352, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 12, + "order": 13, + "prevSize": 32, + "code": 57352, + "name": "paste", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 12 + }, + { + "icon": { + "paths": [ + "M832 320h-192v-64l-192-192h-384v704h384v192h576v-448l-192-192zM832 410.51l101.49 101.49h-101.49v-101.49zM448 154.51l101.49 101.49h-101.49v-101.49zM128 128h256v192h192v384h-448v-576zM960 896h-448v-128h128v-384h128v192h192v320z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57393, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 13, + "order": 14, + "prevSize": 32, + "code": 57393, + "name": "copy", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 13 + }, + { + "icon": { + "paths": [ + "M960 512h-265.876c-50.078-35.42-114.43-54.86-182.124-54.86-89.206 0-164.572-50.242-164.572-109.712 0-59.47 75.366-109.714 164.572-109.714 75.058 0 140.308 35.576 159.12 82.286h113.016c-7.93-50.644-37.58-97.968-84.058-132.826-50.88-38.16-117.676-59.174-188.078-59.174-70.404 0-137.196 21.014-188.074 59.174-54.788 41.090-86.212 99.502-86.212 160.254s31.424 119.164 86.212 160.254c1.956 1.466 3.942 2.898 5.946 4.316h-265.872v64h512.532c58.208 17.106 100.042 56.27 100.042 100.572 0 59.468-75.368 109.71-164.572 109.71-75.060 0-140.308-35.574-159.118-82.286h-113.016c7.93 50.64 37.582 97.968 84.060 132.826 50.876 38.164 117.668 59.18 188.072 59.18 70.402 0 137.198-21.016 188.074-59.174 54.79-41.090 86.208-99.502 86.208-160.254 0-35.298-10.654-69.792-30.294-100.572h204.012v-64z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57389, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 19, + "order": 15, + "prevSize": 32, + "code": 57389, + "name": "strikethrough", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 14 + }, + { + "icon": { + "paths": [ + "M192 832h576v64h-576v-64zM640 128v384c0 31.312-14.7 61.624-41.39 85.352-30.942 27.502-73.068 42.648-118.61 42.648-45.544 0-87.668-15.146-118.608-42.648-26.692-23.728-41.392-54.040-41.392-85.352v-384h-128v384c0 141.382 128.942 256 288 256s288-114.618 288-256v-384h-128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57388, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 20, + "order": 16, + "prevSize": 32, + "code": 57388, + "name": "underline", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 15 + }, + { + "icon": { + "paths": [ + "M832 128v64h-144l-256 640h144v64h-448v-64h144l256-640h-144v-64h448z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57387, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 21, + "order": 17, + "prevSize": 32, + "code": 57387, + "name": "italic", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 16 + }, + { + "icon": { + "paths": [ + "M625.442 494.182c48.074-38.15 78.558-94.856 78.558-158.182 0-114.876-100.29-208-224-208h-224v768h288c123.712 0 224-93.124 224-208 0-88.196-59.118-163.562-142.558-193.818zM384 304c0-26.51 21.49-48 48-48h67.204c42.414 0 76.796 42.98 76.796 96s-34.382 96-76.796 96h-115.204v-144zM547.2 768h-115.2c-26.51 0-48-21.49-48-48v-144h163.2c42.418 0 76.8 42.98 76.8 96s-34.382 96-76.8 96z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57386, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 22, + "order": 18, + "prevSize": 32, + "code": 57386, + "name": "bold", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 17 + }, + { + "icon": { + "paths": [ + "M850.746 242.746l-133.492-133.49c-24.888-24.892-74.054-45.256-109.254-45.256h-416c-35.2 0-64 28.8-64 64v768c0 35.2 28.8 64 64 64h640c35.2 0 64-28.8 64-64v-544c0-35.2-20.366-84.364-45.254-109.254zM805.49 287.998c6.792 6.796 13.792 19.162 18.894 32.002h-184.384v-184.386c12.84 5.1 25.204 12.1 32 18.896l133.49 133.488zM831.884 896h-639.77c-0.040-0.034-0.082-0.076-0.114-0.116v-767.77c0.034-0.040 0.076-0.082 0.114-0.114h383.886v256h256v511.884c-0.034 0.040-0.076 0.082-0.116 0.116z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57345, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 23, + "order": 19, + "prevSize": 32, + "code": 57345, + "name": "newdocument", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 18 + }, + { + "icon": { + "paths": [ + "M960 880v-591.938l-223.938-224.062h-592.062c-44.182 0-80 35.816-80 80v736c0 44.184 35.818 80 80 80h736c44.184 0 80-35.816 80-80zM576 192h64v192h-64v-192zM704 832h-384v-255.882c0.034-0.042 0.076-0.082 0.116-0.118h383.77c0.040 0.036 0.082 0.076 0.116 0.118l-0.002 255.882zM832 832h-64v-256c0-35.2-28.8-64-64-64h-384c-35.2 0-64 28.8-64 64v256h-64v-640h64v192c0 35.2 28.8 64 64 64h320c35.2 0 64-28.8 64-64v-171.010l128 128.072v490.938z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57344, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 24, + "order": 20, + "prevSize": 32, + "code": 57344, + "name": "save", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 19 + }, + { + "icon": { + "paths": [ + "M64 192v704h896v-704h-896zM384 640v-128h256v128h-256zM640 704v128h-256v-128h256zM640 320v128h-256v-128h256zM320 320v128h-192v-128h192zM128 512h192v128h-192v-128zM704 512h192v128h-192v-128zM704 448v-128h192v128h-192zM128 704h192v128h-192v-128zM704 832v-128h192v128h-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57371, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 25, + "order": 21, + "prevSize": 32, + "code": 57371, + "name": "table", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 20 + }, + { + "icon": { + "paths": [ + "M512 140c99.366 0 192.782 38.694 263.042 108.956s108.958 163.678 108.958 263.044-38.696 192.782-108.958 263.042-163.676 108.958-263.042 108.958-192.782-38.696-263.044-108.958-108.956-163.676-108.956-263.042 38.694-192.782 108.956-263.044 163.678-108.956 263.044-108.956zM512 64c-247.424 0-448 200.576-448 448s200.576 448 448 448 448-200.576 448-448-200.576-448-448-448v0zM320 384c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM576 384c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM512 656c-101.84 0-192.56-36.874-251.166-94.328 23.126 117.608 126.778 206.328 251.166 206.328 124.388 0 228.040-88.72 251.168-206.328-58.608 57.454-149.328 94.328-251.168 94.328z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57377, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 26, + "order": 22, + "prevSize": 32, + "code": 57377, + "name": "emoticons", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 21 + }, + { + "icon": { + "paths": [ + "M480 384l-192-192 128-128h-352v352l128-128 192 192zM640 480l192-192 128 128v-352h-352l128 128-192 192zM544 640l192 192-128 128h352v-352l-128 128-192-192zM384 544l-192 192-128-128v352h352l-128-128 192-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57379, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 27, + "order": 23, + "prevSize": 32, + "code": 57379, + "name": "fullscreen", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 22 + }, + { + "icon": { + "paths": [ + "M64 448h896v128h-896z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57372, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 28, + "order": 24, + "prevSize": 32, + "code": 57372, + "name": "hr", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 23 + }, + { + "icon": { + "paths": [ + "M64 768h512v128h-512v-128zM768 192h-220.558l-183.766 512h-132.288l183.762-512h-223.15v-128h576v128zM929.774 896l-129.774-129.774-129.774 129.774-62.226-62.226 129.774-129.774-129.774-129.774 62.226-62.226 129.774 129.774 129.774-129.774 62.226 62.226-129.774 129.774 129.774 129.774-62.226 62.226z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57373, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 29, + "order": 25, + "prevSize": 32, + "code": 57373, + "name": "removefromat", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 24 + }, + { + "icon": { + "paths": [ + "M256 128h512v128h-512v-128zM896 320h-768c-35.2 0-64 28.8-64 64v256c0 35.2 28.796 64 64 64h128v192h512v-192h128c35.2 0 64-28.8 64-64v-256c0-35.2-28.8-64-64-64zM704 832h-384v-256h384v256zM910.4 416c0 25.626-20.774 46.4-46.398 46.4s-46.402-20.774-46.402-46.4 20.778-46.4 46.402-46.4c25.626 0 46.398 20.774 46.398 46.4z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57378, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 30, + "order": 26, + "prevSize": 32, + "code": 57378, + "name": "print", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 25 + }, + { + "icon": { + "paths": [ + "M384 128c-123.712 0-224 100.288-224 224s100.288 224 224 224v320h128v-640h64v640h128v-640h128v-128h-448z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57390, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 31, + "order": 27, + "prevSize": 32, + "code": 57390, + "name": "visualchars", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 26 + }, + { + "icon": { + "paths": [ + "M448 128c-123.712 0-224 100.288-224 224s100.288 224 224 224v320h128v-640h64v640h128v-640h128v-128h-448zM64 896l224-192-224-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57391, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 32, + "order": 28, + "prevSize": 32, + "code": 57391, + "name": "ltr", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 27 + }, + { + "icon": { + "paths": [ + "M416 704l-192-192 192-192-64-64-256 256 256 256zM672 256l-64 64 192 192-192 192 64 64 256-256z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57367, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 38, + "order": 29, + "prevSize": 32, + "code": 57367, + "name": "code", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 28 + }, + { + "icon": { + "paths": [ + "M448 704h128v128h-128v-128zM704 256c35.346 0 64 28.654 64 64v166l-228 154h-92v-64l192-128v-64h-320v-128h384zM512 64c-119.666 0-232.166 46.6-316.784 131.216-84.614 84.618-131.216 197.118-131.216 316.784 0 119.664 46.602 232.168 131.216 316.784 84.618 84.616 197.118 131.216 316.784 131.216 119.664 0 232.168-46.6 316.784-131.216 84.616-84.616 131.216-197.12 131.216-316.784 0-119.666-46.6-232.166-131.216-316.784-84.616-84.616-197.12-131.216-316.784-131.216z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57366, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 39, + "order": 30, + "prevSize": 32, + "code": 57366, + "name": "help", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 29 + }, + { + "icon": { + "paths": [ + "M896 128h-768c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64v-640c0-35.2-28.8-64-64-64zM896 831.884c-0.012 0.014-0.030 0.028-0.042 0.042l-191.958-319.926-160 128-224-288-191.968 479.916c-0.010-0.010-0.022-0.022-0.032-0.032v-639.77c0.034-0.040 0.076-0.082 0.114-0.114h767.77c0.040 0.034 0.082 0.076 0.116 0.116v639.768zM640 352c0 53.019 42.981 96 96 96s96-42.981 96-96c0-53.019-42.981-96-96-96-53.019 0-96 42.981-96 96z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57364, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 40, + "order": 31, + "prevSize": 32, + "code": 57364, + "name": "image", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 30 + }, + { + "icon": { + "paths": [ + "M896 128h-768c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64v-640c0-35.2-28.8-64-64-64zM256 832h-128v-128h128v128zM256 576h-128v-128h128v128zM256 320h-128v-128h128v128zM704 832h-384v-640h384v640zM896 832h-128v-128h128v128zM896 576h-128v-128h128v128zM896 320h-128v-128h128v128zM384 320v384l288-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57365, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 41, + "order": 32, + "prevSize": 32, + "code": 57365, + "name": "media", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 31 + }, + { + "icon": { + "paths": [ + "M77.798 304.624l81.414 50.882c50.802-81.114 128.788-143.454 221.208-174.246l-30.366-91.094c-113.748 37.898-209.728 114.626-272.256 214.458zM673.946 90.166l-30.366 91.094c92.422 30.792 170.404 93.132 221.208 174.248l81.412-50.882c-62.526-99.834-158.506-176.562-272.254-214.46zM607.974 704.008c-4.808 0-9.692-1.090-14.286-3.386l-145.688-72.844v-211.778c0-17.672 14.328-32 32-32s32 14.328 32 32v172.222l110.31 55.156c15.806 7.902 22.214 27.124 14.31 42.932-5.604 11.214-16.908 17.696-28.646 17.698zM512 192c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384 0-212.078-171.922-384-384-384zM512 864c-159.058 0-288-128.942-288-288s128.942-288 288-288c159.058 0 288 128.942 288 288 0 159.058-128.942 288-288 288z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57368, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 42, + "order": 33, + "prevSize": 32, + "code": 57368, + "name": "insertdatetime", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 32 + }, + { + "icon": { + "paths": [ + "M64 455.746c45.318-49.92 97.162-92.36 153.272-125.124 90.332-52.744 192.246-80.622 294.728-80.622 102.48 0 204.396 27.878 294.726 80.624 56.112 32.764 107.956 75.204 153.274 125.124v-117.432c-33.010-28.118-68.124-53.14-104.868-74.594-105.006-61.314-223.658-93.722-343.132-93.722s-238.128 32.408-343.134 93.72c-36.742 21.454-71.856 46.478-104.866 74.596v117.43zM512 320c-183.196 0-345.838 100.556-448 256 102.162 155.448 264.804 256 448 256 183.196 0 345.838-100.552 448-256-102.162-155.444-264.804-256-448-256zM512 512c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.348 28.654-64 64-64s64 28.652 64 64zM728.066 696.662c-67.434 39.374-140.128 59.338-216.066 59.338s-148.632-19.964-216.066-59.338c-51.554-30.104-98.616-71.31-138.114-120.662 39.498-49.35 86.56-90.558 138.116-120.66 13.276-7.752 26.758-14.74 40.426-20.982-10.512 23.742-16.362 50.008-16.362 77.642 0 106.040 85.962 192 192 192 106.040 0 192-85.96 192-192 0-27.634-5.85-53.9-16.36-77.642 13.668 6.244 27.15 13.23 40.426 20.982 51.554 30.102 98.616 71.31 138.116 120.66-39.498 49.352-86.56 90.558-138.116 120.662z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57369, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 43, + "order": 34, + "prevSize": 32, + "code": 57369, + "name": "preview", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 33 + }, + { + "icon": { + "paths": [ + "M651.168 283.834c-24.612-81.962-28.876-91.834-107.168-91.834h-64c-79.618 0-82.664 10.152-108.418 96 0 0.002 0 0.002-0.002 0.004l-143.998 479.996h113.636l57.6-192h226.366l57.6 192h113.63l-145.246-484.166zM437.218 448l38.4-136c10.086-33.618 36.38-30 36.38-30s26.294-3.618 36.38 30h0.004l38.4 136h-149.564z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57370, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 44, + "order": 35, + "prevSize": 32, + "code": 57370, + "name": "forecolor", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 34 + }, + { + "icon": { + "paths": [ + "M576 64c247.424 0 448 200.576 448 448s-200.576 448-448 448v-96c94.024 0 182.418-36.614 248.902-103.098 66.484-66.484 103.098-154.878 103.098-248.902 0-94.022-36.614-182.418-103.098-248.902-66.484-66.484-154.878-103.098-248.902-103.098-94.022 0-182.418 36.614-248.902 103.098-51.14 51.138-84.582 115.246-97.306 184.902h186.208l-224 256-224-256h164.57c31.060-217.102 217.738-384 443.43-384zM768 448v128h-256v-320h128v192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57384, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 45, + "order": 36, + "prevSize": 32, + "code": 57384, + "name": "restoredraft", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 35 + }, + { + "icon": { + "paths": [ + "M1024 592.458v-160.916l-159.144-15.914c-8.186-30.042-20.088-58.548-35.21-84.98l104.596-127.838-113.052-113.050-127.836 104.596c-26.434-15.124-54.942-27.026-84.982-35.208l-15.914-159.148h-160.916l-15.914 159.146c-30.042 8.186-58.548 20.086-84.98 35.208l-127.838-104.594-113.050 113.050 104.596 127.836c-15.124 26.432-27.026 54.94-35.21 84.98l-159.146 15.916v160.916l159.146 15.914c8.186 30.042 20.086 58.548 35.21 84.982l-104.596 127.836 113.048 113.048 127.838-104.596c26.432 15.124 54.94 27.028 84.98 35.21l15.916 159.148h160.916l15.914-159.144c30.042-8.186 58.548-20.088 84.982-35.21l127.836 104.596 113.048-113.048-104.596-127.836c15.124-26.434 27.028-54.942 35.21-84.98l159.148-15.92zM704 576l-128 128h-128l-128-128v-128l128-128h128l128 128v128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57346, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 46, + "order": 37, + "prevSize": 32, + "code": 57346, + "name": "fullpage", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 36 + }, + { + "icon": { + "paths": [ + "M768 206v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM676 256h-136l-188 188-188-188h-136l256 256-256 256h136l188-188 188 188h136l-256-256z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57375, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 47, + "order": 38, + "prevSize": 32, + "code": 57375, + "name": "superscript", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 37 + }, + { + "icon": { + "paths": [ + "M768 910v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM676 256h-136l-188 188-188-188h-136l256 256-256 256h136l188-188 188 188h136l-256-256z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57374, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 48, + "order": 39, + "prevSize": 32, + "code": 57374, + "name": "subscript", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 38 + }, + { + "icon": { + "paths": [ + "M704 384v-160c0-17.6-14.4-32-32-32h-160v-64c0-35.2-28.8-64-64-64h-128c-35.204 0-64 28.8-64 64v64h-160c-17.602 0-32 14.4-32 32v512c0 17.6 14.398 32 32 32h224v192h576v-576h-192zM320 128.114c0.034-0.038 0.072-0.078 0.114-0.114h127.768c0.042 0.036 0.082 0.076 0.118 0.114l0 63.886h-128v-63.886zM192 320v-64h384v64h-384zM832 896h-448v-448h448v448zM448 512v128h32l32-64h64v192h-48v64h160v-64h-48v-192h64l32 64h32v-128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "pastetext" + ], + "defaultCode": 57397, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 49, + "order": 40, + "prevSize": 32, + "code": 57397, + "name": "pastetext", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 39 + }, + { + "icon": { + "paths": [ + "M768 256h64v64h-64zM640 384h64v64h-64zM640 512h64v64h-64zM640 640h64v64h-64zM512 512h64v64h-64zM512 640h64v64h-64zM384 640h64v64h-64zM768 384h64v64h-64zM768 512h64v64h-64zM768 640h64v64h-64zM768 768h64v64h-64zM640 768h64v64h-64zM512 768h64v64h-64zM384 768h64v64h-64zM256 768h64v64h-64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "resize", + "dots" + ], + "defaultCode": 57394, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 50, + "order": 41, + "prevSize": 32, + "code": 57394, + "name": "resize", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 40 + }, + { + "icon": { + "paths": [ + "M928 128h-416l-32-64h-352l-64 128h896zM840.34 704h87.66l32-448h-896l64 640h356.080c-104.882-37.776-180.080-138.266-180.080-256 0-149.982 122.018-272 272-272 149.98 0 272 122.018 272 272 0 21.678-2.622 43.15-7.66 64zM874.996 849.75l-134.496-110.692c17.454-28.922 27.5-62.814 27.5-99.058 0-106.040-85.96-192-192-192s-192 85.96-192 192 85.96 192 192 192c36.244 0 70.138-10.046 99.058-27.5l110.692 134.496c22.962 26.678 62.118 28.14 87.006 3.252l5.492-5.492c24.888-24.888 23.426-64.044-3.252-87.006zM576 764c-68.484 0-124-55.516-124-124s55.516-124 124-124 124 55.516 124 124-55.516 124-124 124z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "browse" + ], + "defaultCode": 57396, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 51, + "order": 42, + "prevSize": 32, + "code": 57396, + "name": "browse", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 41 + }, + { + "icon": { + "paths": [ + "M864.408 670.132c-46.47-46.47-106.938-68.004-161.082-62.806l-63.326-63.326 192-192c0 0 128-128 0-256l-320 320-320-320c-128 128 0 256 0 256l192 192-63.326 63.326c-54.144-5.198-114.61 16.338-161.080 62.806-74.98 74.98-85.112 186.418-22.626 248.9 62.482 62.482 173.92 52.354 248.9-22.626 46.47-46.468 68.002-106.938 62.806-161.080l63.326-63.326 63.328 63.328c-5.196 54.144 16.336 114.61 62.806 161.078 74.978 74.98 186.418 85.112 248.898 22.626 62.488-62.482 52.356-173.918-22.624-248.9zM353.124 758.578c-2.212 24.332-15.020 49.826-35.14 69.946-22.212 22.214-51.080 35.476-77.218 35.476-10.524 0-25.298-2.228-35.916-12.848-21.406-21.404-17.376-73.132 22.626-113.136 22.212-22.214 51.080-35.476 77.218-35.476 10.524 0 25.298 2.228 35.916 12.848 13.112 13.11 13.47 32.688 12.514 43.19zM512 608c-35.346 0-64-28.654-64-64s28.654-64 64-64 64 28.654 64 64-28.654 64-64 64zM819.152 851.152c-10.62 10.62-25.392 12.848-35.916 12.848-26.138 0-55.006-13.262-77.218-35.476-20.122-20.12-32.928-45.614-35.138-69.946-0.958-10.502-0.6-30.080 12.514-43.192 10.618-10.622 25.39-12.848 35.916-12.848 26.136 0 55.006 13.262 77.216 35.474 40.004 40.008 44.032 91.736 22.626 113.14z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57351, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 14, + "order": 43, + "prevSize": 32, + "code": 57351, + "name": "cut", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 42 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h896v128h-896zM64 384h896v128h-896zM64 768h896v128h-896z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57350, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 15, + "order": 44, + "prevSize": 32, + "code": 57350, + "name": "alignjustify", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 43 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h896v128h-896zM256 384h512v128h-512zM256 768h512v128h-512z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57348, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 16, + "order": 45, + "prevSize": 32, + "code": 57348, + "name": "aligncenter", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 44 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h896v128h-896zM384 384h576v128h-576zM384 768h576v128h-576z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57349, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 17, + "order": 46, + "prevSize": 32, + "code": 57349, + "name": "alignright", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 45 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h896v128h-896zM64 384h576v128h-576zM64 768h576v128h-576z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57347, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 18, + "order": 47, + "prevSize": 32, + "code": 57347, + "name": "alignleft", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 46 + }, + { + "icon": { + "paths": [ + "M320 128c-123.712 0-224 100.288-224 224s100.288 224 224 224v320h128v-640h64v640h128v-640h128v-128h-448zM960 512l-224 192 224 192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57392, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 33, + "order": 48, + "prevSize": 32, + "code": 57392, + "name": "rtl", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 47 + }, + { + "icon": { + "paths": [ + "M512 384h128v64h-128zM512 768h128v64h-128zM576 576h128v64h-128zM768 576v192h-64v64h128v-256zM384 576h128v64h-128zM320 768h128v64h-128zM320 384h128v64h-128zM192 192v256h64v-192h64v-64zM704 448h128v-256h-64v192h-64zM64 64v896h896v-896h-896zM896 896h-768v-768h768v768zM192 576v256h64v-192h64v-64zM576 192h128v64h-128zM384 192h128v64h-128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57382, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 34, + "order": 49, + "prevSize": 32, + "code": 57382, + "name": "template", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 48 + }, + { + "icon": { + "paths": [ + "M816 64l16 384h-640l16-384h32l16 320h512l16-320h32zM208 960l-16-320h640l-16 320h-32l-16-256h-512l-16 256h-32zM64 512h128v64h-128zM256 512h128v64h-128zM448 512h128v64h-128zM640 512h128v64h-128zM832 512h128v64h-128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57383, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 35, + "order": 50, + "prevSize": 32, + "code": 57383, + "name": "pagebreak", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 49 + }, + { + "icon": { + "paths": [ + "M960 128v-64h-192c-35.202 0-64 28.8-64 64v320c0 15.856 5.858 30.402 15.496 41.614l-303.496 260.386-142-148-82 70 224 288 416-448h128v-64h-192v-320h192zM256 512h64v-384c0-35.2-28.8-64-64-64h-128c-35.2 0-64 28.8-64 64v384h64v-192h128v192zM128 256v-128h128v128h-128zM640 448v-96c0-35.2-8.8-64-44-64 35.2 0 44-28.8 44-64v-96c0-35.2-28.8-64-64-64h-192v448h192c35.2 0 64-28.8 64-64zM448 128h128v128h-128v-128zM448 320h128v128h-128v-128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57380, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 36, + "order": 51, + "prevSize": 32, + "code": 57380, + "name": "spellcheck", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 50 + }, + { + "icon": { + "paths": [ + "M448 512h-128v-128h128v-128h128v128h128v128h-128v128h-128v-128zM960 576v320h-896v-320h128v192h640v-192h128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57381, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 37, + "order": 52, + "prevSize": 32, + "code": 57381, + "name": "nonbreaking", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 51 + }, + { + "icon": { + "paths": [ + "M256 352v-128c0-53.020 42.98-96 96-96h32v-128h-32c-123.712 0-224 100.288-224 224v128c0 53.020-42.98 96-96 96h-32v128h32c53.020 0 96 42.98 96 96v128c0 123.71 100.288 224 224 224h32v-128h-32c-53.020 0-96-42.98-96-96v-128c0-62.684-25.758-119.342-67.254-160 41.496-40.658 67.254-97.316 67.254-160z", + "M1024 352v-128c0-53.020-42.98-96-96-96h-32v-128h32c123.71 0 224 100.288 224 224v128c0 53.020 42.98 96 96 96h32v128h-32c-53.020 0-96 42.98-96 96v128c0 123.71-100.29 224-224 224h-32v-128h32c53.020 0 96-42.98 96-96v-128c0-62.684 25.758-119.342 67.254-160-41.496-40.658-67.254-97.316-67.254-160z", + "M768 320.882c0 70.692-57.308 128-128 128s-128-57.308-128-128c0-70.692 57.308-128 128-128s128 57.308 128 128z", + "M640 511.118c-70.692 0-128 57.308-128 128 0 68.732 32 123.216 130.156 127.852-29.19 41.126-73.156 57.366-130.156 62.7v76c0 0 256 22.332 256-266.55-0.25-70.694-57.306-128.002-128-128.002z" + ], + "width": 1280, + "attrs": [], + "isMulticolor": false, + "tags": [ + "code", + "semicolon", + "curly-braces" + ], + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 1, + "id": 0, + "prevSize": 16, + "code": 58883, + "name": "codesample" + }, + "setIdx": 1, + "setId": 1, + "iconIdx": 0 + } + ], + "height": 1024, + "metadata": { + "name": "tinymce-small" + }, + "preferences": { + "showGlyphs": true, + "showQuickUse": true, + "showQuickUse2": true, + "showSVGs": true, + "fontPref": { + "prefix": "icon-", + "metadata": { + "fontFamily": "tinymce-small", + "majorVersion": 1, + "minorVersion": 0 + }, + "metrics": { + "emSize": 1024, + "baseline": 6.25, + "whitespace": 50 + }, + "showMetrics": false, + "showMetadata": false, + "showVersion": false, + "embed": false + }, + "imagePref": { + "prefix": "icon-", + "png": true, + "useClassSelector": true, + "color": 4473924, + "bgColor": 16777215 + }, + "historySize": 100, + "showCodes": true + } +} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.svg b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.svg new file mode 100644 index 00000000..a9076ca8 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.svg @@ -0,0 +1,63 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.ttf b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.ttf new file mode 100644 index 00000000..a983e2dc Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.ttf differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.woff b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.woff new file mode 100644 index 00000000..d8962df7 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce-small.woff differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.eot b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.eot new file mode 100644 index 00000000..8838c8dc Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.eot differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.json b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.json new file mode 100644 index 00000000..2301beb7 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.json @@ -0,0 +1,1972 @@ +{ + "selection": [ + { + "order": 0, + "id": 0, + "prevSize": 32, + "code": 58882, + "name": "invert", + "tempChar": "" + }, + { + "id": 0, + "order": 0, + "prevSize": 32, + "code": 57396, + "name": "browse", + "ligatures": "", + "tempChar": "" + }, + { + "id": 1, + "order": 0, + "prevSize": 32, + "code": 57394, + "name": "resize", + "ligatures": "", + "tempChar": "" + }, + { + "id": 2, + "order": 0, + "prevSize": 32, + "code": 57393, + "name": "copy", + "ligatures": "", + "tempChar": "" + }, + { + "id": 3, + "order": 0, + "prevSize": 32, + "code": 57392, + "name": "rtl", + "ligatures": "", + "tempChar": "" + }, + { + "id": 4, + "order": 0, + "prevSize": 32, + "code": 57391, + "name": "ltr", + "ligatures": "", + "tempChar": "" + }, + { + "id": 5, + "order": 0, + "prevSize": 32, + "code": 57390, + "name": "visualchars", + "ligatures": "", + "tempChar": "" + }, + { + "id": 6, + "order": 0, + "prevSize": 32, + "code": 57389, + "name": "strikethrough", + "ligatures": "", + "tempChar": "" + }, + { + "id": 7, + "order": 0, + "prevSize": 32, + "code": 57388, + "name": "underline", + "ligatures": "", + "tempChar": "" + }, + { + "id": 8, + "order": 0, + "prevSize": 32, + "code": 57387, + "name": "italic", + "ligatures": "", + "tempChar": "" + }, + { + "id": 9, + "order": 0, + "prevSize": 32, + "code": 57386, + "name": "bold", + "ligatures": "", + "tempChar": "" + }, + { + "id": 11, + "order": 0, + "prevSize": 32, + "code": 57384, + "name": "restoredraft", + "ligatures": "", + "tempChar": "" + }, + { + "id": 12, + "order": 0, + "prevSize": 32, + "code": 57383, + "name": "pagebreak", + "ligatures": "", + "tempChar": "" + }, + { + "id": 13, + "order": 0, + "prevSize": 32, + "code": 57382, + "name": "template", + "ligatures": "", + "tempChar": "" + }, + { + "id": 14, + "order": 0, + "prevSize": 32, + "code": 57381, + "name": "nonbreaking", + "ligatures": "", + "tempChar": "" + }, + { + "id": 15, + "order": 0, + "prevSize": 32, + "code": 57380, + "name": "spellchecker", + "ligatures": "", + "tempChar": "" + }, + { + "id": 19, + "order": 0, + "prevSize": 32, + "code": 57376, + "name": "charmap", + "ligatures": "", + "tempChar": "" + }, + { + "id": 20, + "order": 0, + "prevSize": 32, + "code": 57375, + "name": "sup", + "ligatures": "", + "tempChar": "" + }, + { + "id": 21, + "order": 0, + "prevSize": 32, + "code": 57374, + "name": "sub", + "ligatures": "", + "tempChar": "" + }, + { + "id": 22, + "order": 0, + "prevSize": 32, + "code": 57373, + "name": "removeformat", + "ligatures": "", + "tempChar": "" + }, + { + "id": 23, + "order": 0, + "prevSize": 32, + "code": 57372, + "name": "hr", + "ligatures": "", + "tempChar": "" + }, + { + "id": 24, + "order": 0, + "prevSize": 32, + "code": 57371, + "name": "table", + "ligatures": "", + "tempChar": "" + }, + { + "id": 25, + "order": 0, + "prevSize": 32, + "code": 57370, + "name": "forecolor", + "ligatures": "", + "tempChar": "" + }, + { + "id": 26, + "order": 0, + "prevSize": 32, + "code": 57369, + "name": "preview", + "ligatures": "", + "tempChar": "" + }, + { + "id": 27, + "order": 0, + "prevSize": 32, + "code": 57368, + "name": "inserttime", + "ligatures": "", + "tempChar": "" + }, + { + "id": 28, + "order": 0, + "prevSize": 32, + "code": 57367, + "name": "code", + "ligatures": "", + "tempChar": "" + }, + { + "id": 29, + "order": 0, + "prevSize": 32, + "code": 57366, + "name": "help", + "ligatures": "", + "tempChar": "" + }, + { + "id": 30, + "order": 0, + "prevSize": 32, + "code": 57365, + "name": "media", + "ligatures": "", + "tempChar": "" + }, + { + "id": 31, + "order": 0, + "prevSize": 32, + "code": 57364, + "name": "image", + "ligatures": "", + "tempChar": "" + }, + { + "id": 32, + "order": 0, + "prevSize": 32, + "code": 57363, + "name": "anchor", + "ligatures": "", + "tempChar": "" + }, + { + "id": 33, + "order": 0, + "prevSize": 32, + "code": 57362, + "name": "unlink", + "ligatures": "", + "tempChar": "" + }, + { + "id": 34, + "order": 0, + "prevSize": 32, + "code": 57361, + "name": "link", + "ligatures": "", + "tempChar": "" + }, + { + "id": 38, + "order": 0, + "prevSize": 32, + "code": 57357, + "name": "outdent", + "ligatures": "", + "tempChar": "" + }, + { + "id": 39, + "order": 0, + "prevSize": 32, + "code": 57356, + "name": "indent", + "ligatures": "", + "tempChar": "" + }, + { + "id": 40, + "order": 0, + "prevSize": 32, + "code": 57355, + "name": "numlist", + "ligatures": "", + "tempChar": "" + }, + { + "id": 41, + "order": 0, + "prevSize": 32, + "code": 57354, + "name": "bullist", + "ligatures": "", + "tempChar": "" + }, + { + "id": 42, + "order": 0, + "prevSize": 32, + "code": 57353, + "name": "searchreplace", + "ligatures": "", + "tempChar": "" + }, + { + "id": 43, + "order": 0, + "prevSize": 32, + "code": 57352, + "name": "paste", + "ligatures": "", + "tempChar": "" + }, + { + "id": 44, + "order": 0, + "prevSize": 32, + "code": 57351, + "name": "cut", + "ligatures": "", + "tempChar": "" + }, + { + "id": 45, + "order": 0, + "prevSize": 32, + "code": 57350, + "name": "alignjustify", + "ligatures": "", + "tempChar": "" + }, + { + "id": 46, + "order": 0, + "prevSize": 32, + "code": 57349, + "name": "alignright", + "ligatures": "", + "tempChar": "" + }, + { + "id": 47, + "order": 0, + "prevSize": 32, + "code": 57348, + "name": "aligncenter", + "ligatures": "", + "tempChar": "" + }, + { + "id": 48, + "order": 0, + "prevSize": 32, + "code": 57347, + "name": "alignleft", + "ligatures": "", + "tempChar": "" + }, + { + "id": 49, + "order": 0, + "prevSize": 32, + "code": 57346, + "name": "fullpage", + "ligatures": "", + "tempChar": "" + }, + { + "id": 50, + "order": 0, + "prevSize": 32, + "code": 57345, + "name": "newdocument", + "ligatures": "", + "tempChar": "" + }, + { + "id": 51, + "order": 0, + "prevSize": 32, + "code": 57344, + "name": "save", + "ligatures": "", + "tempChar": "" + }, + { + "id": 52, + "order": 0, + "prevSize": 32, + "code": 57395, + "name": "checkbox", + "ligatures": "", + "tempChar": "" + }, + { + "id": 53, + "order": 0, + "prevSize": 32, + "code": 57397, + "name": "pastetext", + "ligatures": "", + "tempChar": "" + }, + { + "id": 16, + "order": 0, + "prevSize": 32, + "code": 57379, + "name": "fullscreen", + "ligatures": "", + "tempChar": "" + }, + { + "id": 17, + "order": 0, + "prevSize": 32, + "code": 57378, + "name": "print", + "ligatures": "", + "tempChar": "" + }, + { + "id": 18, + "order": 0, + "prevSize": 32, + "code": 57377, + "name": "emoticons", + "ligatures": "", + "tempChar": "" + }, + { + "id": 37, + "order": 0, + "prevSize": 32, + "code": 57358, + "name": "blockquote", + "ligatures": "", + "tempChar": "" + }, + { + "id": 36, + "order": 0, + "prevSize": 32, + "code": 57359, + "name": "undo", + "ligatures": "", + "tempChar": "" + }, + { + "id": 35, + "order": 0, + "prevSize": 32, + "code": 57360, + "name": "redo", + "ligatures": "", + "tempChar": "" + }, + { + "order": 0, + "id": 1, + "prevSize": 32, + "code": 58883, + "name": "codesample", + "tempChar": "" + }, + { + "id": 87, + "order": 0, + "prevSize": 32, + "code": 59700, + "ligatures": "droplet, color9", + "name": "drop", + "tempChar": "" + }, + { + "id": 635, + "order": 0, + "prevSize": 32, + "code": 60327, + "ligatures": "diamond2, gem2", + "name": "sharpen", + "tempChar": "" + }, + { + "id": 854, + "order": 0, + "prevSize": 32, + "code": 60628, + "ligatures": "contrast", + "name": "contrast", + "tempChar": "" + }, + { + "id": 24, + "order": 0, + "prevSize": 32, + "code": 60778, + "ligatures": "cross2, cancel3", + "name": "cross2", + "tempChar": "" + }, + { + "id": 1097, + "order": 0, + "prevSize": 32, + "code": 60921, + "ligatures": "arrow-resize2, diagonal2", + "name": "arrow-resize2", + "tempChar": "" + }, + { + "order": 0, + "id": 1, + "prevSize": 32, + "code": 58880, + "name": "gamma", + "tempChar": "" + }, + { + "order": 0, + "id": 0, + "prevSize": 32, + "code": 58881, + "name": "orientation", + "tempChar": "" + }, + { + "id": 68, + "order": 0, + "prevSize": 32, + "code": 59668, + "ligatures": "pencil7, write7", + "name": "editimage", + "tempChar": "" + }, + { + "id": 22, + "order": 0, + "prevSize": 32, + "code": 60072, + "ligatures": "rotate-ccw3, ccw4", + "name": "rotateleft", + "tempChar": "" + }, + { + "order": 0, + "id": 1679, + "prevSize": 32, + "code": 60073, + "ligatures": "rotate-cw3, cw4", + "name": "rotateright", + "tempChar": "" + }, + { + "id": 403, + "order": 0, + "prevSize": 32, + "code": 60074, + "ligatures": "flip-vertical, mirror", + "name": "flipv", + "tempChar": "" + }, + { + "id": 405, + "order": 0, + "prevSize": 32, + "code": 60076, + "ligatures": "flip-horizontal, mirror3", + "name": "fliph", + "tempChar": "" + }, + { + "id": 534, + "order": 0, + "prevSize": 32, + "code": 60213, + "ligatures": "zoom-in3, magnifier9", + "name": "zoomin", + "tempChar": "" + }, + { + "id": 535, + "order": 0, + "prevSize": 32, + "code": 60214, + "ligatures": "zoom-out3, magnifier10", + "name": "zoomout", + "tempChar": "" + }, + { + "order": 0, + "id": 1448, + "prevSize": 32, + "code": 60522, + "ligatures": "menu3, list4", + "name": "options", + "tempChar": "" + }, + { + "id": 844, + "order": 0, + "prevSize": 32, + "code": 60620, + "ligatures": "sun2, weather21", + "name": "sun", + "tempChar": "" + }, + { + "id": 855, + "order": 0, + "prevSize": 32, + "code": 60621, + "ligatures": "moon, night", + "name": "moon", + "tempChar": "" + }, + { + "id": 1056, + "order": 0, + "prevSize": 32, + "code": 60864, + "ligatures": "arrow-left, left4", + "name": "arrowleft", + "tempChar": "" + }, + { + "id": 1201, + "order": 0, + "prevSize": 32, + "code": 61048, + "ligatures": "crop, resize", + "name": "crop", + "tempChar": "" + }, + { + "id": 1680, + "order": 0, + "prevSize": 32, + "code": 58884, + "name": "tablerowprops", + "tempChar": "" + }, + { + "id": 1681, + "order": 0, + "prevSize": 32, + "code": 58885, + "name": "tablecellprops", + "tempChar": "" + }, + { + "id": 1682, + "order": 0, + "prevSize": 32, + "code": 58886, + "name": "table2", + "tempChar": "" + }, + { + "id": 1683, + "order": 0, + "prevSize": 32, + "code": 58887, + "name": "tablemergecells", + "tempChar": "" + }, + { + "id": 1684, + "order": 0, + "prevSize": 32, + "code": 58888, + "name": "tableinsertcolbefore", + "tempChar": "" + }, + { + "id": 1685, + "order": 0, + "prevSize": 32, + "code": 58889, + "name": "tableinsertcolafter", + "tempChar": "" + }, + { + "id": 1686, + "order": 0, + "prevSize": 32, + "code": 58890, + "name": "tableinsertrowbefore", + "tempChar": "" + }, + { + "id": 1687, + "order": 0, + "prevSize": 32, + "code": 58891, + "name": "tableinsertrowafter", + "tempChar": "" + }, + { + "id": 1688, + "order": 0, + "prevSize": 32, + "code": 58893, + "name": "tablesplitcells", + "tempChar": "" + }, + { + "id": 1689, + "order": 0, + "prevSize": 32, + "code": 58894, + "name": "tabledelete", + "tempChar": "" + }, + { + "id": 1690, + "order": 0, + "prevSize": 32, + "code": 58922, + "name": "tableleftheader", + "tempChar": "" + }, + { + "id": 1691, + "order": 0, + "prevSize": 32, + "code": 58923, + "name": "tabletopheader", + "tempChar": "" + }, + { + "order": 0, + "id": 1693, + "prevSize": 32, + "code": 59392, + "name": "tabledeleterow", + "tempChar": "" + }, + { + "order": 0, + "id": 1692, + "prevSize": 32, + "code": 59393, + "name": "tabledeletecol", + "tempChar": "" + } + ], + "metadata": { + "name": "tinymce", + "iconsHash": 757772004 + }, + "height": 1024, + "prevSize": 32, + "icons": [ + { + "paths": [ + "M892.8 982.4l-89.6-89.6c-70.4 80-172.8 131.2-288 131.2-208 0-380.8-166.4-384-377.6 0 0 0 0 0 0 0-3.2 0-3.2 0-6.4s0-3.2 0-6.4v0c0 0 0 0 0-3.2 0 0 0-3.2 0-3.2 3.2-105.6 48-211.2 105.6-304l-192-192 44.8-44.8 182.4 182.4c0 0 0 0 0 0l569.6 569.6c0 0 0 0 0 0l99.2 99.2-48 44.8zM896 633.6c0 0 0 0 0 0 0-3.2 0-6.4 0-6.4-9.6-316.8-384-627.2-384-627.2s-108.8 89.6-208 220.8l70.4 70.4c6.4-9.6 16-22.4 22.4-32 41.6-51.2 83.2-96 115.2-128v0c32 32 73.6 76.8 115.2 128 108.8 137.6 169.6 265.6 172.8 371.2 0 0 0 3.2 0 3.2v0 0c0 3.2 0 3.2 0 6.4s0 3.2 0 3.2v0 0c0 22.4-3.2 41.6-9.6 64l76.8 76.8c16-41.6 28.8-89.6 28.8-137.6 0 0 0 0 0 0 0-3.2 0-3.2 0-6.4s-0-3.2-0-6.4z" + ], + "attrs": [ + {} + ], + "isMulticolor": false, + "tags": [ + "invert" + ], + "grid": 16, + "defaultCode": 58882 + }, + { + "paths": [ + "M928 128h-416l-32-64h-352l-64 128h896zM904.34 704h74.86l44.8-448h-1024l64 640h484.080c-104.882-37.776-180.080-138.266-180.080-256 0-149.982 122.018-272 272-272 149.98 0 272 122.018 272 272 0 21.678-2.622 43.15-7.66 64zM1002.996 913.75l-198.496-174.692c17.454-28.92 27.5-62.814 27.5-99.058 0-106.040-85.96-192-192-192s-192 85.96-192 192 85.96 192 192 192c36.244 0 70.138-10.046 99.058-27.5l174.692 198.496c22.962 26.678 62.118 28.14 87.006 3.252l5.492-5.492c24.888-24.888 23.426-64.044-3.252-87.006zM640 764c-68.484 0-124-55.516-124-124s55.516-124 124-124 124 55.516 124 124-55.516 124-124 124z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57396, + "grid": 16 + }, + { + "paths": [ + "M768 256h64v64h-64zM640 384h64v64h-64zM640 512h64v64h-64zM640 640h64v64h-64zM512 512h64v64h-64zM512 640h64v64h-64zM384 640h64v64h-64zM768 384h64v64h-64zM768 512h64v64h-64zM768 640h64v64h-64zM768 768h64v64h-64zM640 768h64v64h-64zM512 768h64v64h-64zM384 768h64v64h-64zM256 768h64v64h-64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "resize", + "dots" + ], + "defaultCode": 57394, + "grid": 16 + }, + { + "paths": [ + "M832 256h-192v-64l-192-192h-448v768h384v256h640v-576l-192-192zM832 346.51l101.49 101.49h-101.49v-101.49zM448 90.51l101.49 101.49h-101.49v-101.49zM64 64h320v192h192v448h-512v-640zM960 960h-512v-192h192v-448h128v192h192v448z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "copy" + ], + "defaultCode": 57393, + "grid": 16 + }, + { + "paths": [ + "M256 64h512v128h-128v768h-128v-768h-128v768h-128v-448c-123.712 0-224-100.288-224-224s100.288-224 224-224zM960 896l-256-224 256-224z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "rtl" + ], + "defaultCode": 57392, + "grid": 16 + }, + { + "paths": [ + "M448 64h512v128h-128v768h-128v-768h-128v768h-128v-448c-123.712 0-224-100.288-224-224s100.288-224 224-224zM64 448l256 224-256 224z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "ltr" + ], + "defaultCode": 57391, + "grid": 16 + }, + { + "paths": [ + "M384 64h512v128h-128v768h-128v-768h-128v768h-128v-448c-123.712 0-224-100.288-224-224s100.288-224 224-224z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "visualchars" + ], + "defaultCode": 57390, + "grid": 16 + }, + { + "paths": [ + "M731.42 517.036c63.92 47.938 100.58 116.086 100.58 186.964s-36.66 139.026-100.58 186.964c-59.358 44.518-137.284 69.036-219.42 69.036-82.138 0-160.062-24.518-219.42-69.036-63.92-47.938-100.58-116.086-100.58-186.964h128c0 69.382 87.926 128 192 128 104.074 0 192-58.618 192-128 0-69.382-87.926-128-192-128-82.138 0-160.062-24.518-219.42-69.036-63.92-47.94-100.58-116.086-100.58-186.964 0-70.878 36.66-139.024 100.58-186.964 59.358-44.518 137.282-69.036 219.42-69.036 82.136 0 160.062 24.518 219.42 69.036 63.92 47.94 100.58 116.086 100.58 186.964h-128c0-69.382-87.926-128-192-128-104.074 0-192 58.618-192 128 0 69.382 87.926 128 192 128 82.136 0 160.062 24.518 219.42 69.036zM0 512h1024v64h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "strikethrough" + ], + "defaultCode": 57389, + "grid": 16 + }, + { + "paths": [ + "M704 64h128v416c0 159.058-143.268 288-320 288-176.73 0-320-128.942-320-288v-416h128v416c0 40.166 18.238 78.704 51.354 108.506 36.896 33.204 86.846 51.494 140.646 51.494 53.8 0 103.75-18.29 140.646-51.494 33.116-29.802 51.354-68.34 51.354-108.506v-416zM192 832h640v128h-640z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "underline" + ], + "defaultCode": 57388, + "grid": 16 + }, + { + "paths": [ + "M896 64v64h-128l-320 768h128v64h-448v-64h128l320-768h-128v-64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "italic" + ], + "defaultCode": 57387, + "grid": 16 + }, + { + "paths": [ + "M707.88 484.652c37.498-44.542 60.12-102.008 60.12-164.652 0-141.16-114.842-256-256-256h-320v896h384c141.158 0 256-114.842 256-256 0-92.956-49.798-174.496-124.12-219.348zM384 192h101.5c55.968 0 101.5 57.42 101.5 128s-45.532 128-101.5 128h-101.5v-256zM543 832h-159v-256h159c58.45 0 106 57.42 106 128s-47.55 128-106 128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "bold0" + ], + "defaultCode": 57386, + "grid": 16 + }, + { + "paths": [ + "M576 64c247.424 0 448 200.576 448 448s-200.576 448-448 448v-96c94.024 0 182.418-36.614 248.902-103.098 66.484-66.484 103.098-154.878 103.098-248.902 0-94.022-36.614-182.418-103.098-248.902-66.484-66.484-154.878-103.098-248.902-103.098-94.022 0-182.418 36.614-248.902 103.098-51.14 51.138-84.582 115.246-97.306 184.902h186.208l-224 256-224-256h164.57c31.060-217.102 217.738-384 443.43-384zM768 448v128h-256v-320h128v192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "restoredraft" + ], + "defaultCode": 57384, + "grid": 16 + }, + { + "paths": [ + "M0 512h128v64h-128zM192 512h192v64h-192zM448 512h128v64h-128zM640 512h192v64h-192zM896 512h128v64h-128zM880 0l16 448h-768l16-448h32l16 384h640l16-384zM144 1024l-16-384h768l-16 384h-32l-16-320h-640l-16 320z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "pagebreak" + ], + "defaultCode": 57383, + "grid": 16 + }, + { + "paths": [ + "M384 192h128v64h-128zM576 192h128v64h-128zM896 192v256h-192v-64h128v-128h-64v-64zM320 384h128v64h-128zM512 384h128v64h-128zM192 256v128h64v64h-128v-256h192v64zM384 576h128v64h-128zM576 576h128v64h-128zM896 576v256h-192v-64h128v-128h-64v-64zM320 768h128v64h-128zM512 768h128v64h-128zM192 640v128h64v64h-128v-256h192v64zM960 64h-896v896h896v-896zM1024 0v0 1024h-1024v-1024h1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "template" + ], + "defaultCode": 57382, + "grid": 16 + }, + { + "paths": [ + "M448 576h-192v-128h192v-192h128v192h192v128h-192v192h-128zM1024 640v384h-1024v-384h128v256h768v-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "nonbreaking" + ], + "defaultCode": 57381, + "grid": 16 + }, + { + "paths": [ + "M128 256h128v192h64v-384c0-35.2-28.8-64-64-64h-128c-35.2 0-64 28.8-64 64v384h64v-192zM128 64h128v128h-128v-128zM960 64v-64h-192c-35.202 0-64 28.8-64 64v320c0 35.2 28.798 64 64 64h192v-64h-192v-320h192zM640 160v-96c0-35.2-28.8-64-64-64h-192v448h192c35.2 0 64-28.8 64-64v-96c0-35.2-8.8-64-44-64 35.2 0 44-28.8 44-64zM576 384h-128v-128h128v128zM576 192h-128v-128h128v128zM832 576l-416 448-224-288 82-70 142 148 352-302z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "spellchecker" + ], + "defaultCode": 57380, + "grid": 16 + }, + { + "paths": [ + "M704 896h256l64-128v256h-384v-214.214c131.112-56.484 224-197.162 224-361.786 0-214.432-157.598-382.266-352-382.266-194.406 0-352 167.832-352 382.266 0 164.624 92.886 305.302 224 361.786v214.214h-384v-256l64 128h256v-32.59c-187.63-66.46-320-227.402-320-415.41 0-247.424 229.23-448 512-448 282.77 0 512 200.576 512 448 0 188.008-132.37 348.95-320 415.41v32.59z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "charmap" + ], + "defaultCode": 57376, + "grid": 16 + }, + { + "paths": [ + "M768 206v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM676 256h-136l-188 188-188-188h-136l256 256-256 256h136l188-188 188 188h136l-256-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "sup" + ], + "defaultCode": 57375, + "grid": 16 + }, + { + "paths": [ + "M768 910v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM676 256h-136l-188 188-188-188h-136l256 256-256 256h136l188-188 188 188h136l-256-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "sub" + ], + "defaultCode": 57374, + "grid": 16 + }, + { + "paths": [ + "M0 896h576v128h-576zM192 0h704v128h-704zM277.388 832l204.688-784.164 123.85 32.328-196.25 751.836zM929.774 1024l-129.774-129.774-129.774 129.774-62.226-62.226 129.774-129.774-129.774-129.774 62.226-62.226 129.774 129.774 129.774-129.774 62.226 62.226-129.774 129.774 129.774 129.774z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "removeformat" + ], + "defaultCode": 57373, + "grid": 16 + }, + { + "paths": [ + "M0 448h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "hr" + ], + "defaultCode": 57372, + "grid": 16 + }, + { + "paths": [ + "M0 64v896h1024v-896h-1024zM384 640v-192h256v192h-256zM640 704v192h-256v-192h256zM640 192v192h-256v-192h256zM320 192v192h-256v-192h256zM64 448h256v192h-256v-192zM704 448h256v192h-256v-192zM704 384v-192h256v192h-256zM64 704h256v192h-256v-192zM704 896v-192h256v192h-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "table" + ], + "defaultCode": 57371, + "grid": 16 + }, + { + "paths": [ + "M322.018 832l57.6-192h264.764l57.6 192h113.632l-191.996-640h-223.236l-192 640h113.636zM475.618 320h72.764l57.6 192h-187.964l57.6-192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "forecolor" + ], + "defaultCode": 57370, + "grid": 16 + }, + { + "paths": [ + "M512 320c-209.368 0-395.244 100.556-512 256 116.756 155.446 302.632 256 512 256 209.368 0 395.244-100.554 512-256-116.756-155.444-302.632-256-512-256zM448 448c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64 28.654-64 64-64zM773.616 705.296c-39.648 20.258-81.652 35.862-124.846 46.376-44.488 10.836-90.502 16.328-136.77 16.328-46.266 0-92.282-5.492-136.768-16.324-43.194-10.518-85.198-26.122-124.846-46.376-63.020-32.202-120.222-76.41-167.64-129.298 47.418-52.888 104.62-97.1 167.64-129.298 32.336-16.522 66.242-29.946 101.082-40.040-19.888 30.242-31.468 66.434-31.468 105.336 0 106.040 85.962 192 192 192 106.038 0 192-85.96 192-192 0-38.902-11.582-75.094-31.466-105.34 34.838 10.096 68.744 23.52 101.082 40.042 63.022 32.198 120.218 76.408 167.638 129.298-47.42 52.886-104.618 97.1-167.638 129.296zM860.918 243.722c-108.72-55.554-226.112-83.722-348.918-83.722-122.806 0-240.198 28.168-348.918 83.722-58.772 30.032-113.732 67.904-163.082 112.076v109.206c55.338-58.566 120.694-107.754 192.194-144.29 99.62-50.904 207.218-76.714 319.806-76.714s220.186 25.81 319.804 76.716c71.502 36.536 136.858 85.724 192.196 144.29v-109.206c-49.35-44.174-104.308-82.046-163.082-112.078z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "preview" + ], + "defaultCode": 57369, + "grid": 16 + }, + { + "paths": [ + "M512 192c-212.076 0-384 171.922-384 384s171.922 384 384 384c212.074 0 384-171.922 384-384s-171.926-384-384-384zM715.644 779.646c-54.392 54.396-126.716 84.354-203.644 84.354s-149.25-29.958-203.646-84.354c-54.396-54.394-84.354-126.718-84.354-203.646s29.958-149.25 84.354-203.646c54.396-54.396 126.718-84.354 203.646-84.354s149.252 29.958 203.642 84.354c54.402 54.396 84.358 126.718 84.358 203.646s-29.958 149.252-84.356 203.646zM325.93 203.862l-42.94-85.878c-98.874 49.536-179.47 130.132-229.006 229.008l85.876 42.94c40.248-80.336 105.732-145.822 186.070-186.070zM884.134 389.93l85.878-42.938c-49.532-98.876-130.126-179.472-229.004-229.008l-42.944 85.878c80.338 40.248 145.824 105.732 186.070 186.068zM512 384h-64v192c0 10.11 4.7 19.11 12.022 24.972l-0.012 0.016 160 128 39.976-49.976-147.986-118.39v-176.622z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "inserttime" + ], + "defaultCode": 57368, + "grid": 16 + }, + { + "paths": [ + "M320 256l-256 256 256 256h128l-256-256 256-256zM704 256h-128l256 256-256 256h128l256-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "code" + ], + "defaultCode": 57367, + "grid": 16 + }, + { + "paths": [ + "M448 704h128v128h-128zM704 256c35.346 0 64 28.654 64 64v192l-192 128h-128v-64l192-128v-64h-320v-128h384zM512 96c-111.118 0-215.584 43.272-294.156 121.844s-121.844 183.038-121.844 294.156c0 111.118 43.272 215.584 121.844 294.156 78.572 78.572 183.038 121.844 294.156 121.844 111.118 0 215.584-43.272 294.156-121.844 78.572-78.572 121.844-183.038 121.844-294.156 0-111.118-43.272-215.584-121.844-294.156-78.572-78.572-183.038-121.844-294.156-121.844zM512 0v0c282.77 0 512 229.23 512 512s-229.23 512-512 512c-282.77 0-512-229.23-512-512 0-282.77 229.23-512 512-512z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "help" + ], + "defaultCode": 57366, + "grid": 16 + }, + { + "paths": [ + "M0 128v768h1024v-768h-1024zM192 832h-128v-128h128v128zM192 576h-128v-128h128v128zM192 320h-128v-128h128v128zM768 832h-512v-640h512v640zM960 832h-128v-128h128v128zM960 576h-128v-128h128v128zM960 320h-128v-128h128v128zM384 320v384l256-192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "media" + ], + "defaultCode": 57365, + "grid": 16 + }, + { + "paths": [ + "M0 128v832h1024v-832h-1024zM960 896h-896v-704h896v704zM704 352c0-53.019 42.981-96 96-96s96 42.981 96 96c0 53.019-42.981 96-96 96-53.019 0-96-42.981-96-96zM896 832h-768l192-512 256 320 128-96z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "image" + ], + "defaultCode": 57364, + "grid": 16 + }, + { + "paths": [ + "M192 0v1024l320-320 320 320v-1024h-640zM768 869.49l-256-256-256 256v-805.49h512v805.49z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "anchor" + ], + "defaultCode": 57363, + "grid": 16 + }, + { + "paths": [ + "M476.888 675.114c4.56 9.048 6.99 19.158 6.99 29.696 0 17.616-6.744 34.058-18.992 46.308l-163.38 163.38c-12.248 12.248-28.696 18.992-46.308 18.992s-34.060-6.744-46.308-18.992l-99.38-99.38c-12.248-12.25-18.992-28.696-18.992-46.308s6.744-34.060 18.992-46.308l163.38-163.382c12.248-12.246 28.696-18.992 46.308-18.992 10.538 0 20.644 2.43 29.696 6.988l65.338-65.336c-27.87-21.41-61.44-32.16-95.034-32.16-39.986 0-79.972 15.166-110.308 45.502l-163.38 163.382c-60.67 60.67-60.67 159.95 0 220.618l99.38 99.382c30.334 30.332 70.32 45.5 110.306 45.5 39.988 0 79.974-15.168 110.308-45.502l163.38-163.38c55.82-55.82 60.238-144.298 13.344-205.346l-65.34 65.338zM978.496 144.884l-99.38-99.382c-30.334-30.336-70.32-45.502-110.308-45.502-39.986 0-79.97 15.166-110.306 45.502l-163.382 163.382c-55.82 55.82-60.238 144.298-13.342 205.342l65.338-65.34c-4.558-9.050-6.988-19.16-6.988-29.694 0-17.616 6.744-34.060 18.992-46.308l163.382-163.382c12.246-12.248 28.694-18.994 46.306-18.994 17.616 0 34.060 6.746 46.308 18.994l99.38 99.382c12.248 12.248 18.992 28.694 18.992 46.308s-6.744 34.060-18.992 46.308l-163.38 163.382c-12.248 12.248-28.694 18.992-46.308 18.992-10.536 0-20.644-2.43-29.696-6.99l-65.338 65.338c27.872 21.41 61.44 32.16 95.034 32.16 39.988 0 79.974-15.168 110.308-45.504l163.38-163.38c60.672-60.666 60.672-159.944 0-220.614zM233.368 278.624l-191.994-191.994 45.256-45.256 191.994 191.994zM384 0h64v192h-64zM0 384h192v64h-192zM790.632 745.376l191.996 191.996-45.256 45.256-191.996-191.996zM576 832h64v192h-64zM832 576h192v64h-192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "unlink" + ], + "defaultCode": 57362, + "grid": 16 + }, + { + "paths": [ + "M320 704c17.6 17.6 47.274 16.726 65.942-1.942l316.118-316.116c18.668-18.668 19.54-48.342 1.94-65.942s-47.274-16.726-65.942 1.942l-316.116 316.116c-18.668 18.668-19.542 48.342-1.942 65.942zM476.888 675.112c4.56 9.050 6.99 19.16 6.99 29.696 0 17.616-6.744 34.060-18.992 46.308l-163.382 163.382c-12.248 12.248-28.694 18.992-46.308 18.992s-34.060-6.744-46.308-18.992l-99.382-99.382c-12.248-12.248-18.992-28.694-18.992-46.308s6.744-34.060 18.992-46.308l163.382-163.382c12.248-12.248 28.694-18.994 46.308-18.994 10.536 0 20.644 2.43 29.696 6.99l65.338-65.338c-27.87-21.41-61.44-32.16-95.034-32.16-39.986 0-79.972 15.166-110.308 45.502l-163.382 163.382c-60.67 60.67-60.67 159.948 0 220.618l99.382 99.382c30.334 30.332 70.32 45.5 110.306 45.5 39.988 0 79.974-15.168 110.308-45.502l163.382-163.382c55.82-55.82 60.238-144.298 13.344-205.344l-65.34 65.34zM978.498 144.884l-99.382-99.382c-30.334-30.336-70.32-45.502-110.308-45.502-39.986 0-79.972 15.166-110.308 45.502l-163.382 163.382c-55.82 55.82-60.238 144.298-13.342 205.342l65.338-65.34c-4.558-9.050-6.988-19.16-6.988-29.694 0-17.616 6.744-34.060 18.992-46.308l163.382-163.382c12.248-12.248 28.694-18.994 46.308-18.994s34.060 6.746 46.308 18.994l99.382 99.382c12.248 12.248 18.992 28.694 18.992 46.308s-6.744 34.060-18.992 46.308l-163.382 163.382c-12.248 12.248-28.694 18.992-46.308 18.992-10.536 0-20.644-2.43-29.696-6.99l-65.338 65.338c27.872 21.41 61.44 32.16 95.034 32.16 39.988 0 79.974-15.168 110.308-45.502l163.382-163.382c60.67-60.666 60.67-159.944 0-220.614z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "link" + ], + "defaultCode": 57361, + "grid": 16 + }, + { + "paths": [ + "M0 64h1024v128h-1024zM384 256h640v128h-640zM384 448h640v128h-640zM384 640h640v128h-640zM0 832h1024v128h-1024zM256 320v384l-256-192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "outdent" + ], + "defaultCode": 57357, + "grid": 16 + }, + { + "paths": [ + "M0 64h1024v128h-1024zM384 256h640v128h-640zM384 448h640v128h-640zM384 640h640v128h-640zM0 832h1024v128h-1024zM0 704v-384l256 192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "indent" + ], + "defaultCode": 57356, + "grid": 16 + }, + { + "paths": [ + "M384 832h640v128h-640zM384 448h640v128h-640zM384 64h640v128h-640zM192 0v256h-64v-192h-64v-64zM128 526v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM256 704v320h-192v-64h128v-64h-128v-64h128v-64h-128v-64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "numlist" + ], + "defaultCode": 57355, + "grid": 16 + }, + { + "paths": [ + "M384 64h640v128h-640v-128zM384 448h640v128h-640v-128zM384 832h640v128h-640v-128zM0 128c0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128 0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM0 512c0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128 0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM0 896c0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128 0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "bullist" + ], + "defaultCode": 57354, + "grid": 16 + }, + { + "paths": [ + "M64 0h384v64h-384zM576 0h384v64h-384zM952 320h-56v-256h-256v256h-256v-256h-256v256h-56c-39.6 0-72 32.4-72 72v560c0 39.6 32.4 72 72 72h304c39.6 0 72-32.4 72-72v-376h128v376c0 39.6 32.4 72 72 72h304c39.6 0 72-32.4 72-72v-560c0-39.6-32.4-72-72-72zM348 960h-248c-19.8 0-36-14.4-36-32s16.2-32 36-32h248c19.8 0 36 14.4 36 32s-16.2 32-36 32zM544 512h-64c-17.6 0-32-14.4-32-32s14.4-32 32-32h64c17.6 0 32 14.4 32 32s-14.4 32-32 32zM924 960h-248c-19.8 0-36-14.4-36-32s16.2-32 36-32h248c19.8 0 36 14.4 36 32s-16.2 32-36 32z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "searchreplace" + ], + "defaultCode": 57353, + "grid": 16 + }, + { + "paths": [ + "M832 320v-160c0-17.6-14.4-32-32-32h-224v-64c0-35.2-28.8-64-64-64h-128c-35.204 0-64 28.8-64 64v64h-224c-17.602 0-32 14.4-32 32v640c0 17.6 14.398 32 32 32h288v192h448l192-192v-512h-192zM384 64.114c0.034-0.038 0.072-0.078 0.114-0.114h127.768c0.042 0.036 0.082 0.076 0.118 0.114l0 63.886h-128v-63.886zM192 256v-64h512v64h-512zM832 933.49v-101.49h101.49l-101.49 101.49zM960 768h-192v192h-320v-576h512v384z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "paste" + ], + "defaultCode": 57352, + "grid": 16 + }, + { + "paths": [ + "M890.774 709.154c-45.654-45.556-103.728-69.072-157.946-69.072h-29.112l-63.904-64.008 255.62-256.038c63.904-64.010 63.904-192.028 0-256.038l-383.43 384.056-383.432-384.054c-63.904 64.008-63.904 192.028 0 256.038l255.622 256.034-63.906 64.008h-29.114c-54.22 0-112.292 23.518-157.948 69.076-81.622 81.442-92.65 202.484-24.63 270.35 29.97 29.902 70.288 44.494 112.996 44.494 54.216 0 112.29-23.514 157.946-69.072 53.584-53.464 76.742-124 67.084-185.348l65.384-65.488 65.376 65.488c-9.656 61.348 13.506 131.882 67.084 185.348 45.662 45.558 103.732 69.072 157.948 69.072 42.708 0 83.024-14.592 112.994-44.496 68.020-67.866 56.988-188.908-24.632-270.35zM353.024 845.538c-7.698 17.882-19.010 34.346-33.626 48.926-14.636 14.604-31.172 25.918-49.148 33.624-16.132 6.916-32.96 10.568-48.662 10.568-15.146 0-36.612-3.402-52.862-19.612-16.136-16.104-19.52-37.318-19.52-52.288 0-15.542 3.642-32.21 10.526-48.212 7.7-17.884 19.014-34.346 33.626-48.926 14.634-14.606 31.172-25.914 49.15-33.624 16.134-6.914 32.96-10.568 48.664-10.568 15.146 0 36.612 3.4 52.858 19.614 16.134 16.098 19.522 37.316 19.522 52.284 0.002 15.542-3.638 32.216-10.528 48.214zM512.004 666.596c-49.914 0-90.376-40.532-90.376-90.526 0-49.992 40.462-90.52 90.376-90.52s90.372 40.528 90.372 90.52c0 49.998-40.46 90.526-90.372 90.526zM855.272 919.042c-16.248 16.208-37.712 19.612-52.86 19.612-15.704 0-32.53-3.652-48.666-10.568-17.972-7.706-34.508-19.020-49.142-33.624-14.614-14.58-25.926-31.042-33.626-48.926-6.886-15.998-10.526-32.672-10.526-48.212 0-14.966 3.384-36.188 19.52-52.286 16.246-16.208 37.712-19.614 52.86-19.614 15.7 0 32.53 3.654 48.66 10.568 17.978 7.708 34.516 19.018 49.15 33.624 14.61 14.58 25.924 31.042 33.626 48.926 6.884 15.998 10.526 32.67 10.526 48.212-0.002 14.97-3.39 36.186-19.522 52.288z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "cut" + ], + "defaultCode": 57351, + "grid": 16 + }, + { + "paths": [ + "M0 64h1024v128h-1024zM0 256h1024v128h-1024zM0 448h1024v128h-1024zM0 640h1024v128h-1024zM0 832h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "alignjustify" + ], + "defaultCode": 57350, + "grid": 16 + }, + { + "paths": [ + "M0 64h1024v128h-1024zM384 256h640v128h-640zM384 640h640v128h-640zM0 448h1024v128h-1024zM0 832h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "alignright" + ], + "defaultCode": 57349, + "grid": 16 + }, + { + "paths": [ + "M0 64h1024v128h-1024zM192 256h640v128h-640zM192 640h640v128h-640zM0 448h1024v128h-1024zM0 832h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "aligncenter" + ], + "defaultCode": 57348, + "grid": 16 + }, + { + "paths": [ + "M0 64h1024v128h-1024zM0 256h640v128h-640zM0 640h640v128h-640zM0 448h1024v128h-1024zM0 832h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "alignleft" + ], + "defaultCode": 57347, + "grid": 16 + }, + { + "paths": [ + "M1024 592.458v-160.916l-159.144-15.914c-8.186-30.042-20.088-58.548-35.21-84.98l104.596-127.838-113.052-113.050-127.836 104.596c-26.434-15.124-54.942-27.026-84.982-35.208l-15.914-159.148h-160.916l-15.914 159.146c-30.042 8.186-58.548 20.086-84.98 35.208l-127.838-104.594-113.050 113.050 104.596 127.836c-15.124 26.432-27.026 54.94-35.21 84.98l-159.146 15.916v160.916l159.146 15.914c8.186 30.042 20.086 58.548 35.21 84.982l-104.596 127.836 113.048 113.048 127.838-104.596c26.432 15.124 54.94 27.028 84.98 35.21l15.916 159.148h160.916l15.914-159.144c30.042-8.186 58.548-20.088 84.982-35.21l127.836 104.596 113.048-113.048-104.596-127.836c15.124-26.434 27.028-54.942 35.21-84.98l159.148-15.92zM704 576l-128 128h-128l-128-128v-128l128-128h128l128 128v128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "fullpage" + ], + "defaultCode": 57346, + "grid": 16 + }, + { + "paths": [ + "M903.432 199.43l-142.864-142.862c-31.112-31.112-92.568-56.568-136.568-56.568h-480c-44 0-80 36-80 80v864c0 44 36 80 80 80h736c44 0 80-36 80-80v-608c0-44-25.456-105.458-56.568-136.57zM858.178 244.686c3.13 3.13 6.25 6.974 9.28 11.314h-163.458v-163.456c4.34 3.030 8.184 6.15 11.314 9.28l142.864 142.862zM896 944c0 8.672-7.328 16-16 16h-736c-8.672 0-16-7.328-16-16v-864c0-8.672 7.328-16 16-16h480c4.832 0 10.254 0.61 16 1.704v254.296h254.296c1.094 5.746 1.704 11.166 1.704 16v608z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "newdocument" + ], + "defaultCode": 57345, + "grid": 16 + }, + { + "paths": [ + "M896 0h-896v1024h1024v-896l-128-128zM512 128h128v256h-128v-256zM896 896h-768v-768h64v320h576v-320h74.978l53.022 53.018v714.982z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "save" + ], + "defaultCode": 57344, + "grid": 16 + }, + { + "paths": [ + "M128 544l288 288 480-480-128-128-352 352-160-160z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57395, + "grid": 16 + }, + { + "paths": [ + "M512 512v128h32l32-64h64v256h-48v64h224v-64h-48v-256h64l32 64h32v-128zM832 320v-160c0-17.6-14.4-32-32-32h-224v-64c0-35.2-28.8-64-64-64h-128c-35.204 0-64 28.8-64 64v64h-224c-17.602 0-32 14.4-32 32v640c0 17.6 14.398 32 32 32h288v192h640v-704h-192zM384 64.114c0.034-0.038 0.072-0.078 0.114-0.114h127.768c0.042 0.036 0.082 0.076 0.118 0.114l0 63.886h-128v-63.886zM192 256v-64h512v64h-512zM960 960h-512v-576h512v576z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "pastetext" + ], + "defaultCode": 57397, + "grid": 16 + }, + { + "paths": [ + "M1024 0v384l-138.26-138.26-212 212-107.48-107.48 212-212-138.26-138.26zM245.74 138.26l212 212-107.48 107.48-212-212-138.26 138.26v-384h384zM885.74 778.26l138.26-138.26v384h-384l138.26-138.26-212-212 107.48-107.48zM457.74 673.74l-212 212 138.26 138.26h-384v-384l138.26 138.26 212-212z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "fullscreen" + ], + "defaultCode": 57379, + "grid": 16 + }, + { + "paths": [ + "M256 64h512v128h-512zM960 256h-896c-35.2 0-64 28.8-64 64v320c0 35.2 28.796 64 64 64h192v256h512v-256h192c35.2 0 64-28.8 64-64v-320c0-35.2-28.8-64-64-64zM704 896h-384v-320h384v320zM974.4 352c0 25.626-20.774 46.4-46.398 46.4-25.626 0-46.402-20.774-46.402-46.4s20.776-46.4 46.402-46.4c25.626 0 46.398 20.774 46.398 46.4z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "print" + ], + "defaultCode": 57378, + "grid": 16 + }, + { + "paths": [ + "M512 0c-282.77 0-512 229.228-512 512 0 282.77 229.228 512 512 512 282.77 0 512-229.23 512-512 0-282.772-229.23-512-512-512zM512 944c-238.586 0-432-193.412-432-432 0-238.586 193.414-432 432-432 238.59 0 432 193.414 432 432 0 238.588-193.41 432-432 432zM384 320c0 35.346-28.654 64-64 64s-64-28.654-64-64 28.654-64 64-64 64 28.654 64 64zM768 320c0 35.346-28.652 64-64 64s-64-28.654-64-64 28.652-64 64-64 64 28.654 64 64zM512 652c141.074 0 262.688-57.532 318.462-123.192-20.872 171.22-156.288 303.192-318.462 303.192-162.118 0-297.498-132.026-318.444-303.168 55.786 65.646 177.386 123.168 318.444 123.168z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "emoticons" + ], + "defaultCode": 57377, + "grid": 16 + }, + { + "paths": [ + "M225 448c123.712 0 224 100.29 224 224 0 123.712-100.288 224-224 224-123.712 0-224-100.288-224-224l-1-32c0-247.424 200.576-448 448-448v128c-85.474 0-165.834 33.286-226.274 93.726-11.634 11.636-22.252 24.016-31.83 37.020 11.438-1.8 23.16-2.746 35.104-2.746zM801 448c123.71 0 224 100.29 224 224 0 123.712-100.29 224-224 224-123.71 0-224-100.288-224-224l-1-32c0-247.424 200.576-448 448-448v128c-85.474 0-165.834 33.286-226.274 93.726-11.636 11.636-22.254 24.016-31.832 37.020 11.44-1.8 23.16-2.746 35.106-2.746z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "blockquote" + ], + "defaultCode": 57358, + "grid": 16 + }, + { + "paths": [ + "M761.862 1024c113.726-206.032 132.888-520.306-313.862-509.824v253.824l-384-384 384-384v248.372c534.962-13.942 594.57 472.214 313.862 775.628z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "undo" + ], + "defaultCode": 57359, + "grid": 16 + }, + { + "paths": [ + "M576 248.372v-248.372l384 384-384 384v-253.824c-446.75-10.482-427.588 303.792-313.86 509.824-280.712-303.414-221.1-789.57 313.86-775.628z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "redo" + ], + "defaultCode": 57360, + "grid": 16 + }, + { + "paths": [ + "M199.995 381.998v-104.002c0-43.078 34.923-78.001 78.001-78.001h26v-104.002h-26c-100.518 0-182.003 81.485-182.003 182.003v104.002c0 43.078-34.923 78.001-78.001 78.001h-26v104.002h26c43.078 0 78.001 34.923 78.001 78.001v104.002c0 100.515 81.485 182.003 182.003 182.003h26v-104.002h-26c-43.078 0-78.001-34.923-78.001-78.001v-104.002c0-50.931-20.928-96.966-54.646-130.002 33.716-33.036 54.646-79.072 54.646-130.002z", + "M824.005 381.998v-104.002c0-43.078-34.923-78.001-78.001-78.001h-26v-104.002h26c100.515 0 182.003 81.485 182.003 182.003v104.002c0 43.078 34.923 78.001 78.001 78.001h26v104.002h-26c-43.078 0-78.001 34.923-78.001 78.001v104.002c0 100.515-81.488 182.003-182.003 182.003h-26v-104.002h26c43.078 0 78.001-34.923 78.001-78.001v-104.002c0-50.931 20.928-96.966 54.646-130.002-33.716-33.036-54.646-79.072-54.646-130.002z", + "M616.002 356.715c0 57.439-46.562 104.002-104.002 104.002s-104.002-46.562-104.002-104.002c0-57.439 46.562-104.002 104.002-104.002s104.002 46.562 104.002 104.002z", + "M512 511.283c-57.439 0-104.002 46.562-104.002 104.002 0 55.845 26 100.115 105.752 103.88-23.719 33.417-59.441 46.612-105.752 50.944v61.751c0 0 208.003 18.144 208.003-216.577-0.202-57.441-46.56-104.004-104.002-104.004z" + ], + "width": 1024, + "attrs": [], + "isMulticolor": false, + "tags": [ + "code", + "semicolon", + "curly-braces" + ], + "grid": 16, + "defaultCode": 58883 + }, + { + "paths": [ + "M864.626 473.162c-65.754-183.44-205.11-348.15-352.626-473.162-147.516 125.012-286.87 289.722-352.626 473.162-40.664 113.436-44.682 236.562 12.584 345.4 65.846 125.14 198.632 205.438 340.042 205.438s274.196-80.298 340.040-205.44c57.27-108.838 53.25-231.962 12.586-345.398zM738.764 758.956c-43.802 83.252-132.812 137.044-226.764 137.044-55.12 0-108.524-18.536-152.112-50.652 13.242 1.724 26.632 2.652 40.112 2.652 117.426 0 228.668-67.214 283.402-171.242 44.878-85.292 40.978-173.848 23.882-244.338 14.558 28.15 26.906 56.198 36.848 83.932 22.606 63.062 40.024 156.34-5.368 242.604z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "drop" + ], + "defaultCode": 57381, + "grid": 16 + }, + { + "paths": [ + "M768 128h-512l-256 256 512 576 512-576-256-256zM512 778.666v-2.666h-2.37l-14.222-16h16.592v-16h-30.814l-14.222-16h45.036v-16h-59.258l-14.222-16h73.48v-16h-87.704l-14.222-16h101.926v-16h-116.148l-14.222-16h130.37v-16h-144.592l-14.222-16h158.814v-16h-173.038l-14.222-16h187.26v-16h-201.482l-14.222-16h215.704v-16h-229.926l-14.222-16h244.148v-16h-258.372l-14.222-16h272.594v-16h-286.816l-14.222-16h301.038v-16h-315.26l-14.222-16h329.482v-16h-343.706l-7.344-8.262 139.072-139.072h211.978v3.334h215.314l16 16h-231.314v16h247.314l16 16h-263.314v16h279.314l16 16h-295.314v16h311.314l16 16h-327.314v16h343.312l7.738 7.738-351.050 394.928z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "diamond", + "gem", + "jewelry", + "dualtone" + ], + "defaultCode": 57889, + "grid": 16 + }, + { + "paths": [ + "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM128 512c0-212.078 171.922-384 384-384v768c-212.078 0-384-171.922-384-384z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "contrast" + ], + "defaultCode": 58104, + "grid": 16 + }, + { + "paths": [ + "M893.254 221.254l-90.508-90.508-290.746 290.744-290.746-290.744-90.508 90.506 290.746 290.748-290.746 290.746 90.508 90.508 290.746-290.746 290.746 290.746 90.508-90.51-290.744-290.744z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "cross", + "cancel", + "close", + "quit", + "remove" + ], + "defaultCode": 60778, + "grid": 16 + }, + { + "paths": [ + "M0 64v384c0 35.346 28.654 64 64 64s64-28.654 64-64v-229.488l677.488 677.488h-229.488c-35.346 0-64 28.652-64 64 0 35.346 28.654 64 64 64h384c35.346 0 64-28.654 64-64v-384c0-35.348-28.654-64-64-64s-64 28.652-64 64v229.488l-677.488-677.488h229.488c35.346 0 64-28.654 64-64s-28.652-64-64-64h-384c-35.346 0-64 28.654-64 64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "arrow-resize", + "diagonal" + ], + "defaultCode": 58329, + "grid": 16 + }, + { + "paths": [ + "M483.2 640l-147.2-336c-9.6-25.6-19.2-44.8-25.6-54.4s-16-12.8-25.6-12.8c-16 0-25.6 3.2-28.8 3.2v-70.4c9.6-6.4 25.6-6.4 38.4-9.6 32 0 57.6 6.4 73.6 22.4 6.4 6.4 12.8 16 19.2 25.6 6.4 12.8 12.8 25.6 16 41.6l121.6 291.2 150.4-371.2h92.8l-198.4 470.4v224h-86.4v-224z", + "M0 0v1024h1024v-1024h-1024zM960 960h-896v-896h896v896z" + ], + "attrs": [ + {}, + {} + ], + "isMulticolor": false, + "tags": [ + "gamma2" + ], + "grid": 16, + "defaultCode": 58880 + }, + { + "paths": [ + "M627.2 880h-579.2v-396.8h579.2v396.8zM553.6 553.6h-435.2v256h435.2v-256z", + "M259.2 227.2c176-176 457.6-176 633.6 0s176 457.6 0 633.6c-121.6 121.6-297.6 160-454.4 108.8 121.6 28.8 262.4-9.6 361.6-108.8 150.4-150.4 160-384 22.4-521.6-121.6-121.6-320-128-470.4-19.2l86.4 86.4-294.4 22.4 22.4-294.4 92.8 92.8z" + ], + "attrs": [ + {}, + {} + ], + "isMulticolor": false, + "tags": [ + "orientation" + ], + "grid": 16, + "defaultCode": 58881 + }, + { + "paths": [ + "M768 544v352h-640v-640h352l128-128h-512c-52.8 0-96 43.2-96 96v704c0 52.8 43.2 96 96 96h704c52.798 0 96-43.2 96-96v-512l-128 128z", + "M864 0l-608 608v160h160l608-608c0-96-64-160-160-160zM416 640l-48-48 480-480 48 48-480 480z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "pencil", + "write", + "edit" + ], + "defaultCode": 57361, + "grid": 16 + }, + { + "paths": [ + "M607.998 128.014c-212.070 0-383.986 171.916-383.986 383.986h-191.994l246.848 246.848 246.848-246.848h-191.994c0-151.478 122.798-274.276 274.276-274.276 151.48 0 274.276 122.798 274.276 274.276 0 151.48-122.796 274.276-274.276 274.276v109.71c212.070 0 383.986-171.916 383.986-383.986s-171.916-383.986-383.986-383.986z" + ], + "width": 1024, + "attrs": [], + "isMulticolor": false, + "tags": [ + "rotate-ccw", + "ccw", + "arrow" + ], + "defaultCode": 60072, + "grid": 16 + }, + { + "paths": [ + "M416.002 128.014c212.070 0 383.986 171.916 383.986 383.986h191.994l-246.848 246.848-246.848-246.848h191.994c0-151.478-122.798-274.276-274.276-274.276-151.48 0-274.276 122.798-274.276 274.276 0 151.48 122.796 274.276 274.276 274.276v109.71c-212.070 0-383.986-171.916-383.986-383.986s171.916-383.986 383.986-383.986z" + ], + "width": 1024, + "attrs": [], + "isMulticolor": false, + "tags": [ + "rotate-cw", + "cw", + "arrow" + ], + "defaultCode": 60073, + "grid": 16 + }, + { + "paths": [ + "M0 384h1024v-384zM1024 960v-384h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "flip-vertical", + "mirror" + ], + "defaultCode": 57663, + "grid": 16 + }, + { + "paths": [ + "M576 0v1024h384zM0 1024h384v-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "flip-horizontal", + "mirror" + ], + "defaultCode": 57664, + "grid": 16 + }, + { + "paths": [ + "M992.262 871.396l-242.552-206.294c-25.074-22.566-51.89-32.926-73.552-31.926 57.256-67.068 91.842-154.078 91.842-249.176 0-212.078-171.922-384-384-384-212.076 0-384 171.922-384 384 0 212.078 171.922 384 384 384 95.098 0 182.108-34.586 249.176-91.844-1 21.662 9.36 48.478 31.926 73.552l206.294 242.552c35.322 39.246 93.022 42.554 128.22 7.356s31.892-92.898-7.354-128.22zM384 640c-141.384 0-256-114.616-256-256s114.616-256 256-256 256 114.616 256 256-114.614 256-256 256zM448 192h-128v128h-128v128h128v128h128v-128h128v-128h-128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "zoom-in", + "magnifier", + "magnifier-plus", + "enlarge" + ], + "defaultCode": 57788, + "grid": 16 + }, + { + "paths": [ + "M992.262 871.396l-242.552-206.294c-25.074-22.566-51.89-32.926-73.552-31.926 57.256-67.068 91.842-154.078 91.842-249.176 0-212.078-171.922-384-384-384-212.076 0-384 171.922-384 384 0 212.078 171.922 384 384 384 95.098 0 182.108-34.586 249.176-91.844-1 21.662 9.36 48.478 31.926 73.552l206.294 242.552c35.322 39.246 93.022 42.554 128.22 7.356s31.892-92.898-7.354-128.22zM384 640c-141.384 0-256-114.616-256-256s114.616-256 256-256 256 114.616 256 256-114.614 256-256 256zM192 320h384v128h-384z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "zoom-out", + "magnifier", + "magnifier-minus", + "reduce" + ], + "defaultCode": 57789, + "grid": 16 + }, + { + "paths": [ + "M64 192h896v192h-896zM64 448h896v192h-896zM64 704h896v192h-896z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "menu", + "list", + "options", + "lines", + "hamburger" + ], + "defaultCode": 58031, + "grid": 16 + }, + { + "paths": [ + "M512 832c35.346 0 64 28.654 64 64v64c0 35.346-28.654 64-64 64s-64-28.654-64-64v-64c0-35.346 28.654-64 64-64zM512 192c-35.346 0-64-28.654-64-64v-64c0-35.346 28.654-64 64-64s64 28.654 64 64v64c0 35.346-28.654 64-64 64zM960 448c35.346 0 64 28.654 64 64s-28.654 64-64 64h-64c-35.348 0-64-28.654-64-64s28.652-64 64-64h64zM192 512c0 35.346-28.654 64-64 64h-64c-35.346 0-64-28.654-64-64s28.654-64 64-64h64c35.346 0 64 28.654 64 64zM828.784 738.274l45.256 45.258c24.992 24.99 24.992 65.516 0 90.508-24.994 24.992-65.518 24.992-90.51 0l-45.256-45.256c-24.992-24.99-24.992-65.516 0-90.51 24.994-24.992 65.518-24.992 90.51-0zM195.216 285.726l-45.256-45.256c-24.994-24.994-24.994-65.516 0-90.51s65.516-24.994 90.51 0l45.256 45.256c24.994 24.994 24.994 65.516 0 90.51s-65.516 24.994-90.51 0zM828.784 285.726c-24.992 24.992-65.516 24.992-90.51 0-24.992-24.994-24.992-65.516 0-90.51l45.256-45.254c24.992-24.994 65.516-24.994 90.51 0 24.992 24.994 24.992 65.516 0 90.51l-45.256 45.254zM195.216 738.274c24.992-24.992 65.518-24.992 90.508 0 24.994 24.994 24.994 65.52 0 90.51l-45.254 45.256c-24.994 24.992-65.516 24.992-90.51 0s-24.994-65.518 0-90.508l45.256-45.258z", + "M512 256c-141.384 0-256 114.616-256 256 0 141.382 114.616 256 256 256 141.382 0 256-114.618 256-256 0-141.384-114.616-256-256-256zM512 672c-88.366 0-160-71.634-160-160s71.634-160 160-160 160 71.634 160 160-71.634 160-160 160z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "sun", + "weather" + ], + "defaultCode": 58094, + "grid": 16 + }, + { + "paths": [ + "M715.812 64.48c-60.25-34.784-124.618-55.904-189.572-64.48 122.936 160.082 144.768 384.762 37.574 570.42-107.2 185.67-312.688 279.112-512.788 252.68 39.898 51.958 90.376 97.146 150.628 131.934 245.908 141.974 560.37 57.72 702.344-188.198 141.988-245.924 57.732-560.372-188.186-702.356z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "moon", + "night", + "sleep" + ], + "defaultCode": 58105, + "grid": 16 + }, + { + "paths": [ + "M672 1024l192-192-320-320 320-320-192-192-512 512z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "arrow-left", + "left", + "previous" + ], + "defaultCode": 58291, + "grid": 16 + }, + { + "paths": [ + "M832 256l192-192-64-64-192 192h-448v-192h-128v192h-192v128h192v512h512v192h128v-192h192v-128h-192v-448zM320 320h320l-320 320v-320zM384 704l320-320v320h-320z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "crop", + "resize", + "cut" + ], + "defaultCode": 58428, + "grid": 16 + }, + { + "paths": [ + "M0 64v896h1024v-896h-1024zM640 704v192h-256v-192h256zM640 192v192h-256v-192h256zM320 192v192h-256v-192h256zM704 384v-192h256v192h-256zM64 704h256v192h-256v-192zM704 896v-192h256v192h-256z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tablerowprops" + ], + "defaultCode": 58880, + "grid": 16 + }, + { + "paths": [ + "M0 64v896h1024v-896h-1024zM640 704v192h-256v-192h256zM640 192v192h-256v-192h256zM320 192v192h-256v-192h256zM64 448h256v192h-256v-192zM704 448h256v192h-256v-192zM704 384v-192h256v192h-256zM64 704h256v192h-256v-192zM704 896v-192h256v192h-256z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tablecellprops" + ], + "defaultCode": 58881, + "grid": 16 + }, + { + "paths": [ + "M0 64v832h1024v-832h-1024zM320 832h-256v-192h256v192zM320 576h-256v-192h256v192zM640 832h-256v-192h256v192zM640 576h-256v-192h256v192zM960 832h-256v-192h256v192zM960 576h-256v-192h256v192zM960 320h-896v-192h896v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "table2" + ], + "defaultCode": 58882, + "grid": 16 + }, + { + "paths": [ + "M0 64v896h1024v-896h-1024zM384 896v-448h576v448h-576zM640 192v192h-256v-192h256zM320 192v192h-256v-192h256zM64 448h256v192h-256v-192zM704 384v-192h256v192h-256zM64 704h256v192h-256v-192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tablemergecells" + ], + "defaultCode": 58884, + "grid": 16 + }, + { + "paths": [ + "M320 771.2v-182.4h-182.4v-89.6h182.4v-182.4h86.4v182.4h185.6v89.6h-185.6v182.4zM0 64v896h1024v-896h-1024zM640 896h-576v-704h576v704zM960 896h-256v-192h256v192zM960 640h-256v-192h256v192zM960 384h-256v-192h256v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableinsertcolbefore" + ], + "defaultCode": 58885, + "grid": 16 + }, + { + "paths": [ + "M704 316.8v182.4h182.4v89.6h-182.4v182.4h-86.4v-182.4h-185.6v-89.6h185.6v-182.4zM0 64v896h1024v-896h-1024zM320 896h-256v-192h256v192zM320 640h-256v-192h256v192zM320 384h-256v-192h256v192zM960 896h-576v-704h576v704z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableinsertcolafter" + ], + "defaultCode": 58886, + "grid": 16 + }, + { + "paths": [ + "M691.2 451.2h-144v144h-70.4v-144h-144v-67.2h144v-144h70.4v144h144zM0 64v896h1024v-896h-1024zM320 896h-256v-192h256v192zM640 896h-256v-192h256v192zM960 896h-256v-192h256v192zM960 643.2h-896v-451.2h896v451.2z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableinsertrowbefore" + ], + "defaultCode": 58887, + "grid": 16 + }, + { + "paths": [ + "M332.8 636.8h144v-144h70.4v144h144v67.2h-144v144h-70.4v-144h-144zM0 64v896h1024v-896h-1024zM384 192h256v192h-256v-192zM64 192h256v192h-256v-192zM960 896h-896v-451.2h896v451.2zM960 384h-256v-192h256v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableinsertrowafter" + ], + "defaultCode": 58888, + "grid": 16 + }, + { + "paths": [ + "M0 64v896h1024v-896h-1024zM384 192h256v192h-256v-192zM320 896h-256v-192h256v192zM320 640h-256v-192h256v192zM320 384h-256v-192h256v192zM960 896h-576v-448h576v448zM960 384h-256v-192h256v192zM864 803.2l-60.8 60.8-131.2-131.2-131.2 131.2-60.8-60.8 131.2-131.2-131.2-131.2 60.8-60.8 131.2 131.2 131.2-131.2 60.8 60.8-131.2 131.2z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tablesplitcells" + ], + "defaultCode": 58890, + "grid": 16 + }, + { + "paths": [ + "M0 64h1024v896h-1024v-896zM60.8 192v704h899.2v-704h-899.2zM809.6 748.8l-96 96-204.8-204.8-204.8 204.8-96-96 204.8-204.8-204.8-204.8 96-96 204.8 204.8 204.8-204.8 96 96-204.8 204.8z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tabledelete" + ], + "defaultCode": 58891, + "grid": 16 + }, + { + "paths": [ + "M0 64v832h1024v-832h-1024zM640 832h-256v-192h256v192zM640 576h-256v-192h256v192zM640 320h-256v-192h256v192zM960 832h-256v-192h256v192zM960 576h-256v-192h256v192zM960 320h-256v-192h256v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableleftheader" + ], + "defaultCode": 58922, + "grid": 16 + }, + { + "paths": [ + "M0 64v832h1024v-832h-1024zM320 832h-256v-192h256v192zM320 576h-256v-192h256v192zM640 832h-256v-192h256v192zM640 576h-256v-192h256v192zM960 832h-256v-192h256v192zM960 576h-256v-192h256v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tabletopheader" + ], + "defaultCode": 58923, + "grid": 16 + }, + { + "paths": [ + "M886.4 387.2l-156.8 156.8 160 160-76.8 76.8-160-160-156.8 156.8-76.8-73.6 160-160-163.2-163.2 76.8-76.8 163.2 163.2 156.8-156.8 73.6 76.8zM0 64v896h1024v-896h-1024zM960 384h-22.4l-64 64h86.4v192h-89.6l64 64h25.6v192h-896v-192h310.4l64-64h-374.4v-192h371.2l-64-64h-307.2v-192h896v192z" + ], + "attrs": [], + "isMulticolor": false, + "grid": 16, + "tags": [ + "tabledeleterow" + ], + "defaultCode": 59392 + }, + { + "paths": [ + "M320 460.8l64 64v12.8l-64 64v-140.8zM640 537.6l64 64v-137.6l-64 64v9.6zM1024 64v896h-1024v-896h1024zM960 192h-256v51.2l-12.8-12.8-51.2 51.2v-89.6h-256v89.6l-51.2-51.2-12.8 12.8v-51.2h-256v704h256v-118.4l35.2 35.2 28.8-28.8v115.2h256v-115.2l48 48 16-16v83.2h256v-707.2zM672 297.6l-156.8 156.8-163.2-163.2-76.8 76.8 163.2 163.2-156.8 156.8 76.8 76.8 156.8-156.8 160 160 76.8-76.8-160-160 156.8-156.8-76.8-76.8z" + ], + "attrs": [], + "isMulticolor": false, + "grid": 16, + "tags": [ + "tabledeletecol" + ], + "defaultCode": 59393 + } + ], + "preferences": { + "showGlyphs": true, + "showQuickUse": true, + "showQuickUse2": true, + "showSVGs": true, + "fontPref": { + "prefix": "icon-", + "metadata": { + "fontFamily": "tinymce", + "majorVersion": 1, + "minorVersion": 0 + }, + "metrics": { + "emSize": 1024, + "baseline": 6.25, + "whitespace": 50 + }, + "resetPoint": 58880, + "embed": false + }, + "imagePref": { + "prefix": "icon-", + "png": true, + "useClassSelector": true, + "color": 4473924, + "bgColor": 16777215 + }, + "historySize": 100, + "gridSize": 16, + "showGrid": true, + "showCodes": true, + "showLiga": false + }, + "IcoMoonType": "icon-set" +} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.svg b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.svg new file mode 100644 index 00000000..d7004a97 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.svg @@ -0,0 +1,98 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.ttf b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.ttf new file mode 100644 index 00000000..ab4487fe Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.ttf differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.woff b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.woff new file mode 100644 index 00000000..171a2a2d Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/fonts/tinymce.woff differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/img/anchor.gif b/public/mosaico/dist/vendor/skins/gray-flat/img/anchor.gif new file mode 100644 index 00000000..606348c7 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/img/anchor.gif differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/img/loader.gif b/public/mosaico/dist/vendor/skins/gray-flat/img/loader.gif new file mode 100644 index 00000000..c69e9372 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/img/loader.gif differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/img/object.gif b/public/mosaico/dist/vendor/skins/gray-flat/img/object.gif new file mode 100644 index 00000000..cccd7f02 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/img/object.gif differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/img/trans.gif b/public/mosaico/dist/vendor/skins/gray-flat/img/trans.gif new file mode 100644 index 00000000..38848651 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/gray-flat/img/trans.gif differ diff --git a/public/mosaico/dist/vendor/skins/gray-flat/skin.ie7.min.css b/public/mosaico/dist/vendor/skins/gray-flat/skin.ie7.min.css new file mode 100644 index 00000000..2d2fe9c7 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/skin.ie7.min.css @@ -0,0 +1 @@ +.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #9e9e9e;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#333332}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0px;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#a1a1a1}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#a1a1a1}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#a1a1a1;background:#666}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp{padding-bottom:2px}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.3;filter:alpha(opacity=30);zoom:1;position:absolute;background:black}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #e0ded8;border:0 solid #9e9e9e;background-color:#f1eee6}.mce-floatpanel{position:absolute}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;top:0;left:0;background:#fff;border:1px solid #9e9e9e;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#9e9e9e;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c4c4c4;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c4c4c4;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-window-body .mce-listbox{border-color:#000}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0px;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#333;text-shadow:1px 1px #fff}.mce-bar{display:block;width:0%;height:100%;background-color:#d7d7d7;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#f0f0f0;padding:5px;margin-top:5px;opacity:.8;filter:alpha(opacity=80);zoom:1;border-width:1px;border-style:solid;border-color:#ccc}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ecb}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#333}.mce-notification .mce-progress .mce-bar-container{border-color:#ccc}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#333}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ecb}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #a9a7a1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#333332}.mce-btn:hover,.mce-btn:focus{color:#fff;background-color:#262625;border-color:#000}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#1e1e1e;border-color:#000}.mce-btn:active{background-color:#232322;border-color:#000}.mce-btn button{padding:4px 8px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#fff;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #333332}.mce-primary{min-width:50px;color:#fff;border:1px solid transparent;border-color:transparent;background-color:#333332}.mce-primary:hover,.mce-primary:focus{background-color:#262625;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#191919}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px #333}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #fff;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #fff;border-top:0}.mce-btn-flat{border:0;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#191919;filter:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;margin-left:2px}.mce-btn-group .mce-btn{border-left-width:0;border-right-width:0;margin-left:0}.mce-btn-group:not(:first-child){padding-left:1px;margin-left:1px}.mce-btn-group .mce-first{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;border-left:1px solid rgba(0,0,0,0.25);margin-left:0}.mce-btn-group .mce-last{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;border-right:1px solid rgba(0,0,0,0.1)}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #0c0c0c;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#333332;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#fff;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid #59a5e1}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#a5a39e}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:6px;padding-left:6px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:1px solid transparent}.mce-colorbutton:hover .mce-open{border-color:#000}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #9e9e9e;width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;filter:none}.mce-menubar .mce-menubtn button{color:}.mce-menubar{border:1px solid #bfbebb}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#000;background:#fff;filter:none}.mce-menubtn button{color:#fff}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#666}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#fff}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#333332}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#cbcbcb;border-bottom:1px solid #fff;cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:160px;background:#fff;border:1px solid #918f8a;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border:1px solid #aaa;background:#eee;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border:1px solid #bbb;background:#ddd;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#000}.mce-splitbtn button{padding-right:4px;padding-left:8px}.mce-splitbtn .mce-open{padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open.mce-active{background-color:#1e1e1e;outline:1px solid #000}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#fff}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#59a5e1}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce';font-style:normal;font-weight:normal;font-size:16px;line-height:16px;vertical-align:text-top;-webkit-font-smoothing:antialiased;display:inline-block;background:transparent center center;width:16px;height:16px;color:#fff;-ie7-icon:' '}.mce-btn-small .mce-ico{font-family:'tinymce-small'}.mce-ico,i.mce-i-checkbox{zoom:expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = this.currentStyle['-ie7-icon'].substr(1, 1) + ' ')}.mce-i-save{-ie7-icon:"\e000"}.mce-i-newdocument{-ie7-icon:"\e001"}.mce-i-fullpage{-ie7-icon:"\e002"}.mce-i-alignleft{-ie7-icon:"\e003"}.mce-i-aligncenter{-ie7-icon:"\e004"}.mce-i-alignright{-ie7-icon:"\e005"}.mce-i-alignjustify{-ie7-icon:"\e006"}.mce-i-alignnone{-ie7-icon:"\e003"}.mce-i-cut{-ie7-icon:"\e007"}.mce-i-paste{-ie7-icon:"\e008"}.mce-i-searchreplace{-ie7-icon:"\e009"}.mce-i-bullist{-ie7-icon:"\e00a"}.mce-i-numlist{-ie7-icon:"\e00b"}.mce-i-indent{-ie7-icon:"\e00c"}.mce-i-outdent{-ie7-icon:"\e00d"}.mce-i-blockquote{-ie7-icon:"\e00e"}.mce-i-undo{-ie7-icon:"\e00f"}.mce-i-redo{-ie7-icon:"\e010"}.mce-i-link{-ie7-icon:"\e011"}.mce-i-unlink{-ie7-icon:"\e012"}.mce-i-anchor{-ie7-icon:"\e013"}.mce-i-image{-ie7-icon:"\e014"}.mce-i-media{-ie7-icon:"\e015"}.mce-i-help{-ie7-icon:"\e016"}.mce-i-code{-ie7-icon:"\e017"}.mce-i-insertdatetime{-ie7-icon:"\e018"}.mce-i-preview{-ie7-icon:"\e019"}.mce-i-forecolor{-ie7-icon:"\e01a"}.mce-i-backcolor{-ie7-icon:"\e01a"}.mce-i-table{-ie7-icon:"\e01b"}.mce-i-hr{-ie7-icon:"\e01c"}.mce-i-removeformat{-ie7-icon:"\e01d"}.mce-i-subscript{-ie7-icon:"\e01e"}.mce-i-superscript{-ie7-icon:"\e01f"}.mce-i-charmap{-ie7-icon:"\e020"}.mce-i-emoticons{-ie7-icon:"\e021"}.mce-i-print{-ie7-icon:"\e022"}.mce-i-fullscreen{-ie7-icon:"\e023"}.mce-i-spellchecker{-ie7-icon:"\e024"}.mce-i-nonbreaking{-ie7-icon:"\e025"}.mce-i-template{-ie7-icon:"\e026"}.mce-i-pagebreak{-ie7-icon:"\e027"}.mce-i-restoredraft{-ie7-icon:"\e028"}.mce-i-untitled{-ie7-icon:"\e029"}.mce-i-bold{-ie7-icon:"\e02a"}.mce-i-italic{-ie7-icon:"\e02b"}.mce-i-underline{-ie7-icon:"\e02c"}.mce-i-strikethrough{-ie7-icon:"\e02d"}.mce-i-visualchars{-ie7-icon:"\e02e"}.mce-i-ltr{-ie7-icon:"\e02f"}.mce-i-rtl{-ie7-icon:"\e030"}.mce-i-copy{-ie7-icon:"\e031"}.mce-i-resize{-ie7-icon:"\e032"}.mce-i-browse{-ie7-icon:"\e034"}.mce-i-pastetext{-ie7-icon:"\e035"}.mce-i-rotateleft{-ie7-icon:"\eaa8"}.mce-i-rotateright{-ie7-icon:"\eaa9"}.mce-i-crop{-ie7-icon:"\ee78"}.mce-i-editimage{-ie7-icon:"\e914"}.mce-i-options{-ie7-icon:"\ec6a"}.mce-i-flipv{-ie7-icon:"\eaaa"}.mce-i-fliph{-ie7-icon:"\eaac"}.mce-i-zoomin{-ie7-icon:"\eb35"}.mce-i-zoomout{-ie7-icon:"\eb36"}.mce-i-sun{-ie7-icon:"\eccc"}.mce-i-moon{-ie7-icon:"\eccd"}.mce-i-arrowleft{-ie7-icon:"\edc0"}.mce-i-arrowright{-ie7-icon:"\edb8"}.mce-i-drop{-ie7-icon:"\e934"}.mce-i-contrast{-ie7-icon:"\ecd4"}.mce-i-sharpen{-ie7-icon:"\eba7"}.mce-i-palette{-ie7-icon:"\e92a"}.mce-i-resize2{-ie7-icon:"\edf9"}.mce-i-orientation{-ie7-icon:"\e601"}.mce-i-invert{-ie7-icon:"\e602"}.mce-i-gamma{-ie7-icon:"\e600"}.mce-i-remove{-ie7-icon:"\ed6a"}.mce-i-codesample{-ie7-icon:"\e603"}.mce-i-checkbox,.mce-i-selected{-ie7-icon:"\e033"}.mce-i-selected{visibility:hidden}.mce-i-backcolor{background:#BBB} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/gray-flat/skin.json b/public/mosaico/dist/vendor/skins/gray-flat/skin.json new file mode 100644 index 00000000..0e134c3a --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/skin.json @@ -0,0 +1,79 @@ +{ + "skin-name": "gray-flat", + "preview-bg": "#eeeeee", + "text": "#333333", + "text-inverse": "#ffffff", + "text-disabled": "#aaaaaa", + "has-gradients": false, + "has-radius": true, + "has-boxshadow": false, + "has-button-borders": true, + "btn-text": "#ffffff", + "btn-text-shadow": "#333332", + "btn-bg": "#333332", + "btn-bg-hlight": "#333332", + "btn-border-top": "rgba(0,0,0,0.1)", + "btn-border-right": "rgba(0,0,0,0.1)", + "btn-border-bottom": "rgba(0,0,0,0.25)", + "btn-border-left": "rgba(0,0,0,0.25)", + "btn-split-border": "#ffffff", + "btn-primary-text": "#ffffff", + "btn-primary-text-shadow": "#333333", + "btn-primary-bg": "#333332", + "btn-primary-bg-hlight": "#333332", + "btn-padding": "4px 8px", + "menu-bg": "#ffffff", + "menu-border": "rgba(0,0,0,0.2)", + "menuitem-text": "#333333", + "menuitem-bg-selected": "#333332", + "menuitem-bg-selected-hlight": "#333332", + "menuitem-separator-top": "#cbcbcb", + "menuitem-separator-bottom": "#ffffff", + "menuitem-text-inverse": "#ffffff", + "menuitem-bg-active": "#666666", + "menuitem-text-active": "#ffffff", + "menuitem-preview-border-active": "#aaaaaa", + "menubar-menubtn-text": "", + "checkbox-border": "#c5c5c5", + "checkbox-border-focus": "#59a5e1", + "panel-border": "#9e9e9e", + "panel-bg": "#f1eee6", + "panel-bg-hlight": "#f1eee6", + "textbox-bg": "#ffffff", + "textbox-border": "#c5c5c5", + "textbox-border-focus": "#59a5e1", + "window-bg": "#ffffff", + "window-border": "#c4c4c4", + "tab-bg": "#e3e3e3", + "tab-bg-hover": "#fdfdfd", + "tab-bg-active": "#fdfdfd", + "tab-border": "#c5c5c5", + "tabs-bg": "#ffffff", + "notification-bg": "#f0f0f0", + "notification-border": "#cccccc", + "notification-text": "#333333", + "notification-success-bg": "#dff0d8", + "notification-success-border": "#d6e9c6", + "notification-success-text": "#3c763d", + "notification-info-bg": "#d9edf7", + "notification-info-border": "#779ecb", + "notification-info-text": "#31708f", + "notification-warning-bg": "#fcf8e3", + "notification-warning-border": "#faebcc", + "notification-warning-text": "#8a6d3b", + "notification-error-bg": "#f2dede", + "notification-error-border": "#ebccd1", + "notification-error-text": "#a94442", + "progress-bar-bg": "#dfdfdf", + "progress-bar-bg-hlight": "#cccccc", + "progress-border": "#cccccc", + "progress-text": "#333333", + "progress-text-shadow": "#ffffff", + "slider-bg": "#eeeeee", + "slider-border": "#aaaaaa", + "slider-handle-bg": "#dddddd", + "slider-handle-border": "#bbbbbb", + "colorbtn-backcolor-bg": "#bbbbbb", + "grid-border": "#d6d6d6", + "grid-border-active": "#a1a1a1" +} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/gray-flat/skin.min.css b/public/mosaico/dist/vendor/skins/gray-flat/skin.min.css new file mode 100644 index 00000000..955fce5b --- /dev/null +++ b/public/mosaico/dist/vendor/skins/gray-flat/skin.min.css @@ -0,0 +1 @@ +.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #9e9e9e;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#333332}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0px;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#a1a1a1}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#a1a1a1}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#a1a1a1;background:#666}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp{padding-bottom:2px}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.3;filter:alpha(opacity=30);zoom:1;position:absolute;background:black}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #e0ded8;border:0 solid #9e9e9e;background-color:#f1eee6}.mce-floatpanel{position:absolute}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;top:0;left:0;background:#fff;border:1px solid #9e9e9e;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#9e9e9e;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c4c4c4;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c4c4c4;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-window-body .mce-listbox{border-color:#000}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0px;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#333}.mce-bar{display:block;width:0%;height:100%;background-color:#d7d7d7;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#f0f0f0;padding:5px;margin-top:5px;opacity:.8;filter:alpha(opacity=80);zoom:1;border-width:1px;border-style:solid;border-color:#ccc}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ecb}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#333}.mce-notification .mce-progress .mce-bar-container{border-color:#ccc}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#333}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ecb}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #a9a7a1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#333332}.mce-btn:hover,.mce-btn:focus{color:#fff;background-color:#262625;border-color:#000}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#1e1e1e;border-color:#000}.mce-btn:active{background-color:#232322;border-color:#000}.mce-btn button{padding:4px 8px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#fff;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #333332}.mce-primary{min-width:50px;color:#fff;border:1px solid transparent;border-color:transparent;background-color:#333332}.mce-primary:hover,.mce-primary:focus{background-color:#262625;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#191919}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px #333}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #fff;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #fff;border-top:0}.mce-btn-flat{border:0;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#191919;filter:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;margin-left:2px}.mce-btn-group .mce-btn{border-left-width:0;border-right-width:0;margin-left:0}.mce-btn-group:not(:first-child){padding-left:1px;margin-left:1px}.mce-btn-group .mce-first{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;border-left:1px solid rgba(0,0,0,0.25);margin-left:0}.mce-btn-group .mce-last{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;border-right:1px solid rgba(0,0,0,0.1)}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #0c0c0c;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#333332;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#fff;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid #59a5e1}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#a5a39e}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:6px;padding-left:6px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:1px solid transparent}.mce-colorbutton:hover .mce-open{border-color:#000}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #9e9e9e;width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;filter:none}.mce-menubar .mce-menubtn button{color:}.mce-menubar{border:1px solid #bfbebb}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#000;background:#fff;filter:none}.mce-menubtn button{color:#fff}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#666}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#fff}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#333332}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#cbcbcb;border-bottom:1px solid #fff;cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:160px;background:#fff;border:1px solid #918f8a;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border:1px solid #aaa;background:#eee;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border:1px solid #bbb;background:#ddd;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#000}.mce-splitbtn button{padding-right:4px;padding-left:8px}.mce-splitbtn .mce-open{padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open.mce-active{background-color:#1e1e1e;outline:1px solid #000}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#fff}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#59a5e1}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#fff}.mce-btn-small .mce-ico{font-family:'tinymce-small',Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-alignnone:before{content:"\e003"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-untitled:before{content:"\e029"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-rotateleft:before{content:"\eaa8"}.mce-i-rotateright:before{content:"\eaa9"}.mce-i-crop:before{content:"\ee78"}.mce-i-editimage:before{content:"\e914"}.mce-i-options:before{content:"\ec6a"}.mce-i-flipv:before{content:"\eaaa"}.mce-i-fliph:before{content:"\eaac"}.mce-i-zoomin:before{content:"\eb35"}.mce-i-zoomout:before{content:"\eb36"}.mce-i-sun:before{content:"\eccc"}.mce-i-moon:before{content:"\eccd"}.mce-i-arrowleft:before{content:"\edc0"}.mce-i-arrowright:before{content:"\edb8"}.mce-i-drop:before{content:"\e934"}.mce-i-contrast:before{content:"\ecd4"}.mce-i-sharpen:before{content:"\eba7"}.mce-i-palette:before{content:"\e92a"}.mce-i-resize2:before{content:"\edf9"}.mce-i-orientation:before{content:"\e601"}.mce-i-invert:before{content:"\e602"}.mce-i-gamma:before{content:"\e600"}.mce-i-remove:before{content:"\ed6a"}.mce-i-tablerowprops:before{content:"\e604"}.mce-i-tablecellprops:before{content:"\e605"}.mce-i-table2:before{content:"\e606"}.mce-i-tablemergecells:before{content:"\e607"}.mce-i-tableinsertcolbefore:before{content:"\e608"}.mce-i-tableinsertcolafter:before{content:"\e609"}.mce-i-tableinsertrowbefore:before{content:"\e60a"}.mce-i-tableinsertrowafter:before{content:"\e60b"}.mce-i-tablesplitcells:before{content:"\e60d"}.mce-i-tabledelete:before{content:"\e60e"}.mce-i-tableleftheader:before{content:"\e62a"}.mce-i-tabletopheader:before{content:"\e62b"}.mce-i-tabledeleterow:before{content:"\e800"}.mce-i-tabledeletecol:before{content:"\e801"}.mce-i-codesample:before{content:"\e603"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#bbb} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/lightgray/content.inline.min.css b/public/mosaico/dist/vendor/skins/lightgray/content.inline.min.css new file mode 100644 index 00000000..10300948 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/lightgray/content.inline.min.css @@ -0,0 +1 @@ +.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3a3a3a;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3a3a3a;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #f00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #bbb}td[data-mce-selected],th[data-mce-selected]{background-color:#39f !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2d8ac7}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #7acaff}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2d8ac7}.mce-resize-bar-dragging{background-color:blue;opacity:.25;filter:alpha(opacity=25);zoom:1} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/lightgray/content.min.css b/public/mosaico/dist/vendor/skins/lightgray/content.min.css new file mode 100644 index 00000000..af85f749 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/lightgray/content.min.css @@ -0,0 +1 @@ +body{background-color:#fff;color:#000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px;scrollbar-3dlight-color:#f0f0ee;scrollbar-arrow-color:#676662;scrollbar-base-color:#f0f0ee;scrollbar-darkshadow-color:#ddd;scrollbar-face-color:#e0e0dd;scrollbar-highlight-color:#f0f0ee;scrollbar-shadow-color:#f0f0ee;scrollbar-track-color:#f5f5f5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3a3a3a;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3a3a3a;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #f00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #bbb}td[data-mce-selected],th[data-mce-selected]{background-color:#39f !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2d8ac7}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #7acaff}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2d8ac7}.mce-resize-bar-dragging{background-color:blue;opacity:.25;filter:alpha(opacity=25);zoom:1} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.eot b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.eot new file mode 100644 index 00000000..b144ba0b Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.eot differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.svg b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.svg new file mode 100644 index 00000000..b4ee6f40 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.svg @@ -0,0 +1,63 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.ttf b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.ttf new file mode 100644 index 00000000..a983e2dc Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.ttf differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.woff b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.woff new file mode 100644 index 00000000..d8962df7 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce-small.woff differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.eot b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.eot new file mode 100644 index 00000000..09fd441c Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.eot differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.svg b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.svg new file mode 100644 index 00000000..8688c1c8 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.svg @@ -0,0 +1,129 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.ttf b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.ttf new file mode 100644 index 00000000..bf22ca64 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.ttf differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.woff b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.woff new file mode 100644 index 00000000..61cbafb0 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/fonts/tinymce.woff differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/img/anchor.gif b/public/mosaico/dist/vendor/skins/lightgray/img/anchor.gif new file mode 100644 index 00000000..606348c7 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/img/anchor.gif differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/img/loader.gif b/public/mosaico/dist/vendor/skins/lightgray/img/loader.gif new file mode 100644 index 00000000..c69e9372 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/img/loader.gif differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/img/object.gif b/public/mosaico/dist/vendor/skins/lightgray/img/object.gif new file mode 100644 index 00000000..cccd7f02 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/img/object.gif differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/img/trans.gif b/public/mosaico/dist/vendor/skins/lightgray/img/trans.gif new file mode 100644 index 00000000..38848651 Binary files /dev/null and b/public/mosaico/dist/vendor/skins/lightgray/img/trans.gif differ diff --git a/public/mosaico/dist/vendor/skins/lightgray/skin.ie7.min.css b/public/mosaico/dist/vendor/skins/lightgray/skin.ie7.min.css new file mode 100644 index 00000000..2e64b895 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/lightgray/skin.ie7.min.css @@ -0,0 +1 @@ +.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#fff;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid rgba(0,0,0,0.2);width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#3498db}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#3498db}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#3498db;background:#3498db}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp{padding:2px 0}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.3;filter:alpha(opacity=30);zoom:1;position:absolute;background:black}.mce-croprect-handle:focus{border-color:#3498db}.mce-croprect-handle-move:focus{outline:1px solid #3498db}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-arrow-up{margin-top:12px}.mce-arrow-down{margin-top:-12px}.mce-arrow:before,.mce-arrow:after{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-arrow.mce-arrow-up:before{top:-9px;border-bottom-color:rgba(0,0,0,0.2);border-width:0 9px 9px;margin-left:-9px}.mce-arrow.mce-arrow-down:before{bottom:-9px;border-top-color:rgba(0,0,0,0.2);border-width:9px 9px 0;margin-left:-9px}.mce-arrow.mce-arrow-up:after{top:-8px;border-bottom-color:#f0f0f0;border-width:0 8px 8px;margin-left:-8px}.mce-arrow.mce-arrow-down:after{bottom:-8px;border-top-color:#f0f0f0;border-width:8px 8px 0;margin-left:-8px}.mce-arrow.mce-arrow-left:before,.mce-arrow.mce-arrow-left:after{margin:0}.mce-arrow.mce-arrow-left:before{left:8px}.mce-arrow.mce-arrow-left:after{left:9px}.mce-arrow.mce-arrow-right:before,.mce-arrow.mce-arrow-right:after{left:auto;margin:0}.mce-arrow.mce-arrow-right:before{right:8px}.mce-arrow.mce-arrow-right:after{right:9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:before{left:-9px;top:50%;border-right-color:rgba(0,0,0,0.2);border-width:9px 9px 9px 0;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:after{left:-8px;top:50%;border-right-color:#f0f0f0;border-width:8px 8px 8px 0;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left{margin-left:12px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:before{right:-9px;top:50%;border-left-color:rgba(0,0,0,0.2);border-width:9px 0 9px 9px;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:after{right:-8px;top:50%;border-left-color:#f0f0f0;border-width:8px 0 8px 8px;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right{margin-left:-14px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#aaa;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #cacaca;border:0 solid rgba(0,0,0,0.2);background-color:#f0f0f0}.mce-floatpanel{position:absolute}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;top:0;left:0;background:#fff;border:1px solid rgba(0,0,0,0.2);border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;transform:scale(.1);transition:transform 100ms ease-in,opacity 150ms ease-in}.mce-window.mce-in{transform:scale(1);opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:0;top:0;height:38px;width:38px;text-align:center;cursor:pointer}.mce-window-head .mce-close i{color:#858585}.mce-close:hover i{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:20px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#ccc}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:white;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#333}.mce-bar{display:block;width:0;height:100%;background-color:#d7d7d7;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#f0f0f0;padding:5px;margin-top:5px;border-width:1px;border-style:solid;border-color:#ccc;transition:transform 100ms ease-in,opacity 150ms ease-in;opacity:0}.mce-notification.mce-in{opacity:1}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ecb}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#333}.mce-notification .mce-progress .mce-bar-container{border-color:#ccc}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#333}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ecb}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #b1b1b1;border-color:transparent transparent transparent transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;background-color:#f0f0f0}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;border-color:#ccc}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#dbdbdb;border-color:#ccc}.mce-btn:active{background-color:#e0e0e0;border-color:#ccc}.mce-btn button{padding:4px 8px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary.mce-btn-has-text{min-width:50px}.mce-primary{color:#fff;border:1px solid transparent;border-color:transparent;background-color:#2d8ac7}.mce-primary:hover,.mce-primary:focus{background-color:#257cb6;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#206ea1}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px none}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:transparent;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:3px;margin-left:3px}.mce-btn-group .mce-first{margin-left:0}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;background-color:#f0f0f0;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:6px;padding-left:6px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:1px solid transparent}.mce-colorbutton:hover .mce-open{border-color:#ccc}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9e9e9e}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid rgba(0,0,0,0.2);width:100%;height:100%}.mce-infobox{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden;border:1px solid red}.mce-infobox div{display:block;margin:5px}.mce-infobox div button{position:absolute;top:50%;right:4px;cursor:pointer;margin-top:-8px;display:none}.mce-infobox div button:focus{outline:2px solid #ccc}.mce-infobox.mce-has-help div{margin-right:25px}.mce-infobox.mce-has-help button{display:block}.mce-infobox.mce-success{background:#dff0d8;border-color:#d6e9c6}.mce-infobox.mce-success div{color:#3c763d}.mce-infobox.mce-warning{background:#fcf8e3;border-color:#faebcc}.mce-infobox.mce-warning div{color:#8a6d3b}.mce-infobox.mce-error{background:#f2dede;border-color:#ebccd1}.mce-infobox.mce-error div{color:#a94442}.mce-rtl .mce-infobox div{text-align:right;direction:rtl}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-success{color:#468847}.mce-label.mce-warning{color:#c09853}.mce-label.mce-error{color:#b94a48}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;filter:none}.mce-menubar .mce-menubtn button{color:#333}.mce-menubar{border:1px solid rgba(217,217,217,0.52)}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#ccc;background:#fff;filter:none}.mce-menubtn button{color:#333}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:white}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:white}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:white}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:white}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#3498db}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:white}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:white}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:white}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:white;background-color:#2d8ac7}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,0.1);cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:white}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}.mce-menu .mce-throbber-inline{height:25px;background-size:contain}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{border:1px solid #aaa;background:#eee;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #bbb;background:#ddd;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-slider-handle:focus{background:#bbb}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#ccc}.mce-splitbtn button{padding-right:6px;padding-left:6px}.mce-splitbtn .mce-open{padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open.mce-active{background-color:#dbdbdb;outline:1px solid #ccc}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#fff}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#fff;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#3498db}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce';font-style:normal;font-weight:normal;font-size:16px;line-height:16px;vertical-align:text-top;-webkit-font-smoothing:antialiased;display:inline-block;background:transparent center center;width:16px;height:16px;color:#333;-ie7-icon:' '}.mce-btn-small .mce-ico{font-family:'tinymce-small'}.mce-ico,i.mce-i-checkbox{zoom:expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = this.currentStyle['-ie7-icon'].substr(1, 1) + ' ')}.mce-i-save{-ie7-icon:"\e000"}.mce-i-newdocument{-ie7-icon:"\e001"}.mce-i-fullpage{-ie7-icon:"\e002"}.mce-i-alignleft{-ie7-icon:"\e003"}.mce-i-aligncenter{-ie7-icon:"\e004"}.mce-i-alignright{-ie7-icon:"\e005"}.mce-i-alignjustify{-ie7-icon:"\e006"}.mce-i-alignnone{-ie7-icon:"\e003"}.mce-i-cut{-ie7-icon:"\e007"}.mce-i-paste{-ie7-icon:"\e008"}.mce-i-searchreplace{-ie7-icon:"\e009"}.mce-i-bullist{-ie7-icon:"\e00a"}.mce-i-numlist{-ie7-icon:"\e00b"}.mce-i-indent{-ie7-icon:"\e00c"}.mce-i-outdent{-ie7-icon:"\e00d"}.mce-i-blockquote{-ie7-icon:"\e00e"}.mce-i-undo{-ie7-icon:"\e00f"}.mce-i-redo{-ie7-icon:"\e010"}.mce-i-link{-ie7-icon:"\e011"}.mce-i-unlink{-ie7-icon:"\e012"}.mce-i-anchor{-ie7-icon:"\e013"}.mce-i-image{-ie7-icon:"\e014"}.mce-i-media{-ie7-icon:"\e015"}.mce-i-help{-ie7-icon:"\e016"}.mce-i-code{-ie7-icon:"\e017"}.mce-i-insertdatetime{-ie7-icon:"\e018"}.mce-i-preview{-ie7-icon:"\e019"}.mce-i-forecolor{-ie7-icon:"\e01a"}.mce-i-backcolor{-ie7-icon:"\e01a"}.mce-i-table{-ie7-icon:"\e01b"}.mce-i-hr{-ie7-icon:"\e01c"}.mce-i-removeformat{-ie7-icon:"\e01d"}.mce-i-subscript{-ie7-icon:"\e01e"}.mce-i-superscript{-ie7-icon:"\e01f"}.mce-i-charmap{-ie7-icon:"\e020"}.mce-i-emoticons{-ie7-icon:"\e021"}.mce-i-print{-ie7-icon:"\e022"}.mce-i-fullscreen{-ie7-icon:"\e023"}.mce-i-spellchecker{-ie7-icon:"\e024"}.mce-i-nonbreaking{-ie7-icon:"\e025"}.mce-i-template{-ie7-icon:"\e026"}.mce-i-pagebreak{-ie7-icon:"\e027"}.mce-i-restoredraft{-ie7-icon:"\e028"}.mce-i-untitled{-ie7-icon:"\e029"}.mce-i-bold{-ie7-icon:"\e02a"}.mce-i-italic{-ie7-icon:"\e02b"}.mce-i-underline{-ie7-icon:"\e02c"}.mce-i-strikethrough{-ie7-icon:"\e02d"}.mce-i-visualchars{-ie7-icon:"\e02e"}.mce-i-ltr{-ie7-icon:"\e02f"}.mce-i-rtl{-ie7-icon:"\e030"}.mce-i-copy{-ie7-icon:"\e031"}.mce-i-resize{-ie7-icon:"\e032"}.mce-i-browse{-ie7-icon:"\e034"}.mce-i-pastetext{-ie7-icon:"\e035"}.mce-i-rotateleft{-ie7-icon:"\eaa8"}.mce-i-rotateright{-ie7-icon:"\eaa9"}.mce-i-crop{-ie7-icon:"\ee78"}.mce-i-editimage{-ie7-icon:"\e914"}.mce-i-options{-ie7-icon:"\ec6a"}.mce-i-flipv{-ie7-icon:"\eaaa"}.mce-i-fliph{-ie7-icon:"\eaac"}.mce-i-zoomin{-ie7-icon:"\eb35"}.mce-i-zoomout{-ie7-icon:"\eb36"}.mce-i-sun{-ie7-icon:"\eccc"}.mce-i-moon{-ie7-icon:"\eccd"}.mce-i-arrowleft{-ie7-icon:"\edc0"}.mce-i-arrowright{-ie7-icon:"\edb8"}.mce-i-drop{-ie7-icon:"\e934"}.mce-i-contrast{-ie7-icon:"\ecd4"}.mce-i-sharpen{-ie7-icon:"\eba7"}.mce-i-palette{-ie7-icon:"\e92a"}.mce-i-resize2{-ie7-icon:"\edf9"}.mce-i-orientation{-ie7-icon:"\e601"}.mce-i-invert{-ie7-icon:"\e602"}.mce-i-gamma{-ie7-icon:"\e600"}.mce-i-remove{-ie7-icon:"\ed6a"}.mce-i-codesample{-ie7-icon:"\e603"}.mce-i-checkbox,.mce-i-selected{-ie7-icon:"\e033"}.mce-i-selected{visibility:hidden}.mce-i-backcolor{background:#bbb} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/skins/lightgray/skin.min.css b/public/mosaico/dist/vendor/skins/lightgray/skin.min.css new file mode 100644 index 00000000..43598556 --- /dev/null +++ b/public/mosaico/dist/vendor/skins/lightgray/skin.min.css @@ -0,0 +1 @@ +.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#fff;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid rgba(0,0,0,0.2);width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#3498db}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#3498db}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#3498db;background:#3498db}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp{padding:2px 0}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.3;filter:alpha(opacity=30);zoom:1;position:absolute;background:black}.mce-croprect-handle:focus{border-color:#3498db}.mce-croprect-handle-move:focus{outline:1px solid #3498db}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-arrow-up{margin-top:12px}.mce-arrow-down{margin-top:-12px}.mce-arrow:before,.mce-arrow:after{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-arrow.mce-arrow-up:before{top:-9px;border-bottom-color:rgba(0,0,0,0.2);border-width:0 9px 9px;margin-left:-9px}.mce-arrow.mce-arrow-down:before{bottom:-9px;border-top-color:rgba(0,0,0,0.2);border-width:9px 9px 0;margin-left:-9px}.mce-arrow.mce-arrow-up:after{top:-8px;border-bottom-color:#f0f0f0;border-width:0 8px 8px;margin-left:-8px}.mce-arrow.mce-arrow-down:after{bottom:-8px;border-top-color:#f0f0f0;border-width:8px 8px 0;margin-left:-8px}.mce-arrow.mce-arrow-left:before,.mce-arrow.mce-arrow-left:after{margin:0}.mce-arrow.mce-arrow-left:before{left:8px}.mce-arrow.mce-arrow-left:after{left:9px}.mce-arrow.mce-arrow-right:before,.mce-arrow.mce-arrow-right:after{left:auto;margin:0}.mce-arrow.mce-arrow-right:before{right:8px}.mce-arrow.mce-arrow-right:after{right:9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:before{left:-9px;top:50%;border-right-color:rgba(0,0,0,0.2);border-width:9px 9px 9px 0;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:after{left:-8px;top:50%;border-right-color:#f0f0f0;border-width:8px 8px 8px 0;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left{margin-left:12px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:before{right:-9px;top:50%;border-left-color:rgba(0,0,0,0.2);border-width:9px 0 9px 9px;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:after{right:-8px;top:50%;border-left-color:#f0f0f0;border-width:8px 0 8px 8px;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right{margin-left:-14px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#aaa;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #cacaca;border:0 solid rgba(0,0,0,0.2);background-color:#f0f0f0}.mce-floatpanel{position:absolute}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;top:0;left:0;background:#fff;border:1px solid rgba(0,0,0,0.2);border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;transform:scale(.1);transition:transform 100ms ease-in,opacity 150ms ease-in}.mce-window.mce-in{transform:scale(1);opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:0;top:0;height:38px;width:38px;text-align:center;cursor:pointer}.mce-window-head .mce-close i{color:#858585}.mce-close:hover i{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:20px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#ccc}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:white;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#333}.mce-bar{display:block;width:0;height:100%;background-color:#d7d7d7;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#f0f0f0;padding:5px;margin-top:5px;border-width:1px;border-style:solid;border-color:#ccc;transition:transform 100ms ease-in,opacity 150ms ease-in;opacity:0}.mce-notification.mce-in{opacity:1}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ecb}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#333}.mce-notification .mce-progress .mce-bar-container{border-color:#ccc}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#333}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ecb}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #b1b1b1;border-color:transparent transparent transparent transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;background-color:#f0f0f0}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;border-color:#ccc}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#dbdbdb;border-color:#ccc}.mce-btn:active{background-color:#e0e0e0;border-color:#ccc}.mce-btn button{padding:4px 8px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary.mce-btn-has-text{min-width:50px}.mce-primary{color:#fff;border:1px solid transparent;border-color:transparent;background-color:#2d8ac7}.mce-primary:hover,.mce-primary:focus{background-color:#257cb6;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#206ea1}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px none}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:transparent;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:3px;margin-left:3px}.mce-btn-group .mce-first{margin-left:0}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;background-color:#f0f0f0;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:6px;padding-left:6px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:1px solid transparent}.mce-colorbutton:hover .mce-open{border-color:#ccc}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9e9e9e}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid rgba(0,0,0,0.2);width:100%;height:100%}.mce-infobox{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden;border:1px solid red}.mce-infobox div{display:block;margin:5px}.mce-infobox div button{position:absolute;top:50%;right:4px;cursor:pointer;margin-top:-8px;display:none}.mce-infobox div button:focus{outline:2px solid #ccc}.mce-infobox.mce-has-help div{margin-right:25px}.mce-infobox.mce-has-help button{display:block}.mce-infobox.mce-success{background:#dff0d8;border-color:#d6e9c6}.mce-infobox.mce-success div{color:#3c763d}.mce-infobox.mce-warning{background:#fcf8e3;border-color:#faebcc}.mce-infobox.mce-warning div{color:#8a6d3b}.mce-infobox.mce-error{background:#f2dede;border-color:#ebccd1}.mce-infobox.mce-error div{color:#a94442}.mce-rtl .mce-infobox div{text-align:right;direction:rtl}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-success{color:#468847}.mce-label.mce-warning{color:#c09853}.mce-label.mce-error{color:#b94a48}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;filter:none}.mce-menubar .mce-menubtn button{color:#333}.mce-menubar{border:1px solid rgba(217,217,217,0.52)}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#ccc;background:#fff;filter:none}.mce-menubtn button{color:#333}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:white}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:white}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:white}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:white}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#3498db}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:white}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:white}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:white}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:white;background-color:#2d8ac7}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,0.1);cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:white}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}.mce-menu .mce-throbber-inline{height:25px;background-size:contain}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{border:1px solid #aaa;background:#eee;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #bbb;background:#ddd;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-slider-handle:focus{background:#bbb}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#ccc}.mce-splitbtn button{padding-right:6px;padding-left:6px}.mce-splitbtn .mce-open{padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open.mce-active{background-color:#dbdbdb;outline:1px solid #ccc}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#fff}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#fff;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#3498db}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#333}.mce-btn-small .mce-ico{font-family:'tinymce-small',Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-alignnone:before{content:"\e003"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-rotateleft:before{content:"\eaa8"}.mce-i-rotateright:before{content:"\eaa9"}.mce-i-crop:before{content:"\ee78"}.mce-i-editimage:before{content:"\e915"}.mce-i-options:before{content:"\ec6a"}.mce-i-flipv:before{content:"\eaaa"}.mce-i-fliph:before{content:"\eaac"}.mce-i-zoomin:before{content:"\eb35"}.mce-i-zoomout:before{content:"\eb36"}.mce-i-sun:before{content:"\eccc"}.mce-i-moon:before{content:"\eccd"}.mce-i-arrowleft:before{content:"\edc0"}.mce-i-arrowright:before{content:"\e93c"}.mce-i-drop:before{content:"\e935"}.mce-i-contrast:before{content:"\ecd4"}.mce-i-sharpen:before{content:"\eba7"}.mce-i-resize2:before{content:"\edf9"}.mce-i-orientation:before{content:"\e601"}.mce-i-invert:before{content:"\e602"}.mce-i-gamma:before{content:"\e600"}.mce-i-remove:before{content:"\ed6a"}.mce-i-tablerowprops:before{content:"\e604"}.mce-i-tablecellprops:before{content:"\e605"}.mce-i-table2:before{content:"\e606"}.mce-i-tablemergecells:before{content:"\e607"}.mce-i-tableinsertcolbefore:before{content:"\e608"}.mce-i-tableinsertcolafter:before{content:"\e609"}.mce-i-tableinsertrowbefore:before{content:"\e60a"}.mce-i-tableinsertrowafter:before{content:"\e60b"}.mce-i-tablesplitcells:before{content:"\e60d"}.mce-i-tabledelete:before{content:"\e60e"}.mce-i-tableleftheader:before{content:"\e62a"}.mce-i-tabletopheader:before{content:"\e62b"}.mce-i-tabledeleterow:before{content:"\e800"}.mce-i-tabledeletecol:before{content:"\e801"}.mce-i-codesample:before{content:"\e603"}.mce-i-fill:before{content:"\e902"}.mce-i-borderwidth:before{content:"\e903"}.mce-i-line:before{content:"\e904"}.mce-i-count:before{content:"\e905"}.mce-i-translate:before{content:"\e907"}.mce-i-drag:before{content:"\e908"}.mce-i-home:before{content:"\e90b"}.mce-i-upload:before{content:"\e914"}.mce-i-bubble:before{content:"\e91c"}.mce-i-user:before{content:"\e91d"}.mce-i-lock:before{content:"\e926"}.mce-i-unlock:before{content:"\e927"}.mce-i-settings:before{content:"\e928"}.mce-i-remove2:before{content:"\e92a"}.mce-i-menu:before{content:"\e92d"}.mce-i-warning:before{content:"\e930"}.mce-i-question:before{content:"\e931"}.mce-i-pluscircle:before{content:"\e932"}.mce-i-info:before{content:"\e933"}.mce-i-notice:before{content:"\e934"}.mce-i-arrowup:before{content:"\e93b"}.mce-i-arrowdown:before{content:"\e93d"}.mce-i-arrowup2:before{content:"\e93f"}.mce-i-arrowdown2:before{content:"\e940"}.mce-i-menu2:before{content:"\e941"}.mce-i-newtab:before{content:"\e961"}.mce-i-a11y:before{content:"\e900"}.mce-i-plus:before{content:"\e93a"}.mce-i-minus:before{content:"\e939"}.mce-i-books:before{content:"\e911"}.mce-i-checkmark:before{content:"\e033"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#bbb} \ No newline at end of file diff --git a/public/mosaico/dist/vendor/themes/inlite/theme.js b/public/mosaico/dist/vendor/themes/inlite/theme.js new file mode 100644 index 00000000..865d7982 --- /dev/null +++ b/public/mosaico/dist/vendor/themes/inlite/theme.js @@ -0,0 +1,1828 @@ +(function () { + +var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)} + +// Used when there is no 'main' module. +// The name is probably (hopefully) unique so minification removes for releases. +var register_3795 = function (id) { + var module = dem(id); + var fragments = id.split('.'); + var target = Function('return this;')(); + for (var i = 0; i < fragments.length - 1; ++i) { + if (target[fragments[i]] === undefined) + target[fragments[i]] = {}; + target = target[fragments[i]]; + } + target[fragments[fragments.length - 1]] = module; +}; + +var instantiate = function (id) { + var actual = defs[id]; + var dependencies = actual.deps; + var definition = actual.defn; + var len = dependencies.length; + var instances = new Array(len); + for (var i = 0; i < len; ++i) + instances[i] = dem(dependencies[i]); + var defResult = definition.apply(null, instances); + if (defResult === undefined) + throw 'module [' + id + '] returned undefined'; + actual.instance = defResult; +}; + +var def = function (id, dependencies, definition) { + if (typeof id !== 'string') + throw 'module id must be a string'; + else if (dependencies === undefined) + throw 'no dependencies for ' + id; + else if (definition === undefined) + throw 'no definition function for ' + id; + defs[id] = { + deps: dependencies, + defn: definition, + instance: undefined + }; +}; + +var dem = function (id) { + var actual = defs[id]; + if (actual === undefined) + throw 'module [' + id + '] was undefined'; + else if (actual.instance === undefined) + instantiate(id); + return actual.instance; +}; + +var req = function (ids, callback) { + var len = ids.length; + var instances = new Array(len); + for (var i = 0; i < len; ++i) + instances.push(dem(ids[i])); + callback.apply(null, callback); +}; + +var ephox = {}; + +ephox.bolt = { + module: { + api: { + define: def, + require: req, + demand: dem + } + } +}; + +var define = def; +var require = req; +var demand = dem; +// this helps with minificiation when using a lot of global references +var defineGlobal = function (id, ref) { + define(id, [], function () { return ref; }); +}; +/*jsc +["tinymce/inlite/Theme","global!tinymce.ThemeManager","global!tinymce.util.Delay","tinymce/inlite/ui/Panel","tinymce/inlite/ui/Buttons","tinymce/inlite/core/SkinLoader","tinymce/inlite/core/SelectionMatcher","tinymce/inlite/core/ElementMatcher","tinymce/inlite/core/Matcher","tinymce/inlite/alien/Arr","tinymce/inlite/alien/EditorSettings","tinymce/inlite/core/PredicateId","global!tinymce.util.Tools","global!tinymce.ui.Factory","global!tinymce.DOM","tinymce/inlite/ui/Toolbar","tinymce/inlite/ui/Forms","tinymce/inlite/core/Measure","tinymce/inlite/core/Layout","tinymce/inlite/alien/Type","tinymce/inlite/file/Conversions","tinymce/inlite/file/Picker","tinymce/inlite/core/Actions","global!tinymce.EditorManager","global!tinymce.util.Promise","tinymce/inlite/alien/Uuid","tinymce/inlite/alien/Unlink","tinymce/inlite/core/UrlType","global!tinymce.geom.Rect","tinymce/inlite/core/Convert","tinymce/inlite/alien/Bookmark","global!tinymce.dom.TreeWalker","global!tinymce.dom.RangeUtils"] +jsc*/ +defineGlobal("global!tinymce.ThemeManager", tinymce.ThemeManager); +defineGlobal("global!tinymce.util.Delay", tinymce.util.Delay); +defineGlobal("global!tinymce.util.Tools", tinymce.util.Tools); +defineGlobal("global!tinymce.ui.Factory", tinymce.ui.Factory); +defineGlobal("global!tinymce.DOM", tinymce.DOM); +/** + * Type.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/alien/Type', [ +], function () { + var isType = function (type) { + return function (value) { + return typeof value === type; + }; + }; + + var isArray = function (value) { + return Array.isArray(value); + }; + + var isNull = function (value) { + return value === null; + }; + + var isObject = function (predicate) { + return function (value) { + return !isNull(value) && !isArray(value) && predicate(value); + }; + }; + + return { + isString: isType("string"), + isNumber: isType("number"), + isBoolean: isType("boolean"), + isFunction: isType("function"), + isObject: isObject(isType("object")), + isNull: isNull, + isArray: isArray + }; +}); + +/** + * Toolbar.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/ui/Toolbar', [ + 'global!tinymce.util.Tools', + 'global!tinymce.ui.Factory', + 'tinymce/inlite/alien/Type' +], function (Tools, Factory, Type) { + var setActiveItem = function (item, name) { + return function(state, args) { + var nodeName, i = args.parents.length; + + while (i--) { + nodeName = args.parents[i].nodeName; + if (nodeName == 'OL' || nodeName == 'UL') { + break; + } + } + + item.active(state && nodeName == name); + }; + }; + + var getSelectorStateResult = function (itemName, item) { + var result = function (selector, handler) { + return { + selector: selector, + handler: handler + }; + }; + + var activeHandler = function(state) { + item.active(state); + }; + + var disabledHandler = function (state) { + item.disabled(state); + }; + + if (itemName == 'bullist') { + return result('ul > li', setActiveItem(item, 'UL')); + } + + if (itemName == 'numlist') { + return result('ol > li', setActiveItem(item, 'OL')); + } + + if (item.settings.stateSelector) { + return result(item.settings.stateSelector, activeHandler); + } + + if (item.settings.disabledStateSelector) { + return result(item.settings.disabledStateSelector, disabledHandler); + } + + return null; + }; + + var bindSelectorChanged = function (editor, itemName, item) { + return function () { + var result = getSelectorStateResult(itemName, item); + if (result !== null) { + editor.selection.selectorChanged(result.selector, result.handler); + } + }; + }; + + var itemsToArray = function (items) { + if (Type.isArray(items)) { + return items; + } else if (Type.isString(items)) { + return items.split(/[ ,]/); + } + + return []; + }; + + var create = function (editor, name, items) { + var toolbarItems = [], buttonGroup; + + if (!items) { + return; + } + + Tools.each(itemsToArray(items), function(item) { + var itemName; + + if (item == '|') { + buttonGroup = null; + } else { + if (Factory.has(item)) { + item = {type: item}; + toolbarItems.push(item); + buttonGroup = null; + } else { + if (editor.buttons[item]) { + if (!buttonGroup) { + buttonGroup = {type: 'buttongroup', items: []}; + toolbarItems.push(buttonGroup); + } + + itemName = item; + item = editor.buttons[itemName]; + + if (typeof item == 'function') { + item = item(); + } + + item.type = item.type || 'button'; + + item = Factory.create(item); + item.on('postRender', bindSelectorChanged(editor, itemName, item)); + buttonGroup.items.push(item); + } + } + } + }); + + return Factory.create({ + type: 'toolbar', + layout: 'flow', + name: name, + items: toolbarItems + }); + }; + + return { + create: create + }; +}); + +defineGlobal("global!tinymce.util.Promise", tinymce.util.Promise); +/** + * Uuid.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * Generates unique ids this is the same as in core but since + * it's not exposed as a global we can't access it. + */ +define("tinymce/inlite/alien/Uuid", [ +], function() { + var count = 0; + + var seed = function () { + var rnd = function () { + return Math.round(Math.random() * 0xFFFFFFFF).toString(36); + }; + + return 's' + Date.now().toString(36) + rnd() + rnd() + rnd(); + }; + + var uuid = function (prefix) { + return prefix + (count++) + seed(); + }; + + return { + uuid: uuid + }; +}); + +/** + * Bookmark.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/alien/Bookmark', [ +], function () { + /** + * Returns a range bookmark. This will convert indexed bookmarks into temporary span elements with + * index 0 so that they can be restored properly after the DOM has been modified. Text bookmarks will not have spans + * added to them since they can be restored after a dom operation. + * + * So this:

||

+ * becomes:

||

+ * + * @param {DOMRange} rng DOM Range to get bookmark on. + * @return {Object} Bookmark object. + */ + var create = function (dom, rng) { + var bookmark = {}; + + function setupEndPoint(start) { + var offsetNode, container, offset; + + container = rng[start ? 'startContainer' : 'endContainer']; + offset = rng[start ? 'startOffset' : 'endOffset']; + + if (container.nodeType == 1) { + offsetNode = dom.create('span', {'data-mce-type': 'bookmark'}); + + if (container.hasChildNodes()) { + offset = Math.min(offset, container.childNodes.length - 1); + + if (start) { + container.insertBefore(offsetNode, container.childNodes[offset]); + } else { + dom.insertAfter(offsetNode, container.childNodes[offset]); + } + } else { + container.appendChild(offsetNode); + } + + container = offsetNode; + offset = 0; + } + + bookmark[start ? 'startContainer' : 'endContainer'] = container; + bookmark[start ? 'startOffset' : 'endOffset'] = offset; + } + + setupEndPoint(true); + + if (!rng.collapsed) { + setupEndPoint(); + } + + return bookmark; + }; + + /** + * Moves the selection to the current bookmark and removes any selection container wrappers. + * + * @param {Object} bookmark Bookmark object to move selection to. + */ + var resolve = function (dom, bookmark) { + function restoreEndPoint(start) { + var container, offset, node; + + function nodeIndex(container) { + var node = container.parentNode.firstChild, idx = 0; + + while (node) { + if (node == container) { + return idx; + } + + // Skip data-mce-type=bookmark nodes + if (node.nodeType != 1 || node.getAttribute('data-mce-type') != 'bookmark') { + idx++; + } + + node = node.nextSibling; + } + + return -1; + } + + container = node = bookmark[start ? 'startContainer' : 'endContainer']; + offset = bookmark[start ? 'startOffset' : 'endOffset']; + + if (!container) { + return; + } + + if (container.nodeType == 1) { + offset = nodeIndex(container); + container = container.parentNode; + dom.remove(node); + } + + bookmark[start ? 'startContainer' : 'endContainer'] = container; + bookmark[start ? 'startOffset' : 'endOffset'] = offset; + } + + restoreEndPoint(true); + restoreEndPoint(); + + var rng = dom.createRng(); + + rng.setStart(bookmark.startContainer, bookmark.startOffset); + + if (bookmark.endContainer) { + rng.setEnd(bookmark.endContainer, bookmark.endOffset); + } + + return rng; + }; + + return { + create: create, + resolve: resolve + }; +}); + + + +defineGlobal("global!tinymce.dom.TreeWalker", tinymce.dom.TreeWalker); +defineGlobal("global!tinymce.dom.RangeUtils", tinymce.dom.RangeUtils); +/** + * Unlink.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/** + * Unlink implementation that doesn't leave partial links for example it would produce: + * a[bc]de -> a[bc]de + * instead of: + * a[bc]de -> a[bc]de + */ +define("tinymce/inlite/alien/Unlink", [ + 'tinymce/inlite/alien/Bookmark', + 'global!tinymce.util.Tools', + 'global!tinymce.dom.TreeWalker', + 'global!tinymce.dom.RangeUtils' +], function (Bookmark, Tools, TreeWalker, RangeUtils) { + var getSelectedElements = function (rootElm, startNode, endNode) { + var walker, node, elms = []; + + walker = new TreeWalker(startNode, rootElm); + for (node = startNode; node; node = walker.next()) { + if (node.nodeType === 1) { + elms.push(node); + } + + if (node === endNode) { + break; + } + } + + return elms; + }; + + var unwrapElements = function (editor, elms) { + var bookmark, dom, selection; + + dom = editor.dom; + selection = editor.selection; + bookmark = Bookmark.create(dom, selection.getRng()); + + Tools.each(elms, function (elm) { + editor.dom.remove(elm, true); + }); + + selection.setRng(Bookmark.resolve(dom, bookmark)); + }; + + var isLink = function (elm) { + return elm.nodeName === 'A' && elm.hasAttribute('href'); + }; + + var getParentAnchorOrSelf = function (dom, elm) { + var anchorElm = dom.getParent(elm, isLink); + return anchorElm ? anchorElm : elm; + }; + + var getSelectedAnchors = function (editor) { + var startElm, endElm, rootElm, anchorElms, selection, dom, rng; + + selection = editor.selection; + dom = editor.dom; + rng = selection.getRng(); + startElm = getParentAnchorOrSelf(dom, RangeUtils.getNode(rng.startContainer, rng.startOffset)); + endElm = RangeUtils.getNode(rng.endContainer, rng.endOffset); + rootElm = editor.getBody(); + anchorElms = Tools.grep(getSelectedElements(rootElm, startElm, endElm), isLink); + + return anchorElms; + }; + + var unlinkSelection = function (editor) { + unwrapElements(editor, getSelectedAnchors(editor)); + }; + + return { + unlinkSelection: unlinkSelection + }; +}); + +/** + * Actions.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/Actions', [ + 'tinymce/inlite/alien/Uuid', + 'tinymce/inlite/alien/Unlink' +], function (Uuid, Unlink) { + var createTableHtml = function (cols, rows) { + var x, y, html; + + html = '
'; + html += ''; + + for (y = 0; y < rows; y++) { + html += ''; + + for (x = 0; x < cols; x++) { + html += ''; + } + + html += ''; + } + + html += ''; + html += '

'; + + return html; + }; + + var getInsertedElement = function (editor) { + var elms = editor.dom.select('*[data-mce-id]'); + return elms[0]; + }; + + var insertTable = function (editor, cols, rows) { + editor.undoManager.transact(function () { + var tableElm, cellElm; + + editor.insertContent(createTableHtml(cols, rows)); + + tableElm = getInsertedElement(editor); + tableElm.removeAttribute('data-mce-id'); + cellElm = editor.dom.select('td,th', tableElm); + editor.selection.setCursorLocation(cellElm[0], 0); + }); + }; + + var formatBlock = function (editor, formatName) { + editor.execCommand('FormatBlock', false, formatName); + }; + + var insertBlob = function (editor, base64, blob) { + var blobCache, blobInfo; + + blobCache = editor.editorUpload.blobCache; + blobInfo = blobCache.create(Uuid.uuid('mceu'), blob, base64); + blobCache.add(blobInfo); + + editor.insertContent(editor.dom.createHTML('img', {src: blobInfo.blobUri()})); + }; + + var collapseSelectionToEnd = function (editor) { + editor.selection.collapse(false); + }; + + var unlink = function (editor) { + editor.focus(); + Unlink.unlinkSelection(editor); + collapseSelectionToEnd(editor); + }; + + var changeHref = function (editor, elm, url) { + editor.focus(); + editor.dom.setAttrib(elm, 'href', url); + collapseSelectionToEnd(editor); + }; + + var insertLink = function (editor, url) { + editor.execCommand('mceInsertLink', false, {href: url}); + collapseSelectionToEnd(editor); + }; + + var updateOrInsertLink = function (editor, url) { + var elm = editor.dom.getParent(editor.selection.getStart(), 'a[href]'); + elm ? changeHref(editor, elm, url) : insertLink(editor, url); + }; + + var createLink = function (editor, url) { + url.trim().length === 0 ? unlink(editor) : updateOrInsertLink(editor, url); + }; + + return { + insertTable: insertTable, + formatBlock: formatBlock, + insertBlob: insertBlob, + createLink: createLink, + unlink: unlink + }; +}); + +/** + * UrlType.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/UrlType', [ +], function () { + var isDomainLike = function (href) { + return /^www\.|\.(com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil)$/i.test(href.trim()); + }; + + var isAbsolute = function (href) { + return /^https?:\/\//.test(href.trim()); + }; + + return { + isDomainLike: isDomainLike, + isAbsolute: isAbsolute + }; +}); + + + +/** + * Forms.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/ui/Forms', [ + 'global!tinymce.util.Tools', + 'global!tinymce.ui.Factory', + 'global!tinymce.util.Promise', + 'tinymce/inlite/core/Actions', + 'tinymce/inlite/core/UrlType' +], function (Tools, Factory, Promise, Actions, UrlType) { + var focusFirstTextBox = function (form) { + form.find('textbox').eq(0).each(function (ctrl) { + ctrl.focus(); + }); + }; + + var createForm = function (name, spec) { + var form = Factory.create( + Tools.extend({ + type: 'form', + layout: 'flex', + direction: 'row', + padding: 5, + name: name, + spacing: 3 + }, spec) + ); + + form.on('show', function () { + focusFirstTextBox(form); + }); + + return form; + }; + + var toggleVisibility = function (ctrl, state) { + return state ? ctrl.show() : ctrl.hide(); + }; + + var askAboutPrefix = function (editor, href) { + return new Promise(function (resolve) { + editor.windowManager.confirm( + 'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?', + function (result) { + var output = result === true ? 'http://' + href : href; + resolve(output); + } + ); + }); + }; + + var convertLinkToAbsolute = function (editor, href) { + return !UrlType.isAbsolute(href) && UrlType.isDomainLike(href) ? askAboutPrefix(editor, href) : Promise.resolve(href); + }; + + var createQuickLinkForm = function (editor, hide) { + var unlink = function () { + editor.focus(); + Actions.unlink(editor); + hide(); + }; + + return createForm('quicklink', { + items: [ + {type: 'button', name: 'unlink', icon: 'unlink', onclick: unlink, tooltip: 'Remove link'}, + {type: 'textbox', name: 'linkurl', placeholder: 'Paste or type a link'}, + {type: 'button', icon: 'checkmark', subtype: 'primary', tooltip: 'Ok', onclick: 'submit'} + ], + onshow: function () { + var elm, linkurl = ''; + + elm = editor.dom.getParent(editor.selection.getStart(), 'a[href]'); + if (elm) { + linkurl = editor.dom.getAttrib(elm, 'href'); + } + + this.fromJSON({ + linkurl: linkurl + }); + + toggleVisibility(this.find('#unlink'), elm); + }, + onsubmit: function (e) { + convertLinkToAbsolute(editor, e.data.linkurl).then(function (url) { + Actions.createLink(editor, url); + hide(); + }); + } + }); + }; + + return { + createQuickLinkForm: createQuickLinkForm + }; +}); + +defineGlobal("global!tinymce.geom.Rect", tinymce.geom.Rect); +/** + * Convert.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/Convert', [ +], function () { + var fromClientRect = function (clientRect) { + return { + x: clientRect.left, + y: clientRect.top, + w: clientRect.width, + h: clientRect.height + }; + }; + + var toClientRect = function (geomRect) { + return { + left: geomRect.x, + top: geomRect.y, + width: geomRect.w, + height: geomRect.h, + right: geomRect.x + geomRect.w, + bottom: geomRect.y + geomRect.h + }; + }; + + return { + fromClientRect: fromClientRect, + toClientRect: toClientRect + }; +}); + +/** + * Measure.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/Measure', [ + 'global!tinymce.DOM', + 'global!tinymce.geom.Rect', + 'tinymce/inlite/core/Convert' +], function (DOM, Rect, Convert) { + var toAbsolute = function (rect) { + var vp = DOM.getViewPort(); + + return { + x: rect.x + vp.x, + y: rect.y + vp.y, + w: rect.w, + h: rect.h + }; + }; + + var measureElement = function (elm) { + var clientRect = elm.getBoundingClientRect(); + + return toAbsolute({ + x: clientRect.left, + y: clientRect.top, + w: Math.max(elm.clientWidth, elm.offsetWidth), + h: Math.max(elm.clientHeight, elm.offsetHeight) + }); + }; + + var getElementRect = function (editor, elm) { + return measureElement(elm); + }; + + var getPageAreaRect = function (editor) { + return measureElement(editor.getElement().ownerDocument.body); + }; + + var getContentAreaRect = function (editor) { + return measureElement(editor.getContentAreaContainer() || editor.getBody()); + }; + + var getSelectionRect = function (editor) { + var clientRect = editor.selection.getBoundingClientRect(); + return clientRect ? toAbsolute(Convert.fromClientRect(clientRect)) : null; + }; + + return { + getElementRect: getElementRect, + getPageAreaRect: getPageAreaRect, + getContentAreaRect: getContentAreaRect, + getSelectionRect: getSelectionRect + }; +}); + +/** + * Layout.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/Layout', [ + 'global!tinymce.geom.Rect', + 'tinymce/inlite/core/Convert' +], function (Rect, Convert) { + var result = function (rect, position) { + return { + rect: rect, + position: position + }; + }; + + var moveTo = function (rect, toRect) { + return {x: toRect.x, y: toRect.y, w: rect.w, h: rect.h}; + }; + + var calcByPositions = function (testPositions1, testPositions2, targetRect, contentAreaRect, panelRect) { + var relPos, relRect, outputPanelRect; + + relPos = Rect.findBestRelativePosition(panelRect, targetRect, contentAreaRect, testPositions1); + targetRect = Rect.clamp(targetRect, contentAreaRect); + + if (relPos) { + relRect = Rect.relativePosition(panelRect, targetRect, relPos); + outputPanelRect = moveTo(panelRect, relRect); + return result(outputPanelRect, relPos); + } + + targetRect = Rect.intersect(contentAreaRect, targetRect); + if (targetRect) { + relPos = Rect.findBestRelativePosition(panelRect, targetRect, contentAreaRect, testPositions2); + if (relPos) { + relRect = Rect.relativePosition(panelRect, targetRect, relPos); + outputPanelRect = moveTo(panelRect, relRect); + return result(outputPanelRect, relPos); + } + + outputPanelRect = moveTo(panelRect, targetRect); + return result(outputPanelRect, relPos); + } + + return null; + }; + + var calcInsert = function (targetRect, contentAreaRect, panelRect) { + return calcByPositions( + ['cr-cl', 'cl-cr'], + ['bc-tc', 'bl-tl', 'br-tr'], + targetRect, + contentAreaRect, + panelRect + ); + }; + + var calc = function (targetRect, contentAreaRect, panelRect) { + return calcByPositions( + ['tc-bc', 'bc-tc', 'tl-bl', 'bl-tl', 'tr-br', 'br-tr'], + ['bc-tc', 'bl-tl', 'br-tr'], + targetRect, + contentAreaRect, + panelRect + ); + }; + + var userConstrain = function (handler, targetRect, contentAreaRect, panelRect) { + var userConstrainedPanelRect; + + if (typeof handler === 'function') { + userConstrainedPanelRect = handler({ + elementRect: Convert.toClientRect(targetRect), + contentAreaRect: Convert.toClientRect(contentAreaRect), + panelRect: Convert.toClientRect(panelRect) + }); + + return Convert.fromClientRect(userConstrainedPanelRect); + } + + return panelRect; + }; + + var defaultHandler = function (rects) { + return rects.panelRect; + }; + + return { + calcInsert: calcInsert, + calc: calc, + userConstrain: userConstrain, + defaultHandler: defaultHandler + }; +}); + +/** + * EditorSettings.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/alien/EditorSettings', [ + 'tinymce/inlite/alien/Type' +], function (Type) { + var validDefaultOrDie = function (value, predicate) { + if (predicate(value)) { + return true; + } + + throw new Error('Default value doesn\'t match requested type.'); + }; + + var getByTypeOr = function (predicate) { + return function (editor, name, defaultValue) { + var settings = editor.settings; + validDefaultOrDie(defaultValue, predicate); + return name in settings && predicate(settings[name]) ? settings[name] : defaultValue; + }; + }; + + var splitNoEmpty = function (str, delim) { + return str.split(delim).filter(function (item) { + return item.length > 0; + }); + }; + + var itemsToArray = function (value, defaultValue) { + var stringToItemsArray = function (value) { + return typeof value === 'string' ? splitNoEmpty(value, /[ ,]/) : value; + }; + + var boolToItemsArray = function (value, defaultValue) { + return value === false ? [ ] : defaultValue; + }; + + if (Type.isArray(value)) { + return value; + } else if (Type.isString(value)) { + return stringToItemsArray(value); + } else if (Type.isBoolean(value)) { + return boolToItemsArray(value, defaultValue); + } + + return defaultValue; + }; + + var getToolbarItemsOr = function (predicate) { + return function (editor, name, defaultValue) { + var value = name in editor.settings ? editor.settings[name] : defaultValue; + validDefaultOrDie(defaultValue, predicate); + return itemsToArray(value, defaultValue); + }; + }; + + return { + // TODO: Add Option based getString, getBool if merged with core + getStringOr: getByTypeOr(Type.isString), + getBoolOr: getByTypeOr(Type.isBoolean), + getNumberOr: getByTypeOr(Type.isNumber), + getHandlerOr: getByTypeOr(Type.isFunction), + getToolbarItemsOr: getToolbarItemsOr(Type.isArray) + }; +}); + +/** + * Panel.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/ui/Panel', [ + 'global!tinymce.util.Tools', + 'global!tinymce.ui.Factory', + 'global!tinymce.DOM', + 'tinymce/inlite/ui/Toolbar', + 'tinymce/inlite/ui/Forms', + 'tinymce/inlite/core/Measure', + 'tinymce/inlite/core/Layout', + 'tinymce/inlite/alien/EditorSettings' +], function (Tools, Factory, DOM, Toolbar, Forms, Measure, Layout, EditorSettings) { + return function () { + var DEFAULT_TEXT_SELECTION_ITEMS = ['bold', 'italic', '|', 'quicklink', 'h2', 'h3', 'blockquote']; + var DEFAULT_INSERT_TOOLBAR_ITEMS = ['quickimage', 'quicktable']; + var panel, currentRect; + + var createToolbars = function (editor, toolbars) { + return Tools.map(toolbars, function (toolbar) { + return Toolbar.create(editor, toolbar.id, toolbar.items); + }); + }; + + var getTextSelectionToolbarItems = function (editor) { + return EditorSettings.getToolbarItemsOr(editor, 'selection_toolbar', DEFAULT_TEXT_SELECTION_ITEMS); + }; + + var getInsertToolbarItems = function (editor) { + return EditorSettings.getToolbarItemsOr(editor, 'insert_toolbar', DEFAULT_INSERT_TOOLBAR_ITEMS); + }; + + var hasToolbarItems = function (toolbar) { + return toolbar.items().length > 0; + }; + + var create = function (editor, toolbars) { + var items = createToolbars(editor, toolbars).concat([ + Toolbar.create(editor, 'text', getTextSelectionToolbarItems(editor)), + Toolbar.create(editor, 'insert', getInsertToolbarItems(editor)), + Forms.createQuickLinkForm(editor, hide) + ]); + + return Factory.create({ + type: 'floatpanel', + role: 'dialog', + classes: 'tinymce tinymce-inline arrow', + ariaLabel: 'Inline toolbar', + layout: 'flex', + direction: 'column', + align: 'stretch', + autohide: false, + autofix: true, + fixed: true, + border: 1, + items: Tools.grep(items, hasToolbarItems), + oncancel: function() { + editor.focus(); + } + }); + }; + + var showPanel = function (panel) { + if (panel) { + panel.show(); + } + }; + + var movePanelTo = function (panel, pos) { + panel.moveTo(pos.x, pos.y); + }; + + var togglePositionClass = function (panel, relPos) { + relPos = relPos ? relPos.substr(0, 2) : ''; + + Tools.each({ + t: 'down', + b: 'up', + c: 'center' + }, function(cls, pos) { + panel.classes.toggle('arrow-' + cls, pos === relPos.substr(0, 1)); + }); + + if (relPos === 'cr') { + panel.classes.toggle('arrow-left', true); + panel.classes.toggle('arrow-right', false); + } else if (relPos === 'cl') { + panel.classes.toggle('arrow-left', true); + panel.classes.toggle('arrow-right', true); + } else { + Tools.each({ + l: 'left', + r: 'right' + }, function(cls, pos) { + panel.classes.toggle('arrow-' + cls, pos === relPos.substr(1, 1)); + }); + } + }; + + var showToolbar = function (panel, id) { + var toolbars = panel.items().filter('#' + id); + + if (toolbars.length > 0) { + toolbars[0].show(); + panel.reflow(); + return true; + } + + return false; + }; + + var showPanelAt = function (panel, id, editor, targetRect) { + var contentAreaRect, panelRect, result, userConstainHandler; + + showPanel(panel); + panel.items().hide(); + + if (!showToolbar(panel, id)) { + hide(panel); + return; + } + + userConstainHandler = EditorSettings.getHandlerOr(editor, 'inline_toolbar_position_handler', Layout.defaultHandler); + contentAreaRect = Measure.getContentAreaRect(editor); + panelRect = DOM.getRect(panel.getEl()); + + if (id === 'insert') { + result = Layout.calcInsert(targetRect, contentAreaRect, panelRect); + } else { + result = Layout.calc(targetRect, contentAreaRect, panelRect); + } + + if (result) { + panelRect = result.rect; + currentRect = targetRect; + movePanelTo(panel, Layout.userConstrain(userConstainHandler, targetRect, contentAreaRect, panelRect)); + togglePositionClass(panel, result.position); + } else { + hide(panel); + } + }; + + var hasFormVisible = function () { + return panel.items().filter('form:visible').length > 0; + }; + + var showForm = function (editor, id) { + if (panel) { + panel.items().hide(); + + if (!showToolbar(panel, id)) { + hide(panel); + return; + } + + var contentAreaRect, panelRect, result, userConstainHandler; + + showPanel(panel); + panel.items().hide(); + showToolbar(panel, id); + + userConstainHandler = EditorSettings.getHandlerOr(editor, 'inline_toolbar_position_handler', Layout.defaultHandler); + contentAreaRect = Measure.getContentAreaRect(editor); + panelRect = DOM.getRect(panel.getEl()); + + result = Layout.calc(currentRect, contentAreaRect, panelRect); + + if (result) { + panelRect = result.rect; + movePanelTo(panel, Layout.userConstrain(userConstainHandler, currentRect, contentAreaRect, panelRect)); + togglePositionClass(panel, result.position); + } + } + }; + + var show = function (editor, id, targetRect, toolbars) { + if (!panel) { + panel = create(editor, toolbars); + panel.renderTo(document.body).reflow().moveTo(targetRect.x, targetRect.y); + editor.nodeChanged(); + } + + showPanelAt(panel, id, editor, targetRect); + }; + + var hide = function () { + if (panel) { + panel.hide(); + } + }; + + var focus = function () { + if (panel) { + panel.find('toolbar:visible').eq(0).each(function (item) { + item.focus(true); + }); + } + }; + + var remove = function () { + if (panel) { + panel.remove(); + panel = null; + } + }; + + var inForm = function () { + return panel && panel.visible() && hasFormVisible(); + }; + + return { + show: show, + showForm: showForm, + inForm: inForm, + hide: hide, + focus: focus, + remove: remove + }; + }; +}); + +/** + * Conversions.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/file/Conversions', [ + 'global!tinymce.util.Promise' +], function (Promise) { + var blobToBase64 = function (blob) { + return new Promise(function(resolve) { + var reader = new FileReader(); + + reader.onloadend = function() { + resolve(reader.result.split(',')[1]); + }; + + reader.readAsDataURL(blob); + }); + }; + + return { + blobToBase64: blobToBase64 + }; +}); + + + +/** + * Picker.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/file/Picker', [ + 'global!tinymce.util.Promise' +], function (Promise) { + var pickFile = function () { + return new Promise(function (resolve) { + var fileInput; + + fileInput = document.createElement("input"); + fileInput.type = "file"; + fileInput.style.position = 'fixed'; + fileInput.style.left = 0; + fileInput.style.top = 0; + fileInput.style.opacity = 0.001; + document.body.appendChild(fileInput); + + fileInput.onchange = function(e) { + resolve(Array.prototype.slice.call(e.target.files)); + }; + + fileInput.click(); + fileInput.parentNode.removeChild(fileInput); + }); + }; + + return { + pickFile: pickFile + }; +}); + + + +/** + * Buttons.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/ui/Buttons', [ + 'tinymce/inlite/ui/Panel', + 'tinymce/inlite/file/Conversions', + 'tinymce/inlite/file/Picker', + 'tinymce/inlite/core/Actions' +], function (Panel, Conversions, Picker, Actions) { + var addHeaderButtons = function (editor) { + var formatBlock = function (name) { + return function () { + Actions.formatBlock(editor, name); + }; + }; + + for (var i = 1; i < 6; i++) { + var name = 'h' + i; + + editor.addButton(name, { + text: name.toUpperCase(), + tooltip: 'Heading ' + i, + stateSelector: name, + onclick: formatBlock(name), + onPostRender: function () { + // TODO: Remove this hack that produces bold H1-H6 when we have proper icons + var span = this.getEl().firstChild.firstChild; + span.style.fontWeight = 'bold'; + } + }); + } + }; + + var addToEditor = function (editor, panel) { + editor.addButton('quicklink', { + icon: 'link', + tooltip: 'Insert/Edit link', + stateSelector: 'a[href]', + onclick: function () { + panel.showForm(editor, 'quicklink'); + } + }); + + editor.addButton('quickimage', { + icon: 'image', + tooltip: 'Insert image', + onclick: function () { + Picker.pickFile().then(function (files) { + var blob = files[0]; + + Conversions.blobToBase64(blob).then(function (base64) { + Actions.insertBlob(editor, base64, blob); + }); + }); + } + }); + + editor.addButton('quicktable', { + icon: 'table', + tooltip: 'Insert table', + onclick: function () { + panel.hide(); + Actions.insertTable(editor, 2, 2); + } + }); + + addHeaderButtons(editor); + }; + + return { + addToEditor: addToEditor + }; +}); + +defineGlobal("global!tinymce.EditorManager", tinymce.EditorManager); +/** + * SkinLoader.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/SkinLoader', [ + 'global!tinymce.EditorManager', + 'global!tinymce.DOM' +], function (EditorManager, DOM) { + var fireSkinLoaded = function (editor, callback) { + var done = function () { + editor.fire('SkinLoaded'); + callback(); + }; + + if (editor.initialized) { + done(); + } else { + editor.on('init', done); + } + }; + + var urlFromName = function (name) { + var prefix = EditorManager.baseURL + '/skins/'; + return name ? prefix + name : prefix + 'lightgray'; + }; + + var toAbsoluteUrl = function (editor, url) { + return editor.documentBaseURI.toAbsolute(url); + }; + + var load = function (editor, callback) { + var settings = editor.settings; + var skinUrl = settings.skin_url ? toAbsoluteUrl(editor, settings.skin_url) : urlFromName(settings.skin); + + var done = function () { + fireSkinLoaded(editor, callback); + }; + + DOM.styleSheetLoader.load(skinUrl + '/skin.min.css', done); + editor.contentCSS.push(skinUrl + '/content.inline.min.css'); + }; + + return { + load: load + }; +}); + + + +/** + * Matcher.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/Matcher', [ +], function () { + // result :: String, Rect -> Matcher.result + var result = function (id, rect) { + return { + id: id, + rect: rect + }; + }; + + // match :: Editor, [(Editor -> Matcher.result | Null)] -> Matcher.result | Null + var match = function (editor, matchers) { + for (var i = 0; i < matchers.length; i++) { + var f = matchers[i]; + var result = f(editor); + + if (result) { + return result; + } + } + + return null; + }; + + return { + match: match, + result: result + }; +}); + +/** + * SelectionMatcher.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/SelectionMatcher', [ + 'tinymce/inlite/core/Matcher', + 'tinymce/inlite/core/Measure' +], function (Matcher, Measure) { + // textSelection :: String -> (Editor -> Matcher.result | Null) + var textSelection = function (id) { + return function (editor) { + if (!editor.selection.isCollapsed()) { + return Matcher.result(id, Measure.getSelectionRect(editor)); + } + + return null; + }; + }; + + // emptyTextBlock :: [Elements], String -> (Editor -> Matcher.result | Null) + var emptyTextBlock = function (elements, id) { + return function (editor) { + var i, textBlockElementsMap = editor.schema.getTextBlockElements(); + + for (i = 0; i < elements.length; i++) { + if (elements[i].nodeName === 'TABLE') { + return null; + } + } + + for (i = 0; i < elements.length; i++) { + if (elements[i].nodeName in textBlockElementsMap) { + if (editor.dom.isEmpty(elements[i])) { + return Matcher.result(id, Measure.getSelectionRect(editor)); + } + + return null; + } + } + + return null; + }; + }; + + return { + textSelection: textSelection, + emptyTextBlock: emptyTextBlock + }; +}); + +/** + * ElementMatcher.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/ElementMatcher', [ + 'tinymce/inlite/core/Matcher', + 'tinymce/inlite/core/Measure' +], function (Matcher, Measure) { + // element :: Element, [PredicateId] -> (Editor -> Matcher.result | Null) + var element = function (element, predicateIds) { + return function (editor) { + for (var i = 0; i < predicateIds.length; i++) { + if (predicateIds[i].predicate(element)) { + return Matcher.result(predicateIds[i].id, Measure.getElementRect(editor, element)); + } + } + + return null; + }; + }; + + // parent :: [Elements], [PredicateId] -> (Editor -> Matcher.result | Null) + var parent = function (elements, predicateIds) { + return function (editor) { + for (var i = 0; i < elements.length; i++) { + for (var x = 0; x < predicateIds.length; x++) { + if (predicateIds[x].predicate(elements[i])) { + return Matcher.result(predicateIds[x].id, Measure.getElementRect(editor, elements[i])); + } + } + } + + return null; + }; + }; + + return { + element: element, + parent: parent + }; +}); + +/** + * Arr.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/alien/Arr', [ +], function () { + var flatten = function (arr) { + return arr.reduce(function (results, item) { + return Array.isArray(item) ? results.concat(flatten(item)) : results.concat(item); + }, []); + }; + + return { + flatten: flatten + }; +}); + +/** + * PredicateId.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/core/PredicateId', [ + 'global!tinymce.util.Tools' +], function (Tools) { + var create = function (id, predicate) { + return { + id: id, + predicate: predicate + }; + }; + + // fromContextToolbars :: [ContextToolbar] -> [PredicateId] + var fromContextToolbars = function (toolbars) { + return Tools.map(toolbars, function (toolbar) { + return create(toolbar.id, toolbar.predicate); + }); + }; + + return { + create: create, + fromContextToolbars: fromContextToolbars + }; +}); + +/** + * Theme.js + * + * Released under LGPL License. + * Copyright (c) 1999-2016 Ephox Corp. All rights reserved + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +define('tinymce/inlite/Theme', [ + 'global!tinymce.ThemeManager', + 'global!tinymce.util.Delay', + 'tinymce/inlite/ui/Panel', + 'tinymce/inlite/ui/Buttons', + 'tinymce/inlite/core/SkinLoader', + 'tinymce/inlite/core/SelectionMatcher', + 'tinymce/inlite/core/ElementMatcher', + 'tinymce/inlite/core/Matcher', + 'tinymce/inlite/alien/Arr', + 'tinymce/inlite/alien/EditorSettings', + 'tinymce/inlite/core/PredicateId' +], function(ThemeManager, Delay, Panel, Buttons, SkinLoader, SelectionMatcher, ElementMatcher, Matcher, Arr, EditorSettings, PredicateId) { + var getSelectionElements = function (editor) { + var node = editor.selection.getNode(); + var elms = editor.dom.getParents(node); + return elms; + }; + + var createToolbar = function (editor, selector, id, items) { + var selectorPredicate = function (elm) { + return editor.dom.is(elm, selector); + }; + + return { + predicate: selectorPredicate, + id: id, + items: items + }; + }; + + var getToolbars = function (editor) { + var contextToolbars = editor.contextToolbars; + + return Arr.flatten([ + contextToolbars ? contextToolbars : [], + createToolbar(editor, 'img', 'image', 'alignleft aligncenter alignright') + ]); + }; + + var findMatchResult = function (editor, toolbars) { + var result, elements, contextToolbarsPredicateIds; + + elements = getSelectionElements(editor); + contextToolbarsPredicateIds = PredicateId.fromContextToolbars(toolbars); + + result = Matcher.match(editor, [ + ElementMatcher.element(elements[0], contextToolbarsPredicateIds), + SelectionMatcher.textSelection('text'), + SelectionMatcher.emptyTextBlock(elements, 'insert'), + ElementMatcher.parent(elements, contextToolbarsPredicateIds) + ]); + + return result && result.rect ? result : null; + }; + + var togglePanel = function (editor, panel) { + var toggle = function () { + var toolbars = getToolbars(editor); + var result = findMatchResult(editor, toolbars); + + if (result) { + panel.show(editor, result.id, result.rect, toolbars); + } else { + panel.hide(); + } + }; + + return function () { + if (!editor.removed) { + toggle(); + } + }; + }; + + var ignoreWhenFormIsVisible = function (panel, f) { + return function () { + if (!panel.inForm()) { + f(); + } + }; + }; + + var bindContextualToolbarsEvents = function (editor, panel) { + var throttledTogglePanel = Delay.throttle(togglePanel(editor, panel), 0); + var throttledTogglePanelWhenNotInForm = Delay.throttle(ignoreWhenFormIsVisible(panel, togglePanel(editor, panel)), 0); + + editor.on('blur hide ObjectResizeStart', panel.hide); + editor.on('click', throttledTogglePanel); + editor.on('nodeChange mouseup', throttledTogglePanelWhenNotInForm); + editor.on('ResizeEditor ResizeWindow keyup', throttledTogglePanel); + editor.on('remove', panel.remove); + + editor.shortcuts.add('Alt+F10', '', panel.focus); + }; + + var overrideLinkShortcut = function (editor, panel) { + editor.shortcuts.remove('meta+k'); + editor.shortcuts.add('meta+k', '', function () { + var toolbars = getToolbars(editor); + var result = result = Matcher.match(editor, [ + SelectionMatcher.textSelection('quicklink') + ]); + + if (result) { + panel.show(editor, result.id, result.rect, toolbars); + } + }); + }; + + var renderInlineUI = function (editor, panel) { + SkinLoader.load(editor, function () { + bindContextualToolbarsEvents(editor, panel); + overrideLinkShortcut(editor, panel); + }); + + return {}; + }; + + var fail = function (message) { + throw new Error(message); + }; + + ThemeManager.add('inlite', function (editor) { + var panel = new Panel(); + + Buttons.addToEditor(editor, panel); + + var renderUI = function () { + return editor.inline ? renderInlineUI(editor, panel) : fail('inlite theme only supports inline mode.'); + }; + + return { + renderUI: renderUI + }; + }); + + return function() {}; +}); + +dem('tinymce/inlite/Theme')(); +})(); diff --git a/public/mosaico/dist/vendor/themes/inlite/theme.min.js b/public/mosaico/dist/vendor/themes/inlite/theme.min.js new file mode 100644 index 00000000..4e7e62e8 --- /dev/null +++ b/public/mosaico/dist/vendor/themes/inlite/theme.min.js @@ -0,0 +1 @@ +!function(){var e={},t=function(t){for(var n=e[t],i=n.deps,o=n.defn,a=i.length,s=new Array(a),l=0;l li",r(t,"UL")):"numlist"==e?n("ol > li",r(t,"OL")):t.settings.stateSelector?n(t.settings.stateSelector,i):t.settings.disabledStateSelector?n(t.settings.disabledStateSelector,o):null},o=function(e,t,n){return function(){var r=i(t,n);null!==r&&e.selection.selectorChanged(r.selector,r.handler)}},a=function(e){return n.isArray(e)?e:n.isString(e)?e.split(/[ ,]/):[]},s=function(n,r,i){var s,l=[];if(i)return e.each(a(i),function(e){var r;"|"==e?s=null:t.has(e)?(e={type:e},l.push(e),s=null):n.buttons[e]&&(s||(s={type:"buttongroup",items:[]},l.push(s)),r=e,e=n.buttons[r],"function"==typeof e&&(e=e()),e.type=e.type||"button",e=t.create(e),e.on("postRender",o(n,r,e)),s.items.push(e))}),t.create({type:"toolbar",layout:"flow",name:r,items:l})};return{create:s}}),s("o",tinymce.util.Promise),a("p",[],function(){var e=0,t=function(){var e=function(){return Math.round(4294967295*Math.random()).toString(36)};return"s"+Date.now().toString(36)+e()+e()+e()},n=function(n){return n+e++ +t()};return{uuid:n}}),a("u",[],function(){var e=function(e,t){function n(n){var i,o,a;o=t[n?"startContainer":"endContainer"],a=t[n?"startOffset":"endOffset"],1==o.nodeType&&(i=e.create("span",{"data-mce-type":"bookmark"}),o.hasChildNodes()?(a=Math.min(a,o.childNodes.length-1),n?o.insertBefore(i,o.childNodes[a]):e.insertAfter(i,o.childNodes[a])):o.appendChild(i),o=i,a=0),r[n?"startContainer":"endContainer"]=o,r[n?"startOffset":"endOffset"]=a}var r={};return n(!0),t.collapsed||n(),r},t=function(e,t){function n(n){function r(e){for(var t=e.parentNode.firstChild,n=0;t;){if(t==e)return n;1==t.nodeType&&"bookmark"==t.getAttribute("data-mce-type")||n++,t=t.nextSibling}return-1}var i,o,a;i=a=t[n?"startContainer":"endContainer"],o=t[n?"startOffset":"endOffset"],i&&(1==i.nodeType&&(o=r(i),i=i.parentNode,e.remove(a)),t[n?"startContainer":"endContainer"]=i,t[n?"startOffset":"endOffset"]=o)}n(!0),n();var r=e.createRng();return r.setStart(t.startContainer,t.startOffset),t.endContainer&&r.setEnd(t.endContainer,t.endOffset),r};return{create:e,resolve:t}}),s("v",tinymce.dom.TreeWalker),s("w",tinymce.dom.RangeUtils),a("q",["u","c","v","w"],function(e,t,n,r){var i=function(e,t,r){var i,o,a=[];for(i=new n(t,e),o=t;o&&(1===o.nodeType&&a.push(o),o!==r);o=i.next());return a},o=function(n,r){var i,o,a;o=n.dom,a=n.selection,i=e.create(o,a.getRng()),t.each(r,function(e){n.dom.remove(e,!0)}),a.setRng(e.resolve(o,i))},a=function(e){return"A"===e.nodeName&&e.hasAttribute("href")},s=function(e,t){var n=e.getParent(t,a);return n?n:t},l=function(e){var n,o,l,c,u,d,f;return u=e.selection,d=e.dom,f=u.getRng(),n=s(d,r.getNode(f.startContainer,f.startOffset)),o=r.getNode(f.endContainer,f.endOffset),l=e.getBody(),c=t.grep(i(l,n,o),a)},c=function(e){o(e,l(e))};return{unlinkSelection:c}}),a("m",["p","q"],function(e,t){var n=function(e,t){var n,r,i;for(i='',i+="",r=0;r",n=0;n
";i+=""}return i+="
",i+="
"},r=function(e){var t=e.dom.select("*[data-mce-id]");return t[0]},i=function(e,t,i){e.undoManager.transact(function(){var o,a;e.insertContent(n(t,i)),o=r(e),o.removeAttribute("data-mce-id"),a=e.dom.select("td,th",o),e.selection.setCursorLocation(a[0],0)})},o=function(e,t){e.execCommand("FormatBlock",!1,t)},a=function(t,n,r){var i,o;i=t.editorUpload.blobCache,o=i.create(e.uuid("mceu"),r,n),i.add(o),t.insertContent(t.dom.createHTML("img",{src:o.blobUri()}))},s=function(e){e.selection.collapse(!1)},l=function(e){e.focus(),t.unlinkSelection(e),s(e)},c=function(e,t,n){e.focus(),e.dom.setAttrib(t,"href",n),s(e)},u=function(e,t){e.execCommand("mceInsertLink",!1,{href:t}),s(e)},d=function(e,t){var n=e.dom.getParent(e.selection.getStart(),"a[href]");n?c(e,n,t):u(e,t)},f=function(e,t){0===t.trim().length?l(e):d(e,t)};return{insertTable:i,formatBlock:o,insertBlob:a,createLink:f,unlink:l}}),a("r",[],function(){var e=function(e){return/^www\.|\.(com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil)$/i.test(e.trim())},t=function(e){return/^https?:\/\//.test(e.trim())};return{isDomainLike:e,isAbsolute:t}}),a("g",["c","d","o","m","r"],function(e,t,n,r,i){var o=function(e){e.find("textbox").eq(0).each(function(e){e.focus()})},a=function(n,r){var i=t.create(e.extend({type:"form",layout:"flex",direction:"row",padding:5,name:n,spacing:3},r));return i.on("show",function(){o(i)}),i},s=function(e,t){return t?e.show():e.hide()},l=function(e,t){return new n(function(n){e.windowManager.confirm("The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(e){var r=e===!0?"http://"+t:t;n(r)})})},c=function(e,t){return!i.isAbsolute(t)&&i.isDomainLike(t)?l(e,t):n.resolve(t)},u=function(e,t){var n=function(){e.focus(),r.unlink(e),t()};return a("quicklink",{items:[{type:"button",name:"unlink",icon:"unlink",onclick:n,tooltip:"Remove link"},{type:"textbox",name:"linkurl",placeholder:"Paste or type a link"},{type:"button",icon:"checkmark",subtype:"primary",tooltip:"Ok",onclick:"submit"}],onshow:function(){var t,n="";t=e.dom.getParent(e.selection.getStart(),"a[href]"),t&&(n=e.dom.getAttrib(t,"href")),this.fromJSON({linkurl:n}),s(this.find("#unlink"),t)},onsubmit:function(n){c(e,n.data.linkurl).then(function(n){r.createLink(e,n),t()})}})};return{createQuickLinkForm:u}}),s("s",tinymce.geom.Rect),a("t",[],function(){var e=function(e){return{x:e.left,y:e.top,w:e.width,h:e.height}},t=function(e){return{left:e.x,top:e.y,width:e.w,height:e.h,right:e.x+e.w,bottom:e.y+e.h}};return{fromClientRect:e,toClientRect:t}}),a("h",["e","s","t"],function(e,t,n){var r=function(t){var n=e.getViewPort();return{x:t.x+n.x,y:t.y+n.y,w:t.w,h:t.h}},i=function(e){var t=e.getBoundingClientRect();return r({x:t.left,y:t.top,w:Math.max(e.clientWidth,e.offsetWidth),h:Math.max(e.clientHeight,e.offsetHeight)})},o=function(e,t){return i(t)},a=function(e){return i(e.getElement().ownerDocument.body)},s=function(e){return i(e.getContentAreaContainer()||e.getBody())},l=function(e){var t=e.selection.getBoundingClientRect();return t?r(n.fromClientRect(t)):null};return{getElementRect:o,getPageAreaRect:a,getContentAreaRect:s,getSelectionRect:l}}),a("i",["s","t"],function(e,t){var n=function(e,t){return{rect:e,position:t}},r=function(e,t){return{x:t.x,y:t.y,w:e.w,h:e.h}},i=function(t,i,o,a,s){var l,c,u;return l=e.findBestRelativePosition(s,o,a,t),o=e.clamp(o,a),l?(c=e.relativePosition(s,o,l),u=r(s,c),n(u,l)):(o=e.intersect(a,o),o?(l=e.findBestRelativePosition(s,o,a,i))?(c=e.relativePosition(s,o,l),u=r(s,c),n(u,l)):(u=r(s,o),n(u,l)):null)},o=function(e,t,n){return i(["cr-cl","cl-cr"],["bc-tc","bl-tl","br-tr"],e,t,n)},a=function(e,t,n){return i(["tc-bc","bc-tc","tl-bl","bl-tl","tr-br","br-tr"],["bc-tc","bl-tl","br-tr"],e,t,n)},s=function(e,n,r,i){var o;return"function"==typeof e?(o=e({elementRect:t.toClientRect(n),contentAreaRect:t.toClientRect(r),panelRect:t.toClientRect(i)}),t.fromClientRect(o)):i},l=function(e){return e.panelRect};return{calcInsert:o,calc:a,userConstrain:s,defaultHandler:l}}),a("a",["j"],function(e){var t=function(e,t){if(t(e))return!0;throw new Error("Default value doesn't match requested type.")},n=function(e){return function(n,r,i){var o=n.settings;return t(i,e),r in o&&e(o[r])?o[r]:i}},r=function(e,t){return e.split(t).filter(function(e){return e.length>0})},i=function(t,n){var i=function(e){return"string"==typeof e?r(e,/[ ,]/):e},o=function(e,t){return e===!1?[]:t};return e.isArray(t)?t:e.isString(t)?i(t):e.isBoolean(t)?o(t,n):n},o=function(e){return function(n,r,o){var a=r in n.settings?n.settings[r]:o;return t(o,e),i(a,o)}};return{getStringOr:n(e.isString),getBoolOr:n(e.isBoolean),getNumberOr:n(e.isNumber),getHandlerOr:n(e.isFunction),getToolbarItemsOr:o(e.isArray)}}),a("3",["c","d","e","f","g","h","i","a"],function(e,t,n,r,i,o,a,s){return function(){var l,c,u=["bold","italic","|","quicklink","h2","h3","blockquote"],d=["quickimage","quicktable"],f=function(t,n){return e.map(n,function(e){return r.create(t,e.id,e.items)})},h=function(e){return s.getToolbarItemsOr(e,"selection_toolbar",u)},p=function(e){return s.getToolbarItemsOr(e,"insert_toolbar",d)},m=function(e){return e.items().length>0},g=function(n,o){var a=f(n,o).concat([r.create(n,"text",h(n)),r.create(n,"insert",p(n)),i.createQuickLinkForm(n,_)]);return t.create({type:"floatpanel",role:"dialog",classes:"tinymce tinymce-inline arrow",ariaLabel:"Inline toolbar",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!0,border:1,items:e.grep(a,m),oncancel:function(){n.focus()}})},v=function(e){e&&e.show()},y=function(e,t){e.moveTo(t.x,t.y)},b=function(t,n){n=n?n.substr(0,2):"",e.each({t:"down",b:"up",c:"center"},function(e,r){t.classes.toggle("arrow-"+e,r===n.substr(0,1))}),"cr"===n?(t.classes.toggle("arrow-left",!0),t.classes.toggle("arrow-right",!1)):"cl"===n?(t.classes.toggle("arrow-left",!0),t.classes.toggle("arrow-right",!0)):e.each({l:"left",r:"right"},function(e,r){t.classes.toggle("arrow-"+e,r===n.substr(1,1))})},C=function(e,t){var n=e.items().filter("#"+t);return n.length>0&&(n[0].show(),e.reflow(),!0)},x=function(e,t,r,i){var l,u,d,f;return v(e),e.items().hide(),C(e,t)?(f=s.getHandlerOr(r,"inline_toolbar_position_handler",a.defaultHandler),l=o.getContentAreaRect(r),u=n.getRect(e.getEl()),d="insert"===t?a.calcInsert(i,l,u):a.calc(i,l,u),void(d?(u=d.rect,c=i,y(e,a.userConstrain(f,i,l,u)),b(e,d.position)):_(e))):void _(e)},w=function(){return l.items().filter("form:visible").length>0},N=function(e,t){if(l){if(l.items().hide(),!C(l,t))return void _(l);var r,i,u,d;v(l),l.items().hide(),C(l,t),d=s.getHandlerOr(e,"inline_toolbar_position_handler",a.defaultHandler),r=o.getContentAreaRect(e),i=n.getRect(l.getEl()),u=a.calc(c,r,i),u&&(i=u.rect,y(l,a.userConstrain(d,c,r,i)),b(l,u.position))}},E=function(e,t,n,r){l||(l=g(e,r),l.renderTo(document.body).reflow().moveTo(n.x,n.y),e.nodeChanged()),x(l,t,e,n)},_=function(){l&&l.hide()},S=function(){l&&l.find("toolbar:visible").eq(0).each(function(e){e.focus(!0)})},k=function(){l&&(l.remove(),l=null)},T=function(){return l&&l.visible()&&w()};return{show:E,showForm:N,inForm:T,hide:_,focus:S,remove:k}}}),a("k",["o"],function(e){var t=function(t){return new e(function(e){var n=new FileReader;n.onloadend=function(){e(n.result.split(",")[1])},n.readAsDataURL(t)})};return{blobToBase64:t}}),a("l",["o"],function(e){var t=function(){return new e(function(e){var t;t=document.createElement("input"),t.type="file",t.style.position="fixed",t.style.left=0,t.style.top=0,t.style.opacity=.001,document.body.appendChild(t),t.onchange=function(t){e(Array.prototype.slice.call(t.target.files))},t.click(),t.parentNode.removeChild(t)})};return{pickFile:t}}),a("4",["3","k","l","m"],function(e,t,n,r){var i=function(e){for(var t=function(t){return function(){r.formatBlock(e,t)}},n=1;n<6;n++){var i="h"+n;e.addButton(i,{text:i.toUpperCase(),tooltip:"Heading "+n,stateSelector:i,onclick:t(i),onPostRender:function(){var e=this.getEl().firstChild.firstChild;e.style.fontWeight="bold"}})}},o=function(e,o){e.addButton("quicklink",{icon:"link",tooltip:"Insert/Edit link",stateSelector:"a[href]",onclick:function(){o.showForm(e,"quicklink")}}),e.addButton("quickimage",{icon:"image",tooltip:"Insert image",onclick:function(){n.pickFile().then(function(n){var i=n[0];t.blobToBase64(i).then(function(t){r.insertBlob(e,t,i)})})}}),e.addButton("quicktable",{icon:"table",tooltip:"Insert table",onclick:function(){o.hide(),r.insertTable(e,2,2)}}),i(e)};return{addToEditor:o}}),s("n",tinymce.EditorManager),a("5",["n","e"],function(e,t){var n=function(e,t){var n=function(){e.fire("SkinLoaded"),t()};e.initialized?n():e.on("init",n)},r=function(t){var n=e.baseURL+"/skins/";return t?n+t:n+"lightgray"},i=function(e,t){return e.documentBaseURI.toAbsolute(t)},o=function(e,o){var a=e.settings,s=a.skin_url?i(e,a.skin_url):r(a.skin),l=function(){n(e,o)};t.styleSheetLoader.load(s+"/skin.min.css",l),e.contentCSS.push(s+"/content.inline.min.css")};return{load:o}}),a("8",[],function(){var e=function(e,t){return{id:e,rect:t}},t=function(e,t){for(var n=0;n li', setActiveItem("UL")); + } + + if (itemName == "numlist") { + selection.selectorChanged('ol > li', setActiveItem("OL")); + } + + if (item.settings.stateSelector) { + selection.selectorChanged(item.settings.stateSelector, function(state) { + item.active(state); + }, true); + } + + if (item.settings.disabledStateSelector) { + selection.selectorChanged(item.settings.disabledStateSelector, function(state) { + item.disabled(state); + }); + } + } + + if (item == "|") { + buttonGroup = null; + } else { + if (Factory.has(item)) { + item = {type: item, size: size}; + toolbarItems.push(item); + buttonGroup = null; + } else { + if (!buttonGroup) { + buttonGroup = {type: 'buttongroup', items: []}; + toolbarItems.push(buttonGroup); + } + + if (editor.buttons[item]) { + // TODO: Move control creation to some UI class + itemName = item; + item = editor.buttons[itemName]; + + if (typeof item == "function") { + item = item(); + } + + item.type = item.type || 'button'; + item.size = size; + + item = Factory.create(item); + buttonGroup.items.push(item); + + if (editor.initialized) { + bindSelectorChanged(); + } else { + editor.on('init', bindSelectorChanged); + } + } + } + } + }); + + return { + type: 'toolbar', + layout: 'flow', + items: toolbarItems + }; + } + + /** + * Creates the toolbars from config and returns a toolbar array. + * + * @param {String} size Optional toolbar item size. + * @return {Array} Array with toolbars. + */ + function createToolbars(size) { + var toolbars = []; + + function addToolbar(items) { + if (items) { + toolbars.push(createToolbar(items, size)); + return true; + } + } + + // Convert toolbar array to multiple options + if (tinymce.isArray(settings.toolbar)) { + // Empty toolbar array is the same as a disabled toolbar + if (settings.toolbar.length === 0) { + return; + } + + tinymce.each(settings.toolbar, function(toolbar, i) { + settings["toolbar" + (i + 1)] = toolbar; + }); + + delete settings.toolbar; + } + + // Generate toolbar + for (var i = 1; i < 10; i++) { + if (!addToolbar(settings["toolbar" + i])) { + break; + } + } + + // Generate toolbar or default toolbar unless it's disabled + if (!toolbars.length && settings.toolbar !== false) { + addToolbar(settings.toolbar || defaultToolbar); + } + + if (toolbars.length) { + return { + type: 'panel', + layout: 'stack', + classes: "toolbar-grp", + ariaRoot: true, + ariaRemember: true, + items: toolbars + }; + } + } + + /** + * Creates the menu buttons based on config. + * + * @return {Array} Menu buttons array. + */ + function createMenuButtons() { + var name, menuButtons = []; + + function createMenuItem(name) { + var menuItem; + + if (name == '|') { + return {text: '|'}; + } + + menuItem = editor.menuItems[name]; + + return menuItem; + } + + function createMenu(context) { + var menuButton, menu, menuItems, isUserDefined, removedMenuItems; + + removedMenuItems = tinymce.makeMap((settings.removed_menuitems || '').split(/[ ,]/)); + + // User defined menu + if (settings.menu) { + menu = settings.menu[context]; + isUserDefined = true; + } else { + menu = defaultMenus[context]; + } + + if (menu) { + menuButton = {text: menu.title}; + menuItems = []; + + // Default/user defined items + each((menu.items || '').split(/[ ,]/), function(item) { + var menuItem = createMenuItem(item); + + if (menuItem && !removedMenuItems[item]) { + menuItems.push(createMenuItem(item)); + } + }); + + // Added though context + if (!isUserDefined) { + each(editor.menuItems, function(menuItem) { + if (menuItem.context == context) { + if (menuItem.separator == 'before') { + menuItems.push({text: '|'}); + } + + if (menuItem.prependToContext) { + menuItems.unshift(menuItem); + } else { + menuItems.push(menuItem); + } + + if (menuItem.separator == 'after') { + menuItems.push({text: '|'}); + } + } + }); + } + + for (var i = 0; i < menuItems.length; i++) { + if (menuItems[i].text == '|') { + if (i === 0 || i == menuItems.length - 1) { + menuItems.splice(i, 1); + } + } + } + + menuButton.menu = menuItems; + + if (!menuButton.menu.length) { + return null; + } + } + + return menuButton; + } + + var defaultMenuBar = []; + if (settings.menu) { + for (name in settings.menu) { + defaultMenuBar.push(name); + } + } else { + for (name in defaultMenus) { + defaultMenuBar.push(name); + } + } + + var enabledMenuNames = typeof settings.menubar == "string" ? settings.menubar.split(/[ ,]/) : defaultMenuBar; + for (var i = 0; i < enabledMenuNames.length; i++) { + var menu = enabledMenuNames[i]; + menu = createMenu(menu); + + if (menu) { + menuButtons.push(menu); + } + } + + return menuButtons; + } + + /** + * Adds accessibility shortcut keys to panel. + * + * @param {tinymce.ui.Panel} panel Panel to add focus to. + */ + function addAccessibilityKeys(panel) { + function focus(type) { + var item = panel.find(type)[0]; + + if (item) { + item.focus(true); + } + } + + editor.shortcuts.add('Alt+F9', '', function() { + focus('menubar'); + }); + + editor.shortcuts.add('Alt+F10', '', function() { + focus('toolbar'); + }); + + editor.shortcuts.add('Alt+F11', '', function() { + focus('elementpath'); + }); + + panel.on('cancel', function() { + editor.focus(); + }); + } + + /** + * Resizes the editor to the specified width, height. + */ + function resizeTo(width, height) { + var containerElm, iframeElm, containerSize, iframeSize; + + function getSize(elm) { + return { + width: elm.clientWidth, + height: elm.clientHeight + }; + } + + containerElm = editor.getContainer(); + iframeElm = editor.getContentAreaContainer().firstChild; + containerSize = getSize(containerElm); + iframeSize = getSize(iframeElm); + + if (width !== null) { + width = Math.max(settings.min_width || 100, width); + width = Math.min(settings.max_width || 0xFFFF, width); + + DOM.setStyle(containerElm, 'width', width + (containerSize.width - iframeSize.width)); + DOM.setStyle(iframeElm, 'width', width); + } + + height = Math.max(settings.min_height || 100, height); + height = Math.min(settings.max_height || 0xFFFF, height); + DOM.setStyle(iframeElm, 'height', height); + + editor.fire('ResizeEditor'); + } + + function resizeBy(dw, dh) { + var elm = editor.getContentAreaContainer(); + self.resizeTo(elm.clientWidth + dw, elm.clientHeight + dh); + } + + /** + * Handles contextual toolbars. + */ + function addContextualToolbars() { + var scrollContainer; + + function getContextToolbars() { + return editor.contextToolbars || []; + } + + function getElementRect(elm) { + var pos, targetRect, root; + + pos = tinymce.DOM.getPos(editor.getContentAreaContainer()); + targetRect = editor.dom.getRect(elm); + root = editor.dom.getRoot(); + + // Adjust targetPos for scrolling in the editor + if (root.nodeName == 'BODY') { + targetRect.x -= root.ownerDocument.documentElement.scrollLeft || root.scrollLeft; + targetRect.y -= root.ownerDocument.documentElement.scrollTop || root.scrollTop; + } + + targetRect.x += pos.x; + targetRect.y += pos.y; + + return targetRect; + } + + function hideAllFloatingPanels() { + each(editor.contextToolbars, function(toolbar) { + if (toolbar.panel) { + toolbar.panel.hide(); + } + }); + } + + function togglePositionClass(panel, relPos, predicate) { + relPos = relPos ? relPos.substr(0, 2) : ''; + + each({ + t: 'down', + b: 'up' + }, function(cls, pos) { + panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(0, 1))); + }); + + each({ + l: 'left', + r: 'right' + }, function(cls, pos) { + panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(1, 1))); + }); + } + + function toClientRect(geomRect) { + return { + left: geomRect.x, + top: geomRect.y, + width: geomRect.w, + height: geomRect.h, + right: geomRect.x + geomRect.w, + bottom: geomRect.y + geomRect.h + }; + } + + function userConstrain(x, y, elementRect, contentAreaRect, panelRect) { + panelRect = toClientRect({x: x, y: y, w: panelRect.w, h: panelRect.h}); + + if (settings.inline_toolbar_position_handler) { + panelRect = settings.inline_toolbar_position_handler({ + elementRect: toClientRect(elementRect), + contentAreaRect: toClientRect(contentAreaRect), + panelRect: panelRect + }); + } + + return panelRect; + } + + function movePanelTo(panel, pos) { + panel.moveTo(pos.left, pos.top); + } + + function reposition(match) { + var relPos, panelRect, elementRect, contentAreaRect, panel, relRect, testPositions, smallElementWidthThreshold; + + if (editor.removed) { + return; + } + + if (!match || !match.toolbar.panel) { + hideAllFloatingPanels(); + return; + } + + testPositions = [ + 'bc-tc', 'tc-bc', + 'tl-bl', 'bl-tl', + 'tr-br', 'br-tr' + ]; + + panel = match.toolbar.panel; + panel.show(); + + elementRect = getElementRect(match.element); + panelRect = tinymce.DOM.getRect(panel.getEl()); + contentAreaRect = tinymce.DOM.getRect(editor.getContentAreaContainer() || editor.getBody()); + smallElementWidthThreshold = 25; + + // We need to use these instead of the rect values since the style + // size properites might not be the same as the real size for a table + elementRect.w = match.element.clientWidth; + elementRect.h = match.element.clientHeight; + + if (!editor.inline) { + contentAreaRect.w = editor.getDoc().documentElement.offsetWidth; + } + + // Inflate the elementRect so it doesn't get placed above resize handles + if (editor.selection.controlSelection.isResizable(match.element) && elementRect.w < smallElementWidthThreshold) { + elementRect = Rect.inflate(elementRect, 0, 8); + } + + relPos = Rect.findBestRelativePosition(panelRect, elementRect, contentAreaRect, testPositions); + elementRect = Rect.clamp(elementRect, contentAreaRect); + + if (relPos) { + relRect = Rect.relativePosition(panelRect, elementRect, relPos); + movePanelTo(panel, userConstrain(relRect.x, relRect.y, elementRect, contentAreaRect, panelRect)); + } else { + // Allow overflow below the editor to avoid placing toolbars ontop of tables + contentAreaRect.h += panelRect.h; + + elementRect = Rect.intersect(contentAreaRect, elementRect); + if (elementRect) { + relPos = Rect.findBestRelativePosition(panelRect, elementRect, contentAreaRect, [ + 'bc-tc', 'bl-tl', 'br-tr' + ]); + + if (relPos) { + relRect = Rect.relativePosition(panelRect, elementRect, relPos); + movePanelTo(panel, userConstrain(relRect.x, relRect.y, elementRect, contentAreaRect, panelRect)); + } else { + movePanelTo(panel, userConstrain(elementRect.x, elementRect.y, elementRect, contentAreaRect, panelRect)); + } + } else { + panel.hide(); + } + } + + togglePositionClass(panel, relPos, function(pos1, pos2) { + return pos1 === pos2; + }); + + //drawRect(contentAreaRect, 'blue'); + //drawRect(elementRect, 'red'); + //drawRect(panelRect, 'green'); + } + + function repositionHandler() { + function execute() { + if (editor.selection) { + reposition(findFrontMostMatch(editor.selection.getNode())); + } + } + + tinymce.util.Delay.requestAnimationFrame(execute); + } + + function bindScrollEvent() { + if (!scrollContainer) { + scrollContainer = editor.selection.getScrollContainer() || editor.getWin(); + tinymce.$(scrollContainer).on('scroll', repositionHandler); + + editor.on('remove', function() { + tinymce.$(scrollContainer).off('scroll'); + }); + } + } + + function showContextToolbar(match) { + var panel; + + if (match.toolbar.panel) { + match.toolbar.panel.show(); + reposition(match); + return; + } + + bindScrollEvent(); + + panel = Factory.create({ + type: 'floatpanel', + role: 'dialog', + classes: 'tinymce tinymce-inline arrow', + ariaLabel: 'Inline toolbar', + layout: 'flex', + direction: 'column', + align: 'stretch', + autohide: false, + autofix: true, + fixed: true, + border: 1, + items: createToolbar(match.toolbar.items), + oncancel: function() { + editor.focus(); + } + }); + + match.toolbar.panel = panel; + panel.renderTo(document.body).reflow(); + reposition(match); + } + + function hideAllContextToolbars() { + tinymce.each(getContextToolbars(), function(toolbar) { + if (toolbar.panel) { + toolbar.panel.hide(); + } + }); + } + + function findFrontMostMatch(targetElm) { + var i, y, parentsAndSelf, toolbars = getContextToolbars(); + + parentsAndSelf = editor.$(targetElm).parents().add(targetElm); + for (i = parentsAndSelf.length - 1; i >= 0; i--) { + for (y = toolbars.length - 1; y >= 0; y--) { + if (toolbars[y].predicate(parentsAndSelf[i])) { + return { + toolbar: toolbars[y], + element: parentsAndSelf[i] + }; + } + } + } + + return null; + } + + editor.on('click keyup setContent', function(e) { + // Only act on partial inserts + if (e.type == 'setcontent' && !e.selection) { + return; + } + + // Needs to be delayed to avoid Chrome img focus out bug + tinymce.util.Delay.setEditorTimeout(editor, function() { + var match; + + match = findFrontMostMatch(editor.selection.getNode()); + if (match) { + hideAllContextToolbars(); + showContextToolbar(match); + } else { + hideAllContextToolbars(); + } + }); + }); + + editor.on('blur hide', hideAllContextToolbars); + + editor.on('ObjectResizeStart', function() { + var match = findFrontMostMatch(editor.selection.getNode()); + + if (match && match.toolbar.panel) { + match.toolbar.panel.hide(); + } + }); + + editor.on('nodeChange ResizeEditor ResizeWindow', repositionHandler); + + editor.on('remove', function() { + tinymce.each(getContextToolbars(), function(toolbar) { + if (toolbar.panel) { + toolbar.panel.remove(); + } + }); + + editor.contextToolbars = {}; + }); + + editor.shortcuts.add('ctrl+shift+e > ctrl+shift+p', '', function() { + var match = findFrontMostMatch(editor.selection.getNode()); + if (match && match.toolbar.panel) { + match.toolbar.panel.items()[0].focus(); + } + }); + } + + function fireSkinLoaded(editor) { + return function() { + if (editor.initialized) { + editor.fire('SkinLoaded'); + } else { + editor.on('init', function() { + editor.fire('SkinLoaded'); + }); + } + }; + } + + /** + * Renders the inline editor UI. + * + * @return {Object} Name/value object with theme data. + */ + function renderInlineUI(args) { + var panel, inlineToolbarContainer; + + if (settings.fixed_toolbar_container) { + inlineToolbarContainer = DOM.select(settings.fixed_toolbar_container)[0]; + } + + function reposition() { + if (panel && panel.moveRel && panel.visible() && !panel._fixed) { + // TODO: This is kind of ugly and doesn't handle multiple scrollable elements + var scrollContainer = editor.selection.getScrollContainer(), body = editor.getBody(); + var deltaX = 0, deltaY = 0; + + if (scrollContainer) { + var bodyPos = DOM.getPos(body), scrollContainerPos = DOM.getPos(scrollContainer); + + deltaX = Math.max(0, scrollContainerPos.x - bodyPos.x); + deltaY = Math.max(0, scrollContainerPos.y - bodyPos.y); + } + + panel.fixed(false).moveRel(body, editor.rtl ? ['tr-br', 'br-tr'] : ['tl-bl', 'bl-tl', 'tr-br']).moveBy(deltaX, deltaY); + } + } + + function show() { + if (panel) { + panel.show(); + reposition(); + DOM.addClass(editor.getBody(), 'mce-edit-focus'); + } + } + + function hide() { + if (panel) { + // We require two events as the inline float panel based toolbar does not have autohide=true + panel.hide(); + + // All other autohidden float panels will be closed below. + FloatPanel.hideAll(); + + DOM.removeClass(editor.getBody(), 'mce-edit-focus'); + } + } + + function render() { + if (panel) { + if (!panel.visible()) { + show(); + } + + return; + } + + // Render a plain panel inside the inlineToolbarContainer if it's defined + panel = self.panel = Factory.create({ + type: inlineToolbarContainer ? 'panel' : 'floatpanel', + role: 'application', + classes: 'tinymce tinymce-inline', + layout: 'flex', + direction: 'column', + align: 'stretch', + autohide: false, + autofix: true, + fixed: !!inlineToolbarContainer, + border: 1, + items: [ + settings.menubar === false ? null : {type: 'menubar', border: '0 0 1 0', items: createMenuButtons()}, + createToolbars(settings.toolbar_items_size) + ] + }); + + // Add statusbar + /*if (settings.statusbar !== false) { + panel.add({type: 'panel', classes: 'statusbar', layout: 'flow', border: '1 0 0 0', items: [ + {type: 'elementpath'} + ]}); + }*/ + + editor.fire('BeforeRenderUI'); + panel.renderTo(inlineToolbarContainer || document.body).reflow(); + + addAccessibilityKeys(panel); + show(); + addContextualToolbars(); + + editor.on('nodeChange', reposition); + editor.on('activate', show); + editor.on('deactivate', hide); + + editor.nodeChanged(); + } + + settings.content_editable = true; + + editor.on('focus', function() { + // Render only when the CSS file has been loaded + if (args.skinUiCss) { + tinymce.DOM.styleSheetLoader.load(args.skinUiCss, render, render); + } else { + render(); + } + }); + + editor.on('blur hide', hide); + + // Remove the panel when the editor is removed + editor.on('remove', function() { + if (panel) { + panel.remove(); + panel = null; + } + }); + + // Preload skin css + if (args.skinUiCss) { + tinymce.DOM.styleSheetLoader.load(args.skinUiCss, fireSkinLoaded(editor)); + } + + return {}; + } + + /** + * Renders the iframe editor UI. + * + * @param {Object} args Details about target element etc. + * @return {Object} Name/value object with theme data. + */ + function renderIframeUI(args) { + var panel, resizeHandleCtrl, startSize; + + function switchMode() { + return function(e) { + if (e.mode == 'readonly') { + panel.find('*').disabled(true); + } else { + panel.find('*').disabled(false); + } + }; + } + + if (args.skinUiCss) { + tinymce.DOM.styleSheetLoader.load(args.skinUiCss, fireSkinLoaded(editor)); + } + + // Basic UI layout + panel = self.panel = Factory.create({ + type: 'panel', + role: 'application', + classes: 'tinymce', + style: 'visibility: hidden', + layout: 'stack', + border: 1, + items: [ + settings.menubar === false ? null : {type: 'menubar', border: '0 0 1 0', items: createMenuButtons()}, + createToolbars(settings.toolbar_items_size), + {type: 'panel', name: 'iframe', layout: 'stack', classes: 'edit-area', html: '', border: '1 0 0 0'} + ] + }); + + if (settings.resize !== false) { + resizeHandleCtrl = { + type: 'resizehandle', + direction: settings.resize, + + onResizeStart: function() { + var elm = editor.getContentAreaContainer().firstChild; + + startSize = { + width: elm.clientWidth, + height: elm.clientHeight + }; + }, + + onResize: function(e) { + if (settings.resize == 'both') { + resizeTo(startSize.width + e.deltaX, startSize.height + e.deltaY); + } else { + resizeTo(null, startSize.height + e.deltaY); + } + } + }; + } + + // Add statusbar if needed + if (settings.statusbar !== false) { + panel.add({type: 'panel', name: 'statusbar', classes: 'statusbar', layout: 'flow', border: '1 0 0 0', ariaRoot: true, items: [ + {type: 'elementpath', editor: editor}, + resizeHandleCtrl + ]}); + } + + editor.fire('BeforeRenderUI'); + editor.on('SwitchMode', switchMode()); + panel.renderBefore(args.targetNode).reflow(); + + if (settings.readonly) { + editor.setMode('readonly'); + } + + if (settings.width) { + tinymce.DOM.setStyle(panel.getEl(), 'width', settings.width); + } + + // Remove the panel when the editor is removed + editor.on('remove', function() { + panel.remove(); + panel = null; + }); + + // Add accesibility shortcuts + addAccessibilityKeys(panel); + addContextualToolbars(); + + return { + iframeContainer: panel.find('#iframe')[0].getEl(), + editorContainer: panel.getEl() + }; + } + + /** + * Renders the UI for the theme. This gets called by the editor. + * + * @param {Object} args Details about target element etc. + * @return {Object} Theme UI data items. + */ + self.renderUI = function(args) { + var skin = settings.skin !== false ? settings.skin || 'lightgray' : false; + + if (skin) { + var skinUrl = settings.skin_url; + + if (skinUrl) { + skinUrl = editor.documentBaseURI.toAbsolute(skinUrl); + } else { + skinUrl = tinymce.baseURL + '/skins/' + skin; + } + + // Load special skin for IE7 + // TODO: Remove this when we drop IE7 support + if (tinymce.Env.documentMode <= 7) { + args.skinUiCss = skinUrl + '/skin.ie7.min.css'; + } else { + args.skinUiCss = skinUrl + '/skin.min.css'; + } + + // Load content.min.css or content.inline.min.css + editor.contentCSS.push(skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css'); + } + + // Handle editor setProgressState change + editor.on('ProgressState', function(e) { + self.throbber = self.throbber || new tinymce.ui.Throbber(self.panel.getEl('body')); + + if (e.state) { + self.throbber.show(e.time); + } else { + self.throbber.hide(); + } + }); + + if (settings.inline) { + return renderInlineUI(args); + } + + return renderIframeUI(args); + }; + + self.resizeTo = resizeTo; + self.resizeBy = resizeBy; +}); diff --git a/public/mosaico/dist/vendor/themes/modern/theme.min.js b/public/mosaico/dist/vendor/themes/modern/theme.min.js new file mode 100644 index 00000000..4f274042 --- /dev/null +++ b/public/mosaico/dist/vendor/themes/modern/theme.min.js @@ -0,0 +1 @@ +tinymce.ThemeManager.add("modern",function(e){function t(t,n){var r,i=[];if(t)return p(t.split(/[ ,]/),function(t){function o(){function n(e){return function(n,r){for(var i,o=r.parents.length;o--&&(i=r.parents[o].nodeName,"OL"!=i&&"UL"!=i););t.active(n&&i==e)}}var r=e.selection;"bullist"==a&&r.selectorChanged("ul > li",n("UL")),"numlist"==a&&r.selectorChanged("ol > li",n("OL")),t.settings.stateSelector&&r.selectorChanged(t.settings.stateSelector,function(e){t.active(e)},!0),t.settings.disabledStateSelector&&r.selectorChanged(t.settings.disabledStateSelector,function(e){t.disabled(e)})}var a;"|"==t?r=null:h.has(t)?(t={type:t,size:n},i.push(t),r=null):(r||(r={type:"buttongroup",items:[]},i.push(r)),e.buttons[t]&&(a=t,t=e.buttons[a],"function"==typeof t&&(t=t()),t.type=t.type||"button",t.size=n,t=h.create(t),r.items.push(t),e.initialized?o():e.on("init",o)))}),{type:"toolbar",layout:"flow",items:i}}function n(e){function n(n){if(n)return r.push(t(n,e)),!0}var r=[];if(tinymce.isArray(f.toolbar)){if(0===f.toolbar.length)return;tinymce.each(f.toolbar,function(e,t){f["toolbar"+(t+1)]=e}),delete f.toolbar}for(var i=1;i<10&&n(f["toolbar"+i]);i++);if(r.length||f.toolbar===!1||n(f.toolbar||b),r.length)return{type:"panel",layout:"stack",classes:"toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:r}}function r(){function t(t){var n;return"|"==t?{text:"|"}:n=e.menuItems[t]}function n(n){var r,i,o,a,s;if(s=tinymce.makeMap((f.removed_menuitems||"").split(/[ ,]/)),f.menu?(i=f.menu[n],a=!0):i=y[n],i){r={text:i.title},o=[],p((i.items||"").split(/[ ,]/),function(e){var n=t(e);n&&!s[e]&&o.push(t(e))}),a||p(e.menuItems,function(e){e.context==n&&("before"==e.separator&&o.push({text:"|"}),e.prependToContext?o.unshift(e):o.push(e),"after"==e.separator&&o.push({text:"|"}))});for(var l=0;l=0;r--)for(i=a.length-1;i>=0;i--)if(a[i].predicate(o[r]))return{toolbar:a[i],element:o[r]};return null}var b;e.on("click keyup setContent",function(t){("setcontent"!=t.type||t.selection)&&tinymce.util.Delay.setEditorTimeout(e,function(){var t;t=y(e.selection.getNode()),t?(v(),m(t)):v()})}),e.on("blur hide",v),e.on("ObjectResizeStart",function(){var t=y(e.selection.getNode());t&&t.toolbar.panel&&t.toolbar.panel.hide()}),e.on("nodeChange ResizeEditor ResizeWindow",u),e.on("remove",function(){tinymce.each(n(),function(e){e.panel&&e.panel.remove()}),e.contextToolbars={}}),e.shortcuts.add("ctrl+shift+e > ctrl+shift+p","",function(){var t=y(e.selection.getNode());t&&t.toolbar.panel&&t.toolbar.panel.items()[0].focus()})}function l(e){return function(){e.initialized?e.fire("SkinLoaded"):e.on("init",function(){e.fire("SkinLoaded")})}}function c(t){function o(){if(p&&p.moveRel&&p.visible()&&!p._fixed){var t=e.selection.getScrollContainer(),n=e.getBody(),r=0,i=0;if(t){var o=m.getPos(n),a=m.getPos(t);r=Math.max(0,a.x-o.x),i=Math.max(0,a.y-o.y)}p.fixed(!1).moveRel(n,e.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl","tr-br"]).moveBy(r,i)}}function a(){p&&(p.show(),o(),m.addClass(e.getBody(),"mce-edit-focus"))}function c(){p&&(p.hide(),v.hideAll(),m.removeClass(e.getBody(),"mce-edit-focus"))}function u(){return p?void(p.visible()||a()):(p=d.panel=h.create({type:g?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!!g,border:1,items:[f.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:r()},n(f.toolbar_items_size)]}),e.fire("BeforeRenderUI"),p.renderTo(g||document.body).reflow(),i(p),a(),s(),e.on("nodeChange",o),e.on("activate",a),e.on("deactivate",c),void e.nodeChanged())}var p,g;return f.fixed_toolbar_container&&(g=m.select(f.fixed_toolbar_container)[0]),f.content_editable=!0,e.on("focus",function(){t.skinUiCss?tinymce.DOM.styleSheetLoader.load(t.skinUiCss,u,u):u()}),e.on("blur hide",c),e.on("remove",function(){p&&(p.remove(),p=null)}),t.skinUiCss&&tinymce.DOM.styleSheetLoader.load(t.skinUiCss,l(e)),{}}function u(t){function a(){return function(e){"readonly"==e.mode?c.find("*").disabled(!0):c.find("*").disabled(!1)}}var c,u,p;return t.skinUiCss&&tinymce.DOM.styleSheetLoader.load(t.skinUiCss,l(e)),c=d.panel=h.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[f.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:r()},n(f.toolbar_items_size),{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",html:"",border:"1 0 0 0"}]}),f.resize!==!1&&(u={type:"resizehandle",direction:f.resize,onResizeStart:function(){var t=e.getContentAreaContainer().firstChild;p={width:t.clientWidth,height:t.clientHeight}},onResize:function(e){"both"==f.resize?o(p.width+e.deltaX,p.height+e.deltaY):o(null,p.height+e.deltaY)}}),f.statusbar!==!1&&c.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath",editor:e},u]}),e.fire("BeforeRenderUI"),e.on("SwitchMode",a()),c.renderBefore(t.targetNode).reflow(),f.readonly&&e.setMode("readonly"),f.width&&tinymce.DOM.setStyle(c.getEl(),"width",f.width),e.on("remove",function(){c.remove(),c=null}),i(c),s(),{iframeContainer:c.find("#iframe")[0].getEl(),editorContainer:c.getEl()}}var d=this,f=e.settings,h=tinymce.ui.Factory,p=tinymce.each,m=tinymce.DOM,g=tinymce.geom.Rect,v=tinymce.ui.FloatPanel,y={file:{title:"File",items:"newdocument"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall"},insert:{title:"Insert",items:"|"},view:{title:"View",items:"visualaid |"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript | formats | removeformat"},table:{title:"Table"},tools:{title:"Tools"}},b="undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image";d.renderUI=function(t){var n=f.skin!==!1&&(f.skin||"lightgray");if(n){var r=f.skin_url;r=r?e.documentBaseURI.toAbsolute(r):tinymce.baseURL+"/skins/"+n,tinymce.Env.documentMode<=7?t.skinUiCss=r+"/skin.ie7.min.css":t.skinUiCss=r+"/skin.min.css",e.contentCSS.push(r+"/content"+(e.inline?".inline":"")+".min.css")}return e.on("ProgressState",function(e){d.throbber=d.throbber||new tinymce.ui.Throbber(d.panel.getEl("body")),e.state?d.throbber.show(e.time):d.throbber.hide()}),f.inline?c(t):u(t)},d.resizeTo=o,d.resizeBy=a}); \ No newline at end of file diff --git a/public/mosaico/dist/vendor/tinymce.min.js b/public/mosaico/dist/vendor/tinymce.min.js new file mode 100644 index 00000000..f0c5b898 --- /dev/null +++ b/public/mosaico/dist/vendor/tinymce.min.js @@ -0,0 +1,14 @@ +// 4.4.3 (2016-09-01) +!function(e,t){"use strict";function n(e,t){for(var n,r=[],i=0;i=r.x&&o.x+o.w<=r.w+r.x&&o.y>=r.y&&o.y+o.h<=r.h+r.y)return i[a];return null}function n(e,t,n){return o(e.x-t,e.y-n,e.w+2*t,e.h+2*n)}function r(e,t){var n,r,i,a;return n=l(e.x,t.x),r=l(e.y,t.y),i=s(e.x+e.w,t.x+t.w),a=s(e.y+e.h,t.y+t.h),i-n<0||a-r<0?null:o(n,r,i-n,a-r)}function i(e,t,n){var r,i,a,s,c,u,d,f,h,p;return c=e.x,u=e.y,d=e.x+e.w,f=e.y+e.h,h=t.x+t.w,p=t.y+t.h,r=l(0,t.x-c),i=l(0,t.y-u),a=l(0,d-h),s=l(0,f-p),c+=r,u+=i,n&&(d+=r,f+=i,c-=a,u-=s),d-=a,f-=s,o(c,u,d-c,f-u)}function o(e,t,n,r){return{x:e,y:t,w:n,h:r}}function a(e){return o(e.left,e.top,e.width,e.height)}var s=Math.min,l=Math.max,c=Math.round;return{inflate:n,relativePosition:e,findBestRelativePosition:t,intersect:r,clamp:i,create:o,fromClientRect:a}}),r(c,[],function(){function e(e,t){return function(){e.apply(t,arguments)}}function t(t){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],s(t,e(r,this),e(i,this))}function n(e){var t=this;return null===this._state?void this._deferreds.push(e):void l(function(){var n=t._state?e.onFulfilled:e.onRejected;if(null===n)return void(t._state?e.resolve:e.reject)(t._value);var r;try{r=n(t._value)}catch(t){return void e.reject(t)}e.resolve(r)})}function r(t){try{if(t===this)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if("function"==typeof n)return void s(e(n,t),e(r,this),e(i,this))}this._state=!0,this._value=t,o.call(this)}catch(e){i.call(this,e)}}function i(e){this._state=!1,this._value=e,o.call(this)}function o(){for(var e=0,t=this._deferreds.length;e=534;return{opera:r,webkit:i,ie:o,gecko:l,mac:c,iOS:u,android:d,contentEditable:g,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=o,range:window.getSelection&&"Range"in window,documentMode:o&&!s?document.documentMode||7:10,fileApi:f,ceFalse:o===!1||o>8,canHaveCSP:o===!1||o>11,desktop:!h&&!p,windowsPhone:m}}),r(f,[u,d],function(e,t){function n(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)}function r(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)}function i(e,t){var n,r=t;return n=e.path,n&&n.length>0&&(r=n[0]),e.deepPath&&(n=e.deepPath(),n&&n.length>0&&(r=n[0])),r}function o(e,n){function r(){return!1}function o(){return!0}var a,s=n||{},l;for(a in e)u[a]||(s[a]=e[a]);if(s.target||(s.target=s.srcElement||document),t.experimentalShadowDom&&(s.target=i(e,s.target)),e&&c.test(e.type)&&e.pageX===l&&e.clientX!==l){var d=s.target.ownerDocument||document,f=d.documentElement,h=d.body;s.pageX=e.clientX+(f&&f.scrollLeft||h&&h.scrollLeft||0)-(f&&f.clientLeft||h&&h.clientLeft||0),s.pageY=e.clientY+(f&&f.scrollTop||h&&h.scrollTop||0)-(f&&f.clientTop||h&&h.clientTop||0)}return s.preventDefault=function(){s.isDefaultPrevented=o,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},s.stopPropagation=function(){s.isPropagationStopped=o,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},s.stopImmediatePropagation=function(){s.isImmediatePropagationStopped=o,s.stopPropagation()},s.isDefaultPrevented||(s.isDefaultPrevented=r,s.isPropagationStopped=r,s.isImmediatePropagationStopped=r),"undefined"==typeof s.metaKey&&(s.metaKey=!1),s}function a(t,i,o){function a(){o.domLoaded||(o.domLoaded=!0,i(u))}function s(){("complete"===c.readyState||"interactive"===c.readyState&&c.body)&&(r(c,"readystatechange",s),a())}function l(){try{c.documentElement.doScroll("left")}catch(t){return void e.setTimeout(l)}a()}var c=t.document,u={type:"ready"};return o.domLoaded?void i(u):(c.addEventListener?"complete"===c.readyState?a():n(t,"DOMContentLoaded",a):(n(c,"readystatechange",s),c.documentElement.doScroll&&t.self===t.top&&l()),void n(t,"load",a))}function s(){function e(e,t){var n,r,o,a,s=i[t];if(n=s&&s[e.type])for(r=0,o=n.length;rw.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[F]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||X)-(~e.sourceIndex||X);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function u(e){return e&&typeof e.getElementsByTagName!==Y&&e}function d(){}function f(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(t,n,r){for(var i=0,o=n.length;i-1&&(r[c]=!(a[c]=d))}}else b=g(b===a?b.splice(p,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function y(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[" "],s=o?1:0,l=h(function(e){return e===t},a,!0),c=h(function(e){return te.call(t,e)>-1},a,!0),u=[function(e,n,r){return!o&&(r||n!==T)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];s1&&p(u),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,o=t.length>0,a=function(r,a,s,l,c){var u,d,f,h=0,p="0",m=r&&[],v=[],y=T,b=r||o&&w.find.TAG("*",c),C=U+=null==y?1:Math.random()||.1,x=b.length;for(c&&(T=a!==D&&a);p!==x&&null!=(u=b[p]);p++){if(o&&u){for(d=0;f=t[d++];)if(f(u,a,s)){l.push(u);break}c&&(U=C)}i&&((u=!f&&u)&&h--,r&&m.push(u))}if(h+=p,i&&p!==h){for(d=0;f=n[d++];)f(m,v,a,s);if(r){if(h>0)for(;p--;)m[p]||v[p]||(v[p]=J.call(l));v=g(v)}Z.apply(l,v),c&&!r&&v.length>0&&h+n.length>1&&e.uniqueSort(l)}return c&&(U=C,T=y),m};return i?r(a):a}var C,x,w,N,E,_,S,k,T,R,A,B,D,L,M,P,O,H,I,F="sizzle"+-new Date,z=window.document,U=0,W=0,V=n(),$=n(),q=n(),j=function(e,t){return e===t&&(A=!0),0},Y=typeof t,X=1<<31,K={}.hasOwnProperty,G=[],J=G.pop,Q=G.push,Z=G.push,ee=G.slice,te=G.indexOf||function(e){for(var t=0,n=this.length;t+~]|"+re+")"+re+"*"),ue=new RegExp("="+re+"*([^\\]'\"]*?)"+re+"*\\]","g"),de=new RegExp(ae),fe=new RegExp("^"+ie+"$"),he={ID:new RegExp("^#("+ie+")"),CLASS:new RegExp("^\\.("+ie+")"),TAG:new RegExp("^("+ie+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+ne+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},pe=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=/'|\\/g,Ce=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),xe=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{Z.apply(G=ee.call(z.childNodes),z.childNodes),G[z.childNodes.length].nodeType}catch(e){Z={apply:G.length?function(e,t){Q.apply(e,ee.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}x=e.support={},E=e.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},B=e.setDocument=function(e){function t(e){try{return e.top}catch(e){}return null}var n,r=e?e.ownerDocument||e:z,o=r.defaultView;return r!==D&&9===r.nodeType&&r.documentElement?(D=r,L=r.documentElement,M=!E(r),o&&o!==t(o)&&(o.addEventListener?o.addEventListener("unload",function(){B()},!1):o.attachEvent&&o.attachEvent("onunload",function(){B()})),x.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=i(function(e){return e.appendChild(r.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=ge.test(r.getElementsByClassName),x.getById=i(function(e){return L.appendChild(e).id=F,!r.getElementsByName||!r.getElementsByName(F).length}),x.getById?(w.find.ID=function(e,t){if(typeof t.getElementById!==Y&&M){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){return e.getAttribute("id")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),w.find.TAG=x.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==Y)return t.getElementsByTagName(e)}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=x.getElementsByClassName&&function(e,t){if(M)return t.getElementsByClassName(e)},O=[],P=[],(x.qsa=ge.test(r.querySelectorAll))&&(i(function(e){e.innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&P.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||P.push("\\["+re+"*(?:value|"+ne+")"),e.querySelectorAll(":checked").length||P.push(":checked")}),i(function(e){var t=r.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&P.push("name"+re+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||P.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),P.push(",.*:")})),(x.matchesSelector=ge.test(H=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){x.disconnectedMatch=H.call(e,"div"),H.call(e,"[s!='']:x"),O.push("!=",ae)}),P=P.length&&new RegExp(P.join("|")),O=O.length&&new RegExp(O.join("|")),n=ge.test(L.compareDocumentPosition),I=n||ge.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=n?function(e,t){if(e===t)return A=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!x.sortDetached&&t.compareDocumentPosition(e)===n?e===r||e.ownerDocument===z&&I(z,e)?-1:t===r||t.ownerDocument===z&&I(z,t)?1:R?te.call(R,e)-te.call(R,t):0:4&n?-1:1)}:function(e,t){if(e===t)return A=!0,0;var n,i=0,o=e.parentNode,s=t.parentNode,l=[e],c=[t];if(!o||!s)return e===r?-1:t===r?1:o?-1:s?1:R?te.call(R,e)-te.call(R,t):0;if(o===s)return a(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;l[i]===c[i];)i++;return i?a(l[i],c[i]):l[i]===z?-1:c[i]===z?1:0},r):D},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==D&&B(t),n=n.replace(ue,"='$1']"),x.matchesSelector&&M&&(!O||!O.test(n))&&(!P||!P.test(n)))try{var r=H.call(t,n);if(r||x.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(e){}return e(n,D,null,[t]).length>0},e.contains=function(e,t){return(e.ownerDocument||e)!==D&&B(e),I(e,t)},e.attr=function(e,n){(e.ownerDocument||e)!==D&&B(e);var r=w.attrHandle[n.toLowerCase()],i=r&&K.call(w.attrHandle,n.toLowerCase())?r(e,n,!M):t;return i!==t?i:x.attributes||!M?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null},e.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},e.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!x.detectDuplicates,R=!x.sortStable&&e.slice(0),e.sort(j),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return R=null,e},N=e.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=N(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=N(t);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Ce,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(Ce,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=_(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ce,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=V[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&V(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,h,p,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;p=m="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?g.firstChild:g.lastChild],a&&y){for(u=g[F]||(g[F]={}),c=u[e]||[],h=c[0]===U&&c[1],f=c[0]===U&&c[2],d=h&&g.childNodes[h];d=++h&&d&&d[m]||(f=h=0)||p.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[U,h,f];break}}else if(y&&(c=(t[F]||(t[F]={}))[e])&&c[0]===U)f=c[1];else for(;(d=++h&&d&&d[m]||(f=h=0)||p.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[U,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=te.call(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=S(e.replace(se,"$1"));return i[F]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(e){return e=e.replace(Ce,xe),function(t){return(t.textContent||t.innerText||N(t)).indexOf(e)>-1}}),lang:r(function(t){return fe.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Ce,xe).toLowerCase(),function(e){var n;do if(n=M?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return pe.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(a=o[0]).type&&x.getById&&9===t.nodeType&&M&&w.relative[o[1].type]){if(t=(w.find.ID(a.matches[0].replace(Ce,xe),t)||[])[0], +!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=he.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((l=w.find[s])&&(r=l(a.matches[0].replace(Ce,xe),ye.test(o[0].type)&&u(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&f(o),!e)return Z.apply(n,r),n;break}}return(c||S(e,d))(r,t,!M,n,ye.test(e)&&u(t.parentNode)||t),n},x.sortStable=F.split("").sort(j).join("")===F,x.detectDuplicates=!!A,B(),x.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("div"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(ne,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),e}),r(p,[],function(){function e(e){var t=e,n,r;if(!u(e))for(t=[],n=0,r=e.length;n=0;i--)c(e,t[i],n,r);else for(i=0;i)[^>]*$|#([\w\-]*)$)/,S=e.Event,k,T=r.makeMap("children,contents,next,prev"),R=r.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),A=r.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),B={for:"htmlFor",class:"className",readonly:"readOnly"},D={float:"cssFloat"},L={},M={},P=/^\s*|\s*$/g;return f.fn=f.prototype={constructor:f,selector:"",context:null,length:0,init:function(e,t){var n=this,r,i;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(t&&t.nodeType)n.context=t;else{if(t)return f(e).attr(t);n.context=t=document}if(a(e)){if(n.selector=e,r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:_.exec(e),!r)return f(t).find(e);if(r[1])for(i=l(e,v(t)).firstChild;i;)N.call(n,i),i=i.nextSibling;else{if(i=v(t).getElementById(r[2]),!i)return n;if(i.id!==r[2])return n.find(e);n.length=1,n[0]=i}}else this.add(e,!1);return n},toArray:function(){return r.toArray(this)},add:function(e,t){var n=this,r,i;if(a(e))return n.add(f(e));if(t!==!1)for(r=f.unique(n.toArray().concat(f.makeArray(e))),n.length=r.length,i=0;i1&&(T[e]||(i=f.unique(i)),0===e.indexOf("parents")&&(i=i.reverse())),i=f(i),n?i.filter(n):i}}),m({parentsUntil:function(e,t){return y(e,"parentNode",t)},nextUntil:function(e,t){return b(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return b(e,"previousSibling",1,t).slice(1)}},function(e,t){f.fn[e]=function(n,r){var i=this,o=[];return i.each(function(){var e=t.call(o,this,n,o);e&&(f.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=f.unique(o),0!==e.indexOf("parents")&&"prevUntil"!==e||(o=o.reverse())),o=f(o),r?o.filter(r):o}}),f.fn.is=function(e){return!!e&&this.filter(e).length>0},f.fn.init.prototype=f.fn,f.overrideDefaults=function(e){function t(r,i){return n=n||e(),0===arguments.length&&(r=n.element),i||(i=n.context),new t.fn.init(r,i)}var n;return f.extend(t,this),t},i.ie&&i.ie<8&&(x(L,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?k:t},size:function(e){var t=e.size;return 20===t?k:t},class:function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?k:t}}),x(L,"set",{class:function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),i.ie&&i.ie<9&&(D.float="styleFloat",x(M,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),f.attrHooks=L,f.cssHooks=M,f}),r(v,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+i(t)+i(n)+i(r)}var r=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,s,l,c={},u,d,f,h="\ufeff";for(e=e||{},t&&(d=t.getValidStyles(),f=t.getInvalidStyles()),u=("\\\" \\' \\; \\: ; : "+h).split(" "),l=0;l-1&&n||(m[e+t]=l==-1?s[0]:s.join(" "),delete m[e+"-top"+t],delete m[e+"-right"+t],delete m[e+"-bottom"+t],delete m[e+"-left"+t])}}function u(e){var t=m[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return m[e]=t[0],!0}}function d(e,t,n,r){u(t)&&u(n)&&u(r)&&(m[e]=m[t]+" "+m[n]+" "+m[r],delete m[t],delete m[n],delete m[r])}function f(e){return b=!0,c[e]}function h(e,t){return b&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return c[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e}function p(t,n,r,i,o,a){if(o=o||a)return o=h(o),"'"+o.replace(/\'/g,"\\'")+"'";if(n=h(n||r||i),!e.allow_script_urls){var s=n.replace(/[\s\r\n]+/,"");if(/(java|vb)script:/i.test(s))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(s))return""}return C&&(n=C.call(x,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"}var m={},g,v,y,b,C=e.url_converter,x=e.url_converter_scope||this;if(t){for(t=t.replace(/[\u0000-\u001F]/g,""),t=t.replace(/\\[\"\';:\uFEFF]/g,f).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,f)});g=o.exec(t);){if(v=g[1].replace(a,"").toLowerCase(),y=g[2].replace(a,""),y=y.replace(/\\[0-9a-f]+/g,function(e){return String.fromCharCode(parseInt(e.substr(1),16))}),v&&y.length>0){if(!e.allow_script_urls&&("behavior"==v||/expression\s*\(|\/\*|\*\//.test(y)))continue;"font-weight"===v&&"700"===y?y="bold":"color"!==v&&"background-color"!==v||(y=y.toLowerCase()),y=y.replace(r,n),y=y.replace(i,p),m[v]=b?h(y,!0):y}o.lastIndex=g.index+g[0].length}s("border","",!0),s("border","-width"),s("border","-color"),s("border","-style"),s("padding",""),s("margin",""),d("border","border-width","border-style","border-color"),"medium none"===m.border&&delete m.border,"none"===m["border-image"]&&delete m["border-image"]}return m},serialize:function(e,t){function n(t){var n,r,o,a;if(n=d[t])for(r=0,o=n.length;r0&&(i+=(i.length>0?" ":"")+t+": "+a+";")}function r(e,t){var n;return n=f["*"],(!n||!n[e])&&(n=f[t],!n||!n[e])}var i="",o,a;if(t&&d)n("*"),n(t);else for(o in e)a=e[o],a!==s&&a.length>0&&(f&&!r(o,t)||(i+=(i.length>0?" ":"")+o+": "+a+";"));return i}}}}),r(y,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}function r(e,n,r,i){var o,a,s;if(e){if(o=e[r],t&&o===t)return;if(o){if(!i)for(s=o[n];s;s=s[n])if(!s[n])return s;return o}if(a=e.parentNode,a&&a!==t)return a}}var i=e;this.current=function(){return i},this.next=function(e){return i=n(i,"firstChild","nextSibling",e)},this.prev=function(e){return i=n(i,"lastChild","previousSibling",e)},this.prev2=function(e){return i=r(i,"lastChild","previousSibling",e)}}}),r(b,[m],function(e){function t(n){function r(){return P.createDocumentFragment()}function i(e,t){N(F,e,t)}function o(e,t){N(z,e,t)}function a(e){i(e.parentNode,j(e))}function s(e){i(e.parentNode,j(e)+1)}function l(e){o(e.parentNode,j(e))}function c(e){o(e.parentNode,j(e)+1)}function u(e){e?(M[V]=M[W],M[$]=M[U]):(M[W]=M[V],M[U]=M[$]),M.collapsed=F}function d(e){a(e),c(e)}function f(e){i(e,0),o(e,1===e.nodeType?e.childNodes.length:e.nodeValue.length)}function h(e,t){var n=M[W],r=M[U],i=M[V],o=M[$],a=t.startContainer,s=t.startOffset,l=t.endContainer,c=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,c):3===e?w(n,r,l,c):void 0}function p(){E(I)}function m(){return E(O)}function g(){return E(H)}function v(e){var t=this[W],r=this[U],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=M.extractContents();M.insertNode(e),e.appendChild(t),M.selectNode(e)}function b(){return q(new t(n),{startContainer:M[W],startOffset:M[U],endContainer:M[V],endOffset:M[$],collapsed:M.collapsed,commonAncestorContainer:M.commonAncestorContainer})}function C(e,t){var n;if(3==e.nodeType)return e;if(t<0)return e;for(n=e.firstChild;n&&t>0;)--t,n=n.nextSibling;return n?n:e}function x(){return M[W]==M[V]&&M[U]==M[$]}function w(e,t,r,i){var o,a,s,l,c,u;if(e==r)return t==i?0:t0&&M.collapse(e):M.collapse(e),M.collapsed=x(),M.commonAncestorContainer=n.findCommonAncestor(M[W],M[V])}function E(e){var t,n=0,r=0,i,o,a,s,l,c;if(M[W]==M[V])return _(e);for(t=M[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[W])return S(t,e);++n}for(t=M[W],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[V])return k(t,e);++r}for(o=r-n,a=M[W];o>0;)a=a.parentNode,o--;for(s=M[V];o<0;)s=s.parentNode,o++;for(l=a.parentNode,c=s.parentNode;l!=c;l=l.parentNode,c=c.parentNode)a=l,s=c;return T(a,s,e)}function _(e){var t,n,i,o,a,s,l,c,u;if(e!=I&&(t=r()),M[U]==M[$])return t;if(3==M[W].nodeType){if(n=M[W].nodeValue,i=n.substring(M[U],M[$]),e!=H&&(o=M[W],c=M[U],u=M[$]-M[U],0===c&&u>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(c,u),M.collapse(F)),e==I)return;return i.length>0&&t.appendChild(P.createTextNode(i)),t}for(o=C(M[W],M[U]),a=M[$]-M[U];o&&a>0;)s=o.nextSibling,l=D(o,e),t&&t.appendChild(l),--a,o=s;return e!=H&&M.collapse(F),t}function S(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-M[U],a<=0)return t!=H&&(M.setEndBefore(e),M.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=D(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=H&&(M.setEndBefore(e),M.collapse(z)),n}function k(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=M[$]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=D(o,t),n&&n.appendChild(l),--a,o=s;return t!=H&&(M.setStartAfter(e),M.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,c,u;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,c=e.nextSibling;l>0;)u=c.nextSibling,i=D(c,n),o&&o.appendChild(i),c=u,--l;return i=R(t,n),o&&o.appendChild(i),n!=H&&(M.setStartAfter(e),M.collapse(F)),o}function R(e,t){var n=C(M[V],M[$]-1),r,i,o,a,s,l=n!=M[V];if(n==e)return B(n,l,z,t);for(r=n.parentNode,i=B(r,z,z,t);r;){for(;n;)o=n.previousSibling,a=B(n,l,z,t),t!=I&&i.insertBefore(a,i.firstChild),l=F,n=o;if(r==e)return i;n=r.previousSibling,r=r.parentNode,s=B(r,z,z,t),t!=I&&s.appendChild(i),i=s}}function A(e,t){var n=C(M[W],M[U]),r=n!=M[W],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,c;if(t)return D(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=M[U],a=o.substring(l),s=o.substring(0,l)):(l=M[$],a=o.substring(0,l),s=o.substring(l)),i!=H&&(e.nodeValue=s),i==I)return;return c=n.clone(e,z),c.nodeValue=a,c}if(i!=I)return n.clone(e,z)}function D(e,t){return t!=I?t==H?n.clone(e,F):e:void e.parentNode.removeChild(e)}function L(){return n.create("body",null,g()).outerText}var M=this,P=n.doc,O=0,H=1,I=2,F=!0,z=!1,U="startOffset",W="startContainer",V="endContainer",$="endOffset",q=e.extend,j=n.nodeIndex;return q(M,{startContainer:P,startOffset:0,endContainer:P,endOffset:0,collapsed:F,commonAncestorContainer:P,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:c,collapse:u,selectNode:d,selectNodeContents:f,compareBoundaryPoints:h,deleteContents:p,extractContents:m,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:L}),M}return t.prototype.toString=function(){return this.toStringIE()},t}),r(C,[m],function(e){function t(e){var t;return t=document.createElement("div"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(","),t=t||10,n=0;n\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[<>&\"\']/g,u=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,d={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};o={'"':""","'":"'","<":"<",">":">","&":"&","`":"`"},a={"<":"<",">":">","&":"&",""":'"',"'":"'"},i=n("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(""+e).replace(c,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":o[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||"&#"+e.charCodeAt(0)+";"||e})}function c(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\+/g,",")),e.named&&e.numeric?a:e.named?t?c:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(u,function(e,n){return n?(n="x"===n.charAt(0).toLowerCase()?parseInt(n.substr(1),16):parseInt(n,10),n>65535?(n-=65536,String.fromCharCode(55296+(n>>10),56320+(1023&n))):d[n]||String.fromCharCode(n)):a[e]||i[e]||t(e)})}};return f}),r(x,[m,u],function(e,t){return function(n,r){function i(e){n.getElementsByTagName("head")[0].appendChild(e)}function o(r,o,c){function u(){for(var e=b.passed,t=e.length;t--;)e[t]();b.status=2,b.passed=[],b.failed=[]}function d(){for(var e=b.failed,t=e.length;t--;)e[t]();b.status=3,b.passed=[],b.failed=[]}function f(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function h(e,n){e()||((new Date).getTime()-y0)return v=n.createElement("style"),v.textContent='@import "'+r+'"',m(),void i(v);p()}i(g),g.href=r}}var a=0,s={},l;r=r||{},l=r.maxLoadTime||5e3,this.load=o}}),r(w,[h,g,v,f,y,b,C,d,m,x],function(e,n,r,i,o,a,s,l,c,u){function d(e,t){var n={},r=t.keep_values,i;return i={set:function(n,r,i){t.url_converter&&(r=t.url_converter.call(t.url_converter_scope||e,r,i,n[0])),n.attr("data-mce-"+i,r).attr(i,r)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}},n={style:{set:function(e,t){return null!==t&&"object"==typeof t?void e.css(t):(r&&e.attr("data-mce-style",t),void e.attr("style",t))},get:function(t){var n=t.attr("data-mce-style")||t.attr("style");return n=e.serializeStyle(e.parseStyle(n),t[0].nodeName)}}},r&&(n.href=n.src=i),n}function f(e,t){var n=t.attr("style");n=e.serializeStyle(e.parseStyle(n),t[0].nodeName),n||(n=null),t.attr("data-mce-style",n)}function h(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n}function p(e,t){var o=this,a;o.doc=e,o.win=window,o.files={},o.counter=0,o.stdMode=!b||e.documentMode>=8,o.boxModel=!b||"CSS1Compat"==e.compatMode||o.stdMode,o.styleSheetLoader=new u(e),o.boundEvents=[],o.settings=t=t||{},o.schema=t.schema,o.styles=new r({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),o.fixDoc(e),o.events=t.ownEvents?new i(t.proxy):i.Event,o.attrHooks=d(o,t),a=t.schema?t.schema.getBlockElements():{},o.$=n.overrideDefaults(function(){return{context:e,element:o.getRoot()}}),o.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!a[e.nodeName]):!!a[e]}}var m=c.each,g=c.is,v=c.grep,y=c.trim,b=l.ie,C=/^([a-z0-9],?)+$/i,x=/^[ \t\r\n]*$/;return p.prototype={$$:function(e){return"string"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){var t=this.settings,n;if(b&&t.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!b||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),m(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.settings.root_element||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,"width"),r=t.getStyle(e,"height"),n.indexOf("px")===-1&&(n=0),r.indexOf("px")===-1&&(r=0),{w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||("BODY"!=o.getRoot().nodeName?o.getRoot().parentNode:null),g(n,"string")&&(a=n,n="*"===n?function(e){ +return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(t,n){var r=this;return e(t,r.get(n)||r.settings.root_element||r.doc,[])},is:function(n,r){var i;if(n.length===t){if("*"===r)return 1==n.nodeType;if(C.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=g(t,"string")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r="",i;r+="<"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&"undefined"!=typeof t[i]&&(r+=" "+i+'="'+this.encode(t[i])+'"');return"undefined"!=typeof n?r+">"+n+"":r+" />"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&f(this,e)},getStyle:function(e,n,r){return e=this.$$(e),r?e.css(n):(n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=l.ie&&l.ie<12?"styleFloat":"cssFloat"),e[0]&&e[0].style?e[0].style[n]:t)},setStyles:function(e,t){e=this.$$(e).css(t),this.settings.update_styles&&f(this,e)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this,i,o,a=r.settings;""===n&&(n=null),e=r.$$(e),i=e.attr(t),e.length&&(o=r.attrHooks[t],o&&o.set?o.set(e,n,t):e.attr(t,n),i!=n&&a.onSetAttrib&&a.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){m(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r=this,i,o;return e=r.$$(e),e.length&&(i=r.attrHooks[t],o=i&&i.get?i.get(e,t):e.attr(t)),"undefined"==typeof o&&(o=n||""),o},getPos:function(e,t){var r=this,i=0,o=0,a,s=r.doc,l=s.body,c;if(e=r.get(e),t=t||l,e){if(t===l&&e.getBoundingClientRect&&"static"===n(l).css("position"))return c=e.getBoundingClientRect(),t=r.boxModel?s.documentElement:l,i=c.left+(s.documentElement.scrollLeft||l.scrollLeft)-t.clientLeft,o=c.top+(s.documentElement.scrollTop||l.scrollTop)-t.clientTop,{x:i,y:o};for(a=e;a&&a!=t&&a.nodeType;)i+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=e.parentNode;a&&a!=t&&a.nodeType;)i-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode}return{x:i,y:o}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==p.DOM&&n===document){var o=p.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,p.DOM.addedStyles=o}i=n.getElementById("mceDefaultStyles"),i||(i=n.createElement("style"),i.id="mceDefaultStyles",i.type="text/css",r=n.getElementsByTagName("head")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==p.DOM&&n===document?void p.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void m(e.split(","),function(e){var i;e=c._addCacheSuffix(e),t.files[e]||(t.files[e]=!0,i=t.create("link",{rel:"stylesheet",href:e}),b&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,r){this.$$(e).toggleClass(t,r).each(function(){""===this.className&&n(this).attr("class",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return"none"==this.$$(e).css("display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){e=this.$$(e),b?e.each(function(e,r){if(r.canHaveHTML!==!1){for(;r.firstChild;)r.removeChild(r.firstChild);try{r.innerHTML="
"+t,r.removeChild(r.firstChild)}catch(e){n("
").html("
"+t).contents().slice(1).appendTo(r)}return t}}):e.html(t)},getOuterHTML:function(e){return e=this.get(e),1==e.nodeType&&"outerHTML"in e?e.outerHTML:n("
").append(n(e).clone()).html()},setOuterHTML:function(e,t){var r=this;r.$$(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}r.remove(n(this).html(t),!0)})},decode:s.decode,encode:s.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return g(t,"array")&&(e=e.cloneNode(!0)),n&&m(v(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),m(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(c.trim(e))},run:function(e,t,n){var r=this,i;return"string"==typeof e&&(e=r.get(e)),!!e&&(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],m(e,function(e,o){e&&("string"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i))},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(b){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});var n=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,i,a,s,l,c=0;if(e=e.firstChild){s=new o(e,e.parentNode),t=t||(n.schema?n.schema.getNonEmptyElements():null);do{if(a=e.nodeType,1===a){if(e.getAttribute("data-mce-bogus"))continue;if(l=e.nodeName.toLowerCase(),t&&t[l]){if("br"===l){c++;continue}return!1}for(i=n.getAttribs(e),r=i.length;r--;)if(l=i[r].nodeName,"name"===l||"data-mce-bookmark"===l)return!1}if(8==a)return!1;if(3===a&&!x.test(e.nodeValue))return!1}while(e=s.next())}return c<=1},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new a(this)},nodeIndex:h,split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&"SPAN"==e.previousSibling.nodeName,n=e.nextSibling&&"SPAN"==e.nextSibling.nodeName;return t&&n}var n,o=e.childNodes,a=e.nodeType;if(1!=a||"bookmark"!=e.getAttribute("data-mce-type")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=y(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&"bookmark"==o[0].getAttribute("data-mce-type")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;if(e&&t)return o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.insertBefore(n,e):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t},bind:function(e,t,n,r){var i=this;if(c.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(c.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1==e.nodeType?(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null):null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&(n=this.getContentEditable(e),null===n);e=e.parentNode);return n},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for("string"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},p.DOM=new p(document),p.nodeIndex=h,p}),r(N,[w,m],function(e,t){function n(){function e(e,n){function i(){a.remove(l),s&&(s.onreadystatechange=s.onload=s=null),n()}function o(){"undefined"!=typeof console&&console.log&&console.log("Failed to load: "+e)}var a=r,s,l;l=a.uniqueId(),s=document.createElement("script"),s.id=l,s.type="text/javascript",s.src=t._addCacheSuffix(e),"onreadystatechange"in s?s.onreadystatechange=function(){/loaded|complete/.test(s.readyState)&&i()}:s.onload=i,s.onerror=o,(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}var n=0,a=1,s=2,l={},c=[],u={},d=[],f=0,h;this.isDone=function(e){return l[e]==s},this.markDone=function(e){l[e]=s},this.add=this.load=function(e,t,r){var i=l[e];i==h&&(c.push(e),l[e]=n),t&&(u[e]||(u[e]=[]),u[e].push({func:t,scope:r||this}))},this.remove=function(e){delete l[e],delete u[e]},this.loadQueue=function(e,t){this.loadScripts(c,e,t)},this.loadScripts=function(t,n,r){function c(e){i(u[e],function(e){e.func.call(e.scope)}),u[e]=h}var p;d.push({func:n,scope:r||this}),(p=function(){var n=o(t);t.length=0,i(n,function(t){return l[t]==s?void c(t):void(l[t]!=a&&(l[t]=a,f++,e(t,function(){l[t]=s,f--,c(t),p()})))}),f||(i(d,function(e){e.func.call(e.scope)}),d.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep;return n.ScriptLoader=new n,n}),r(E,[N,m],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=","+n+",",n.indexOf(","+i.substr(0,2)+",")!=-1)i=i.substr(0,2);else if(n.indexOf(","+i+",")==-1)return;e.ScriptLoader.add(this.urls[t]+"/langs/"+i+".js")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},remove:function(e){delete this.urls[e],delete this.lookup[e]},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+"/"+t)})},load:function(n,o,a,s){function l(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&(s?a.call(s):a.call(e))}var c=this,u=o;c.urls[n]||("object"==typeof o&&(u=o.prefix+o.resource+o.suffix),0!==u.indexOf("/")&&u.indexOf("://")==-1&&(u=r.baseURL+"/"+u),c.urls[n]=u.substring(0,u.lastIndexOf("/")),c.lookup[n]?l():e.ScriptLoader.add(u,l,s))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(_,[],function(){function e(e){return function(t){return!!t&&t.nodeType==e}}function t(e){return e=e.toLowerCase().split(" "),function(t){var n,r;if(t&&t.nodeType)for(r=t.nodeName.toLowerCase(),n=0;nn.length-1?t=n.length-1:t<0&&(t=0),n[t]||e}function a(e){this.walk=function(t,n){function r(e){var t;return t=e[0],3===t.nodeType&&t===c&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===f&&e.length>0&&t===d&&3===t.nodeType&&e.splice(e.length-1,1),e}function i(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function a(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function s(e,t,o){var a=o?"nextSibling":"previousSibling";for(g=e,v=g.parentNode;g&&g!=t;g=v)v=g.parentNode,y=i(g==e?g:g[a],a),y.length&&(o||y.reverse(),n(r(y)))}var c=t.startContainer,u=t.startOffset,d=t.endContainer,f=t.endOffset,h,p,m,g,v,y,b;if(b=e.select("td[data-mce-selected],th[data-mce-selected]"),b.length>0)return void l(b,function(e){n([e])});if(1==c.nodeType&&c.hasChildNodes()&&(c=c.childNodes[u]),1==d.nodeType&&d.hasChildNodes()&&(d=o(d,f)),c==d)return n(r([c]));for(h=e.findCommonAncestor(c,d),g=c;g;g=g.parentNode){if(g===d)return s(c,h,!0);if(g===h)break}for(g=d;g;g=g.parentNode){if(g===c)return s(d,h);if(g===h)break}p=a(c,h)||c,m=a(d,h)||d,s(c,p,!0),y=i(p==c?p:p.nextSibling,"nextSibling",m==d?m.nextSibling:m),y.length&&n(r(y)),s(d,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&rr?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r0&&o0)return h=v,p=n?v.nodeValue.length:0,void(i=!0);if(e.isBlock(v)||y[v.nodeName.toLowerCase()])return;s=v}o&&s&&(h=s,i=!0,p=0)}var h,p,m,g=e.getRoot(),v,y,b,C;if(h=n[(r?"start":"end")+"Container"],p=n[(r?"start":"end")+"Offset"],C=1==h.nodeType&&p===h.childNodes.length,y=e.schema.getNonEmptyElements(),b=r,!u(h)){if(1==h.nodeType&&p>h.childNodes.length-1&&(b=!1),9===h.nodeType&&(h=e.getRoot(),p=0),h===g){if(b&&(v=h.childNodes[p>0?p-1:0])){if(u(v))return;if(y[v.nodeName]||"TABLE"==v.nodeName)return}if(h.hasChildNodes()){if(p=Math.min(!b&&p>0?p-1:p,h.childNodes.length-1),h=h.childNodes[p],p=0,!o&&h===g.lastChild&&"TABLE"===h.nodeName)return;if(l(h)||u(h))return;if(h.hasChildNodes()&&!/TABLE/.test(h.nodeName)){v=h,m=new t(h,g);do{if(c(v)||u(v)){i=!1;break}if(3===v.nodeType&&v.nodeValue.length>0){p=b?0:v.nodeValue.length,h=v,i=!0;break}if(y[v.nodeName.toLowerCase()]&&!a(v)){p=e.nodeIndex(v),h=v.parentNode,"IMG"!=v.nodeName||b||p++,i=!0;break}}while(v=b?m.next():m.prev())}}}o&&(3===h.nodeType&&0===p&&f(!0),1===h.nodeType&&(v=h.childNodes[p],v||(v=h.childNodes[p-1]),!v||"BR"!==v.nodeName||d(v,"A")||s(v)||s(v,!0)||f(!0,v))),b&&!o&&3===h.nodeType&&p===h.nodeValue.length&&f(!1),i&&n["set"+(r?"Start":"End")](h,p)}}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}function s(t,n,r){var i,o,a;if(i=r.elementFromPoint(t,n),o=r.body.createTextRange(),i&&"HTML"!=i.tagName||(i=r.body),o.moveToElementText(i),a=e.toArray(o.getClientRects()),a=a.sort(function(e,t){return e=Math.abs(Math.max(e.top-n,e.bottom-n)),t=Math.abs(Math.max(t.top-n,t.bottom-n)),e-t}),a.length>0){n=(a[0].bottom+a[0].top)/2;try{return o.moveToPoint(t,n),o.collapse(!0),o}catch(e){}}return null}var l=e.each,c=n.isContentEditableFalse,u=i.isCaretContainer;return a.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},a.getCaretRangeFromPoint=function(e,t,n){var r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(i){r=s(e,t,n)}}return r},a.getSelectedNode=function(e){var t=e.startContainer,n=e.startOffset;return t.hasChildNodes()&&e.endOffset==n+1?t.childNodes[n]:null},a.getNode=function(e,t){return 1==e.nodeType&&e.hasChildNodes()&&(t>=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},a}),r(R,[T,d,u],function(e,t,n){return function(r){function i(e){var t,n;if(n=r.$(e).parentsUntil(r.getBody()).add(e),n.length===a.length){for(t=n.length;t>=0&&n[t]===a[t];t--);if(t===-1)return a=n,!0}return a=n,!1}var o,a=[];"onselectionchange"in r.getDoc()||r.on("NodeChange Click MouseUp KeyUp Focus",function(t){var n,i;n=r.selection.getRng(),i={startContainer:n.startContainer,startOffset:n.startOffset,endContainer:n.endContainer,endOffset:n.endOffset},"nodechange"!=t.type&&e.compareRanges(i,o)||r.fire("SelectionChange"),o=i}),r.on("contextmenu",function(){r.fire("SelectionChange")}),r.on("SelectionChange",function(){var e=r.selection.getStart(!0);!t.range&&r.selection.isCollapsed()||!i(e)&&r.dom.isChildOf(e,r.getBody())&&r.nodeChanged({selectionChange:!0})}),r.on("MouseUp",function(e){e.isDefaultPrevented()||("IMG"==r.selection.getNode().nodeName?n.setEditorTimeout(r,function(){r.nodeChanged()}):r.nodeChanged())}),this.nodeChanged=function(e){var t=r.selection,n,i,o;r.initialized&&t&&!r.settings.disable_nodechange&&!r.readonly&&(o=r.getBody(),n=t.getStart()||o,n.ownerDocument==r.getDoc()&&r.dom.isChildOf(n,o)||(n=o),"IMG"==n.nodeName&&t.isCollapsed()&&(n=n.parentNode),i=[],r.dom.getParent(n,function(e){return e===o||void i.push(e)}),e=e||{},e.element=n,e.parents=i,r.fire("NodeChange",e))}}}),r(A,[],function(){function e(e,t,n){var r,i,o=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if("string"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;r
"},postRender:function(){var e=this,t;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e.state.set("rendered",!0),e.settings.style&&e.$el.css(e.settings.style),e.settings.border&&(t=e.borderBox,e.$el.css({"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;if(!n||n.w!=t.w||n.h!=t.h)return e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0},reflow:function(){var t;if(l.remove(this),this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(we,[g],function(e){function t(e){var t,n,r,i,o,a,s,l,c=Math.max;return t=e.documentElement,n=e.body,r=c(t.scrollWidth,n.scrollWidth),i=c(t.clientWidth,n.clientWidth),o=c(t.offsetWidth,n.offsetWidth),a=c(t.scrollHeight,n.scrollHeight),s=c(t.clientHeight,n.clientHeight),l=c(t.offsetHeight,n.offsetHeight),{width:r").css({position:"absolute",top:0,left:0,width:c.width,height:c.height,zIndex:2147483647,opacity:1e-4,cursor:m}).appendTo(s.body),e(s).on("mousemove touchmove",d).on("mouseup touchend",u),i.start(r)},d=function(e){return n(e),e.button!==l?u(e):(e.deltaX=e.screenX-f,e.deltaY=e.screenY-h,e.preventDefault(),void i.drag(e))},u=function(t){n(t),e(s).off("mousemove touchmove",d).off("mouseup touchend",u),a.remove(),i.stop&&i.stop(t)},this.destroy=function(){e(o()).off()},e(o()).on("mousedown touchstart",c)}}),r(Ne,[g,we],function(e,t){return{init:function(){var e=this;e.on("repaint",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,c,u){var d,f,h,p,m,g,v,y,b;if(f=i.getEl("scroll"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),e(i.getEl("absend")).css(y,i.layoutRect()[l]-1),!c)return void e(f).css("display","none");e(f).css("display","block"),d=i.getEl("body"),h=i.getEl("scroll"+t+"t"),p=d["client"+s]-2*o,p-=n&&r?f["client"+u]:0,m=d["scroll"+s],g=p/m,v={},v[y]=d["offset"+a]+o,v[b]=p,e(f).css(v),v={},v[y]=d["scroll"+a]*g,v[b]=p*g,e(h).css(v)}}var n,r,a;a=i.getEl("body"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t("h","Left","Width","contentW",n,"Height"),t("v","Top","Height","contentH",r,"Width")}function r(){function n(n,r,a,s,l){var c,u=i._id+"-scroll"+n,d=i.classPrefix;e(i.getEl()).append('
'),i.draghelper=new t(u+"t",{start:function(){c=i.getEl("body")["scroll"+r],e("#"+u).addClass(d+"active")},drag:function(e){var t,u,d,f,h=i.layoutRect();u=h.contentW>h.innerW,d=h.contentH>h.innerH,f=i.getEl("body")["client"+a]-2*o,f-=u&&d?i.getEl("scroll"+n)["client"+l]:0,t=f/i.getEl("body")["scroll"+a],i.getEl("body")["scroll"+r]=c+e["delta"+s]/t},stop:function(){e("#"+u).removeClass(d+"active")}})}i.classes.add("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on("wheel",function(e){var t=i.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e(i.getEl("body")).on("scroll",n)),n())}}}),r(Ee,[xe,Ne],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),"undefined"==typeof n?n='
'+t.renderHtml(e)+"
":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'
'+(e._preBodyHtml||"")+n+"
"}})}),r(_e,[pe],function(e){function t(t,n,r){var i,o,a,s,l,c,u,d,f,h;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t.state.get("fixed")&&"static"==e.getRuntimeStyle(document.body,"position")&&(a-=f.x,s-=f.y),i=t.getEl(),h=e.getSize(i),l=h.width,c=h.height,h=e.getSize(n),u=h.width,d=h.height,r=(r||"").split(""),"b"===r[0]&&(s+=d),"r"===r[1]&&(a+=u),"c"===r[0]&&(s+=Math.round(d/2)),"c"===r[1]&&(a+=Math.round(u/2)),"b"===r[3]&&(s-=c),"r"===r[4]&&(a-=l),"c"===r[3]&&(s-=Math.round(c/2)),"c"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:c}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o0&&a.x+a.w0&&a.y+a.hi.x&&a.x+a.wi.y&&a.y+a.ht?(e=t-n,e<0?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i.state.get("rendered")?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire("move",{x:t,y:n}),i}}}),r(Se,[pe],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(t<=1||n<=1){var r=e.getWindowSize();t=t<=1?t*r.w:t,n=n<=1?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(ke,[Ee,_e,Se,pe,g,u],function(e,t,n,r,i,o){function a(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}function s(e){for(var t=v.length;t--;){var n=v[t],r=n.getParentCtrl(e.target);if(n.settings.autohide){if(r&&(a(r,n)||n.parent()===r))continue;e=n.fire("autohide",{target:e.target}),e.isDefaultPrevented()||n.hide()}}}function l(){p||(p=function(e){2!=e.button&&s(e)},i(document).on("click touchstart",p))}function c(){m||(m=function(){var e;for(e=v.length;e--;)d(v[e])},i(window).on("scroll",m))}function u(){if(!g){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;g=function(){document.all&&t==e.clientWidth&&n==e.clientHeight||(t=e.clientWidth,n=e.clientHeight,C.hideAll())},i(window).on("resize",g)}}function d(e){function t(t,n){for(var r,i=0;in&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY
').appendTo(t.getContainerElm())),o.setTimeout(function(){n.addClass(r+"in"),i(t.getEl()).addClass(r+"in")}),b=!0),f(!0,t)}}),t.on("show",function(){t.parents().each(function(e){if(e.state.get("fixed"))return t.fixed(!0),!1})}),e.popover&&(t._preBodyHtml='
',t.classes.add("popover").add("bottom").add(t.isRtl()?"end":"start")),t.aria("label",e.ariaLabel),t.aria("labelledby",t._id),t.aria("describedby",t.describedBy||t._id+"-none")},fixed:function(e){var t=this;if(t.state.get("fixed")!=e){if(t.state.get("rendered")){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.classes.toggle("fixed",e),t.state.set("fixed",e)}return t},show:function(){var e=this,t,n=e._super();for(t=v.length;t--&&v[t]!==e;);return t===-1&&v.push(e),n},hide:function(){return h(this),f(!1,this),this._super()},hideAll:function(){C.hideAll()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||(e.remove(),f(!1,e)),e},remove:function(){h(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return C.hideAll=function(){for(var e=v.length;e--;){var t=v[e];t&&t.settings.autohide&&(t.hide(),v.splice(e,1))}},C}),r(Te,[ke,Ee,pe,g,we,me,d,u],function(e,t,n,r,i,o,a,s){function l(e){var t="width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0",n=r("meta[name=viewport]")[0],i;a.overrideViewPort!==!1&&(n||(n=document.createElement("meta"),n.setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(n)),i=n.getAttribute("content"),i&&"undefined"!=typeof f&&(f=i),n.setAttribute("content",e?t:f))}function c(e){for(var t=0;tr.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl("head");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=e.settings.x||Math.max(0,a.w/2-t.w/2),t.y=e.settings.y||Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o="",a="",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='
'+e.encode(i.title)+'
'),i.url&&(s=''),"undefined"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'
'+o+'
'+s+"
"+a+"
"},fullscreen:function(e){var t=this,i=document.documentElement,a,l=t.classPrefix,c;if(e!=t._fullscreen)if(r(window).on("resize",function(){var e;if(t._fullscreen)if(a)t._timer||(t._timer=s.setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(a=!0)}}),c=t.layoutRect(),t._fullscreen=e,e){t._initial={x:c.x,y:c.y,w:c.w,h:c.h},t.borderBox=o.parseBox("0"),t.getEl("head").style.display="none",c.deltaH-=c.headerH+2,r([i,document.body]).addClass(l+"fullscreen"),t.classes.add("fullscreen");var u=n.getWindowSize();t.moveTo(0,0).resizeTo(u.w,u.h)}else t.borderBox=o.parseBox(t.settings.border),t.getEl("head").style.display="",c.deltaH+=c.headerH,r([i,document.body]).removeClass(l+"fullscreen"),t.classes.remove("fullscreen"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.classes.add("in"),e.fire("open")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new i(e._id+"-dragh",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on("submit",function(t){t.isDefaultPrevented()||e.close()}),d.push(e),l(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e=this,t;for(e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),t=d.length;t--;)d[t]===e&&d.splice(t,1);l(d.length>0),c(e.classPrefix)},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});return u(),h}),r(Re,[Te],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){function r(e,t,n){return{type:"button",text:e,subtype:n?"primary":"",onClick:function(e){e.control.parents()[1].close(),o(t)}}}var i,o=n.callback||function(){};switch(n.buttons){case t.OK_CANCEL:i=[r("Ok",!0,!0),r("Cancel",!1)];break;case t.YES_NO:case t.YES_NO_CANCEL:i=[r("Yes",1,!0),r("No",0)],n.buttons==t.YES_NO_CANCEL&&i.push(r("Cancel",-1));break;default:i=[r("Ok",!0,!0)]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:i,title:n.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){o(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(Ae,[Te,Re],function(e,t){return function(n){function r(){if(s.length)return s[s.length-1]}function i(e){n.fire("OpenWindow",{win:e})}function o(e){n.fire("CloseWindow",{win:e})}var a=this,s=[];a.windows=s,n.on("remove",function(){for(var e=s.length;e--;)s[e].close()}),a.open=function(t,r){var a;return n.editorManager.setActive(n),t.title=t.title||" ",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||"form",items:t.body,data:t.data,callbacks:t.commands}),t.url||t.buttons||(t.buttons=[{text:"Ok",subtype:"primary",onclick:function(){a.find("form")[0].submit()}},{text:"Cancel",onclick:function(){a.close()}}]),a=new e(t),s.push(a),a.on("close",function(){for(var e=s.length;e--;)s[e]===a&&s.splice(e,1);s.length||n.focus(),o(a)}),t.data&&a.on("postRender",function(){this.find("*").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),a.features=t||{},a.params=r||{},1===s.length&&n.nodeChanged(),a=a.renderTo().reflow(),i(a),a},a.alert=function(e,r,a){var s;s=t.alert(e,function(){r?r.call(a||this):n.focus()}),s.on("close",function(){o(s)}),i(s)},a.confirm=function(e,n,r){var a;a=t.confirm(e,function(e){n.call(r||this,e)}),a.on("close",function(){o(a)}),i(a)},a.close=function(){r()&&r().close()},a.getParams=function(){return r()?r().params:null},a.setParams=function(e){r()&&(r().params=e)},a.getWindows=function(){return s}}}),r(Be,[ye,_e],function(e,t){return e.extend({Mixins:[t],Defaults:{classes:"widget tooltip tooltip-n"},renderHtml:function(){var e=this,t=e.classPrefix;return'"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().lastChild.innerHTML=e.encode(t.value)}),e._super()},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=131070}})}),r(De,[ye,Be],function(e,t){var n,r=e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&r.tooltips!==!1&&(t.on("mouseenter",function(n){var r=t.tooltip().moveTo(-65535);if(n.control==t){var i=r.text(e.tooltip).show().testMoveRel(t.getEl(),["bc-tc","bc-tl","bc-tr"]);r.classes.toggle("tooltip-n","bc-tc"==i),r.classes.toggle("tooltip-nw","bc-tl"==i),r.classes.toggle("tooltip-ne","bc-tr"==i),r.moveRel(t.getEl(),i)}else r.hide()}),t.on("mouseleave mousedown click",function(){t.tooltip().hide()})),t.aria("label",e.ariaLabel||e.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"}),n.renderTo()),n},postRender:function(){var e=this,t=e.settings;e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},bindStates:function(){function e(e){n.aria("disabled",e),n.classes.toggle("disabled",e)}function t(e){n.aria("pressed",e),n.classes.toggle("active",e)}var n=this;return n.state.on("change:disabled",function(t){e(t.value)}),n.state.on("change:active",function(e){t(e.value)}),n.state.get("disabled")&&e(!0),n.state.get("active")&&t(!0),n._super()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return r}),r(Le,[De],function(e){return e.extend({Defaults:{value:0},init:function(e){var t=this;t._super(e),t.classes.add("progress"),t.settings.filter||(t.settings.filter=function(e){return Math.round(e)})},renderHtml:function(){var e=this,t=e._id,n=this.classPrefix;return'
0%
'},postRender:function(){var e=this;return e._super(),e.value(e.settings.value),e},bindStates:function(){function e(e){e=t.settings.filter(e),t.getEl().lastChild.innerHTML=e+"%",t.getEl().firstChild.firstChild.style.width=e+"%"}var t=this;return t.state.on("change:value",function(t){e(t.value)}),e(t.state.get("value")),t._super()}})}),r(Me,[ye,_e,Le,u],function(e,t,n,r){return e.extend({Mixins:[t],Defaults:{classes:"widget notification"},init:function(e){var t=this;t._super(e),e.text&&t.text(e.text),e.icon&&(t.icon=e.icon),e.color&&(t.color=e.color),e.type&&t.classes.add("notification-"+e.type),e.timeout&&(e.timeout<0||e.timeout>0)&&!e.closeButton?t.closeButton=!1:(t.classes.add("has-close"),t.closeButton=!0),e.progressBar&&(t.progressBar=new n),t.on("click",function(e){e.target.className.indexOf(t.classPrefix+"close")!=-1&&t.close()})},renderHtml:function(){var e=this,t=e.classPrefix,n="",r="",i="",o="";return e.icon&&(n=''),e.color&&(o=' style="background-color: '+e.color+'"'),e.closeButton&&(r=''),e.progressBar&&(i=e.progressBar.renderHtml()),'"},postRender:function(){var e=this;return r.setTimeout(function(){e.$el.addClass(e.classPrefix+"in")}),e._super()},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().childNodes[1].innerHTML=t.value}),e.progressBar&&e.progressBar.bindStates(),e._super()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||e.remove(),e},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=131070}})}),r(Pe,[Me,u],function(e,t){return function(n){function r(){if(l.length)return l[l.length-1]}function i(){t.requestAnimationFrame(function(){o(),a()})}function o(){for(var e=0;e0){var e=l.slice(0,1)[0],t=n.inline?n.getElement():n.getContentAreaContainer();if(e.moveRel(t,"tc-tc"),l.length>1)for(var r=1;r0&&(r.timer=setTimeout(function(){r.close()},t.timeout)),r.on("close",function(){var e=l.length;for(r.timer&&n.getWin().clearTimeout(r.timer);e--;)l[e]===r&&l.splice(e,1);a()}),r.renderTo(),a(),r},s.close=function(){r()&&r().close()},s.getNotifications=function(){return l},n.on("SkinLoaded",function(){var e=n.settings.service_message;e&&n.notificationManager.open({text:e,type:"warning",timeout:0,icon:""})})}}),r(Oe,[w],function(e){function t(t,n,r){for(var i=[];n&&n!=t;n=n.parentNode)i.push(e.nodeIndex(n,r));return i}function n(e,t){var n,r,i;for(r=e,n=t.length-1;n>=0;n--){if(i=r.childNodes,t[n]>i.length-1)return null;r=i[t[n]]}return r}return{create:t,resolve:n}}),r(He,[I,T,y,Oe,A,C,d,m,u,k,$,ne],function(e,t,n,r,i,o,a,s,l,c,u,d){return function(f){function h(e,t){try{f.getDoc().execCommand(e,!1,t)}catch(e){}}function p(){var e=f.getDoc().documentMode;return e?e:6}function m(e){return e.isDefaultPrevented()}function g(e){var t,n;e.dataTransfer&&(f.selection.isCollapsed()&&"IMG"==e.target.tagName&&re.select(e.target),t=f.selection.getContent(),t.length>0&&(n=ue+escape(f.id)+","+escape(t),e.dataTransfer.setData(de,n)))}function v(e){var t;return e.dataTransfer&&(t=e.dataTransfer.getData(de),t&&t.indexOf(ue)>=0)?(t=t.substr(ue.length).split(","),{id:unescape(t[0]),html:unescape(t[1])}):null}function y(e){f.queryCommandSupported("mceInsertClipboardContent")?f.execCommand("mceInsertClipboardContent",!1,{content:e}):f.execCommand("mceInsertContent",!1,e)}function b(){function i(e){var t=C.schema.getBlockElements(),n=f.getBody();if("BR"!=e.nodeName)return!1;for(;e!=n&&!t[e.nodeName];e=e.parentNode)if(e.nextSibling)return!1;return!0}function o(e,t){var n;for(n=e.nextSibling;n&&n!=t;n=n.nextSibling)if((3!=n.nodeType||0!==Z.trim(n.data).length)&&n!==t)return!1;return n===t}function a(e,t,r){var o,a,s;for(s=C.schema.getNonEmptyElements(),o=new n(r||e,e);a=o[t?"next":"prev"]();){if(s[a.nodeName]&&!i(a))return a;if(3==a.nodeType&&a.data.length>0)return a}}function c(e){var n,r,i,o,s;if(!e.collapsed&&(n=C.getParent(t.getNode(e.startContainer,e.startOffset),C.isBlock),r=C.getParent(t.getNode(e.endContainer,e.endOffset),C.isBlock),s=f.schema.getTextBlockElements(),n!=r&&s[n.nodeName]&&s[r.nodeName]&&"false"!==C.getContentEditable(n)&&"false"!==C.getContentEditable(r)))return e.deleteContents(), +i=a(n,!1),o=a(r,!0),C.isEmpty(r)||Z(n).append(r.childNodes),Z(r).remove(),i?1==i.nodeType?"BR"==i.nodeName?(e.setStartBefore(i),e.setEndBefore(i)):(e.setStartAfter(i),e.setEndAfter(i)):(e.setStart(i,i.data.length),e.setEnd(i,i.data.length)):o&&(1==o.nodeType?(e.setStartBefore(o),e.setEndBefore(o)):(e.setStart(o,0),e.setEnd(o,0))),x.setRng(e),!0}function u(e,n){var r,i,s,l,c,u;if(!e.collapsed)return e;if(c=e.startContainer,u=e.startOffset,3==c.nodeType)if(n){if(u0)return e;if(r=t.getNode(e.startContainer,e.startOffset),s=C.getParent(r,C.isBlock),i=a(f.getBody(),n,r),l=C.getParent(i,C.isBlock),!r||!i)return e;if(l&&s!=l)if(n){if(!o(s,l))return e;1==r.nodeType?"BR"==r.nodeName?e.setStartBefore(r):e.setStartAfter(r):e.setStart(r,r.data.length),1==i.nodeType?e.setEnd(i,0):e.setEndBefore(i)}else{if(!o(l,s))return e;1==i.nodeType?"BR"==i.nodeName?e.setStartBefore(i):e.setStartAfter(i):e.setStart(i,i.data.length),1==r.nodeType?e.setEnd(r,0):e.setEndBefore(r)}return e}function d(e){var t=x.getRng();if(t=u(t,e),c(t))return!0}function h(e,t){function n(e,n){return m=Z(n).parents().filter(function(e,t){return!!f.schema.getTextInlineElements()[t.nodeName]}),l=e.cloneNode(!1),m=s.map(m,function(e){return e=e.cloneNode(!1),l.hasChildNodes()?(e.appendChild(l.firstChild),l.appendChild(e)):l.appendChild(e),l.appendChild(e),e}),m.length?(p=C.create("br"),m[0].appendChild(p),C.replace(l,e),t.setStartBefore(p),t.setEndBefore(p),f.selection.setRng(t),p):null}function i(e){return e&&f.schema.getTextBlockElements()[e.tagName]}var o,a,l,c,u,d,h,p,m;if(t.collapsed&&(d=t.startContainer,h=t.startOffset,a=C.getParent(d,C.isBlock),i(a)))if(1==d.nodeType){if(d=d.childNodes[h],d&&"BR"!=d.tagName)return;if(u=e?a.nextSibling:a.previousSibling,C.isEmpty(a)&&i(u)&&C.isEmpty(u)&&n(a,d))return C.remove(u),!0}else if(3==d.nodeType){if(o=r.create(a,d),c=a.cloneNode(!0),d=r.resolve(c,o),e){if(h>=d.data.length)return;d.deleteData(h,1)}else{if(h<=0)return;d.deleteData(h-1,1)}if(C.isEmpty(c))return n(a,d)}}function p(e){var t,n,r;d(e)||(s.each(f.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&f.dom.setAttrib(e,"style",f.dom.getAttrib(e,"style"))}),t=new w(function(){}),t.observe(f.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),f.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null),n=f.selection.getRng(),r=n.startContainer.parentNode,s.each(t.takeRecords(),function(e){if(C.isChildOf(e.target,f.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}s.each(e.addedNodes,function(e){if("SPAN"==e.nodeName&&!e.getAttribute("mce-data-marked")){var t,i;e==r&&(t=n.startOffset,i=e.firstChild),C.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),f.selection.setRng(n))}})}}),t.disconnect(),s.each(f.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")}))}var b=f.getDoc(),C=f.dom,x=f.selection,w=window.MutationObserver,N,E;w||(N=!0,w=function(){function e(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function t(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}var n=[],r;this.observe=function(n){r=n,r.addEventListener("DOMSubtreeModified",e,!1),r.addEventListener("DOMNodeInsertedIntoDocument",e,!1),r.addEventListener("DOMNodeInserted",e,!1),r.addEventListener("DOMAttrModified",t,!1)},this.disconnect=function(){r.removeEventListener("DOMSubtreeModified",e,!1),r.removeEventListener("DOMNodeInsertedIntoDocument",e,!1),r.removeEventListener("DOMNodeInserted",e,!1),r.removeEventListener("DOMAttrModified",t,!1)},this.takeRecords=function(){return n}}),f.on("keydown",function(e){var t=e.keyCode==te,n=e.ctrlKey||e.metaKey;if(!m(e)&&(t||e.keyCode==ee)){var r=f.selection.getRng(),i=r.startContainer,o=r.startOffset;if(t&&e.shiftKey)return;if(h(t,r))return void e.preventDefault();if(!n&&r.collapsed&&3==i.nodeType&&(t?o0))return;e.preventDefault(),n&&f.selection.getSel().modify("extend",t?"forward":"backward",e.metaKey?"lineboundary":"word"),p(t)}}),f.on("keypress",function(t){if(!m(t)&&!x.isCollapsed()&&t.charCode>31&&!e.metaKeyPressed(t)){var n,r,i,o,a,s;n=f.selection.getRng(),s=String.fromCharCode(t.charCode),t.preventDefault(),r=Z(n.startContainer).parents().filter(function(e,t){return!!f.schema.getTextInlineElements()[t.nodeName]}),p(!0),r=r.filter(function(e,t){return!Z.contains(f.getBody(),t)}),r.length?(i=C.createFragment(),r.each(function(e,t){t=t.cloneNode(!1),i.hasChildNodes()?(t.appendChild(i.firstChild),i.appendChild(t)):(a=t,i.appendChild(t)),i.appendChild(t)}),a.appendChild(f.getDoc().createTextNode(s)),o=C.getParent(n.startContainer,C.isBlock),C.isEmpty(o)?Z(o).empty().append(i):n.insertNode(i),n.setStart(a.firstChild,1),n.setEnd(a.firstChild,1),f.selection.setRng(n)):f.selection.setContent(s)}}),f.addCommand("Delete",function(){p()}),f.addCommand("ForwardDelete",function(){p(!0)}),N||(f.on("dragstart",function(e){E=x.getRng(),g(e)}),f.on("drop",function(e){if(!m(e)){var n=v(e);n&&(e.preventDefault(),l.setEditorTimeout(f,function(){var r=t.getCaretRangeFromPoint(e.x,e.y,b);E&&(x.setRng(E),E=null),p(),x.setRng(r),y(n.html)}))}}),f.on("cut",function(e){m(e)||!e.clipboardData||f.selection.isCollapsed()||(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/html",f.selection.getContent()),e.clipboardData.setData("text/plain",f.selection.getContent({format:"text"})),l.setEditorTimeout(f,function(){p(!0)}))}))}function C(){function e(e){var t=ne.create("body"),n=e.cloneContents();return t.appendChild(n),re.serializer.serialize(t,{format:"html"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(f.getBody()),t.compareRanges(n,r)}var i=e(n),o=ne.createRng();o.selectNode(f.getBody());var a=e(o);return i===a}f.on("keydown",function(e){var t=e.keyCode,r,i;if(!m(e)&&(t==te||t==ee)){if(r=f.selection.isCollapsed(),i=f.getBody(),r&&!ne.isEmpty(i))return;if(!r&&!n(f.selection.getRng()))return;e.preventDefault(),f.setContent(""),i.firstChild&&ne.isBlock(i.firstChild)?f.selection.setCursorLocation(i.firstChild,0):f.selection.setCursorLocation(i,0),f.nodeChanged()}})}function x(){f.shortcuts.add("meta+a",null,"SelectAll")}function w(){f.settings.content_editable||ne.bind(f.getDoc(),"mousedown mouseup",function(e){var t;if(e.target==f.getDoc().documentElement)if(t=re.getRng(),f.getBody().focus(),"mousedown"==e.type){if(c.isCaretContainer(t.startContainer))return;re.placeCaretAt(e.clientX,e.clientY)}else re.setRng(t)})}function N(){f.on("keydown",function(e){if(!m(e)&&e.keyCode===ee){if(!f.getBody().getElementsByTagName("hr").length)return;if(re.isCollapsed()&&0===re.getRng(!0).startOffset){var t=re.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return ne.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(ne.remove(n),e.preventDefault())}}})}function E(){window.Range.prototype.getClientRects||f.on("mousedown",function(e){if(!m(e)&&"HTML"===e.target.nodeName){var t=f.getBody();t.blur(),l.setEditorTimeout(f,function(){t.focus()})}})}function _(){f.on("click",function(e){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&"false"!==ne.getContentEditableParent(t)&&(e.preventDefault(),re.getSel().setBaseAndExtent(t,0,t,1),f.nodeChanged()),"A"==t.nodeName&&ne.hasClass(t,"mce-item-anchor")&&(e.preventDefault(),re.select(t))})}function S(){function e(){var e=ne.getAttribs(re.getStart().cloneNode(!1));return function(){var t=re.getStart();t!==f.getBody()&&(ne.setAttrib(t,"style",null),Q(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!re.isCollapsed()&&ne.getParent(re.getStart(),ne.isBlock)!=ne.getParent(re.getEnd(),ne.isBlock)}f.on("keypress",function(n){var r;if(!m(n)&&(8==n.keyCode||46==n.keyCode)&&t())return r=e(),f.getDoc().execCommand("delete",!1,null),r(),n.preventDefault(),!1}),ne.bind(f.getDoc(),"cut",function(n){var r;!m(n)&&t()&&(r=e(),l.setEditorTimeout(f,function(){r()}))})}function k(){document.body.setAttribute("role","application")}function T(){f.on("keydown",function(e){if(!m(e)&&e.keyCode===ee&&re.isCollapsed()&&0===re.getRng(!0).startOffset){var t=re.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function R(){p()>7||(h("RespectVisibilityInDesign",!0),f.contentStyles.push(".mceHideBrInPre pre br {display: none}"),ne.addClass(f.getBody(),"mceHideBrInPre"),oe.addNodeFilter("pre",function(e){for(var t=e.length,n,r,o,a;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)o=n[r],a=o.prev,a&&3===a.type&&"\n"!=a.value.charAt(a.value-1)?a.value+="\n":o.parent.insert(new i("#text",3),o,!0).value="\n"}),ae.addNodeFilter("pre",function(e){for(var t=e.length,n,r,i,o;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)i=n[r],o=i.prev,o&&3==o.type&&(o.value=o.value.replace(/\r?\n$/,""))}))}function A(){ne.bind(f.getBody(),"mouseup",function(){var e,t=re.getNode();"IMG"==t.nodeName&&((e=ne.getStyle(t,"width"))&&(ne.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),ne.setStyle(t,"width","")),(e=ne.getStyle(t,"height"))&&(ne.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),ne.setStyle(t,"height","")))})}function B(){f.on("keydown",function(t){var n,r,i,o,a;if(!m(t)&&t.keyCode==e.BACKSPACE&&(n=re.getRng(),r=n.startContainer,i=n.startOffset,o=ne.getRoot(),a=r,n.collapsed&&0===i)){for(;a&&a.parentNode&&a.parentNode.firstChild==a&&a.parentNode!=o;)a=a.parentNode;"BLOCKQUOTE"===a.tagName&&(f.formatter.toggle("blockquote",null,a),n=ne.createRng(),n.setStart(r,0),n.setEnd(r,0),re.setRng(n))}})}function D(){function e(){K(),h("StyleWithCSS",!1),h("enableInlineTableEditing",!1),ie.object_resizing||h("enableObjectResizing",!1)}ie.readonly||f.on("BeforeExecCommand MouseDown",e)}function L(){function e(){Q(ne.select("a"),function(e){var t=e.parentNode,n=ne.getRoot();if(t.lastChild===e){for(;t&&!ne.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}ne.add(t,"br",{"data-mce-bogus":1})}})}f.on("SetContent ExecCommand",function(t){"setcontent"!=t.type&&"mceInsertLink"!==t.command||e()})}function M(){ie.forced_root_block&&f.on("init",function(){h("DefaultParagraphSeparator",ie.forced_root_block)})}function P(){f.on("keydown",function(e){var t;m(e)||e.keyCode!=ee||(t=f.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),f.undoManager.beforeChange(),ne.remove(t.item(0)),f.undoManager.add()))})}function O(){var e;p()>=10&&(e="",Q("p div h1 h2 h3 h4 h5 h6".split(" "),function(t,n){e+=(n>0?",":"")+t+":empty"}),f.contentStyles.push(e+"{padding-right: 1px !important}"))}function H(){p()<9&&(oe.addNodeFilter("noscript",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.firstChild,r&&n.attr("data-mce-innertext",r.value)}),ae.addNodeFilter("noscript",function(e){for(var t=e.length,n,r,a;t--;)n=e[t],r=e[t].firstChild,r?r.value=o.decode(r.value):(a=n.attributes.map["data-mce-innertext"],a&&(n.attr("data-mce-innertext",null),r=new i("#text",3),r.value=a,r.raw=!0,n.append(r)))}))}function I(){function e(e,t){var n=i.createTextRange();try{n.moveToPoint(e,t)}catch(e){n=null}return n}function t(t){var r;t.button?(r=e(t.x,t.y),r&&(r.compareEndPoints("StartToStart",a)>0?r.setEndPoint("StartToStart",a):r.setEndPoint("EndToEnd",a),r.select())):n()}function n(){var e=r.selection.createRange();a&&!e.item&&0===e.compareEndPoints("StartToEnd",e)&&a.select(),ne.unbind(r,"mouseup",n),ne.unbind(r,"mousemove",t),a=o=0}var r=ne.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,ne.bind(r,"mousedown contextmenu",function(i){if("HTML"===i.target.nodeName){if(o&&n(),s=r.documentElement,s.scrollHeight>s.clientHeight)return;o=1,a=e(i.x,i.y),a&&(ne.bind(r,"mouseup",n),ne.bind(r,"mousemove",t),ne.getRoot().focus(),a.select())}})}function F(){f.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||re.normalize()},!0)}function z(){f.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function U(){f.inline||f.on("keydown",function(){document.activeElement==document.body&&f.getWin().focus()})}function W(){f.inline||(f.contentStyles.push("body {min-height: 150px}"),f.on("click",function(e){var t;if("HTML"==e.target.nodeName){if(a.ie>11)return void f.getBody().focus();t=f.selection.getRng(),f.getBody().focus(),f.selection.setRng(t),f.selection.normalize(),f.nodeChanged()}}))}function V(){a.mac&&f.on("keydown",function(t){!e.metaKeyPressed(t)||t.shiftKey||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),f.selection.getSel().modify("move",37==t.keyCode?"backward":"forward","lineboundary"))})}function $(){h("AutoUrlDetect",!1)}function q(){f.on("click",function(e){var t=e.target;do if("A"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),f.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}function j(){f.on("init",function(){f.dom.bind(f.getBody(),"submit",function(e){e.preventDefault()})})}function Y(){oe.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"==e[t].attr("class")&&e[t].remove()})}function X(){f.on("dragstart",function(e){g(e)}),f.on("drop",function(e){if(!m(e)){var n=v(e);if(n&&n.id!=f.id){e.preventDefault();var r=t.getCaretRangeFromPoint(e.x,e.y,f.getDoc());re.setRng(r),y(n.html)}}})}function K(){var e,t;G()&&(e=f.getBody(),t=e.parentNode,t.removeChild(e),t.appendChild(e),e.focus())}function G(){var e;return se?(e=f.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}function J(){function t(e){var t=new d(e.getBody()),n=e.selection.getRng(),r=u.fromRangeStart(n),i=u.fromRangeEnd(n);return!e.selection.isCollapsed()&&!t.prev(r)&&!t.next(i)}f.on("keypress",function(n){!m(n)&&!re.isCollapsed()&&n.charCode>31&&!e.metaKeyPressed(n)&&t(f)&&(n.preventDefault(),f.setContent(String.fromCharCode(n.charCode)),f.selection.select(f.getBody(),!0),f.selection.collapse(!1),f.nodeChanged())}),f.on("keydown",function(e){var n=e.keyCode;m(e)||n!=te&&n!=ee||t(f)&&(e.preventDefault(),f.setContent(""),f.nodeChanged())})}var Q=s.each,Z=f.$,ee=e.BACKSPACE,te=e.DELETE,ne=f.dom,re=f.selection,ie=f.settings,oe=f.parser,ae=f.serializer,se=a.gecko,le=a.ie,ce=a.webkit,ue="data:text/mce-internal,",de=le?"Text":"URL";return B(),C(),a.windowsPhone||F(),ce&&(J(),b(),w(),_(),M(),j(),T(),Y(),a.iOS?(U(),W(),q()):x()),le&&a.ie<11&&(N(),k(),R(),A(),P(),O(),H(),I()),a.ie>=11&&(W(),T()),a.ie&&(x(),$(),X()),se&&(J(),N(),E(),S(),D(),L(),z(),V(),T()),{refreshContentEditable:K,isHidden:G}}}),r(Ie,[ue,w,m],function(e,t,n){function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=o.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function i(e,t){function n(e){return!e.hidden&&!e.readonly}var i=r(e,t),s;if(e.delegates||(e.delegates={}),!e.delegates[t])if(e.settings.event_root){if(a||(a={},e.editorManager.on("removeEditor",function(){var t;if(!e.editorManager.activeEditor&&a){for(t in a)e.dom.unbind(r(e,t));a=null}})),a[t])return;s=function(r){for(var i=r.target,a=e.editorManager.editors,s=a.length;s--;){var l=a[s].getBody();(l===i||o.isChildOf(i,l))&&n(a[s])&&a[s].fire(t,r)}},a[t]=s,o.bind(i,t,s)}else s=function(r){n(e)&&e.fire(t,r)},o.bind(i,t,s),e.delegates[t]=s}var o=t.DOM,a,s={bindPendingEventDelegates:function(){var e=this;n.each(e._pendingNativeEvents,function(t){i(e,t)})},toggleNativeEvent:function(e,t){var n=this;"focus"!=e&&"blur"!=e&&(t?n.initialized?i(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e=this,t;if(e.delegates){for(t in e.delegates)e.dom.unbind(r(e,t),t,e.delegates[t]);delete e.delegates}e.inline||(e.getBody().onload=null,e.dom.unbind(e.getWin()),e.dom.unbind(e.getDoc())),e.dom.unbind(e.getBody()),e.dom.unbind(e.getContainer())}};return s=n.extend({},e,s)}),r(Fe,[],function(){function e(e,t,n){try{e.getDoc().execCommand(t,!1,n)}catch(e){}}function t(e){var t,n;return t=e.getBody(),n=function(t){e.dom.getParents(t.target,"a").length>0&&t.preventDefault()},e.dom.bind(t,"click",n),{unbind:function(){e.dom.unbind(t,"click",n)}}}function n(n,r){n._clickBlocker&&(n._clickBlocker.unbind(),n._clickBlocker=null),r?(n._clickBlocker=t(n),n.selection.controlSelection.hideResizeRect(),n.readonly=!0,n.getBody().contentEditable=!1):(n.readonly=!1,n.getBody().contentEditable=!0,e(n,"StyleWithCSS",!1),e(n,"enableInlineTableEditing",!1),e(n,"enableObjectResizing",!1),n.focus(),n.nodeChanged())}function r(e,t){var r=e.readonly?"readonly":"design";t!=r&&(e.initialized?n(e,"readonly"==t):e.on("init",function(){n(e,"readonly"==t)}),e.fire("SwitchMode",{mode:t}))}return{setMode:r}}),r(ze,[m,d],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122},o=e.makeMap("alt,ctrl,shift,meta,access");return function(a){function s(e){var a,s,l={};n(r(e,"+"),function(e){e in o?l[e]=!0:/^[0-9]{2,}$/.test(e)?l.keyCode=parseInt(e,10):(l.charCode=e.charCodeAt(0),l.keyCode=i[e]||e.toUpperCase().charCodeAt(0))}),a=[l.keyCode];for(s in o)l[s]?a.push(s):l[s]=!1;return l.id=a.join(","),l.access&&(l.alt=!0,t.mac?l.ctrl=!0:l.shift=!0),l.meta&&(t.mac?l.meta=!0:(l.ctrl=!0,l.meta=!1)),l}function l(t,n,i,o){var l;return l=e.map(r(t,">"),s),l[l.length-1]=e.extend(l[l.length-1],{func:i,scope:o||a}),e.extend(l[0],{desc:a.translate(n),subpatterns:l.slice(1)})}function c(e){return e.altKey||e.ctrlKey||e.metaKey}function u(e){return e.keyCode>=112&&e.keyCode<=123}function d(e,t){return!!t&&(t.ctrl==e.ctrlKey&&t.meta==e.metaKey&&(t.alt==e.altKey&&t.shift==e.shiftKey&&(!!(e.keyCode==t.keyCode||e.charCode&&e.charCode==t.charCode)&&(e.preventDefault(),!0))))}function f(e){return e.func?e.func.call(e.scope):null}var h=this,p={},m=[];a.on("keyup keypress keydown",function(e){!c(e)&&!u(e)||e.isDefaultPrevented()||(n(p,function(t){if(d(e,t))return m=t.subpatterns.slice(0),"keydown"==e.type&&f(t),!0}),d(e,m[0])&&(1===m.length&&"keydown"==e.type&&f(m[0]),m.shift()))}),h.add=function(t,i,o,s){var c;return c=o,"string"==typeof o?o=function(){a.execCommand(c,!1,null)}:e.isArray(c)&&(o=function(){a.execCommand(c[0],c[1],c[2])}),n(r(e.trim(t.toLowerCase())),function(e){var t=l(e,i,o,s);p[t.id]=t}),!0},h.remove=function(e){var t=l(e);return!!p[t.id]&&(delete p[t.id],!0)}}}),r(Ue,[c,m,z],function(e,t,n){return function(r,i){function o(e){var t,n;return n={"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png"},t=n[e.blob().type.toLowerCase()]||"dat",e.id()+"."+t}function a(e,t){return e?e.replace(/\/$/,"")+"/"+t.replace(/^\//,""):t}function s(e){return{id:e.id,blob:e.blob,base64:e.base64,filename:n.constant(o(e))}}function l(e,t,n,r){var s,l;s=new XMLHttpRequest,s.open("POST",i.url),s.withCredentials=i.credentials,s.upload.onprogress=function(e){r(e.loaded/e.total*100)},s.onerror=function(){n("Image upload failed due to a XHR Transport error. Code: "+s.status)},s.onload=function(){var e;return 200!=s.status?void n("HTTP Error: "+s.status):(e=JSON.parse(s.responseText),e&&"string"==typeof e.location?void t(a(i.basePath,e.location)):void n("Invalid JSON: "+s.responseText))},l=new FormData,l.append("file",e.blob(),o(e)),s.send(l)}function c(){return new e(function(e){e([])})}function u(e,t){return{url:t,blobInfo:e,status:!0}}function d(e,t){return{url:"",blobInfo:e,status:!1,error:t}}function f(e,n){t.each(y[e],function(e){e(n)}),delete y[e]}function h(t,n,i){return r.markPending(t.blobUri()),new e(function(e){var o,a,l=function(){};try{var c=function(){o&&(o.close(),a=l)},h=function(n){c(),r.markUploaded(t.blobUri(),n),f(t.blobUri(),u(t,n)),e(u(t,n))},p=function(){c(),r.removeFailed(t.blobUri()),f(t.blobUri(),d(t,p)),e(d(t,p))};a=function(e){e<0||e>100||(o||(o=i()),o.progressBar.value(e))},n(s(t),h,p,a)}catch(n){e(d(t,n.message))}})}function p(e){return e===l}function m(t){var n=t.blobUri();return new e(function(e){y[n]=y[n]||[],y[n].push(e)})}function g(n,o){return n=t.grep(n,function(e){return!r.isUploaded(e.blobUri())}),e.all(t.map(n,function(e){return r.isPending(e.blobUri())?m(e):h(e,i.handler,o)}))}function v(e,t){return!i.url&&p(i.handler)?c():g(e,t)}var y={};return i=t.extend({credentials:!1,handler:l},i),{upload:v}}}),r(We,[c],function(e){function t(t){return new e(function(e){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="blob",n.onload=function(){200==this.status&&e(this.response)},n.send()})}function n(e){var t,n;return e=decodeURIComponent(e).split(","),n=/data:([^;]+)/.exec(e[0]),n&&(t=n[1]),{type:t,data:e[1]}}function r(t){return new e(function(e){var r,i,o;t=n(t);try{r=atob(t.data)}catch(t){return void e(new Blob([]))}for(i=new Uint8Array(r.length),o=0;o0&&(n&&(l*=-1),r.left+=l,r.right+=l),r}function l(){var n,r,o,a,s;for(n=i("*[contentEditable=false]",t),a=0;a
').css(l).appendTo(t),o&&m.addClass("mce-visual-caret-before"),d(),c=a.ownerDocument.createRange(),f=g.firstChild,c.setStart(f,0),c.setEnd(f,1),c):(g=e.insertInline(a,o),c=a.ownerDocument.createRange(),s(g.nextSibling)?(c.setStart(g,0),c.setEnd(g,0)):(c.setStart(g,1),c.setEnd(g,1)),c)}function u(){l(),g&&(e.remove(g),g=null),m&&(m.remove(),m=null),clearInterval(p)}function d(){p=a.setInterval(function(){i("div.mce-visual-caret",t).toggleClass("mce-visual-caret-hidden")},500)}function f(){a.clearInterval(p)}function h(){return".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"}var p,m,g;return{show:c,hide:u,getCss:h,destroy:f}}}),r(Xe,[p,_,W],function(e,t,n){function r(i){function o(t){return e.map(t,function(e){return e=n.clone(e),e.node=i,e})}if(e.isArray(i))return e.reduce(i,function(e,t){return e.concat(r(t))},[]);if(t.isElement(i))return o(i.getClientRects());if(t.isText(i)){var a=i.ownerDocument.createRange();return a.setStart(i,0),a.setEnd(i,i.data.length),o(a.getClientRects())}}return{getClientRects:r}}),r(Ke,[z,p,Xe,U,te,ne,$,W],function(e,t,n,r,i,o,a,s){function l(e,t,n,o){for(;o=i.findNode(o,e,r.isEditableCaretCandidate,t);)if(n(o))return}function c(e,r,i,o,a,s){function c(o){var s,l,c;for(c=n.getClientRects(o),e==-1&&(c=c.reverse()),s=0;s0&&r(l,t.last(f))&&u++,l.line=u,a(l))return!0;f.push(l)}}var u=0,d,f=[],h;return(h=t.last(s.getClientRects()))?(d=s.getNode(),c(d),l(e,o,c,d),f):f}function u(e,t){return t.line>e}function d(e,t){return t.line===e}function f(e,n,r,i){function l(n){return 1==e?t.last(n.getClientRects()):t.last(n.getClientRects())}var c=new o(n),u,d,f,h,p=[],m=0,g,v;1==e?(u=c.next,d=s.isBelow,f=s.isAbove,h=a.after(i)):(u=c.prev,d=s.isAbove,f=s.isBelow,h=a.before(i)),v=l(h);do if(h.isVisible()&&(g=l(h),!f(g,v))){if(p.length>0&&d(g,t.last(p))&&m++,g=s.clone(g),g.position=h,g.line=m,r(g))return p;p.push(g)}while(h=u(h));return p}var h=e.curry,p=h(c,-1,s.isAbove,s.isBelow),m=h(c,1,s.isBelow,s.isAbove);return{upUntil:p,downUntil:m,positionsUntil:f,isAboveLine:h(u),isLine:h(d)}}),r(Ge,[z,p,_,Xe,W,te,U],function(e,t,n,r,i,o,a){function s(e,t){return Math.abs(e.left-t)}function l(e,t){return Math.abs(e.right-t)}function c(e,n){function r(e,t){return e>=t.left&&e<=t.right}return t.reduce(e,function(e,t){var i,o;return i=Math.min(s(e,n),l(e,n)),o=Math.min(s(t,n),l(t,n)),r(n,t)?t:r(n,e)?e:o==i&&m(t.node)?t:o=e.top&&i<=e.bottom}),a=c(o,n),a&&(a=c(d(e,a),n),a&&m(a.node))?h(a,n):null}var m=n.isContentEditableFalse,g=o.findNode,v=e.curry;return{findClosestClientRect:c,findLineNodeRects:d,closestCaret:p}}),r(Je,[],function(){var e=function(e){var t,n,r,i;return i=e.getBoundingClientRect(),t=e.ownerDocument,n=t.documentElement,r=t.defaultView,{top:i.top+r.pageYOffset-n.clientTop,left:i.left+r.pageXOffset-n.clientLeft}},t=function(t){return t.inline?e(t.getBody()):{left:0,top:0}},n=function(e){var t=e.getBody();return e.inline?{left:t.scrollLeft,top:t.scrollTop}:{left:0,top:0}},r=function(e){var t=e.getBody(),n=e.getDoc().documentElement,r={left:t.scrollLeft,top:t.scrollTop},i={left:t.scrollLeft||n.scrollLeft,top:t.scrollTop||n.scrollTop};return e.inline?r:i},i=function(t,n){if(n.target.ownerDocument!==t.getDoc()){var i=e(t.getContentAreaContainer()),o=r(t);return{left:n.pageX-i.left+o.left,top:n.pageY-i.top+o.top}}return{left:n.pageX,top:n.pageY}},o=function(e,t,n){return{pageX:n.left-e.left+t.left,pageY:n.top-e.top+t.top}},a=function(e,r){return o(t(e),n(e),i(e,r))};return{calc:a}}),r(Qe,[_,p,z,u,w,Je],function(e,t,n,r,i,o){var a=e.isContentEditableFalse,s=e.isContentEditableTrue,l=function(e){return a(e)},c=function(e,t,n){return t!==n&&!e.dom.isChildOf(t,n)&&!a(t)},u=function(e){var t=e.cloneNode(!0);return t.removeAttribute("data-mce-selected"),t},d=function(e,t,n,r){var i=t.cloneNode(!0);e.dom.setStyles(i,{width:n,height:r}),e.dom.setAttrib(i,"data-mce-selected",null);var o=e.dom.create("div",{class:"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return e.dom.setStyles(o,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:n,height:r}),e.dom.setStyles(i,{margin:0,boxSizing:"border-box"}),o.appendChild(i),o},f=function(e,t){e.parentNode!==t&&t.appendChild(e)},h=function(e,t,n,r,i,o){var a=0,s=0;e.style.left=t.pageX+"px",e.style.top=t.pageY+"px",t.pageX+n>i&&(a=t.pageX+n-i),t.pageY+r>o&&(s=t.pageY+r-o),e.style.width=n-a+"px",e.style.height=r-s+"px"},p=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},m=function(e){return 0===e.button},g=function(e){return e.element},v=function(e,t){return{pageX:t.pageX-e.relX, +pageY:t.pageY+5}},y=function(e,r){return function(i){if(m(i)){var o=t.find(r.dom.getParents(i.target),n.or(a,s));if(l(o)){var c=r.dom.getPos(o),u=r.getBody(),f=r.getDoc().documentElement;e.element=o,e.screenX=i.screenX,e.screenY=i.screenY,e.maxX=(r.inline?u.scrollWidth:f.offsetWidth)-2,e.maxY=(r.inline?u.scrollHeight:f.offsetHeight)-2,e.relX=i.pageX-c.x,e.relY=i.pageY-c.y,e.width=o.offsetWidth,e.height=o.offsetHeight,e.ghost=d(r,o,e.width,e.height)}}}},b=function(e,t){var n=r.throttle(function(e,n){t._selectionOverrides.hideFakeCaret(),t.selection.placeCaretAt(e,n)},0);return function(r){var i=Math.max(Math.abs(r.screenX-e.screenX),Math.abs(r.screenY-e.screenY));if(g(e)&&!e.dragging&&i>10){var a=t.fire("dragstart",{target:e.element});if(a.isDefaultPrevented())return;e.dragging=!0,t.focus()}if(e.dragging){var s=v(e,o.calc(t,r));f(e.ghost,t.getBody()),h(e.ghost,s,e.width,e.height,e.maxX,e.maxY),n(r.clientX,r.clientY)}}},C=function(e,t){return function(n){if(e.dragging&&c(t,t.selection.getNode(),e.element)){var r=u(e.element),i=t.fire("drop",{targetClone:r,clientX:n.clientX,clientY:n.clientY});i.isDefaultPrevented()||(r=i.targetClone,t.undoManager.transact(function(){p(e.element),t.insertContent(t.dom.getOuterHTML(r)),t._selectionOverrides.hideFakeCaret()}))}w(e)}},x=function(e,t){return function(){w(e),e.dragging&&t.fire("dragend")}},w=function(e){e.dragging=!1,e.element=null,p(e.ghost)},N=function(e){var t={},n,r,o,a,s,l;n=i.DOM,l=document,r=y(t,e),o=b(t,e),a=C(t,e),s=x(t,e),e.on("mousedown",r),e.on("mousemove",o),e.on("mouseup",a),n.bind(l,"mousemove",o),n.bind(l,"mouseup",s),e.on("remove",function(){n.unbind(l,"mousemove",o),n.unbind(l,"mouseup",s)})},E=function(e){e.on("drop",function(t){var n="undefined"!=typeof t.clientX?e.getDoc().elementFromPoint(t.clientX,t.clientY):null;(a(n)||a(e.dom.getContentEditableParent(n)))&&t.preventDefault()})},_=function(e){N(e),E(e)};return{init:_}}),r(Ze,[d,ne,$,k,te,Ye,Ke,Ge,_,T,W,I,z,p,u,Qe,S],function(e,t,n,r,i,o,a,s,l,c,u,d,f,h,p,m,g){function v(e,t){for(;t=e(t);)if(t.isVisible())return t;return t}function y(c){function y(){var e=c.dom.get(le);return e?e.getElementsByTagName("*")[0]:e}function S(e){return c.dom.isBlock(e)}function k(e){e&&c.selection.setRng(e)}function T(){return c.selection.getRng()}function R(e,t){c.selection.scrollIntoView(e,t)}function A(e,t,n){var r;return r=c.fire("ShowCaret",{target:t,direction:e,before:n}),r.isDefaultPrevented()?null:(R(t,e===-1),se.show(n,t))}function B(e){var t;return se.hide(),t=c.fire("BeforeObjectSelected",{target:e}),t.isDefaultPrevented()?null:D(e)}function D(e){var t=e.ownerDocument.createRange();return t.selectNode(e),t}function L(e,t){var n=i.isInSameBlock(e,t);return!(n||!l.isBr(e.getNode()))||n}function M(e,t){return t=i.normalizeRange(e,re,t),e==-1?n.fromRangeStart(t):n.fromRangeEnd(t)}function P(e){return r.isCaretContainerBlock(e.startContainer)}function O(e,t,n,r){var i,o,a,s;return!r.collapsed&&(i=_(r),x(i))?A(e,i,e==-1):(s=P(r),o=M(e,r),n(o)?B(o.getNode(e==-1)):(o=t(o))?n(o)?A(e,o.getNode(e==-1),1==e):(a=t(o),n(a)&&L(o,a)?A(e,a.getNode(e==-1),1==e):s?$(o.toRange()):null):s?r:null)}function H(e,t,n){var r,i,o,l,c,u,d,f,p;if(p=_(n),r=M(e,n),i=t(re,a.isAboveLine(1),r),o=h.filter(i,a.isLine(1)),c=h.last(r.getClientRects()),E(r)&&(p=r.getNode()),N(r)&&(p=r.getNode(!0)),!c)return null;if(u=c.left,l=s.findClosestClientRect(o,u),l&&x(l.node))return d=Math.abs(u-l.left),f=Math.abs(u-l.right),A(e,l.node,d=11)&&(t.innerHTML='
'),t}var o,a,s;if(r.collapsed&&c.settings.forced_root_block){if(o=c.dom.getParent(r.startContainer,"PRE"),!o)return;a=1==t?oe(n.fromRangeStart(r)):ae(n.fromRangeStart(r)),a||(s=i(),1==t?c.$(o).after(s):c.$(o).before(s),c.selection.select(s,!0),c.selection.collapse())}}function F(e,t,n,r){var i;return(i=O(e,t,n,r))?i:(i=I(e,r),i?i:null)}function z(e,t,n){var r;return(r=H(e,t,n))?r:(r=I(e,n),r?r:null)}function U(){return ue("*[data-mce-caret]")[0]}function W(e){e=ue(e),e.attr("data-mce-caret")&&(se.hide(),e.removeAttr("data-mce-caret"),e.removeAttr("data-mce-bogus"),e.removeAttr("style"),k(T()),R(e[0]))}function V(e){var t,r;return e=i.normalizeRange(1,re,e),t=n.fromRangeStart(e),x(t.getNode())?A(1,t.getNode(),!t.isAtEnd()):x(t.getNode(!0))?A(1,t.getNode(!0),!1):(r=c.dom.getParent(t.getNode(),f.or(x,C)),x(r)?A(1,r,!1):(se.hide(),null))}function $(e){var t;return e&&e.collapsed?(t=V(e),t?t:e):e}function q(e){var t,i,o,a;return x(e)?(x(e.previousSibling)&&(o=e.previousSibling),i=ae(n.before(e)),i||(t=oe(n.after(e))),t&&w(t.getNode())&&(a=t.getNode()),r.remove(e.previousSibling),r.remove(e.nextSibling),c.dom.remove(e),ee(),c.dom.isEmpty(c.getBody())?(c.setContent(""),void c.focus()):o?n.after(o).toRange():a?n.before(a).toRange():i?i.toRange():t?t.toRange():null):null}function j(e){var t=c.schema.getTextBlockElements();return e.nodeName in t}function Y(e){return c.dom.isEmpty(e)}function X(e,t,r){var i=c.dom,o,a,s,l;if(o=i.getParent(t.getNode(),i.isBlock),a=i.getParent(r.getNode(),i.isBlock),e===-1){if(l=r.getNode(!0),N(r)&&S(l))return j(o)?(Y(o)&&i.remove(o),n.after(l).toRange()):q(r.getNode(!0))}else if(l=t.getNode(),E(t)&&S(l))return j(a)?(Y(a)&&i.remove(a),n.before(l).toRange()):q(t.getNode());if(o===a||!j(o)||!j(a))return null;for(;s=o.firstChild;)a.appendChild(s);return c.dom.remove(o),r.toRange()}function K(e,t,n,i){var o,a,s,l;return!i.collapsed&&(o=_(i),x(o))?$(q(o)):(a=M(e,i),n(a)&&r.isCaretContainerBlock(i.startContainer)?(l=e==-1?ie.prev(a):ie.next(a),l?$(l.toRange()):i):t(a)?$(q(a.getNode(e==-1))):(s=e==-1?ie.prev(a):ie.next(a),t(s)?e===-1?X(e,a,s):X(e,s,a):void 0))}function G(){function r(e,t){var n=t(T());n&&!e.isDefaultPrevented()&&(e.preventDefault(),k(n))}function i(e){for(var t=c.getBody();e&&e!=t;){if(C(e)||x(e))return e;e=e.parentNode}return null}function o(e,t,n){return!n.collapsed&&h.reduce(n.getClientRects(),function(n,r){return n||u.containsXY(r,e,t)},!1)}function l(e){var t=!1;e.on("touchstart",function(){t=!1}),e.on("touchmove",function(){t=!0}),e.on("touchend",function(e){var n=i(e.target);x(n)?t||(e.preventDefault(),Z(B(n))):ee()})}function f(){var e,t=i(c.selection.getNode());C(t)&&S(t)&&c.dom.isEmpty(t)&&(e=c.dom.create("br",{"data-mce-bogus":"1"}),c.$(t).empty().append(e),c.selection.setRng(n.before(e).toRange()))}function g(e){var t=U();if(t)return"compositionstart"==e.type?(e.preventDefault(),e.stopPropagation(),void W(t)):void(" "!=t.innerHTML&&W(t))}function v(e){var t;switch(e.keyCode){case d.DELETE:t=f();break;case d.BACKSPACE:t=f()}t&&e.preventDefault()}var w=b(F,1,oe,E),_=b(F,-1,ae,N),R=b(K,1,E,N),D=b(K,-1,N,E),L=b(z,-1,a.upUntil),M=b(z,1,a.downUntil);c.on("mouseup",function(){var e=T();e.collapsed&&k(V(e))}),c.on("click",function(e){var t;t=i(e.target),t&&x(t)&&(e.preventDefault(),c.focus())});var P=function(e){var r=new t(e);if(!e.firstChild)return!1;var i=n.before(e.firstChild),o=r.next(i);return o&&!E(o)&&!N(o)},O=function(e,t){var n=c.dom.getParent(e,c.dom.isBlock),r=c.dom.getParent(t,c.dom.isBlock);return n===r},H=function(e,t){var n=c.dom.getParent(e,c.dom.isBlock),r=c.dom.getParent(t,c.dom.isBlock);return n&&!O(n,r)&&P(n)};l(c),c.on("mousedown",function(e){var t;if(t=i(e.target))x(t)?(e.preventDefault(),Z(B(t))):(ee(),o(e.clientX,e.clientY,c.selection.getRng())||c.selection.placeCaretAt(e.clientX,e.clientY));else{ee(),se.hide();var n=s.closestCaret(re,e.clientX,e.clientY);n&&(H(e.target,n.node)||(e.preventDefault(),c.getBody().focus(),k(A(1,n.node,n.before))))}}),c.on("keydown",function(e){if(!d.modifierPressed(e))switch(e.keyCode){case d.RIGHT:r(e,w);break;case d.DOWN:r(e,M);break;case d.LEFT:r(e,_);break;case d.UP:r(e,L);break;case d.DELETE:r(e,R);break;case d.BACKSPACE:r(e,D);break;default:x(c.selection.getNode())&&e.preventDefault()}}),c.on("keyup compositionstart",function(e){g(e),v(e)},!0),c.on("cut",function(){var e=c.selection.getNode();x(e)&&p.setEditorTimeout(c,function(){k($(q(e)))})}),c.on("getSelectionRange",function(e){var t=e.range;if(ce){if(!ce.parentNode)return void(ce=null);t=t.cloneRange(),t.selectNode(ce),e.range=t}}),c.on("setSelectionRange",function(e){var t;t=Z(e.range),t&&(e.range=t)}),c.on("focus",function(){p.setEditorTimeout(c,function(){c.selection.setRng($(c.selection.getRng()))},0)}),c.on("copy",function(t){var n=t.clipboardData;if(!t.isDefaultPrevented()&&t.clipboardData&&!e.ie){var r=y();r&&(t.preventDefault(),n.clearData(),n.setData("text/html",r.outerHTML),n.setData("text/plain",r.outerText))}}),m.init(c)}function J(){var e=c.contentStyles,t=".mce-content-body";e.push(se.getCss()),e.push(t+" .mce-offscreen-selection {position: absolute;left: -9999999999px;}"+t+" *[contentEditable=false] {cursor: default;}"+t+" *[contentEditable=true] {cursor: text;}")}function Q(e){return r.isCaretContainer(e.startContainer)||r.isCaretContainer(e.endContainer)}function Z(t){var n,r=c.$,i=c.dom,o,a,s,l,u,d,f,h,p;if(!t)return ee(),null;if(t.collapsed){if(ee(),!Q(t)){if(f=M(1,t),x(f.getNode()))return A(1,f.getNode(),!f.isAtEnd());if(x(f.getNode(!0)))return A(1,f.getNode(!0),!1)}return null}return s=t.startContainer,l=t.startOffset,u=t.endOffset,3==s.nodeType&&0==l&&x(s.parentNode)&&(s=s.parentNode,l=i.nodeIndex(s),s=s.parentNode),1!=s.nodeType?(ee(),null):(u==l+1&&(n=s.childNodes[l]),x(n)?(h=p=n.cloneNode(!0),d=c.fire("ObjectSelected",{target:n,targetClone:h}),d.isDefaultPrevented()?(ee(),null):(h=d.targetClone,o=r("#"+le),0===o.length&&(o=r('
').attr("id",le),o.appendTo(c.getBody())),t=c.dom.createRng(),h===p&&e.ie?(o.empty().append(g.ZWSP).append(h).append(g.ZWSP),t.setStart(o[0].firstChild,0),t.setEnd(o[0].lastChild,1)):(o.empty().append("\xa0").append(h).append("\xa0"),t.setStart(o[0].firstChild,1),t.setEnd(o[0].lastChild,0)),o.css({top:i.getPos(n,c.getBody()).y}),o[0].focus(),a=c.selection.getSel(),a.removeAllRanges(),a.addRange(t),c.$("*[data-mce-selected]").removeAttr("data-mce-selected"),n.setAttribute("data-mce-selected",1),ce=n,t)):(ee(),null))}function ee(){ce&&(ce.removeAttribute("data-mce-selected"),c.$("#"+le).remove(),ce=null)}function te(){se.destroy(),ce=null}function ne(){se.hide()}var re=c.getBody(),ie=new t(re),oe=b(v,ie.next),ae=b(v,ie.prev),se=new o(c.getBody(),S),le="sel-"+c.dom.uniqueId(),ce,ue=c.$;return e.ceFalse&&(G(),J()),{showBlockCaretContainer:W,hideFakeCaret:ne,destroy:te}}var b=f.curry,C=l.isContentEditableTrue,x=l.isContentEditableFalse,w=l.isElement,N=i.isAfterContentEditableFalse,E=i.isBeforeContentEditableFalse,_=c.getSelectedNode;return y}),r(et,[],function(){var e=0,t=function(){var e=function(){return Math.round(4294967295*Math.random()).toString(36)},t=(new Date).getTime();return"s"+t.toString(36)+e()+e()+e()},n=function(n){return n+e++ +t()};return{uuid:n}}),r(tt,[w,g,E,R,A,O,P,Y,J,Q,Z,ee,oe,ae,N,f,Ae,Pe,B,L,He,d,m,u,Ie,Fe,ze,je,Ze,et],function(e,n,r,i,o,a,s,l,c,u,d,f,h,p,m,g,v,y,b,C,x,w,N,E,_,S,k,T,R,A){function B(e,t,i){var o=this,a,s,l;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,l=i.defaultSettings,t=P({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},l,t),l&&l.external_plugins&&t.external_plugins&&(t.external_plugins=P({},l.external_plugins,t.external_plugins)),o.settings=t,r.language=t.language||"en",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.setDirty(!1),o.plugins={},o.documentBaseURI=new p(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new k(o),o.loadedCSS={},o.editorCommands=new h(o),t.target&&(o.targetElm=t.target),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,o.settings.content_editable=o.inline,t.cache_suffix&&(w.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),t.override_viewport===!1&&(w.overrideViewPort=!1),i.fire("SetupEditor",o),o.execCallback("setup",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var D=e.DOM,L=r.ThemeManager,M=r.PluginManager,P=N.extend,O=N.each,H=N.explode,I=N.inArray,F=N.trim,z=N.resolve,U=g.Event,W=w.gecko,V=w.ie;return B.prototype={render:function(){function e(){D.unbind(window,"ready",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!L.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",L.load(r.theme,t)}N.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),O(r.external_plugins,function(e,t){M.load(t,e),r.plugins+=" "+t}),O(r.plugins.split(/[ ,]/),function(e){if(e=F(e),e&&!M.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=M.dependencies(e);O(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=M.createUrl(t,e),M.load(e.resource,e)})}else M.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!U.domLoaded)return void D.bind(window,"ready",e);if(n.getElement()&&w.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||D.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(D.insertAfter(D.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},D.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.setDirty(!1),a._mceOldSubmit(a)})),n.windowManager=new v(n),n.notificationManager=new y(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=D.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),n.editorManager.add(n),t()}},init:function(){function e(n){var r=M.get(n),i,o;if(i=M.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=F(n),r&&I(m,n)===-1){if(O(M.dependencies(n),function(t){e(t)}),t.plugins[n])return;o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n))}}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,c,u,d,f,h,p,m=[];if(t.rtl=n.rtl_ui||t.editorManager.i18n.rtl,t.editorManager.i18n.setCode(n.language),n.aria_label=n.aria_label||D.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),t.fire("ScriptsLoaded"),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),c=L.get(n.theme),t.theme=new c(t,L.urls[n.theme]),t.theme.init&&t.theme.init(t,L.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""),t.$)):t.theme=n.theme),O(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,h=/^[0-9\.]+(|px)$/i,h.test(""+i)&&(i=Math.max(parseInt(i,10),100)),h.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),o",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+=''),!w.caretAfter&&n.ie7_compat&&(t.iframeHTML+=''),t.iframeHTML+='',!/#$/.test(document.location.href))for(p=0;p',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",d.indexOf("=")!=-1&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",f.indexOf("=")!=-1&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),n.content_security_policy&&(t.iframeHTML+=''),t.iframeHTML+='
';var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&w.ie&&w.ie<12&&(u=v);var y=D.create("iframe",{id:t.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}});if(y.onload=function(){y.onload=null,t.fire("load")},D.setAttrib(y,"src",u||'javascript:""'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=D.add(l.iframeContainer,y),V)try{t.getDoc()}catch(e){s.src=u=v}l.editorContainer&&(D.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=D.isHidden(l.editorContainer)),t.getElement().style.display="none",D.setAttrib(t.id,"aria-hidden",!0),u||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),h=n.getDoc(),p,m;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(h.open(),h.write(n.iframeHTML),h.close()),r.content_editable&&(n.on("remove",function(){var e=this.getBody();D.removeClass(e,"mce-content-body"),D.removeClass(e,"mce-edit-focus"),D.setAttrib(e,"contentEditable",null)}),D.addClass(s,"mce-content-body"),n.contentDocument=h=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),p=n.getBody(),p.disabled=!0,n.readonly=r.readonly,n.readonly||(n.inline&&"static"==D.getStyle(p,"position",!0)&&(p.style.position="relative"),p.contentEditable=n.getParam("content_editable_state",!0)),p.disabled=!1,n.editorUpload=new T(n),n.schema=new b(r),n.dom=new e(h,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new C(r,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)if(i=e[r],a=i.attr(t),s="data-mce-"+t,!i.attributes.map[s]){if(0===a.indexOf("data:")||0===a.indexOf("blob:"))continue;"style"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name))}}),n.parser.addNodeFilter("script",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr("type")||"no/type",0!==r.indexOf("mce-")&&n.attr("type","mce-"+r)}),n.parser.addNodeFilter("#cdata",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name="#comment",n.value="[CDATA["+n.value+"]]"}),n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t=e.length,r,i=n.schema.getNonEmptyElements();t--;)r=e[t],r.isEmpty(i)&&(r.append(new o("br",1)).shortEnded=!0)}),n.serializer=new a(r,n),n.selection=new l(n.dom,n.getWin(),n.serializer,n),n.formatter=new c(n),n.undoManager=new u(n),n.forceBlocks=new f(n),n.enterKey=new d(n),n._nodeChangeDispatcher=new i(n),n._selectionOverrides=new R(n),n.fire("PreInit"),r.browser_spellcheck||r.gecko_spellcheck||(h.body.spellcheck=!1,D.setAttrib(p,"spellcheck","false")),n.quirks=new x(n),n.fire("PostRender"),r.directionality&&(p.dir=r.directionality),r.nowrap&&(p.style.whiteSpace="nowrap"),r.protect&&n.on("BeforeSetContent",function(e){O(r.protect,function(t){e.content=e.content.replace(t,function(e){return""})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),r.padd_empty_editor&&n.on("PostProcess",function(e){e.content=e.content.replace(/^(]*>( | |\s|\u00a0|)<\/p>[\r\n]*|
[\r\n]*)$/,"")}),n.load({initial:!0,format:"html"}),n.startContent=n.getContent({format:"raw"}),n.initialized=!0,n.bindPendingEventDelegates(),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.on("compositionstart compositionend",function(e){n.composing="compositionstart"===e.type}),n.contentStyles.length>0&&(m="",O(n.contentStyles,function(e){m+=e+"\r\n"}),n.dom.addStyle(m)),O(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),r.auto_focus&&E.setEditorTimeout(n,function(){var e;e=r.auto_focus===!0?n:n.editorManager.get(r.auto_focus),e.destroyed||e.focus()},100),s=h=p=null},focus:function(e){function t(e){return n.dom.getParent(e,function(e){return"true"===n.dom.getContentEditable(e)})}var n=this,r=n.selection,i=n.settings.content_editable,o,a,s=n.getDoc(),l=n.getBody(),c;if(!e){if(o=r.getRng(),o.item&&(a=o.item(0)),n.quirks.refreshContentEditable(),c=t(r.getNode()),n.$.contains(l,c))return c.focus(),r.normalize(),void n.editorManager.setActive(n);if(i||(w.opera||n.getBody().focus(),n.getWin().focus()),W||i){if(l.setActive)try{l.setActive()}catch(e){l.focus()}else l.focus();i&&r.normalize()}a&&a.ownerDocument==s&&(o=s.body.createControlRange(),o.addElement(a),o.select())}n.editorManager.setActive(n)},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),"string"==typeof n&&(r=n.replace(/\.\w+$/,""),r=r?z(r):0,n=z(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||"en",n=this.editorManager.i18n;return e?(e=n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"}),this.editorManager.translate(e)):""},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(n!==t?n:"{#"+e+"}")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return"hash"===n?(i={},"string"==typeof r?O(r.indexOf("=")>0?r.split(/[;,](?![^=;,]*(?:[;,]|$))/):r.split(","),function(e){e=e.split("="),e.length>1?i[F(e[0])]=F(e[1]):i[F(e[0])]=F(e)}):i=r,i):r},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addContextToolbar:function(e,t){var n=this,r;n.contextToolbars=n.contextToolbars||[],"string"==typeof e&&(r=e,e=function(e){return n.dom.is(e,r)}),n.contextToolbars.push({id:A.uuid("mcet"),predicate:e,items:t})},addCommand:function(e,t,n){this.editorCommands.addCommand(e,t,n)},addQueryStateHandler:function(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)},addQueryValueHandler:function(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){return this.editorCommands.execCommand(e,t,n,r)},queryCommandState:function(e){return this.editorCommands.queryCommandState(e)},queryCommandValue:function(e){return this.editorCommands.queryCommandValue(e)},queryCommandSupported:function(e){return this.editorCommands.queryCommandSupported(e)},show:function(){var e=this;e.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable=!0:(D.show(e.getContainer()),D.hide(e.id)),e.load(),e.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(V&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e==e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(D.hide(e.getContainer()),D.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;if(r)return e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire("LoadContent",e),e.element=r=null,i},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire("SaveContent",e),"raw"==e.format&&t.fire("RawSaveContent",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=D.getParent(t.id,"form"))&&O(i.elements,function(e){if(e.name==t.id)return e.value=r,!1})),e.element=n=null,e.set_dirty!==!1&&t.setDirty(!1),r},setContent:function(e,t){var n=this,r=n.getBody(),i,o;return t=t||{},t.format=t.format||"html",t.set=!0,t.content=e,t.no_events||n.fire("BeforeSetContent",t),e=t.content,0===e.length||/^\s+$/.test(e)?(o=V&&V<11?"":'
',"TABLE"==r.nodeName?e=""+o+"":/^(UL|OL)$/.test(r.nodeName)&&(e="
  • "+o+"
  • "),i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=o,e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):V||e||(e='
    '),n.dom.setHTML(r,e),n.fire("SetContent",t)):("raw"!==t.format&&(e=new s({validate:n.validate},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=F(e),n.dom.setHTML(r,t.content),t.no_events||n.fire("SetContent",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||t.fire("BeforeGetContent",e),n="raw"==e.format?t.serializer.getTrimmedContent():"text"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),"text"!=e.format?e.content=F(n):e.content=n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=P({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},setDirty:function(e){var t=!this.isNotDirty;this.isNotDirty=!e,e&&e!=t&&this.fire("dirty")},setMode:function(e){S.setMode(this,e)},getContainer:function(){var e=this;return e.container||(e.container=D.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=D.get(this.id)),this.targetElm},getWin:function(){var e=this,t;return e.contentWindow||(t=e.iframeElement,t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){var e=this.getDoc();return this.bodyElement||(e?e.body:null)},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),O(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return o=r.visual_table_class||"mce-item-table",t=i.getAttrib(e,"border"),void(t&&"0"!=t||!n.hasVisual?i.removeClass(e,o):i.addClass(e,o));case"A":return void(i.getAttrib(e,"href",!1)||(t=i.getAttrib(e,"name")||e.id,o=r.visual_anchor_class||"mce-item-anchor",t&&n.hasVisual?i.addClass(e,o):i.removeClass(e,o)))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&D.remove(e.getElement().nextSibling),e.inline||(V&&V<10&&e.getDoc().execCommand("SelectAll",!1,null),D.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),D.remove(e.getContainer()),e._selectionOverrides.destroy(),e.editorUpload.destroy(),e.destroy())},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e||(t.editorManager.off("beforeunload",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),D.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()}},P(B.prototype,_),B}),r(nt,[],function(){var e={},t="en";return{setCode:function(e){e&&(t=e,this.rtl=!!this.data[e]&&"rtl"===this.data[e]._dir)},getCode:function(){return t},rtl:!1,add:function(t,n){var r=e[t];r||(e[t]=r={});for(var i in n)r[i]=n[i];this.setCode(t)},translate:function(n){var r;if(r=e[t],r||(r={}),"undefined"==typeof n)return n;if("string"!=typeof n&&n.raw)return n.raw;if(n.push){var i=n.slice(1);n=(r[n[0]]||n[0]).replace(/\{([0-9]+)\}/g,function(e,t){return i[t]})}return(r[n]||n).replace(/{context:\w+}$/,"")},data:e}}),r(rt,[w,u,d],function(e,t,n){function r(e){function l(){try{return document.activeElement}catch(e){return document.body}}function c(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}function u(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t, +n}function d(e){return!!s.getParent(e,r.isEditorUIElement)}function f(r){var f=r.editor;f.on("init",function(){(f.inline||n.ie)&&("onbeforedeactivate"in document&&n.ie<9?f.dom.bind(f.getBody(),"beforedeactivate",function(e){if(e.target==f.getBody())try{f.lastRng=f.selection.getRng()}catch(e){}}):f.on("nodechange mouseup keyup",function(e){var t=l();"nodechange"==e.type&&e.selectionChange||(t&&t.id==f.id+"_ifr"&&(t=f.getBody()),f.dom.isChildOf(t,f.getBody())&&(f.lastRng=f.selection.getRng()))}),n.webkit&&!i&&(i=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(f.lastRng=n)}},s.bind(document,"selectionchange",i)))}),f.on("setcontent",function(){f.lastRng=null}),f.on("mousedown",function(){f.selection.lastFocusBookmark=null}),f.on("focusin",function(){var t=e.focusedEditor,n;f.selection.lastFocusBookmark&&(n=u(f,f.selection.lastFocusBookmark),f.selection.lastFocusBookmark=null,f.selection.setRng(n)),t!=f&&(t&&t.fire("blur",{focusedEditor:f}),e.setActive(f),e.focusedEditor=f,f.fire("focus",{blurredEditor:t}),f.focus(!0)),f.lastRng=null}),f.on("focusout",function(){t.setEditorTimeout(f,function(){var t=e.focusedEditor;d(l())||t!=f||(f.fire("blur",{focusedEditor:null}),e.focusedEditor=null,f.selection&&(f.selection.lastFocusBookmark=null))})}),o||(o=function(t){var n=e.activeEditor,r;r=t.target,n&&r.ownerDocument==document&&(n.selection&&r!=n.getBody()&&(n.selection.lastFocusBookmark=c(n.dom,n.lastRng)),r==document.body||d(r)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},s.bind(document,"focusin",o)),f.inline&&!a&&(a=function(t){var n=e.activeEditor,r=n.dom;if(n.inline&&r&&!r.isChildOf(t.target,n.getBody())){var i=n.selection.getRng();i.collapsed||(n.lastRng=i)}},s.bind(document,"mouseup",a))}function h(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(s.unbind(document,"selectionchange",i),s.unbind(document,"focusin",o),s.unbind(document,"mouseup",a),i=o=a=null)}e.on("AddEditor",f),e.on("RemoveEditor",h)}var i,o,a,s=e.DOM;return r.isEditorUIElement=function(e){return e.className.toString().indexOf("mce-")!==-1},r}),r(it,[tt,g,w,ae,d,m,c,ue,nt,rt],function(e,t,n,r,i,o,a,s,l,c){function u(e){g(C.editors,function(t){"scroll"===e.type?t.fire("ScrollWindow",e):t.fire("ResizeWindow",e)})}function d(e,n){n!==x&&(n?t(window).on("resize scroll",u):t(window).off("resize scroll",u),x=n)}function f(e){var t=C.editors,n;delete t[e.id];for(var r=0;r0&&g(m(t),function(e){var t;(t=p.get(e))?n.push(t):g(document.forms,function(t){g(t.elements,function(t){t.name===e&&(e="mce_editor_"+y++,p.setAttrib(t,"id",e),n.push(t))})})});break;case"textareas":case"specific_textareas":g(p.select("textarea"),function(t){e.editor_deselector&&c(t,e.editor_deselector)||e.editor_selector&&!c(t,e.editor_selector)||n.push(t)})}return n}function d(){function a(t,n,r){var i=new e(t,n,f);m.push(i),i.on("init",function(){++c===y.length&&x(m)}),i.targetElm=i.targetElm||r,i.render()}var c=0,m=[],y;return p.unbind(window,"ready",d),l("onpageload"),y=t.unique(u(n)),n.types?void g(n.types,function(e){o.each(y,function(t){return!p.is(t,e.selector)||(a(s(t),v({},n,e),t),!1)})}):(o.each(y,function(e){h(f.get(e.id))}),y=o.grep(y,function(e){return!f.get(e.id)}),void g(y,function(e){r(n,e)?i("Could not initialize inline editor on invalid inline target element",e):a(s(e),n,e)}))}var f=this,b,C;C=o.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu"," ");var x=function(e){b=e};return f.settings=n,p.bind(window,"ready",d),new a(function(e){b?e(b):x=function(t){e(t)}})},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),d(n,!0),t.activeEditor=e,t.fire("AddEditor",{editor:e}),b||(b=function(){t.fire("BeforeUnload")},p.bind(window,"beforeunload",b)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i;{if(e)return"string"==typeof e?(e=e.selector||e,void g(p.select(e),function(e){i=r[e.id],i&&t.remove(i)})):(i=e,r[i.id]?(f(i)&&t.fire("RemoveEditor",{editor:i}),r.length||p.unbind(window,"beforeunload",b),i.remove(),d(r,r.length>0),i):null);for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case"mceAddEditor":return i.get(r)||new e(r,i.settings,i).render(),!0;case"mceRemoveEditor":return o&&o.remove(),!0;case"mceToggleEditor":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand("mceAddEditor",0,r),!0)}return!!i.activeEditor&&i.activeEditor.execCommand(t,n,r)},triggerSave:function(){g(this.editors,function(e){e.save()})},addI18n:function(e,t){l.add(e,t)},translate:function(e){return l.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!=e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{relatedTarget:t})),this.activeEditor=e}},v(C,s),C.setup(),window.tinymce=window.tinyMCE=C,C}),r(ot,[it,m],function(e,t){var n=t.each,r=t.explode;e.on("AddEditor",function(e){var t=e.editor;t.on("preInit",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,"span")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select("font,u,strike",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(n,r){"html4"===t.settings.schema&&e(r,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(at,[ue,m],function(e,t){var n={send:function(e){function r(){!e.async||4==i.readyState||o++>1e4?(e.success&&o<1e4&&200==i.status?e.success.call(e.success_scope,""+i.responseText,i,e):e.error&&e.error.call(e.error_scope,o>1e4?"TIMED_OUT":"GENERAL",i,e),i=null):setTimeout(r,10)}var i,o=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async!==!1,e.data=e.data||"",n.fire("beforeInitialize",{settings:e}),i=new XMLHttpRequest){if(i.overrideMimeType&&i.overrideMimeType(e.content_type),i.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(i.withCredentials=!0),e.content_type&&i.setRequestHeader("Content-Type",e.content_type),e.requestheaders&&t.each(e.requestheaders,function(e){i.setRequestHeader(e.key,e.value)}),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i=n.fire("beforeSend",{xhr:i,settings:e}).xhr,i.send(e.data),!e.async)return r();setTimeout(r,10)}}};return t.extend(n,e),n}),r(st,[],function(){function e(t,n){var r,i,o,a;if(n=n||'"',null===t)return"null";if(o=typeof t,"string"==o)return i="\bb\tt\nn\ff\rr\"\"''\\\\",n+t.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=i.indexOf(t),r+1?"\\"+i.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e))})+n;if("object"==o){if(t.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(t)){for(r=0,i="[";r0?",":"")+e(t[r],n);return i+"]"}i="{";for(a in t)t.hasOwnProperty(a)&&(i+="function"!=typeof t[a]?(i.length>1?","+n:n)+a+n+":"+e(t[a],n):"");return i+"}"}return""+t}return{serialize:e,parse:function(e){try{return window[String.fromCharCode(101)+"val"]("("+e+")")}catch(e){}}}}),r(lt,[st,at,m],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),"undefined"==typeof t&&(t={error:"JSON Parse error."}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",t.send(n)}},r}),r(ct,[w],function(e){return{callbacks:{},count:0,send:function(n){var r=this,i=e.DOM,o=n.count!==t?n.count:r.count,a="tinymce_jsonp_"+o;r.callbacks[o]=function(e){i.remove(a),delete r.callbacks[o],n.callback(e)},i.add(i.doc.body,"script",{id:a,src:n.url,type:"text/javascript"}),r.count++}}}),r(ut,[],function(){function e(){s=[];for(var e in a)s.push(e);i.length=s.length}function n(){function n(e){var n,r;return r=e!==t?u+e:i.indexOf(",",u),r===-1||r>i.length?null:(n=i.substring(u,r),u=r+1,n)}var r,i,s,u=0;if(a={},c){o.load(l),i=o.getAttribute(l)||"";do{var d=n();if(null===d)break;if(r=n(parseInt(d,32)||0),null!==r){if(d=n(),null===d)break;s=n(parseInt(d,32)||0),r&&(a[r]=s)}}while(null!==r);e()}}function r(){var t,n="";if(c){for(var r in a)t=a[r],n+=(n?",":"")+r.length.toString(32)+","+r+","+t.length.toString(32)+","+t;o.setAttribute(l,n);try{o.save(l)}catch(e){}e()}}var i,o,a,s,l,c;try{if(window.localStorage)return localStorage}catch(e){}return l="tinymce",o=document.documentElement,c=!!o.addBehavior,c&&o.addBehavior("#default#userData"),i={key:function(e){return s[e]},getItem:function(e){return e in a?a[e]:null},setItem:function(e,t){a[e]=""+t,r()},removeItem:function(e){delete a[e],r()},clear:function(){a={},r()}},n(),i}),r(dt,[w,f,N,E,m,d],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each(i,function(e,t){a[t]=e}),i.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(ft,[se,m],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.bodyClasses.add(this.settings.containerClass)},applyClasses:function(e){var t=this,n=t.settings,r,i,o,a;r=n.firstControlClass,i=n.lastControlClass,e.each(function(e){e.classes.remove(r).remove(i).add(n.controlClass),e.visible()&&(o||(o=e),a=e)}),o&&o.classes.add(r),a&&a.classes.add(i)},renderHtml:function(e){var t=this,n="";return t.applyClasses(e.items()),e.items().each(function(e){n+=e.renderHtml()}),n},recalc:function(){},postRender:function(){},isNative:function(){return!1}})}),r(ht,[ft],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'
    '+this._super(e)}})}),r(pt,[De],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t=this,n;t._super(e),e=t.settings,n=t.settings.size,t.on("click mousedown",function(e){e.preventDefault()}),t.on("touchstart",function(e){t.fire("click",e),e.preventDefault()}),e.subtype&&t.classes.add(e.subtype),n&&t.classes.add("btn-"+n),e.icon&&t.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set("icon",e),this):this.state.get("icon")},repaint:function(){var e=this.getEl().firstChild,t;e&&(t=e.style,t.width=t.height="100%"),this._super()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get("icon"),i,o=e.state.get("text"),a="";return i=e.settings.image,i?(r="none","string"!=typeof i&&(i=window.getSelection?i[0]:i[1]),i=" style=\"background-image: url('"+i+"')\""):i="",o&&(e.classes.add("btn-has-text"),a=''+e.encode(o)+""),r=e.settings.icon?n+"ico "+n+"i-"+r:"",'
    "},bindStates:function(){function e(e){var i=n("span."+r,t.getEl());e?(i[0]||(n("button:first",t.getEl()).append(''),i=n("span."+r,t.getEl())),i.html(t.encode(e))):i.remove(),t.classes.toggle("btn-has-text",!!e)}var t=this,n=t.$,r=t.classPrefix+"txt";return t.state.on("change:text",function(t){e(t.value)}),t.state.on("change:icon",function(n){var r=n.value,i=t.classPrefix;t.settings.icon=r,r=r?i+"ico "+i+"i-"+t.settings.icon:"";var o=t.getEl().firstChild,a=o.getElementsByTagName("i")[0];r?(a&&a==o.firstChild||(a=document.createElement("i"),o.insertBefore(a,o.firstChild)),a.className=r):a&&o.removeChild(a),e(t.state.get("text"))}),t._super()}})}),r(mt,[xe],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.classes.add("btn-group"),e.preRender(),t.preRender(e),'
    '+(e.settings.html||"")+t.renderHtml(e)+"
    "}})}),r(gt,[De],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){return arguments.length?(this.state.set("checked",e),this):this.state.get("checked")},value:function(e){return arguments.length?this.checked(e):this.checked()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'
    '+e.encode(e.state.get("text"))+"
    "},bindStates:function(){function e(e){t.classes.toggle("checked",e),t.aria("checked",e)}var t=this;return t.state.on("change:text",function(e){t.getEl("al").firstChild.data=t.translate(e.value)}),t.state.on("change:checked change:value",function(n){t.fire("change"),e(n.value)}),t.state.on("change:icon",function(e){var n=e.value,r=t.classPrefix;if("undefined"==typeof n)return t.settings.icon;t.settings.icon=n,n=n?r+"ico "+r+"i-"+t.settings.icon:"";var i=t.getEl().firstChild,o=i.getElementsByTagName("i")[0];n?(o&&o==i.firstChild||(o=document.createElement("i"),i.insertBefore(o,i.firstChild)),o.className=n):o&&i.removeChild(o)}),t.state.get("checked")&&e(!0),t._super()}})}),r(vt,[De,be,pe,g],function(e,t,n,r){return e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.classes.add("combobox"),t.subinput=!0,t.ariaTarget="inp",e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){var i=n.target,o=t.getEl();if(r.contains(o,i)||i==o)for(;i&&i!=o;)i.id&&i.id.indexOf("-open")!=-1&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),i=i.parentNode}),t.on("keydown",function(e){"INPUT"==e.target.nodeName&&13==e.keyCode&&t.parents().reverse().each(function(n){var r=t.state.get("value"),i=t.getEl("inp").value;if(e.preventDefault(),t.state.set("value",i),r!=i&&t.fire("change"),n.hasEventListeners("submit")&&n.toJSON)return n.fire("submit",{data:n.toJSON()}),!1})}),t.on("keyup",function(e){"INPUT"==e.target.nodeName&&t.state.set("value",e.target.value)})},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},focus:function(){this.getEl("inp").focus()},repaint:function(){var e=this,t=e.getEl(),i=e.getEl("open"),o=e.layoutRect(),a,s;a=i?o.w-n.getSize(i).width-10:o.w-10;var l=document;return l.all&&(!l.documentMode||l.documentMode<=8)&&(s=e.layoutRect().h-2+"px"),r(t.firstChild).css({width:a,lineHeight:s}),e._super(),e},postRender:function(){var e=this;return r(this.getEl("inp")).on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)}),e._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=e.state.get("value")||"",o,a,s="",l="";return"spellcheck"in n&&(l+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(l+=' maxlength="'+n.maxLength+'"'),n.size&&(l+=' size="'+n.size+'"'),n.subtype&&(l+=' type="'+n.subtype+'"'),e.disabled()&&(l+=' disabled="disabled"'),o=n.icon,o&&"caret"!=o&&(o=r+"ico "+r+"i-"+n.icon),a=e.state.get("text"),(o||a)&&(s='
    ",e.classes.add("has-open")),'
    '+s+"
    "},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl("inp").value),this.state.get("value"))},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.getEl("inp").value!=t.value&&(e.getEl("inp").value=t.value)}),e.state.on("change:disabled",function(t){e.getEl("inp").disabled=t.value}),e._super()},remove:function(){r(this.getEl("inp")).off(),this._super()}})}),r(yt,[vt],function(e){return e.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.classes.add("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl().getElementsByTagName("i")[0];if(t)try{t.style.background=e}catch(e){}},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.state.get("rendered")&&e.repaintColor(t.value)}),e._super()}})}),r(bt,[pt,ke],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:"grid",items:r}),r.role=r.role||"dialog",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on("hide",function(){e.active(!1)}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?["bc-tr","bc-tc"]:["bc-tl","bc-tc"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),r(Ct,[bt,w],function(e,t){var n=t.DOM;return e.extend({init:function(e){this._super(e),this.classes.add("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get("text"),i=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",o=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"",a="";return r&&(e.classes.add("btn-has-text"),a=''+e.encode(r)+""),'
    '},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(r){r.aria&&"down"==r.aria.key||r.control!=e||n.getParent(r.target,"."+e.classPrefix+"open")||(r.stopImmediatePropagation(),t.call(e,r))}),delete e.settings.onclick,e._super()}})}),r(xt,[],function(){function e(e){function i(e,i,o){var a,s,l,c,u,d;return a=0,s=0,l=0,e/=255,i/=255,o/=255,u=t(e,t(i,o)),d=n(e,n(i,o)),u==d?(l=u,{h:0,s:0,v:100*l}):(c=e==u?i-o:o==u?e-i:o-e,a=e==u?3:o==u?1:5,a=60*(a-c/(d-u)),s=(d-u)/d,l=d,{h:r(a),s:r(100*s),v:r(100*l)})}function o(e,i,o){var a,s,l,c;if(e=(parseInt(e,10)||0)%360,i=parseInt(i,10)/100,o=parseInt(o,10)/100,i=n(0,t(i,1)),o=n(0,t(o,1)),0===i)return void(d=f=h=r(255*o));switch(a=e/60,s=o*i,l=s*(1-Math.abs(a%2-1)),c=o-s,Math.floor(a)){case 0:d=s,f=l,h=0;break;case 1:d=l,f=s,h=0;break;case 2:d=0,f=s,h=l;break;case 3:d=0,f=l,h=s;break;case 4:d=l,f=0,h=s;break;case 5:d=s,f=0,h=l;break;default:d=f=h=0}d=r(255*(d+c)),f=r(255*(f+c)),h=r(255*(h+c))}function a(){function e(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+e(d)+e(f)+e(h)}function s(){return{r:d,g:f,b:h}}function l(){return i(d,f,h)}function c(e){var t;return"object"==typeof e?"r"in e?(d=e.r,f=e.g,h=e.b):"v"in e&&o(e.h,e.s,e.v):(t=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(d=parseInt(t[1],10),f=parseInt(t[2],10),h=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(d=parseInt(t[1],16),f=parseInt(t[2],16),h=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(d=parseInt(t[1]+t[1],16),f=parseInt(t[2]+t[2],16),h=parseInt(t[3]+t[3],16)),d=d<0?0:d>255?255:d,f=f<0?0:f>255?255:f,h=h<0?0:h>255?255:h,u}var u=this,d=0,f=0,h=0;e&&c(e),u.toRgb=s,u.toHsv=l,u.toHex=a,u.parse=c}var t=Math.min,n=Math.max,r=Math.round;return e}),r(wt,[De,we,pe,xt],function(e,t,n,r){return e.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){function e(e,t){var r=n.getPos(e),i,o;return i=t.pageX-r.x,o=t.pageY-r.y,i=Math.max(0,Math.min(i/e.clientWidth,1)),o=Math.max(0,Math.min(o/e.clientHeight,1)),{x:i,y:o}}function i(e,t){var i=(360-e.h)/360;n.css(d,{top:100*i+"%"}),t||n.css(h,{left:e.s+"%",top:100-e.v+"%"}),f.style.background=new r({s:100,v:100,h:e.h}).toHex(),s.color().parse({s:e.s,v:e.v,h:e.h})}function o(t){var n;n=e(f,t),c.s=100*n.x,c.v=100*(1-n.y),i(c),s.fire("change")}function a(t){var n;n=e(u,t),c=l.toHsv(),c.h=360*(1-n.y),i(c,!0),s.fire("change")}var s=this,l=s.color(),c,u,d,f,h;u=s.getEl("h"),d=s.getEl("hp"),f=s.getEl("sv"),h=s.getEl("svp"),s._repaint=function(){c=l.toHsv(),i(c)},s._super(),s._svdraghelper=new t(s._id+"-sv",{start:o,drag:o}),s._hdraghelper=new t(s._id+"-h",{start:a,drag:a}),s._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){var t=this;return arguments.length?(t.color().parse(e),void(t._rendered&&t._repaint())):t.color().toHex()},color:function(){return this._color||(this._color=new r),this._color},renderHtml:function(){function e(){var e,t,n="",i,a;for(i="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",a=o.split(","),e=0,t=a.length-1;e
    ';return n}var t=this,n=t._id,r=t.classPrefix,i,o="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000",a="background: -ms-linear-gradient(top,"+o+");background: linear-gradient(to bottom,"+o+");";return i='
    '+e()+'
    ','
    '+i+"
    "}})}),r(Nt,[De],function(e){return e.extend({init:function(e){var t=this;e.delimiter||(e.delimiter="\xbb"),t._super(e),t.classes.add("path"),t.canFocus=!0,t.on("click",function(e){var n,r=e.target;(n=r.getAttribute("data-index"))&&t.fire("select",{value:t.row()[n],index:n})}),t.row(t.settings.row)},focus:function(){var e=this;return e.getEl().firstChild.focus(),e},row:function(e){return arguments.length?(this.state.set("row",e),this):this.state.get("row")},renderHtml:function(){var e=this;return'
    '+e._getDataPathHtml(e.state.get("row"))+"
    "},bindStates:function(){var e=this;return e.state.on("change:row",function(t){e.innerHtml(e._getDataPathHtml(t.value))}),e._super()},_getDataPathHtml:function(e){var t=this,n=e||[],r,i,o="",a=t.classPrefix;for(r=0,i=n.length;r0?'":"")+'
    '+n[r].name+"
    ";return o||(o='
    \xa0
    '),o}})}),r(Et,[Nt],function(e){return e.extend({postRender:function(){function e(e){if(1===e.nodeType){if("BR"==e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}var t=this,n=t.settings.editor;return n.settings.elementpath!==!1&&(t.on("select",function(e){n.focus(),n.selection.select(this.row()[e.index].element),n.nodeChanged()}),n.on("nodeChange",function(r){for(var i=[],o=r.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=n.fire("ResolveName",{name:o[a].nodeName.toLowerCase(),target:o[a]});if(s.isDefaultPrevented()||i.push({name:s.name,element:o[a]}),s.isPropagationStopped())break}t.row(i)})),t._super()}})}),r(_t,[xe],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.classes.add("formitem"),t.preRender(e),'
    '+(e.settings.title?'
    '+e.settings.title+"
    ":"")+'
    '+(e.settings.html||"")+t.renderHtml(e)+"
    "}})}),r(St,[xe,_t,m],function(e,t,n){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,r=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),r.each(function(r){var i,o=r.settings.label;o&&(i=new t(n.extend({items:{type:"label",id:r._id+"-l",text:o,flex:0,forId:r._id,disabled:r.disabled()}},e.settings.formItemDefaults)),i.type="formitem",r.aria("labelledby",r._id+"-l"),"undefined"==typeof r.settings.flex&&(r.settings.flex=1),e.replace(r,i),i.add(r))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.fromJSON(e.settings.data)},bindStates:function(){function e(){var e=0,n=[],r,i,o;if(t.settings.labelGapCalc!==!1)for(o="children"==t.settings.labelGapCalc?t.find("formitem"):t.items(),o.filter("formitem").each(function(t){var r=t.items()[0],i=r.getEl().clientWidth;e=i>e?i:e,n.push(r)}),i=t.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=e+i}var t=this;t._super(),t.on("show",e),e()}})}),r(kt,[St],function(e){return e.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'
    '+(e.settings.title?''+e.settings.title+"":"")+'
    '+(e.settings.html||"")+t.renderHtml(e)+"
    "}})}),r(Tt,[vt,m],function(e,t){return e.extend({init:function(e){var n=this,r=tinymce.activeEditor,i=r.settings,o,a,s;e.spellcheck=!1,s=i.file_picker_types||i.file_browser_callback_types,s&&(s=t.makeMap(s,/[, ]/)),s&&!s[e.filetype]||(a=i.file_picker_callback,!a||s&&!s[e.filetype]?(a=i.file_browser_callback,!a||s&&!s[e.filetype]||(o=function(){a(n.getEl("inp").id,n.value(),e.filetype,window)})):o=function(){var i=n.fire("beforecall").meta;i=t.extend({filetype:e.filetype},i),a.call(r,function(e,t){n.value(e).fire("change",{meta:t})},n.value(),i)}),o&&(e.icon="browse",e.onaction=o),n._super(e)}})}),r(Rt,[ht],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox;e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),r(At,[ht],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,c,u,d,f,h,p,m,g,v=[],y,b,C,x,w,N,E,_,S,k,T,R,A,B,D,L,M,P,O,H,I,F,z=Math.max,U=Math.min;for(r=e.items().filter(":visible"),i=e.layoutRect(),o=e.paddingBox,a=e.settings,f=e.isRtl()?a.direction||"row-reversed":a.direction,s=a.align,l=e.isRtl()?a.pack||"end":a.pack,c=a.spacing||0,"row-reversed"!=f&&"column-reverse"!=f||(r=r.set(r.toArray().reverse()),f=f.split("-")[0]),"column"==f?(S="y",E="h",_="minH",k="maxH",R="innerH",T="top",A="deltaH",B="contentH",O="left",M="w",D="x",L="innerW",P="minW",H="right",I="deltaW",F="contentW"):(S="x",E="w",_="minW",k="maxW",R="innerW",T="left",A="deltaW",B="contentW",O="top",M="h",D="y",L="innerH",P="minH",H="bottom",I="deltaH",F="contentH"),d=i[R]-o[T]-o[T],N=u=0,t=0,n=r.length;t0&&(u+=g,p[k]&&v.push(h),p.flex=g),d-=p[_],y=o[O]+p[P]+o[H],y>N&&(N=y);if(x={},d<0?x[_]=i[_]-d+i[A]:x[_]=i[R]-d+i[A],x[P]=N+i[I],x[B]=i[R]-d,x[F]=N,x.minW=U(x.minW,i.maxW),x.minH=U(x.minH,i.maxH),x.minW=z(x.minW,i.startMinWidth),x.minH=z(x.minH,i.startMinHeight),!i.autoResize||x.minW==i.minW&&x.minH==i.minH){for(C=d/u,t=0,n=v.length;tb?(d-=p[k]-p[_],u-=p.flex,p.flex=0,p.maxFlexSize=b):p.maxFlexSize=0;for(C=d/u,w=o[T],x={},0===u&&("end"==l?w=d+o[T]:"center"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],w<0&&(w=o[T])):"justify"==l&&(w=o[T],c=Math.floor(d/(r.length-1)))),x[D]=o[O],t=0,n=r.length;t0&&(y+=p.flex*C),x[E]=y,x[S]=w,h.layoutRect(x),h.recalc&&h.recalc(),w+=y+c}else if(x.w=x.minW,x.h=x.minH,e.layoutRect(x),this.recalc(e),null===e._lastRect){var W=e.parent();W&&(W._lastRect=null,W.recalc())}}})}),r(Bt,[ft],function(e){return e.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})},isNative:function(){return!0}})}),r(Dt,[ye,De,ke,m,w,it,d],function(e,t,n,r,i,o,a){function s(e){e.settings.ui_container&&(a.container=i.DOM.select(e.settings.ui_container)[0])}function l(t){t.on("ScriptsLoaded",function(){t.rtl&&(e.rtl=!0)})}function c(e){function t(t,n){return function(){var r=this;e.on("nodeChange",function(i){var o=e.formatter,a=null;u(i.parents,function(e){if(u(t,function(t){if(n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a)return!1}),a)return!1}),r.value(a)})}}function r(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}function i(){function t(e){var n=[];if(e)return u(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||"custom"+r++;e.format||(e.name=a,i.push(e)),o.format=a,o.cmd=e.cmd}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return e.on("init",function(){u(i,function(t){e.formatter.register(t.name,t)})}),{type:"menu",items:n(),onPostRender:function(t){e.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){if(this.settings.format)return e.formatter.getCssText(this.settings.format)},onPostRender:function(){var t=this;t.parent().on("show",function(){var n,r;n=t.settings.format,n&&(t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))),r=t.settings.cmd,r&&t.active(e.queryCommandState(r))})},onclick:function(){this.settings.format&&l(this.settings.format),this.settings.cmd&&e.execCommand(this.settings.cmd)}}}}function o(t){return function(){var n=this;e.formatter?e.formatter.formatChanged(t,function(e){n.active(e)}):e.on("init",function(){e.formatter.formatChanged(t,function(e){n.active(e)})})}}function a(t){return function(){function n(){return!!e.undoManager&&e.undoManager[t]()}var r=this;t="redo"==t?"hasRedo":"hasUndo",r.disabled(!n()),e.on("Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",function(){r.disabled(e.readonly||!n())})}}function s(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function l(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}var c;c=i(),u({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:o(n),onclick:function(){l(n)}})}),u({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),u({blockquote:["Blockquote","mceBlockQuote"],numlist:["Numbered list","InsertOrderedList"],bullist:["Bullet list","InsertUnorderedList"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"],alignnone:["No alignment","JustifyNone"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:o(n)})}),e.addButton("undo",{tooltip:"Undo",onPostRender:a("undo"),cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:a("redo"),cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:a("undo"),cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:a("redo"),cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:s,cmd:"mceToggleVisualAid"}),e.addButton("remove",{tooltip:"Remove",icon:"remove",cmd:"Delete"}),u({cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"],bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"]},function(t,n){e.addMenuItem(n,{text:t[0],icon:n,shortcut:t[2],cmd:t[1]})}),e.on("mousedown",function(){n.hideAll()}),e.addButton("styleselect",{type:"menubutton",text:"Formats",menu:c}),e.addButton("formatselect",function(){var n=[],i=r(e.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");return u(i,function(t){n.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:"listbox",text:i[0][0],values:n,fixedWidth:!0,onselect:l,onPostRender:t(n)}}),e.addButton("fontselect",function(){var n="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",i=[],o=r(e.settings.font_formats||n);return u(o,function(e){i.push({text:{raw:e[0]},value:e[1],textStyle:e[1].indexOf("dings")==-1?"font-family:"+e[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:i,fixedWidth:!0,onPostRender:t(i,"fontname"),onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}}),e.addButton("fontsizeselect",function(){var n=[],r="8pt 10pt 12pt 14pt 18pt 24pt 36pt",i=e.settings.fontsize_formats||r;return u(i.split(" "),function(e){var t=e,r=e,i=e.split("=");i.length>1&&(t=i[0],r=i[1]),n.push({text:t,value:r})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:n,fixedWidth:!0,onPostRender:t(n,"fontsize"),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addMenuItem("formats",{text:"Formats",menu:c})}var u=r.each;o.on("AddEditor",function(e){var t=e.editor;l(t),c(t),s(t)}),e.translate=function(e){return o.translate(e)},t.tooltips=!a.iOS}),r(Lt,[ht],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,c,u,d,f,h,p,m,g,v,y,b,C,x,w,N,E=[],_=[],S,k,T,R,A,B;t=e.settings,i=e.items().filter(":visible"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,C=t.alignH||t.align,x=t.alignV||t.align,g=e.paddingBox,A="reverseRows"in t?t.reverseRows:e.isRtl(),C&&"string"==typeof C&&(C=[C]),x&&"string"==typeof x&&(x=[x]);for(d=0;dE[d]?S:E[d],_[f]=k>_[f]?k:_[f];for(T=o.innerW-g.left-g.right,w=0,d=0;d0?y:0),T-=(d>0?y:0)+E[d];for(R=o.innerH-g.top-g.bottom,N=0,f=0;f0?b:0),R-=(f>0?b:0)+_[f];if(w+=g.left+g.right,N+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=N+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var D;D="start"==t.packV?0:R>0?Math.floor(R/n):0;var L=0,M=t.flexWidths;if(M)for(d=0;d'},src:function(e){this.getEl().src=e},html:function(e,n){var r=this,i=this.getEl().contentWindow.document.body;return i?(i.innerHTML=e,n&&n()):t.setTimeout(function(){r.html(e)}),this}})}),r(Pt,[De],function(e){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("widget").add("infobox"),t.canFocus=!1},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},help:function(e){this.state.set("help",e)},renderHtml:function(){var e=this,t=e.classPrefix;return'
    '+e.encode(e.state.get("text"))+'
    '},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl("body").firstChild.data=e.encode(t.value),e.state.get("rendered")&&e.updateLayoutRect()}),e.state.on("change:help",function(t){e.classes.toggle("has-help",t.value),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}})}),r(Ot,[De,pe],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("widget").add("label"),t.canFocus=!1,e.multiline&&t.classes.add("autoscroll"),e.strong&&t.classes.add("strong")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.classes.add("multiline")),e.getEl().style.width=n.minW+"px",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+"px"),e._super()},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},renderHtml:function(){var e=this,t,n,r=e.settings.forId;return!r&&(n=e.settings.forName)&&(t=e.getRoot().find("#"+n)[0],t&&(r=t._id)),r?'":''+e.encode(e.state.get("text"))+""},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.innerHtml(e.encode(t.value)),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}})}),r(Ht,[xe],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){var t=this;t._super(e),t.classes.add("toolbar")},postRender:function(){var e=this;return e.items().each(function(e){e.classes.add("toolbar-item")}),e._super()}})}),r(It,[Ht],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(Ft,[pt,be,It],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),e=t.settings,t.classes.add("menubtn"),e.fixedWidth&&t.classes.add("fixed-width"),t.aria("haspopup",!0),t.state.set("menu",e.menu||t.render())},showMenu:function(){var e=this,n;return e.menu&&e.menu.visible()?e.hideMenu():(e.menu||(n=e.state.get("menu")||[],n.length?n={type:"menu",items:n}:n.type=n.type||"menu",n.renderTo?e.menu=n.parent(e).show().renderTo():e.menu=t.create(n).parent(e).renderTo(),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control.parent()===e.menu&&(t.stopPropagation(),e.focus(),e.hideMenu())}),e.menu.on("select",function(){e.focus()}),e.menu.on("show hide",function(t){t.control==e.menu&&e.activeMenu("show"==t.type),e.aria("expanded","show"==t.type)}).fire("show")),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),void e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.classes.toggle("active",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon,o,a=e.state.get("text"),s="";return o=e.settings.image,o?(i="none","string"!=typeof o&&(o=window.getSelection?o[0]:o[1]),o=" style=\"background-image: url('"+o+"')\""):o="",a&&(e.classes.add("btn-has-text"),s=''+e.encode(a)+""),i=e.settings.icon?r+"ico "+r+"i-"+i:"",e.aria("role",e.parent()instanceof n?"menuitem":"button"),'
    '},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&r(t.target,e.getEl())&&(e.showMenu(),t.aria&&e.menu.items()[0].focus())}),e.on("mouseenter",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},bindStates:function(){var e=this;return e.state.on("change:menu",function(){e.menu&&e.menu.remove(),e.menu=null}),e._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(zt,[De,be,d,u],function(e,t,n,r){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t=this,n;t._super(e),e=t.settings,t.classes.add("menu-item"),e.menu&&t.classes.add("menu-item-expand"),e.preview&&t.classes.add("menu-item-preview"),n=t.state.get("text"),"-"!==n&&"|"!==n||(t.classes.add("menu-item-sep"),t.aria("role","separator"),t.state.set("text","-")),e.selectable&&(t.aria("role","menuitemcheckbox"),t.classes.add("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||t.classes.add("menu-item-normal"),t.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:"menu",items:r}:r.type=r.type||"menu",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on("show hide",function(e){e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),r.on("hide",function(t){t.control===r&&e.classes.remove("selected")}),r.submenu=!0),r._parentMenu=i,r.classes.add("menu-sub");var o=r.testMoveRel(e.getEl(),e.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);r.moveRel(e.getEl(),o),r.rel=o,o="menu-sub-"+o,r.classes.remove(r._lastRel).add(o),r._lastRel=o,e.classes.add("selected"),e.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){function e(e){var t,r,i={};for(i=n.mac?{alt:"⌥",ctrl:"⌘",shift:"⇧",meta:"⌘"}:{meta:"Ctrl"},e=e.split("+"),t=0;t'+("-"!==a?'\xa0":"")+("-"!==a?''+a+"":"")+(c?'
    '+c+"
    ":"")+(i.menu?'
    ':"")+"
    "},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if("function"==typeof n&&(n=n.call(this)),n){var i=e.getEl("text");i&&i.setAttribute("style",n)}return e.on("mouseenter click",function(n){n.control===e&&(t.menu||"click"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire("select"),r.requestAnimationFrame(function(){e.parent().hideAll()})))}),e._super(),e},hover:function(){var e=this;return e.parent().items().each(function(e){e.classes.remove("selected")}),e.classes.toggle("selected",!0),e},active:function(e){return"undefined"!=typeof e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),r(Ut,[g,ye,u],function(e,t,n){return function(r,i){var o=this,a,s=t.classPrefix,l;o.show=function(t,c){function u(){a&&(e(r).append('
    '),c&&c())}return o.hide(),a=!0,t?l=n.setTimeout(u,t):u(),o},o.hide=function(){var e=r.lastChild;return n.clearTimeout(l),e&&e.className.indexOf("throbber")!=-1&&e.parentNode.removeChild(e),a=!1,o}}}),r(Wt,[ke,zt,Ut,m],function(e,t,n,r){return e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,"function"==typeof e.items&&(e.itemsFactory=e.items,e.items=[]),e.itemDefaults)for(var n=e.items,i=n.length;i--;)n[i]=r.extend({},e.itemDefaults,n[i]);t._super(e),t.classes.add("menu")},repaint:function(){return this.classes.toggle("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var e=this;e.hideAll(),e.fire("select")},load:function(){function e(){t.throbber&&(t.throbber.hide(),t.throbber=null)}var t=this,r,i;i=t.settings.itemsFactory,i&&(t.throbber||(t.throbber=new n(t.getEl("body"),!0),0===t.items().length?(t.throbber.show(),t.fire("loading")):t.throbber.show(100,function(){t.items().remove(),t.fire("loading")}),t.on("hide close",e)),t.requestTime=r=(new Date).getTime(),t.settings.itemsFactory(function(n){return 0===n.length?void t.hide():void(t.requestTime===r&&(t.getEl().style.width="",t.getEl("body").style.width="",e(),t.items().remove(),t.getEl("body").innerHTML="",t.add(n),t.renderNew(),t.fire("loaded")))}))},hideAll:function(){var e=this;return this.find("menuitem").exec("hideMenu"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;if(n.icon||n.image||n.selectable)return e._hasIcons=!0,!1}),e.settings.itemsFactory&&e.on("postrender",function(){e.settings.itemsFactory&&e.load()}),e._super()}})}),r(Vt,[Ft,Wt],function(e,t){return e.extend({init:function(e){function t(r){for(var a=0;a0&&(o=r[0].text,n.state.set("value",r[0].value)),n.state.set("menu",r)),n.state.set("text",e.text||o),n.classes.add("listbox"),n.on("select",function(t){var r=t.control;a&&(t.lastControl=a),e.multiple?r.active(!r.active()):n.value(t.control.value()),a=r})},bindStates:function(){function e(e,n){e instanceof t&&e.items().each(function(e){e.hasMenus()||e.active(e.value()===n)})}function n(e,t){var r;if(e)for(var i=0;i
    '},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!=e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(jt,[De],function(e){function t(e){var t="";if(e)for(var n=0;n'+e[n]+"";return t}return e.extend({Defaults:{classes:"selectbox",role:"selectbox",options:[]},init:function(e){var t=this;t._super(e),t.settings.size&&(t.size=t.settings.size),t.settings.options&&(t._options=t.settings.options),t.on("keydown",function(e){var n;13==e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))})},options:function(e){return arguments.length?(this.state.set("options",e),this):this.state.get("options")},renderHtml:function(){var e=this,n,r="";return n=t(e._options),e.size&&(r=' size = "'+e.size+'"'),'"},bindStates:function(){var e=this;return e.state.on("change:options",function(n){e.getEl().innerHTML=t(n.value)}),e._super()}})}),r(Yt,[De,we,pe],function(e,t,n){function r(e,t,n){return en&&(e=n),e}function i(e,t,n){e.setAttribute("aria-"+t,n)}function o(e,t){var r,o,a,s,l,c;"v"==e.settings.orientation?(s="top",a="height",o="h"):(s="left",a="width",o="w"),c=e.getEl("handle"),r=(e.layoutRect()[o]||100)-n.getSize(c)[a],l=r*((t-e._minValue)/(e._maxValue-e._minValue))+"px",c.style[s]=l,c.style.height=e.layoutRect().h+"px",i(c,"valuenow",t),i(c,"valuetext",""+e.settings.previewFilter(t)),i(c,"valuemin",e._minValue),i(c,"valuemax",e._maxValue)}return e.extend({init:function(e){var t=this;e.previewFilter||(e.previewFilter=function(e){return Math.round(100*e)/100}),t._super(e),t.classes.add("slider"),"v"==e.orientation&&t.classes.add("vertical"),t._minValue=e.minValue||0,t._maxValue=e.maxValue||100,t._initValue=t.state.get("value")},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'
    '},reset:function(){this.value(this._initValue).repaint()},postRender:function(){function e(e,t,n){return(n+e)/(t-e)}function i(e,t,n){return n*(t-e)-e}function o(t,n){function o(o){var a;a=s.value(),a=i(t,n,e(t,n,a)+.05*o),a=r(a,t,n),s.value(a),s.fire("dragstart",{value:a}),s.fire("drag",{value:a}),s.fire("dragend",{value:a})}s.on("keydown",function(e){switch(e.keyCode){case 37:case 38:o(-1);break;case 39:case 40:o(1)}})}function a(e,i,o){var a,l,c,p,m;s._dragHelper=new t(s._id,{handle:s._id+"-handle",start:function(e){a=e[u],l=parseInt(s.getEl("handle").style[d],10),c=(s.layoutRect()[h]||100)-n.getSize(o)[f],s.fire("dragstart",{value:m})},drag:function(t){var n=t[u]-a;p=r(l+n,0,c),o.style[d]=p+"px",m=e+p/c*(i-e),s.value(m),s.tooltip().text(""+s.settings.previewFilter(m)).show().moveRel(o,"bc tc"),s.fire("drag",{value:m})},stop:function(){s.tooltip().hide(),s.fire("dragend",{value:m})}})}var s=this,l,c,u,d,f,h;l=s._minValue,c=s._maxValue,"v"==s.settings.orientation?(u="screenY",d="top",f="height",h="h"):(u="screenX",d="left",f="width",h="w"),s._super(),o(l,c,s.getEl("handle")),a(l,c,s.getEl("handle"))},repaint:function(){this._super(),o(this,this.value())},bindStates:function(){var e=this;return e.state.on("change:value",function(t){o(e,t.value)}),e._super()}})}),r(Xt,[De],function(e){return e.extend({renderHtml:function(){var e=this;return e.classes.add("spacer"),e.canFocus=!1,'
    '}})}),r(Kt,[Ft,pe,g],function(e,t,n){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e=this,r=e.getEl(),i=e.layoutRect(),o,a;return e._super(),o=r.firstChild,a=r.lastChild,n(o).css({width:i.w-t.getSize(a).width,height:i.h-2}),n(a).css({height:i.h-2}),e},activeMenu:function(e){var t=this;n(t.getEl().lastChild).toggleClass(t.classPrefix+"active",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r,i=e.state.get("icon"),o=e.state.get("text"),a="";return r=e.settings.image,r?(i="none","string"!=typeof r&&(r=window.getSelection?r[0]:r[1]),r=" style=\"background-image: url('"+r+"')\""):r="",i=e.settings.icon?n+"ico "+n+"i-"+i:"",o&&(e.classes.add("btn-has-text"),a=''+e.encode(o)+""),'
    '},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==n.nodeName&&n.className.indexOf("open")==-1)return e.stopImmediatePropagation(),void(t&&t.call(this,e));n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(Gt,[Bt],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}})}),r(Jt,[Ee,g,pe],function(e,t,n){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t(n).removeClass(this.classPrefix+"active"),n.setAttribute("aria-selected","false")),this.activeTabId="t"+e,n=this.getEl("t"+e),n.setAttribute("aria-selected","true"),t(n).addClass(this.classPrefix+"active"),this.items()[e].show().fire("showtab"),this.reflow(),this.items().each(function(t,n){e!=n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n="",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+"-t"+i;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='"}),'
    '+n+'
    '+t.renderHtml(e)+"
    "},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(t.target.parentNode.id==e._id+"-head")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,t,r,i;r=n.getSize(e.getEl("head")).width,r=r<0?0:r,i=0,e.items().each(function(e){r=Math.max(r,e.layoutRect().minW),i=Math.max(i,e.layoutRect().minH)}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=n.getSize(e.getEl("head")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,t=e._super(),t.deltaH+=o,t.innerH=t.h-t.deltaH,t}})}),r(Qt,[De,m,pe],function(e,t,n){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("textbox"),e.multiline?t.classes.add("multiline"):(t.on("keydown",function(e){var n;13==e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))}),t.on("keyup",function(e){t.state.set("value",e.target.value)}))},repaint:function(){var e=this,t,n,r,i,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+"px"),r=e.borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+"px",a.x=n.x),n.y!==a.y&&(t.top=n.y+"px",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+"px",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+"px",a.h=n.h),e._lastRepaintRect=a,e.fire("repaint",{},!1),e},renderHtml:function(){var e=this,r=e.settings,i,o;return i={id:e._id,hidefocus:"1"},t.each(["rows","spellcheck","maxLength","size","readonly","min","max","step","list","pattern","placeholder","required","multiple"],function(e){i[e]=r[e]}),e.disabled()&&(i.disabled="disabled"),r.subtype&&(i.type=r.subtype),o=n.create(r.multiline?"textarea":"input",i),o.value=e.state.get("value"),o.className=e.classes,o.outerHTML},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl().value),this.state.get("value"))},postRender:function(){var e=this;e.getEl().value=e.state.get("value"),e._super(),e.$el.on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)})},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.getEl().value!=t.value&&(e.getEl().value=t.value)}),e.state.on("change:disabled",function(t){e.getEl().disabled=t.value}), +e._super()},remove:function(){this.$el.off(),this._super()}})}),r(Zt,[],function(){var e=this||window,t=function(){return e.tinymce};return"function"==typeof e.define&&(e.define.amd||e.define("ephox/tinymce",[],t)),{}}),a([l,c,u,d,f,h,m,g,v,y,C,w,N,E,T,A,B,D,L,M,P,O,I,F,j,Y,J,Q,oe,ae,se,le,ue,fe,he,ve,ye,be,Ce,xe,we,Ne,Ee,_e,Se,ke,Te,Re,Ae,Be,De,Le,Me,Pe,Ie,ze,tt,nt,rt,it,at,st,lt,ct,ut,dt,ft,ht,pt,mt,gt,vt,yt,bt,Ct,xt,wt,Nt,Et,_t,St,kt,Tt,Rt,At,Bt,Dt,Lt,Mt,Pt,Ot,Ht,It,Ft,zt,Ut,Wt,Vt,$t,qt,jt,Yt,Xt,Kt,Gt,Jt,Qt])}(this); \ No newline at end of file diff --git a/public/mosaico/templates/versafix-1/edres/_full.png b/public/mosaico/templates/versafix-1/edres/_full.png new file mode 100644 index 00000000..c8c50514 Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/_full.png differ diff --git a/public/mosaico/templates/versafix-1/edres/buttonBlock.png b/public/mosaico/templates/versafix-1/edres/buttonBlock.png new file mode 100644 index 00000000..5d3a73b5 Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/buttonBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/doubleArticleBlock.png b/public/mosaico/templates/versafix-1/edres/doubleArticleBlock.png new file mode 100644 index 00000000..a4998c79 Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/doubleArticleBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/doubleImageBlock.png b/public/mosaico/templates/versafix-1/edres/doubleImageBlock.png new file mode 100644 index 00000000..c478b0c3 Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/doubleImageBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/hrBlock.png b/public/mosaico/templates/versafix-1/edres/hrBlock.png new file mode 100644 index 00000000..a99295cc Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/hrBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/imageBlock.png b/public/mosaico/templates/versafix-1/edres/imageBlock.png new file mode 100644 index 00000000..4e1378f0 Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/imageBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/logoBlock.png b/public/mosaico/templates/versafix-1/edres/logoBlock.png new file mode 100644 index 00000000..9909b983 Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/logoBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/sideArticleBlock.png b/public/mosaico/templates/versafix-1/edres/sideArticleBlock.png new file mode 100644 index 00000000..66ac245e Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/sideArticleBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/singleArticleBlock.png b/public/mosaico/templates/versafix-1/edres/singleArticleBlock.png new file mode 100644 index 00000000..4ea73049 Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/singleArticleBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/socialBlock.png b/public/mosaico/templates/versafix-1/edres/socialBlock.png new file mode 100644 index 00000000..587c19eb Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/socialBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/spacerBlock.png b/public/mosaico/templates/versafix-1/edres/spacerBlock.png new file mode 100644 index 00000000..d5ba9799 Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/spacerBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/textBlock.png b/public/mosaico/templates/versafix-1/edres/textBlock.png new file mode 100644 index 00000000..3d4bd3fa Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/textBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/titleBlock.png b/public/mosaico/templates/versafix-1/edres/titleBlock.png new file mode 100644 index 00000000..479d69d1 Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/titleBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/tripleArticleBlock.png b/public/mosaico/templates/versafix-1/edres/tripleArticleBlock.png new file mode 100644 index 00000000..95f356cd Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/tripleArticleBlock.png differ diff --git a/public/mosaico/templates/versafix-1/edres/tripleImageBlock.png b/public/mosaico/templates/versafix-1/edres/tripleImageBlock.png new file mode 100644 index 00000000..c0a103dd Binary files /dev/null and b/public/mosaico/templates/versafix-1/edres/tripleImageBlock.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/facebook_bw_ok.png b/public/mosaico/templates/versafix-1/img/social_def/facebook_bw_ok.png new file mode 100644 index 00000000..611b5852 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/facebook_bw_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/facebook_ok.png b/public/mosaico/templates/versafix-1/img/social_def/facebook_ok.png new file mode 100644 index 00000000..57c99aa5 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/facebook_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/flickr_bw_ok.png b/public/mosaico/templates/versafix-1/img/social_def/flickr_bw_ok.png new file mode 100644 index 00000000..e761ba9f Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/flickr_bw_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/flickr_ok.png b/public/mosaico/templates/versafix-1/img/social_def/flickr_ok.png new file mode 100644 index 00000000..16a3d7f9 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/flickr_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/google+_bw_ok.png b/public/mosaico/templates/versafix-1/img/social_def/google+_bw_ok.png new file mode 100644 index 00000000..580967e2 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/google+_bw_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/google+_ok.png b/public/mosaico/templates/versafix-1/img/social_def/google+_ok.png new file mode 100644 index 00000000..485d6597 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/google+_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/instagram_bw_ok.png b/public/mosaico/templates/versafix-1/img/social_def/instagram_bw_ok.png new file mode 100644 index 00000000..ddefed9f Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/instagram_bw_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/instagram_ok.png b/public/mosaico/templates/versafix-1/img/social_def/instagram_ok.png new file mode 100644 index 00000000..d60b0d15 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/instagram_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/linkedin_bw_ok.png b/public/mosaico/templates/versafix-1/img/social_def/linkedin_bw_ok.png new file mode 100644 index 00000000..ddf75720 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/linkedin_bw_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/linkedin_ok.png b/public/mosaico/templates/versafix-1/img/social_def/linkedin_ok.png new file mode 100644 index 00000000..abb55f0c Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/linkedin_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/twitter_bw_ok.png b/public/mosaico/templates/versafix-1/img/social_def/twitter_bw_ok.png new file mode 100644 index 00000000..3f9360f5 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/twitter_bw_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/twitter_ok.png b/public/mosaico/templates/versafix-1/img/social_def/twitter_ok.png new file mode 100644 index 00000000..5772270f Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/twitter_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/vimeo_bw_ok.png b/public/mosaico/templates/versafix-1/img/social_def/vimeo_bw_ok.png new file mode 100644 index 00000000..d307d112 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/vimeo_bw_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/vimeo_ok.png b/public/mosaico/templates/versafix-1/img/social_def/vimeo_ok.png new file mode 100644 index 00000000..72f62c96 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/vimeo_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/web_bw_ok.png b/public/mosaico/templates/versafix-1/img/social_def/web_bw_ok.png new file mode 100644 index 00000000..89dab19f Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/web_bw_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/web_ok.png b/public/mosaico/templates/versafix-1/img/social_def/web_ok.png new file mode 100644 index 00000000..e018092b Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/web_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/youtube_bw_ok.png b/public/mosaico/templates/versafix-1/img/social_def/youtube_bw_ok.png new file mode 100644 index 00000000..7538bee4 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/youtube_bw_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/social_def/youtube_ok.png b/public/mosaico/templates/versafix-1/img/social_def/youtube_ok.png new file mode 100644 index 00000000..d4a24ba7 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/social_def/youtube_ok.png differ diff --git a/public/mosaico/templates/versafix-1/img/sponsor.gif b/public/mosaico/templates/versafix-1/img/sponsor.gif new file mode 100644 index 00000000..8a678606 Binary files /dev/null and b/public/mosaico/templates/versafix-1/img/sponsor.gif differ diff --git a/public/mosaico/templates/versafix-1/index.html b/public/mosaico/templates/versafix-1/index.html new file mode 100644 index 00000000..693d5051 --- /dev/null +++ b/public/mosaico/templates/versafix-1/index.html @@ -0,0 +1,1531 @@ + + + + + + + TITLE + + + + + + + +
    + + +
    + + + + + +
    +
    + + +
    + + + + +
    + + + +
    + + + + +
    + Preferences + +
    +
    + + + + + +
    + + View in your browser + +
    + +
    + +
    +
    + +
    + +
    + + +
    + + + + + + +
    + + +
    + + + + +
    + + +
    + +
    + + +
    +
    + + +
    + + + + + + + +
    + + +
    + + + + +
    + + +
    + +
    + + + + + +
    + +
    + + + + + + + + + + + +
    + + Title + +
    + + + + +
    + BUTTON +
    +
    +
    + + +
    +
    + +
    + + + + + + + +
    + + +
    + + + + + +
    + + + + + + + + + + + + + + + +
    + + Section Title + +
     
     
    + + + + +
    + BUTTON +
    +
    +
    + +
    + + + + + + + +
    + + +
    + + + + +
    + Section Title +
    +
    + +
    + + + + + + + +
    + + +
    + + + + +
    +
    + +
    + + + + + + + +
    + + +
    + + + + +
    + + + +
    + + + + + + + + + + + + + + +
    + Title + +
    + + + + +
    + BUTTON +
    +
    + +
    + + + + + + + + + + + + + + +
    + + Title + +
    + + + + +
    + BUTTON +
    +
    + +
    + + + + + + + + + + + + + + +
    + + Title + +
    + + + + +
    + BUTTON +
    +
    + +
    + + + +
    +
    + +
    + + + + + + + +
    + + +
    + + + + +
    + + + +
    + + + + + + + + + + + + + + +
    + + Title + +
    + + + + +
    + BUTTON +
    +
    + +
    + + + + + + + + + + + + + + +
    + + Title + +
    + + + + +
    + BUTTON +
    +
    + +
    + + + +
    +
    + +
    + + + + + + + +
    + + +
    + + + + +
    + + + + +
     
    +
    +
    + +
    + + + + + + + +
    + + +
    + + + + +
    + + + + + +
    + BUTTON +
    + +
    +
    + +
    + + + + + + + +
    + + +
    + + + + +
    + +
    + + + + + +
    + +
    + + + + + + + +
    + +
    + + + + +
    + + + +
    + +
    + +
    + + +
    + + + + + +
    + +
    + + + + + + + +
    + +
    + + + + +
    + + + +
    + +
    + +
    + +
    + + +
    + + + + + +
    + +
    + + + + + + + +
     
    + + + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + +
    + +
    + + + + + + +
    + +
    + + + +
    +
    + +
    + + +
    + + + + + + +
    + + +
    + + + + + + + + + + + +
    + Unsubscribe +
    + sponsor +
    +
    + +
    + + +
    + + diff --git a/public/mosaico/uploads/README.md b/public/mosaico/uploads/README.md new file mode 100644 index 00000000..1ae198a5 --- /dev/null +++ b/public/mosaico/uploads/README.md @@ -0,0 +1 @@ +# default image upload folder diff --git a/routes/editorapi.js b/routes/editorapi.js new file mode 100644 index 00000000..2ae4a580 --- /dev/null +++ b/routes/editorapi.js @@ -0,0 +1,433 @@ +'use strict'; + +let config = require('config'); +let express = require('express'); +let router = new express.Router(); +let passport = require('../lib/passport'); +let os = require('os'); +let fs = require('fs'); +let path = require('path'); +let mkdirp = require('mkdirp'); +let cache = require('memory-cache'); +let crypto = require('crypto'); +let fetch = require('node-fetch'); +let events = require('events'); +let httpMocks = require('node-mocks-http'); +let multiparty = require('multiparty'); +let fileType = require('file-type'); +let escapeStringRegexp = require('escape-string-regexp'); +let jqueryFileUpload = require('jquery-file-upload-middleware'); +let gm = require('gm').subClass({ imageMagick: true }); +let url = require('url'); +let htmlToText = require('html-to-text'); +let premailerApi = require('premailer-api'); +let editorHelpers = require('../lib/editor-helpers'); +let _ = require('../lib/translate')._; +let mailer = require('../lib/mailer'); +let settings = require('../lib/models/settings'); +let templates = require('../lib/models/templates'); +let campaigns = require('../lib/models/campaigns'); + +router.all('/*', (req, res, next) => { + if (!req.user && !cache.get(req.get('If-Match'))) { + return res.status(403).send(_('Need to be logged in to access restricted content')); + } + if (req.originalUrl.startsWith('/editorapi/img?')) { + return next(); + } + if (!config.editors.map(e => e[0]).includes(req.query.editor)) { + return res.status(500).send(_('Invalid editor name')); + } + next(); +}); + +jqueryFileUpload.on('begin', fileInfo => { + fileInfo.name = fileInfo.name + .toLowerCase() + .replace(/ /g, '-') + .replace(/[^a-z0-9+-\.]+/g, ''); +}); + +let listImages = (dir, dirURL, callback) => { + fs.readdir(dir, (err, files = []) => { + if (err && err.code !== 'ENOENT') { + return callback(err.message || err); + } + files = files.filter(name => /\.(jpe?g|png|gif)$/i.test(name)); + files = files.map(name => { + return { + // mosaico + name, + url: dirURL + '/' + name, + thumbnailUrl: dirURL + '/thumbnail/' + name, + // grapejs + src: dirURL + '/' + name, + }; + }); + callback(null, files); + }); +}; + +let getStaticImageUrl = ({ dynamicUrl, staticDir, staticDirUrl }, callback) => { + mkdirp(staticDir, err => { + if (err) { + return callback(dynamicUrl); + } + + fs.readdir(staticDir, (err, files) => { + if (err) { + return callback(dynamicUrl); + } + + let hash = crypto.createHash('md5').update(dynamicUrl).digest('hex'); + let match = files.find(el => el.startsWith(hash)); + let headers = {}; + + if (match) { + return callback(staticDirUrl + '/' + match); + } + + if (dynamicUrl.includes('/editorapi/img?')) { + let token = crypto.randomBytes(16).toString('hex'); + cache.put(token, true, 1000); + headers['If-Match'] = token; + } + + fetch(dynamicUrl, { + headers + }) + .then(res => { + return res.buffer(); + }) + .then(buffer => { + let ft = fileType(buffer); + if (!ft) { + return callback(dynamicUrl); + } + if (['image/jpeg', 'image/png', 'image/gif'].includes(ft.mime)) { + fs.writeFile(path.join(staticDir, hash + '.' + ft.ext), buffer, err => { + if (err) { + return callback(dynamicUrl); + } + let staticUrl = staticDirUrl + '/' + hash + '.' + ft.ext; + callback(staticUrl); + }); + } else { + callback(dynamicUrl); + } + }); + }); + }); +}; + +let prepareHtml = ({ editorName, html }, callback) => { + settings.get('serviceUrl', (err, serviceUrl) => { + if (err) { + return callback(err.message || err); + } + + let jobs = 0; + let srcs = {}; + let re = /]+src="([^"]+)"/g; + let result; + while ((result = re.exec(html)) !== null) { + srcs[result[1]] = result[1]; + } + + let done = () => { + if (jobs === 0) { + Object.keys(srcs).forEach(src => { + // console.log(`replace dynamic - ${src} - with static - ${srcs[src]}`); + html = html.replace(new RegExp(escapeStringRegexp(src), 'g'), srcs[src]); + }); + callback(null, html); + } + }; + + Object.keys(srcs).forEach(src => { + jobs++; + let dynamicUrl = src.replace(/&/g, '&'); + dynamicUrl = /^https?:\/\/|^\/\//i.test(dynamicUrl) ? dynamicUrl : url.resolve(serviceUrl, dynamicUrl); + getStaticImageUrl({ + dynamicUrl, + staticDir: path.join(__dirname, '..', 'public', editorName, 'uploads', 'static'), + staticDirUrl: url.resolve(serviceUrl, editorName + '/uploads/static'), + }, staticUrl => { + srcs[src] = staticUrl; + jobs--; + done(); + }); + }); + + done(); + }); +}; + +let placeholderImage = (req, res, { width, height }) => { + let magick = gm(width, height, '#707070'); + let x = 0; + let y = 0; + let size = 40; + // stripes + while (y < height) { + magick = magick + .fill('#808080') + .drawPolygon([x, y], [x + size, y], [x + size * 2, y + size], [x + size * 2, y + size * 2]) + .drawPolygon([x, y + size], [x + size, y + size * 2], [x, y + size * 2]); + x = x + size * 2; + if (x > width) { + x = 0; + y = y + size * 2; + } + } + // text + magick = magick + .fill('#B0B0B0') + .fontSize(20) + .drawText(0, 0, width + ' x ' + height, 'center'); + + res.set('Content-Type', 'image/png'); + magick.stream('png').pipe(res); +}; + +let resizedImage = (req, res, { src, method, width, height }) => { + let magick = gm(src); + magick.format((err, format) => { + if (err) { + return res.status(500).send(err.message || err); + } + + switch (method) { + case 'resize': + res.set('Content-Type', 'image/' + format.toLowerCase()); + magick.autoOrient() + .resize(width, height) + .stream() + .pipe(res); + return; + + case 'cover': + res.set('Content-Type', 'image/' + format.toLowerCase()); + magick.autoOrient() + .resize(width, height + '^') + .gravity('Center') + .extent(width, height + '>') + .stream() + .pipe(res); + return; + + default: + res.status(501).send(_('Method not supported')); + } + }); +}; + +// /editorapi/img?src=" + encodeURIComponent(src) + "&method=" + encodeURIComponent(method) + "¶ms=" + encodeURIComponent(width + "," + height); +router.get('/img', passport.csrfProtection, (req, res) => { + settings.get('serviceUrl', (err, serviceUrl) => { + if (err) { + return res.status(500).send(err.message || err); + } + + let { src, method, params = '600,null' } = req.query; + let width = params.split(',')[0]; + let height = params.split(',')[1]; + width = (width === 'null') ? null : Number(width); + height = (height === 'null') ? null : Number(height); + + switch (method) { + case 'placeholder': + return placeholderImage(req, res, { width, height }); + case 'resize': + case 'cover': + src = /^https?:\/\/|^\/\//i.test(src) ? src : url.resolve(serviceUrl, src); + return resizedImage(req, res, { src, method, width, height }); + default: + return res.status(501).send(_('Method not supported')); + } + }); +}); + +router.post('/update', passport.parseForm, passport.csrfProtection, (req, res) => { + prepareHtml({ editorName: req.query.editor, html: req.body.html }, (err, html) => { + if (err) { + return res.status(500).send(err.message || err); + } + + req.body.html = html; + + if (req.query.type === 'template') { + templates.update(req.body.id, req.body, (err, updated) => { + if (err) { + return res.status(500).send(err.message || err); + } + res.send('ok'); + }); + + } else if (req.query.type === 'campaign') { + campaigns.update(req.body.id, req.body, (err, updated) => { + if (err) { + return res.status(500).send(err.message || err); + } + res.send('ok'); + }); + + } else { + res.status(500).send(_('Invalid resource type')); + } + }); +}); + +// https://github.com/artf/grapesjs/wiki/API-Asset-Manager +// https://github.com/aguidrevitch/jquery-file-upload-middleware + +router.get('/upload', passport.csrfProtection, (req, res) => { + settings.get('serviceUrl', (err, serviceUrl) => { + if (err) { + return res.status(500).send(err.message || err); + } + + let baseDir = path.join(__dirname, '..', 'public', req.query.editor, 'uploads'); + let baseDirUrl = serviceUrl + req.query.editor + '/uploads'; + + listImages(path.join(baseDir, '0'), baseDirUrl + '/0', (err, sharedImages) => { + if (err) { + return res.status(500).send(err.message || err); + } + + if (req.query.type === 'campaign' && Number(req.query.id) > 0) { + listImages(path.join(baseDir, req.query.id), baseDirUrl + '/' + req.query.id, (err, campaignImages) => { + err ? res.status(500).send(err.message || err) + : res.json({ files: sharedImages.concat(campaignImages) }); + }); + } else { + res.json({ files: sharedImages }); + } + }); + }); +}); + +router.post('/upload', passport.csrfProtection, (req, res) => { + let dirName = req.query.type === 'template' ? '0' + : req.query.type === 'campaign' && Number(req.query.id) > 0 ? req.query.id + : null; + + if (dirName === null) { + return res.status(500).send(_('Invalid resource type or ID')); + } + + let opts = { + tmpDir: config.www.tmpdir || os.tmpdir(), + imageVersions: req.query.editor === 'mosaico' ? { thumbnail: { width: 90, height: 90 } } : {}, + uploadDir: path.join(__dirname, '..', 'public', req.query.editor, 'uploads', dirName), + uploadUrl: '/' + req.query.editor + '/uploads/' + dirName, // must be root relative + acceptFileTypes:/(\.|\/)(gif|jpe?g|png)$/i, + }; + + let mockres = httpMocks.createResponse({ + eventEmitter: events.EventEmitter + }); + + mockres.on('end', () => { + if (req.query.editor === 'grapejs') { + let data = []; + JSON.parse(mockres._getData()).files.forEach(file => { + data.push({ src: file.url }); + }); + res.json({ data }); + } else { + res.send(mockres._getData()); + } + }); + + jqueryFileUpload.fileHandler(opts)(req, mockres); +}); + +router.post('/download', passport.csrfProtection, (req, res) => { + prepareHtml({ editorName: req.query.editor, html: req.body.html }, (err, html) => { + if (err) { + return res.status(500).send(err.message || err); + } + res.setHeader('Content-disposition', 'attachment; filename=' + req.body.filename); + res.setHeader('Content-type', 'text/html'); + res.send(html); + }); +}); + +let parseGrapejsMultipartTestForm = (req, res, next) => { + if (req.query.editor === 'grapejs') { + new multiparty.Form().parse(req, (err, fields, files) => { + req.body.email = fields.email[0]; + req.body.subject = fields.subject[0]; + req.body.html = fields.html[0]; + req.body._csrf = fields._csrf[0]; + next(); + }); + } else { + next(); + } +}; + +router.post('/test', parseGrapejsMultipartTestForm, passport.csrfProtection, (req, res) => { + prepareHtml({ editorName: req.query.editor, html: req.body.html }, (err, html) => { + if (err) { + req.query.editor === 'grapejs' + ? res.status(500).json({ errors: err.message || err }) + : res.status(500).send(err.message || err); + return; + } + + settings.list(['defaultAddress', 'defaultFrom'], (err, configItems) => { + if (err) { + req.query.editor === 'grapejs' + ? res.status(500).json({ errors: err.message || err }) + : res.status(500).send(err.message || err); + return; + } + + mailer.getMailer((err, transport) => { + if (err) { + req.query.editor === 'grapejs' + ? res.status(500).json({ errors: err.message || err }) + : res.status(500).send(err.message || err); + return; + } + + let opts = { + from: { + name: configItems.defaultFrom, + address: configItems.defaultAddress, + }, + to: req.body.email, + subject: req.body.subject, + text: htmlToText.fromString(html, { wordwrap: 100 }), + html, + }; + + transport.sendMail(opts, (err, info) => { + if (err) { + req.query.editor === 'grapejs' + ? res.status(500).json({ errors: err.message || err }) + : res.status(500).send(err.message || err); + return; + } + + req.query.editor === 'grapejs' + ? res.json({ data: 'ok' }) + : res.send('ok'); + }); + }); + }); + }); +}); + +router.post('/html-to-text', passport.parseForm, passport.csrfProtection, (req, res) => { + premailerApi.prepare({ html: req.body.html, fetchHTML: false }, (err, email) => { + if (err) { + return res.status(500).send(err.message || err); + } + res.send(email.text.replace(/%5B/g, '[').replace(/%5D/g, ']')); + }); +}); + +module.exports = router; diff --git a/routes/grapejs.js b/routes/grapejs.js new file mode 100644 index 00000000..239b721b --- /dev/null +++ b/routes/grapejs.js @@ -0,0 +1,50 @@ +'use strict'; + +let config = require('config'); +let express = require('express'); +let router = new express.Router(); +let passport = require('../lib/passport'); +let fs = require('fs'); +let path = require('path'); +let editorHelpers = require('../lib/editor-helpers.js') + +router.all('/*', (req, res, next) => { + if (!req.user) { + req.flash('danger', _('Need to be logged in to access restricted content')); + return res.redirect('/users/login?next=' + encodeURIComponent(req.originalUrl)); + } + next(); +}); + +router.get('/editor', passport.csrfProtection, (req, res) => { + editorHelpers.getResource(req.query.type, req.query.id, (err, resource) => { + if (err) { + req.flash('danger', err.message || err); + return res.redirect('/'); + } + + resource.editorName = resource.editorName || 'grapejs'; + resource.editorData = !resource.editorData + ? { template: req.query.template || 'demo' } + : JSON.parse(resource.editorData); + + if (!resource.html && !resource.editorData.html) { + try { + let file = path.join(__dirname, '..', 'public', 'grapejs', 'templates', resource.editorData.template, 'index.html'); + resource.html = fs.readFileSync(file, 'utf8'); + } catch (err) { + resource.html = err.message || err; + } + } + + res.render('grapejs/editor', { + layout: 'grapejs/layout-editor', + type: req.query.type, + resource, + editorConfig: config.grapejs, + csrfToken: req.csrfToken(), + }); + }); +}); + +module.exports = router; diff --git a/routes/mosaico.js b/routes/mosaico.js new file mode 100644 index 00000000..4bc89700 --- /dev/null +++ b/routes/mosaico.js @@ -0,0 +1,56 @@ +'use strict'; + +let config = require('config'); +let express = require('express'); +let router = new express.Router(); +let passport = require('../lib/passport'); +let fs = require('fs'); +let path = require('path'); +let _ = require('../lib/translate')._; +let editorHelpers = require('../lib/editor-helpers'); + +router.all('/*', (req, res, next) => { + if (!req.user) { + req.flash('danger', _('Need to be logged in to access restricted content')); + return res.redirect('/users/login?next=' + encodeURIComponent(req.originalUrl)); + } + next(); +}); + +router.get('/editor', passport.csrfProtection, (req, res) => { + editorHelpers.getResource(req.query.type, req.query.id, (err, resource) => { + if (err) { + req.flash('danger', err.message || err); + return res.redirect('/'); + } + + let getLanguageStrings = language => { + if (!language || language === 'en') { + return null; + } + language = language.split('_')[0]; + try { + let file = path.join(__dirname, '..', 'public', 'mosaico', 'dist', 'lang', 'mosaico-' + language + '.json'); + return fs.readFileSync(file, 'utf8'); + } catch (err) { + return null; + } + } + + resource.editorName = resource.editorName || 'mosaico'; + resource.editorData = !resource.editorData + ? { template: req.query.template || 'versafix-1' } + : JSON.parse(resource.editorData); + + res.render('mosaico/editor', { + layout: 'mosaico/layout-editor', + type: req.query.type, + resource, + editorConfig: config.mosaico, + languageStrings: getLanguageStrings(config.language), + csrfToken: req.csrfToken(), + }); + }); +}); + +module.exports = router; diff --git a/services/sender.js b/services/sender.js index 2429aaa4..a76dafa4 100644 --- a/services/sender.js +++ b/services/sender.js @@ -414,6 +414,10 @@ function formatMessage(message, callback) { 'List-ID': { prepared: true, value: libmime.encodeWords(list.name) + ' <' + list.cid + '.' + (url.parse(configItems.serviceUrl).hostname || 'localhost') + '>' + }, + 'List-Unsubscribe': { + prepared: true, + value: url.resolve(configItems.serviceUrl, '/subscription/' + list.cid + '/unsubscribe/' + message.subscription.cid + '?auto=yes') } }, list: { diff --git a/views/grapejs/editor.hbs b/views/grapejs/editor.hbs new file mode 100644 index 00000000..d9595ad8 --- /dev/null +++ b/views/grapejs/editor.hbs @@ -0,0 +1,371 @@ + + + +{{> editor_navbar}} + + +
    +
    + {{#if resource.editorData.html}} + + {{{resource.editorData.html}}} + {{else}} + {{{resource.html}}} + {{/if}} +
    +
    + + + + + + + + + +{{#if resource.mergeTags}} + +{{/if}} + + + diff --git a/views/grapejs/layout-editor.hbs b/views/grapejs/layout-editor.hbs new file mode 100644 index 00000000..59005bed --- /dev/null +++ b/views/grapejs/layout-editor.hbs @@ -0,0 +1,23 @@ + + + + + GrapesJS Newsletter Editor + + + + + + + + + + + + + + + {{{body}}} + + + diff --git a/views/mosaico/editor.hbs b/views/mosaico/editor.hbs new file mode 100644 index 00000000..1c882836 --- /dev/null +++ b/views/mosaico/editor.hbs @@ -0,0 +1,286 @@ + + + +{{> editor_navbar}} + + +{{#if resource.mergeTags}} + +{{/if}} + + + diff --git a/views/mosaico/layout-editor.hbs b/views/mosaico/layout-editor.hbs new file mode 100644 index 00000000..4787f670 --- /dev/null +++ b/views/mosaico/layout-editor.hbs @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + {{#if editorConfig.customscripts}} + {{#each editorConfig.customscripts}} + + {{/each}} + {{/if}} + + + + + + + {{{body}}} + + + diff --git a/views/partials/editor-bridge.hbs b/views/partials/editor-bridge.hbs index 3d65659f..065b389a 100644 --- a/views/partials/editor-bridge.hbs +++ b/views/partials/editor-bridge.hbs @@ -3,36 +3,45 @@ overflow: hidden; } #editor-frame, - #editor-frame-spinner { - border: none; + #editor-frame-loader { position: fixed; z-index: 10000; top: 0; left: 0; width: 100%; height: 100%; + border: none; } - #editor-frame-spinner { + #editor-frame-loader { z-index: 10001; - background: white; + background: #eaeced; } - #editor-frame-spinner div { - width: 120px; - height: 120px; - margin-top: -60px; - margin-left: -60px; + #editor-frame-loader div { position: absolute; top: 50%; left: 50%; + width: 62px; margin-left: -31px; + height: 72px; margin-top: -36px; + background: url('/mailtrain-header.png'); + -webkit-animation: pulsate 1.2s ease-out; + animation: pulsate 1.2s ease-out; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; } - #editor-frame-spinner span:before { - font-size: 120px; - color: #efefef; + @-webkit-keyframes pulsate { + 0% { -webkit-transform: scale(0.1, 0.1); opacity: 0.5; } + 70% { opacity: 1.0; } + 100% { -webkit-transform: scale(1.2, 1.2); opacity: 0.0; } + } + @keyframes pulsate { + 0% { transform: scale(0.1, 0.1); opacity: 0.5; } + 70% { opacity: 1.0; } + 100% { transform: scale(1.2, 1.2); opacity: 0.0; } } -